From 9a3768b4c032a70e8fb6dac2bec131a54aae0320 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Luc=20B=C3=A9chennec?= Date: Fri, 1 Mar 2024 11:19:27 +0100 Subject: [PATCH] [goil] restore goil source code --- goil/build/libpm/bdd/C_BDD-and-operation.cpp | 273 + goil/build/libpm/bdd/C_BDD-find-or-add.cpp | 632 + goil/build/libpm/bdd/C_BDD-node.h | 34 +- .../libpm/bdd/C_BDD-single-operand-ops.cpp | 578 + goil/build/libpm/bdd/C_BDD.cpp | 4628 +-- goil/build/libpm/bdd/C_BDD.h | 168 +- goil/build/libpm/bdd/C_Relation.cpp | 104 +- goil/build/libpm/bdd/C_Relation.h | 18 +- .../libpm/bdd/C_RelationConfiguration.cpp | 130 +- .../build/libpm/bdd/C_RelationConfiguration.h | 18 +- goil/build/libpm/bdd/C_RelationSingleType.cpp | 94 +- goil/build/libpm/bdd/C_RelationSingleType.h | 20 +- .../libpm/big-integers/BigSigned-add.cpp | 51 - .../libpm/big-integers/BigSigned-bit.cpp | 60 - .../BigSigned-chunk-operations.cpp | 136 - .../big-integers/BigSigned-constructors.cpp | 136 - .../big-integers/BigSigned-conversions.cpp | 146 - .../libpm/big-integers/BigSigned-divide.cpp | 68 - .../BigSigned-logic-operations.cpp | 99 - .../libpm/big-integers/BigSigned-multiply.cpp | 40 - .../libpm/big-integers/BigSigned-print.cpp | 95 - .../libpm/big-integers/BigSigned-shifts.cpp | 70 - .../libpm/big-integers/BigSigned-subtract.cpp | 70 - .../big-integers/BigSigned-utilities.cpp | 38 - goil/build/libpm/big-integers/BigSigned.cpp | 48 - goil/build/libpm/big-integers/BigSigned.h | 200 - .../libpm/big-integers/BigUnsigned-add.cpp | 59 - .../libpm/big-integers/BigUnsigned-bit.cpp | 86 - .../BigUnsigned-chunk-operations.cpp | 177 - .../big-integers/BigUnsigned-constructors.cpp | 434 - .../big-integers/BigUnsigned-conversions.cpp | 72 - .../big-integers/BigUnsigned-divide-naive.cpp | 106 - .../libpm/big-integers/BigUnsigned-divide.cpp | 120 - .../BigUnsigned-logic-operations.cpp | 382 - .../big-integers/BigUnsigned-multiply.cpp | 66 - .../libpm/big-integers/BigUnsigned-print.cpp | 160 - .../libpm/big-integers/BigUnsigned-shifts.cpp | 99 - .../big-integers/BigUnsigned-subtract.cpp | 56 - .../big-integers/BigUnsigned-utilities.cpp | 329 - goil/build/libpm/big-integers/BigUnsigned.h | 230 - goil/build/libpm/big-integers/C_BigInt.cpp | 931 + goil/build/libpm/big-integers/C_BigInt.h | 181 + .../libpm/big-integers/ChunkSelectSize.h | 79 - .../libpm/big-integers/ChunkSharedArray.cpp | 28 - .../libpm/big-integers/ChunkSharedArray.h | 222 - .../{UInt128.cpp => PMUInt128.cpp} | 162 +- goil/build/libpm/big-integers/PMUInt128.h | 78 + goil/build/libpm/big-integers/UInt128.h | 86 - goil/build/libpm/big-integers/chunk-U16.h | 103 - goil/build/libpm/big-integers/chunk-U32.h | 103 - goil/build/libpm/big-integers/chunk-U64.h | 329 - goil/build/libpm/big-integers/chunk-U8.h | 103 - .../F_CocoaWrapperForGalgas.h | 6 +- .../NSString+identifierRepresentation.h | 8 +- .../NSString+identifierRepresentation.m | 10 +- .../OC_GGS_ApplicationDelegate.h | 14 +- .../OC_GGS_ApplicationDelegate.m | 134 +- .../cocoa_objc_galgas/OC_GGS_BuildTask.h | 12 +- .../cocoa_objc_galgas/OC_GGS_BuildTask.m | 62 +- .../OC_GGS_ColorTransformer.h | 8 +- .../OC_GGS_ColorTransformer.m | 8 +- .../OC_GGS_CommandLineOption.h | 8 +- .../OC_GGS_CommandLineOption.m | 18 +- .../libpm/cocoa_objc_galgas/OC_GGS_Document.h | 10 +- .../libpm/cocoa_objc_galgas/OC_GGS_Document.m | 560 +- .../cocoa_objc_galgas/OC_GGS_DocumentData.h | 10 +- .../cocoa_objc_galgas/OC_GGS_DocumentData.m | 20 +- .../OC_GGS_RulerViewForBuildOutput.h | 10 +- .../OC_GGS_RulerViewForBuildOutput.m | 24 +- .../OC_GGS_RulerViewForTextView.h | 8 +- .../OC_GGS_RulerViewForTextView.m | 26 +- .../libpm/cocoa_objc_galgas/OC_GGS_Scroller.h | 8 +- .../libpm/cocoa_objc_galgas/OC_GGS_Scroller.m | 26 +- .../OC_GGS_TextDisplayDescriptor.h | 10 +- .../OC_GGS_TextDisplayDescriptor.m | 121 +- .../OC_GGS_TextSyntaxColoring.h | 8 +- .../OC_GGS_TextSyntaxColoring.m | 297 +- .../libpm/cocoa_objc_galgas/OC_GGS_TextView.h | 10 +- .../libpm/cocoa_objc_galgas/OC_GGS_TextView.m | 66 +- .../libpm/cocoa_objc_galgas/OC_Lexique.h | 28 +- .../libpm/cocoa_objc_galgas/OC_Lexique.m | 233 +- goil/build/libpm/cocoa_objc_galgas/OC_Token.h | 8 +- goil/build/libpm/cocoa_objc_galgas/OC_Token.m | 28 +- goil/build/libpm/cocoa_objc_galgas/PMDebug.h | 10 +- goil/build/libpm/cocoa_objc_galgas/PMDebug.m | 66 +- .../libpm/cocoa_objc_galgas/PMFontButton.h | 8 +- .../libpm/cocoa_objc_galgas/PMFontButton.m | 62 +- .../cocoa_objc_galgas/PMIssueDescriptor.h | 12 +- .../cocoa_objc_galgas/PMIssueDescriptor.m | 60 +- .../libpm/cocoa_objc_galgas/PMIssueInRuler.h | 8 +- .../libpm/cocoa_objc_galgas/PMIssueInRuler.m | 18 +- .../PMSearchResultDescriptor.h | 8 +- .../PMSearchResultDescriptor.m | 36 +- .../PMTableViewHandlesContextualMenu.h | 8 +- .../PMTableViewHandlesContextualMenu.m | 10 +- .../libpm/cocoa_objc_galgas/PMUndoManager.h | 8 +- .../libpm/cocoa_objc_galgas/PMUndoManager.m | 12 +- .../enterDefaultCommandLineOptions.h | 8 +- .../enterDefaultCommandLineOptions.m | 8 +- .../cocoa_utilities/PMCancelButtonForPanel.h | 6 +- .../cocoa_utilities/PMCancelButtonForPanel.m | 6 +- .../cocoa_utilities/PMOkButtonForPanel.h | 6 +- .../cocoa_utilities/PMOkButtonForPanel.m | 8 +- goil/build/libpm/cocoa_utilities/main.m | 8 +- .../C_BoolCommandLineOption.cpp | 123 +- .../C_BoolCommandLineOption.h | 65 +- .../C_CommandLineOption.cpp | 20 +- .../C_CommandLineOption.h | 42 +- .../C_StringCommandLineOption.cpp | 149 +- .../C_StringCommandLineOption.h | 72 +- .../C_StringListCommandLineOption.cpp | 132 +- .../C_StringListCommandLineOption.h | 57 +- .../C_UIntCommandLineOption.cpp | 143 +- .../C_UIntCommandLineOption.h | 62 +- .../C_builtin_CLI_Options.cpp | 18 +- .../C_builtin_CLI_Options.h | 24 +- .../F_Analyze_CLI_Options.cpp | 292 +- .../F_Analyze_CLI_Options.h | 30 +- .../command_line_interface/F_mainForLIBPM.cpp | 58 +- .../command_line_interface/F_mainForLIBPM.h | 10 +- goil/build/libpm/files/AC_FileHandle.cpp | 43 + .../{AbstractFileHandle.h => AC_FileHandle.h} | 43 +- goil/build/libpm/files/AbstractFileHandle.cpp | 90 - goil/build/libpm/files/BinaryFileWrite.cpp | 37 - goil/build/libpm/files/C_BinaryFileWrite.cpp | 70 + ...{BinaryFileWrite.h => C_BinaryFileWrite.h} | 39 +- .../{FileManager.cpp => C_FileManager.cpp} | 561 +- goil/build/libpm/files/C_FileManager.h | 123 + goil/build/libpm/files/C_HTML_FileWrite.cpp | 149 + .../{HTMLFileWrite.h => C_HTML_FileWrite.h} | 53 +- goil/build/libpm/files/C_TextFileWrite.cpp | 118 + goil/build/libpm/files/C_TextFileWrite.h | 70 + goil/build/libpm/files/FileManager.h | 123 - goil/build/libpm/files/HTMLFileWrite.cpp | 146 - goil/build/libpm/files/TextFileWrite.cpp | 57 - goil/build/libpm/files/TextFileWrite.h | 52 - .../AC_GALGAS_enumAssociatedValues.cpp | 28 +- .../galgas2/AC_GALGAS_enumAssociatedValues.h | 24 +- goil/build/libpm/galgas2/AC_GALGAS_graph.cpp | 461 +- goil/build/libpm/galgas2/AC_GALGAS_graph.h | 32 +- goil/build/libpm/galgas2/AC_GALGAS_list.cpp | 305 +- goil/build/libpm/galgas2/AC_GALGAS_list.h | 56 +- goil/build/libpm/galgas2/AC_GALGAS_map.cpp | 474 +- goil/build/libpm/galgas2/AC_GALGAS_map.h | 47 +- .../galgas2/AC_GALGAS_reference_class.cpp | 46 +- .../libpm/galgas2/AC_GALGAS_reference_class.h | 18 +- goil/build/libpm/galgas2/AC_GALGAS_root.cpp | 35 +- goil/build/libpm/galgas2/AC_GALGAS_root.h | 28 +- .../libpm/galgas2/AC_GALGAS_sortedlist.cpp | 215 +- .../libpm/galgas2/AC_GALGAS_sortedlist.h | 30 +- .../libpm/galgas2/AC_GALGAS_value_class.cpp | 44 +- .../libpm/galgas2/AC_GALGAS_value_class.h | 18 +- .../galgas2/AC_GALGAS_weak_reference.cpp | 61 +- .../libpm/galgas2/AC_GALGAS_weak_reference.h | 18 +- .../galgas2/{Compiler.cpp => C_Compiler.cpp} | 454 +- .../galgas2/{Compiler.h => C_Compiler.h} | 134 +- goil/build/libpm/galgas2/C_IssueWithFixIt.cpp | 38 +- goil/build/libpm/galgas2/C_IssueWithFixIt.h | 44 +- goil/build/libpm/galgas2/C_Lexique.cpp | 1661 + .../libpm/galgas2/{Lexique.h => C_Lexique.h} | 158 +- ...ionInSource.cpp => C_LocationInSource.cpp} | 54 +- ...ocationInSource.h => C_LocationInSource.h} | 40 +- ...tInString.cpp => C_SourceTextInString.cpp} | 58 +- ...eTextInString.h => C_SourceTextInString.h} | 76 +- .../libpm/galgas2/C_galgas_CLI_Options.cpp | 81 +- .../libpm/galgas2/C_galgas_CLI_Options.h | 38 +- .../galgas2/C_galgas_class_inspector.cpp | 14 +- .../libpm/galgas2/C_galgas_class_inspector.h | 10 +- .../galgas2/C_galgas_function_descriptor.cpp | 16 +- .../galgas2/C_galgas_function_descriptor.h | 24 +- goil/build/libpm/galgas2/C_galgas_io.cpp | 604 +- goil/build/libpm/galgas2/C_galgas_io.h | 169 +- .../libpm/galgas2/C_galgas_quiet_option.cpp | 14 +- .../libpm/galgas2/C_galgas_quiet_option.h | 12 +- .../galgas2/C_galgas_type_descriptor.cpp | 40 +- .../libpm/galgas2/C_galgas_type_descriptor.h | 14 +- .../libpm/galgas2/C_galgas_verbose_option.cpp | 16 +- .../libpm/galgas2/C_galgas_verbose_option.h | 19 +- goil/build/libpm/galgas2/F_verbose_output.h | 8 +- .../libpm/galgas2/GALGAS_application.cpp | 217 +- goil/build/libpm/galgas2/GALGAS_bigint.cpp | 304 +- goil/build/libpm/galgas2/GALGAS_binaryset.cpp | 315 +- goil/build/libpm/galgas2/GALGAS_bool.cpp | 70 +- goil/build/libpm/galgas2/GALGAS_char.cpp | 110 +- goil/build/libpm/galgas2/GALGAS_data.cpp | 242 +- goil/build/libpm/galgas2/GALGAS_double.cpp | 180 +- .../libpm/galgas2/GALGAS_filewrapper.cpp | 217 +- goil/build/libpm/galgas2/GALGAS_function.cpp | 113 +- goil/build/libpm/galgas2/GALGAS_location.cpp | 284 +- goil/build/libpm/galgas2/GALGAS_object.cpp | 32 +- goil/build/libpm/galgas2/GALGAS_sint.cpp | 175 +- .../libpm/galgas2/GALGAS_sint_36__34_.cpp | 176 +- .../libpm/galgas2/GALGAS_string-getters.cpp | 1342 - goil/build/libpm/galgas2/GALGAS_string.cpp | 2201 +- goil/build/libpm/galgas2/GALGAS_stringset.cpp | 300 +- goil/build/libpm/galgas2/GALGAS_timer.cpp | 38 +- goil/build/libpm/galgas2/GALGAS_type.cpp | 56 +- goil/build/libpm/galgas2/GALGAS_uint.cpp | 264 +- .../libpm/galgas2/GALGAS_uint_36__34_.cpp | 204 +- goil/build/libpm/galgas2/Lexique-parsing.cpp | 950 - goil/build/libpm/galgas2/Lexique.cpp | 869 - goil/build/libpm/galgas2/acPtr_class.cpp | 12 +- goil/build/libpm/galgas2/acPtr_class.h | 22 +- .../build/libpm/galgas2/acStrongPtr_class.cpp | 26 +- goil/build/libpm/galgas2/acStrongPtr_class.h | 14 +- .../libpm/galgas2/cCollectionElement.cpp | 12 +- goil/build/libpm/galgas2/cCollectionElement.h | 22 +- .../build/libpm/galgas2/cEnumerator_range.cpp | 18 +- goil/build/libpm/galgas2/cEnumerator_range.h | 14 +- .../galgas2/cGenericAbstractEnumerator.cpp | 12 +- .../galgas2/cGenericAbstractEnumerator.h | 12 +- .../libpm/galgas2/cIndexingDictionary.cpp | 128 +- .../build/libpm/galgas2/cIndexingDictionary.h | 26 +- goil/build/libpm/galgas2/cIssueDescriptor.cpp | 56 +- goil/build/libpm/galgas2/cIssueDescriptor.h | 24 +- .../libpm/galgas2/cLexiqueIntrospection.cpp | 107 +- .../libpm/galgas2/cLexiqueIntrospection.h | 28 +- goil/build/libpm/galgas2/cObjectArray.cpp | 18 +- goil/build/libpm/galgas2/cObjectArray.h | 18 +- .../libpm/galgas2/cProductionNameDescriptor.h | 16 +- goil/build/libpm/galgas2/cPtr_object.cpp | 24 +- goil/build/libpm/galgas2/cPtr_object.h | 16 +- .../galgas2/cPtr_weakReference_proxy.cpp | 20 +- .../libpm/galgas2/cPtr_weakReference_proxy.h | 16 +- .../libpm/galgas2/cSortedListElement.cpp | 10 +- goil/build/libpm/galgas2/cSortedListElement.h | 12 +- goil/build/libpm/galgas2/cTemplateDelimiter.h | 38 +- .../libpm/galgas2/capCollectionElement.cpp | 38 +- .../libpm/galgas2/capCollectionElement.h | 20 +- .../galgas2/capCollectionElementArray.cpp | 194 +- .../libpm/galgas2/capCollectionElementArray.h | 36 +- .../libpm/galgas2/capSortedListElement.cpp | 40 +- .../libpm/galgas2/capSortedListElement.h | 20 +- goil/build/libpm/galgas2/scanner_actions.cpp | 296 +- goil/build/libpm/galgas2/scanner_actions.h | 150 +- .../libpm/galgas2/typeComparisonResult.cpp | 50 +- .../libpm/galgas2/typeComparisonResult.h | 16 +- goil/build/libpm/generic-arraies/TC_Array.h | 172 +- .../libpm/generic-arraies/TC_UniqueArray.h | 321 +- .../libpm/generic-arraies/TC_UniqueArray2.h | 48 +- goil/build/libpm/gmp/32-mp_bases.c | 269 + goil/build/libpm/gmp/32-mp_bases.h | 11 + goil/build/libpm/gmp/64-mp_bases.c | 269 + goil/build/libpm/gmp/64-mp_bases.h | 11 + goil/build/libpm/gmp/gmp-impl.h | 5245 ++++ goil/build/libpm/gmp/gmp.h | 2299 ++ goil/build/libpm/gmp/longlong.h | 2171 ++ goil/build/libpm/gmp/mini-gmp.c.h | 4388 +++ goil/build/libpm/gmp/mini-gmp.h | 295 + goil/build/libpm/gmp/mpn-add.c | 34 + goil/build/libpm/gmp/mpn-add_1.c | 34 + goil/build/libpm/gmp/mpn-add_n.c | 90 + goil/build/libpm/gmp/mpn-addmul_1.c | 139 + goil/build/libpm/gmp/mpn-bdiv_dbm1c.c | 59 + goil/build/libpm/gmp/mpn-cmp.c | 34 + goil/build/libpm/gmp/mpn-dcpi1_div_qr.c | 249 + goil/build/libpm/gmp/mpn-dive_1.c | 147 + goil/build/libpm/gmp/mpn-divrem_1.c | 255 + goil/build/libpm/gmp/mpn-divrem_2.c | 119 + goil/build/libpm/gmp/mpn-get_str.c | 554 + goil/build/libpm/gmp/mpn-invertappr.c | 304 + goil/build/libpm/gmp/mpn-lshift.c | 73 + goil/build/libpm/gmp/mpn-lshiftc.c | 74 + goil/build/libpm/gmp/mpn-mu_div_qr.c | 410 + goil/build/libpm/gmp/mpn-mul.c | 424 + goil/build/libpm/gmp/mpn-mul_1.c | 97 + goil/build/libpm/gmp/mpn-mul_basecase.c | 166 + goil/build/libpm/gmp/mpn-mul_fft.c | 1014 + goil/build/libpm/gmp/mpn-mul_n.c | 97 + goil/build/libpm/gmp/mpn-mulmod_bnm1.c | 353 + goil/build/libpm/gmp/mpn-nussbaumer_mul.c | 71 + goil/build/libpm/gmp/mpn-pre_divrem_1.c | 146 + goil/build/libpm/gmp/mpn-rshift.c | 70 + goil/build/libpm/gmp/mpn-sbpi1_div_qr.c | 110 + goil/build/libpm/gmp/mpn-sbpi1_divappr_q.c | 199 + goil/build/libpm/gmp/mpn-set_str.c | 375 + goil/build/libpm/gmp/mpn-sqr.c | 99 + goil/build/libpm/gmp/mpn-sqr_basecase.c | 322 + goil/build/libpm/gmp/mpn-sqrmod_bnm1.c | 311 + goil/build/libpm/gmp/mpn-sub.c | 34 + goil/build/libpm/gmp/mpn-sub_1.c | 34 + goil/build/libpm/gmp/mpn-sub_n.c | 90 + goil/build/libpm/gmp/mpn-submul_1.c | 139 + goil/build/libpm/gmp/mpn-tdiv_qr.c | 390 + goil/build/libpm/gmp/mpn-toom22_mul.c | 209 + goil/build/libpm/gmp/mpn-toom2_sqr.c | 146 + goil/build/libpm/gmp/mpn-toom32_mul.c | 319 + goil/build/libpm/gmp/mpn-toom33_mul.c | 309 + goil/build/libpm/gmp/mpn-toom3_sqr.c | 227 + goil/build/libpm/gmp/mpn-toom42_mul.c | 234 + goil/build/libpm/gmp/mpn-toom43_mul.c | 234 + goil/build/libpm/gmp/mpn-toom44_mul.c | 236 + goil/build/libpm/gmp/mpn-toom4_sqr.c | 164 + goil/build/libpm/gmp/mpn-toom53_mul.c | 332 + goil/build/libpm/gmp/mpn-toom63_mul.c | 232 + goil/build/libpm/gmp/mpn-toom6_sqr.c | 182 + goil/build/libpm/gmp/mpn-toom6h_mul.c | 263 + goil/build/libpm/gmp/mpn-toom8_sqr.c | 226 + goil/build/libpm/gmp/mpn-toom8h_mul.c | 306 + .../libpm/gmp/mpn-toom_couple_handling.c | 82 + goil/build/libpm/gmp/mpn-toom_eval_dgr3_pm1.c | 73 + goil/build/libpm/gmp/mpn-toom_eval_dgr3_pm2.c | 98 + goil/build/libpm/gmp/mpn-toom_eval_pm1.c | 90 + goil/build/libpm/gmp/mpn-toom_eval_pm2.c | 132 + goil/build/libpm/gmp/mpn-toom_eval_pm2exp.c | 127 + goil/build/libpm/gmp/mpn-toom_eval_pm2rexp.c | 102 + .../libpm/gmp/mpn-toom_interpolate_12pts.c | 360 + .../libpm/gmp/mpn-toom_interpolate_16pts.c | 525 + .../libpm/gmp/mpn-toom_interpolate_5pts.c | 200 + .../libpm/gmp/mpn-toom_interpolate_6pts.c | 240 + .../libpm/gmp/mpn-toom_interpolate_7pts.c | 266 + .../libpm/gmp/mpn-toom_interpolate_8pts.c | 213 + goil/build/libpm/gmp/mpz-abs.c | 55 + goil/build/libpm/gmp/mpz-add.c | 34 + goil/build/libpm/gmp/mpz-add_ui.c | 34 + goil/build/libpm/gmp/mpz-and.c | 244 + goil/build/libpm/gmp/mpz-aors.h | 127 + goil/build/libpm/gmp/mpz-aors_ui.h | 124 + goil/build/libpm/gmp/mpz-cdiv_q_ui.c | 103 + goil/build/libpm/gmp/mpz-cdiv_qr.c | 65 + goil/build/libpm/gmp/mpz-cfdiv_q_2exp.c | 113 + goil/build/libpm/gmp/mpz-clear.c | 40 + goil/build/libpm/gmp/mpz-clrbit.c | 112 + goil/build/libpm/gmp/mpz-cmp.c | 54 + goil/build/libpm/gmp/mpz-cmp_si.c | 70 + goil/build/libpm/gmp/mpz-cmp_ui.c | 78 + goil/build/libpm/gmp/mpz-com.c | 88 + goil/build/libpm/gmp/mpz-combit.c | 103 + goil/build/libpm/gmp/mpz-export.c | 192 + goil/build/libpm/gmp/mpz-fdiv_q_ui.c | 101 + goil/build/libpm/gmp/mpz-fdiv_qr.c | 65 + goil/build/libpm/gmp/mpz-fits_s.h | 61 + goil/build/libpm/gmp/mpz-fits_sint.c | 37 + goil/build/libpm/gmp/mpz-fits_uint.c | 34 + goil/build/libpm/gmp/mpz-get_si.c | 53 + goil/build/libpm/gmp/mpz-get_str.c | 119 + goil/build/libpm/gmp/mpz-get_ui.c | 34 + goil/build/libpm/gmp/mpz-init.c | 45 + goil/build/libpm/gmp/mpz-ior.c | 230 + goil/build/libpm/gmp/mpz-mul.c | 157 + goil/build/libpm/gmp/mpz-mul_2exp.c | 74 + goil/build/libpm/gmp/mpz-mul_i.h | 107 + goil/build/libpm/gmp/mpz-mul_ui.c | 34 + goil/build/libpm/gmp/mpz-neg.c | 57 + goil/build/libpm/gmp/mpz-realloc.c | 71 + goil/build/libpm/gmp/mpz-set.c | 50 + goil/build/libpm/gmp/mpz-set_str.c | 145 + goil/build/libpm/gmp/mpz-set_ui.c | 53 + goil/build/libpm/gmp/mpz-setbit.c | 105 + goil/build/libpm/gmp/mpz-sizeinbase.c | 43 + goil/build/libpm/gmp/mpz-sub.c | 34 + goil/build/libpm/gmp/mpz-sub_ui.c | 34 + goil/build/libpm/gmp/mpz-swap.c | 55 + goil/build/libpm/gmp/mpz-tdiv_qr.c | 103 + goil/build/libpm/gmp/mpz-tstbit.c | 81 + goil/build/libpm/gmp/mpz-xor.c | 194 + goil/build/libpm/gmp/root-assert.c | 59 + goil/build/libpm/gmp/root-bootstrap.c.h | 147 + goil/build/libpm/gmp/root-errno.c | 70 + goil/build/libpm/gmp/root-memory.c | 147 + goil/build/libpm/gmp/root-mp_bpl.c | 35 + goil/build/libpm/gmp/root-mp_clz_tab.c | 49 + goil/build/libpm/gmp/root-mp_dv_tab.c | 78 + goil/build/libpm/gmp/root-mp_minv_tab.c | 59 + goil/build/libpm/gmp/root-tal-notreent.c | 130 + .../python-makefiles/default_build_options.py | 2 +- .../generic_galgas_makefile.py | 24 +- .../mingw32_on_macosx_gcc_tools.py | 4 +- .../libpm/python-makefiles/unix_gcc_tools.py | 6 +- .../x86linux_on_macosx_gcc_tools_32.py | 2 +- goil/build/libpm/streams/AC_OutputStream.cpp | 744 + goil/build/libpm/streams/AC_OutputStream.h | 180 + .../libpm/streams/AbstractOutputStream.cpp | 594 - .../libpm/streams/AbstractOutputStream.h | 160 - goil/build/libpm/streams/C_ColoredConsole.cpp | 32 +- goil/build/libpm/streams/C_ColoredConsole.h | 26 +- goil/build/libpm/streams/C_ConsoleOut.cpp | 41 +- goil/build/libpm/streams/C_ConsoleOut.h | 25 +- goil/build/libpm/streams/C_ErrorOut.cpp | 40 +- goil/build/libpm/streams/C_ErrorOut.h | 23 +- goil/build/libpm/strings/C_HTMLString.cpp | 142 + goil/build/libpm/strings/C_HTMLString.h | 67 + goil/build/libpm/strings/C_String.cpp | 2193 ++ goil/build/libpm/strings/C_String.h | 381 + goil/build/libpm/strings/HTMLString.cpp | 138 - goil/build/libpm/strings/HTMLString.h | 62 - .../libpm/strings/String-class-getters.cpp | 1276 - goil/build/libpm/strings/String-class.cpp | 759 - goil/build/libpm/strings/String-class.h | 364 - goil/build/libpm/strings/cUnicodeData.h | 2 +- goil/build/libpm/strings/print.cpp | 25 +- goil/build/libpm/strings/print.h | 20 +- goil/build/libpm/strings/string_encodings.h | 10 +- .../libpm/strings/unicode_character_base.h | 24 +- .../libpm/strings/unicode_character_cpp.cpp | 14 +- .../libpm/strings/unicode_character_cpp.h | 20 +- .../unicode_character_implementation.h | 81 +- .../build/libpm/strings/unicode_character_m.h | 16 +- .../build/libpm/strings/unicode_character_m.m | 10 +- .../libpm/strings/unicode_string_routines.cpp | 124 + .../libpm/strings/unicode_string_routines.h | 43 + .../time/{DateTime.cpp => C_DateTime.cpp} | 141 +- .../libpm/time/{DateTime.h => C_DateTime.h} | 44 +- .../libpm/time/{Timer.cpp => C_Timer.cpp} | 63 +- goil/build/libpm/time/{Timer.h => C_Timer.h} | 31 +- .../utilities/{U8Data.cpp => C_Data.cpp} | 87 +- .../libpm/utilities/{U8Data.h => C_Data.h} | 30 +- ...{DirectedGraph.cpp => C_DirectedGraph.cpp} | 188 +- .../{DirectedGraph.h => C_DirectedGraph.h} | 42 +- ...gueEpilogue.cpp => C_PrologueEpilogue.cpp} | 38 +- ...rologueEpilogue.h => C_PrologueEpilogue.h} | 32 +- .../{SharedObject.cpp => C_SharedObject.cpp} | 88 +- .../{SharedObject.h => C_SharedObject.h} | 106 +- .../{UInt32Set.cpp => C_UIntSet.cpp} | 74 +- .../utilities/{UInt32Set.h => C_UIntSet.h} | 30 +- .../libpm/utilities/F_DisplayException.cpp | 38 +- .../libpm/utilities/F_DisplayException.h | 14 +- goil/build/libpm/utilities/F_GetPrime.cpp | 12 +- goil/build/libpm/utilities/F_GetPrime.h | 14 +- .../{macroAssert.cpp => MF_Assert.cpp} | 20 +- .../utilities/{macroAssert.h => MF_Assert.h} | 37 +- .../libpm/utilities/MF_MemoryControl.cpp | 165 +- goil/build/libpm/utilities/MF_MemoryControl.h | 125 +- goil/build/libpm/utilities/M_SourceLocation.h | 12 +- goil/build/libpm/utilities/M_machine.h | 20 +- goil/build/libpm/utilities/SHA256.cpp | 163 - goil/build/libpm/utilities/SHA256.h | 55 - goil/build/libpm/utilities/TF_Swap.h | 8 +- .../libpm/utilities/basic-allocation.cpp | 60 +- goil/build/libpm/utilities/basic-allocation.h | 10 +- goil/build/libpm/utilities/cpp-allocation.cpp | 48 +- goil/build/libpm/utilities/cpp-allocation.h | 10 +- goil/build/libpm/utilities/galgas-random.cpp | 48 +- goil/build/libpm/utilities/galgas-random.h | 13 +- goil/build/libpm/utilities/md5.cpp | 453 +- goil/build/libpm/utilities/md5.h | 56 +- .../libpm/utilities/switch-fallthrough.h | 8 +- goil/build/output/all-declarations-0.cpp | 6585 ++-- goil/build/output/all-declarations-0.h | 7449 +++-- goil/build/output/all-declarations-1.cpp | 7117 ++--- goil/build/output/all-declarations-1.h | 2359 +- goil/build/output/all-declarations-10.cpp | 18922 +++++------ goil/build/output/all-declarations-10.h | 1252 +- goil/build/output/all-declarations-11.cpp | 2959 ++ goil/build/output/all-declarations-11.h | 343 + goil/build/output/all-declarations-2.cpp | 25811 ++++++++-------- goil/build/output/all-declarations-2.h | 6114 ++-- goil/build/output/all-declarations-3.cpp | 20802 ++++++------- goil/build/output/all-declarations-3.h | 2150 +- goil/build/output/all-declarations-4.cpp | 20746 ++++++------- goil/build/output/all-declarations-4.h | 1867 +- goil/build/output/all-declarations-5.cpp | 18428 +++++------ goil/build/output/all-declarations-5.h | 2132 +- goil/build/output/all-declarations-6.cpp | 23051 +++++++------- goil/build/output/all-declarations-6.h | 1454 +- goil/build/output/all-declarations-7.cpp | 24935 ++++++++------- goil/build/output/all-declarations-7.h | 1155 +- goil/build/output/all-declarations-8.cpp | 18305 ++++++----- goil/build/output/all-declarations-8.h | 214 +- goil/build/output/all-declarations-9.cpp | 16645 +++++----- goil/build/output/all-declarations-9.h | 375 +- goil/build/output/all-declarations.h | 6 +- goil/build/output/all-predefined-types.cpp | 3569 ++- goil/build/output/all-predefined-types.h | 2667 +- .../output/file-list-for-xcode-project.txt | 4815 ++- goil/build/output/file-list.json | 210 +- goil/build/output/gui-cocoa.m | 84 +- goil/build/output/gui-cocoa.swift | 66 +- ...coa.h => lexique-arxml-5F-scanner-cocoa.h} | 18 +- ...coa.m => lexique-arxml-5F-scanner-cocoa.m} | 66 +- ...t => lexique-arxml-5F-scanner-cocoa.swift} | 46 +- ...exique-arxmlmetaparser-5F-scanner-cocoa.h} | 18 +- ...exique-arxmlmetaparser-5F-scanner-cocoa.m} | 70 +- ...ue-arxmlmetaparser-5F-scanner-cocoa.swift} | 50 +- ...ocoa.h => lexique-goil-5F-lexique-cocoa.h} | 18 +- ...ocoa.m => lexique-goil-5F-lexique-cocoa.m} | 90 +- ...ft => lexique-goil-5F-lexique-cocoa.swift} | 70 +- ...exique-gtl-5F-debugger-5F-scanner-cocoa.h} | 18 +- ...exique-gtl-5F-debugger-5F-scanner-cocoa.m} | 70 +- ...ue-gtl-5F-debugger-5F-scanner-cocoa.swift} | 50 +- ...cocoa.h => lexique-gtl-5F-scanner-cocoa.h} | 18 +- ...cocoa.m => lexique-gtl-5F-scanner-cocoa.m} | 70 +- ...ift => lexique-gtl-5F-scanner-cocoa.swift} | 50 +- ...a.h => lexique-options-5F-scanner-cocoa.h} | 18 +- ...a.m => lexique-options-5F-scanner-cocoa.m} | 66 +- ...=> lexique-options-5F-scanner-cocoa.swift} | 46 +- ...cocoa.h => option-goil-5F-options-cocoa.h} | 8 +- ...cocoa.m => option-goil-5F-options-cocoa.m} | 60 +- ...ift => option-goil-5F-options-cocoa.swift} | 52 +- ...-cocoa.h => option-gtl-5F-options-cocoa.h} | 8 +- ...-cocoa.m => option-gtl-5F-options-cocoa.m} | 8 +- ...wift => option-gtl-5F-options-cocoa.swift} | 4 +- goil/build/output/project_header.h | 8 +- goil/makefile-macosx/build+debug.py | 2 +- goil/makefile-macosx/build+lto.py | 2 +- goil/makefile-macosx/build+release.py | 2 +- goil/makefile-macosx/clean.py | 2 +- goil/makefile-macosx/verbose-build.py | 2 +- goil/makefile-unix/build+debug.py | 2 +- goil/makefile-unix/build+lto.py | 2 +- goil/makefile-unix/build+release.py | 2 +- goil/makefile-unix/clean.py | 2 +- goil/makefile-unix/install.py | 2 +- goil/makefile-unix/verbose-build.py | 2 +- goil/makefile-win32-on-macosx/build+debug.py | 2 +- goil/makefile-win32-on-macosx/build+lto.py | 2 +- .../makefile-win32-on-macosx/build+release.py | 2 +- goil/makefile-win32-on-macosx/clean.py | 2 +- .../makefile-win32-on-macosx/verbose-build.py | 2 +- .../build+debug.py | 2 +- .../build+lto.py | 2 +- .../build+release.py | 2 +- goil/makefile-x86linux32-on-macosx/clean.py | 2 +- .../verbose-build.py | 2 +- .../build+debug.py | 2 +- .../build+lto.py | 2 +- .../build+release.py | 2 +- goil/makefile-x86linux64-on-macosx/clean.py | 2 +- .../verbose-build.py | 2 +- goil/project-codeblocks-windows/goil.cbp | 207 +- 520 files changed, 177651 insertions(+), 143537 deletions(-) create mode 100644 goil/build/libpm/bdd/C_BDD-and-operation.cpp create mode 100644 goil/build/libpm/bdd/C_BDD-find-or-add.cpp create mode 100644 goil/build/libpm/bdd/C_BDD-single-operand-ops.cpp delete mode 100644 goil/build/libpm/big-integers/BigSigned-add.cpp delete mode 100644 goil/build/libpm/big-integers/BigSigned-bit.cpp delete mode 100644 goil/build/libpm/big-integers/BigSigned-chunk-operations.cpp delete mode 100644 goil/build/libpm/big-integers/BigSigned-constructors.cpp delete mode 100644 goil/build/libpm/big-integers/BigSigned-conversions.cpp delete mode 100644 goil/build/libpm/big-integers/BigSigned-divide.cpp delete mode 100644 goil/build/libpm/big-integers/BigSigned-logic-operations.cpp delete mode 100644 goil/build/libpm/big-integers/BigSigned-multiply.cpp delete mode 100644 goil/build/libpm/big-integers/BigSigned-print.cpp delete mode 100644 goil/build/libpm/big-integers/BigSigned-shifts.cpp delete mode 100644 goil/build/libpm/big-integers/BigSigned-subtract.cpp delete mode 100644 goil/build/libpm/big-integers/BigSigned-utilities.cpp delete mode 100644 goil/build/libpm/big-integers/BigSigned.cpp delete mode 100644 goil/build/libpm/big-integers/BigSigned.h delete mode 100644 goil/build/libpm/big-integers/BigUnsigned-add.cpp delete mode 100644 goil/build/libpm/big-integers/BigUnsigned-bit.cpp delete mode 100644 goil/build/libpm/big-integers/BigUnsigned-chunk-operations.cpp delete mode 100644 goil/build/libpm/big-integers/BigUnsigned-constructors.cpp delete mode 100644 goil/build/libpm/big-integers/BigUnsigned-conversions.cpp delete mode 100644 goil/build/libpm/big-integers/BigUnsigned-divide-naive.cpp delete mode 100644 goil/build/libpm/big-integers/BigUnsigned-divide.cpp delete mode 100644 goil/build/libpm/big-integers/BigUnsigned-logic-operations.cpp delete mode 100644 goil/build/libpm/big-integers/BigUnsigned-multiply.cpp delete mode 100644 goil/build/libpm/big-integers/BigUnsigned-print.cpp delete mode 100644 goil/build/libpm/big-integers/BigUnsigned-shifts.cpp delete mode 100644 goil/build/libpm/big-integers/BigUnsigned-subtract.cpp delete mode 100644 goil/build/libpm/big-integers/BigUnsigned-utilities.cpp delete mode 100644 goil/build/libpm/big-integers/BigUnsigned.h create mode 100644 goil/build/libpm/big-integers/C_BigInt.cpp create mode 100644 goil/build/libpm/big-integers/C_BigInt.h delete mode 100644 goil/build/libpm/big-integers/ChunkSelectSize.h delete mode 100644 goil/build/libpm/big-integers/ChunkSharedArray.cpp delete mode 100644 goil/build/libpm/big-integers/ChunkSharedArray.h rename goil/build/libpm/big-integers/{UInt128.cpp => PMUInt128.cpp} (50%) create mode 100644 goil/build/libpm/big-integers/PMUInt128.h delete mode 100644 goil/build/libpm/big-integers/UInt128.h delete mode 100644 goil/build/libpm/big-integers/chunk-U16.h delete mode 100644 goil/build/libpm/big-integers/chunk-U32.h delete mode 100644 goil/build/libpm/big-integers/chunk-U64.h delete mode 100644 goil/build/libpm/big-integers/chunk-U8.h create mode 100644 goil/build/libpm/files/AC_FileHandle.cpp rename goil/build/libpm/files/{AbstractFileHandle.h => AC_FileHandle.h} (50%) delete mode 100644 goil/build/libpm/files/AbstractFileHandle.cpp delete mode 100644 goil/build/libpm/files/BinaryFileWrite.cpp create mode 100644 goil/build/libpm/files/C_BinaryFileWrite.cpp rename goil/build/libpm/files/{BinaryFileWrite.h => C_BinaryFileWrite.h} (52%) rename goil/build/libpm/files/{FileManager.cpp => C_FileManager.cpp} (62%) create mode 100644 goil/build/libpm/files/C_FileManager.h create mode 100644 goil/build/libpm/files/C_HTML_FileWrite.cpp rename goil/build/libpm/files/{HTMLFileWrite.h => C_HTML_FileWrite.h} (51%) create mode 100644 goil/build/libpm/files/C_TextFileWrite.cpp create mode 100644 goil/build/libpm/files/C_TextFileWrite.h delete mode 100644 goil/build/libpm/files/FileManager.h delete mode 100644 goil/build/libpm/files/HTMLFileWrite.cpp delete mode 100644 goil/build/libpm/files/TextFileWrite.cpp delete mode 100644 goil/build/libpm/files/TextFileWrite.h rename goil/build/libpm/galgas2/{Compiler.cpp => C_Compiler.cpp} (58%) rename goil/build/libpm/galgas2/{Compiler.h => C_Compiler.h} (58%) create mode 100644 goil/build/libpm/galgas2/C_Lexique.cpp rename goil/build/libpm/galgas2/{Lexique.h => C_Lexique.h} (59%) rename goil/build/libpm/galgas2/{LocationInSource.cpp => C_LocationInSource.cpp} (59%) rename goil/build/libpm/galgas2/{LocationInSource.h => C_LocationInSource.h} (59%) rename goil/build/libpm/galgas2/{SourceTextInString.cpp => C_SourceTextInString.cpp} (58%) rename goil/build/libpm/galgas2/{SourceTextInString.h => C_SourceTextInString.h} (51%) delete mode 100644 goil/build/libpm/galgas2/GALGAS_string-getters.cpp delete mode 100644 goil/build/libpm/galgas2/Lexique-parsing.cpp delete mode 100644 goil/build/libpm/galgas2/Lexique.cpp create mode 100644 goil/build/libpm/gmp/32-mp_bases.c create mode 100644 goil/build/libpm/gmp/32-mp_bases.h create mode 100644 goil/build/libpm/gmp/64-mp_bases.c create mode 100644 goil/build/libpm/gmp/64-mp_bases.h create mode 100644 goil/build/libpm/gmp/gmp-impl.h create mode 100644 goil/build/libpm/gmp/gmp.h create mode 100644 goil/build/libpm/gmp/longlong.h create mode 100644 goil/build/libpm/gmp/mini-gmp.c.h create mode 100644 goil/build/libpm/gmp/mini-gmp.h create mode 100644 goil/build/libpm/gmp/mpn-add.c create mode 100644 goil/build/libpm/gmp/mpn-add_1.c create mode 100644 goil/build/libpm/gmp/mpn-add_n.c create mode 100644 goil/build/libpm/gmp/mpn-addmul_1.c create mode 100644 goil/build/libpm/gmp/mpn-bdiv_dbm1c.c create mode 100644 goil/build/libpm/gmp/mpn-cmp.c create mode 100644 goil/build/libpm/gmp/mpn-dcpi1_div_qr.c create mode 100644 goil/build/libpm/gmp/mpn-dive_1.c create mode 100644 goil/build/libpm/gmp/mpn-divrem_1.c create mode 100644 goil/build/libpm/gmp/mpn-divrem_2.c create mode 100644 goil/build/libpm/gmp/mpn-get_str.c create mode 100644 goil/build/libpm/gmp/mpn-invertappr.c create mode 100644 goil/build/libpm/gmp/mpn-lshift.c create mode 100644 goil/build/libpm/gmp/mpn-lshiftc.c create mode 100644 goil/build/libpm/gmp/mpn-mu_div_qr.c create mode 100644 goil/build/libpm/gmp/mpn-mul.c create mode 100644 goil/build/libpm/gmp/mpn-mul_1.c create mode 100644 goil/build/libpm/gmp/mpn-mul_basecase.c create mode 100644 goil/build/libpm/gmp/mpn-mul_fft.c create mode 100644 goil/build/libpm/gmp/mpn-mul_n.c create mode 100644 goil/build/libpm/gmp/mpn-mulmod_bnm1.c create mode 100644 goil/build/libpm/gmp/mpn-nussbaumer_mul.c create mode 100644 goil/build/libpm/gmp/mpn-pre_divrem_1.c create mode 100644 goil/build/libpm/gmp/mpn-rshift.c create mode 100644 goil/build/libpm/gmp/mpn-sbpi1_div_qr.c create mode 100644 goil/build/libpm/gmp/mpn-sbpi1_divappr_q.c create mode 100644 goil/build/libpm/gmp/mpn-set_str.c create mode 100644 goil/build/libpm/gmp/mpn-sqr.c create mode 100644 goil/build/libpm/gmp/mpn-sqr_basecase.c create mode 100644 goil/build/libpm/gmp/mpn-sqrmod_bnm1.c create mode 100644 goil/build/libpm/gmp/mpn-sub.c create mode 100644 goil/build/libpm/gmp/mpn-sub_1.c create mode 100644 goil/build/libpm/gmp/mpn-sub_n.c create mode 100644 goil/build/libpm/gmp/mpn-submul_1.c create mode 100644 goil/build/libpm/gmp/mpn-tdiv_qr.c create mode 100644 goil/build/libpm/gmp/mpn-toom22_mul.c create mode 100644 goil/build/libpm/gmp/mpn-toom2_sqr.c create mode 100644 goil/build/libpm/gmp/mpn-toom32_mul.c create mode 100644 goil/build/libpm/gmp/mpn-toom33_mul.c create mode 100644 goil/build/libpm/gmp/mpn-toom3_sqr.c create mode 100644 goil/build/libpm/gmp/mpn-toom42_mul.c create mode 100644 goil/build/libpm/gmp/mpn-toom43_mul.c create mode 100644 goil/build/libpm/gmp/mpn-toom44_mul.c create mode 100644 goil/build/libpm/gmp/mpn-toom4_sqr.c create mode 100644 goil/build/libpm/gmp/mpn-toom53_mul.c create mode 100644 goil/build/libpm/gmp/mpn-toom63_mul.c create mode 100644 goil/build/libpm/gmp/mpn-toom6_sqr.c create mode 100644 goil/build/libpm/gmp/mpn-toom6h_mul.c create mode 100644 goil/build/libpm/gmp/mpn-toom8_sqr.c create mode 100644 goil/build/libpm/gmp/mpn-toom8h_mul.c create mode 100644 goil/build/libpm/gmp/mpn-toom_couple_handling.c create mode 100644 goil/build/libpm/gmp/mpn-toom_eval_dgr3_pm1.c create mode 100644 goil/build/libpm/gmp/mpn-toom_eval_dgr3_pm2.c create mode 100644 goil/build/libpm/gmp/mpn-toom_eval_pm1.c create mode 100644 goil/build/libpm/gmp/mpn-toom_eval_pm2.c create mode 100644 goil/build/libpm/gmp/mpn-toom_eval_pm2exp.c create mode 100644 goil/build/libpm/gmp/mpn-toom_eval_pm2rexp.c create mode 100644 goil/build/libpm/gmp/mpn-toom_interpolate_12pts.c create mode 100644 goil/build/libpm/gmp/mpn-toom_interpolate_16pts.c create mode 100644 goil/build/libpm/gmp/mpn-toom_interpolate_5pts.c create mode 100644 goil/build/libpm/gmp/mpn-toom_interpolate_6pts.c create mode 100644 goil/build/libpm/gmp/mpn-toom_interpolate_7pts.c create mode 100644 goil/build/libpm/gmp/mpn-toom_interpolate_8pts.c create mode 100644 goil/build/libpm/gmp/mpz-abs.c create mode 100644 goil/build/libpm/gmp/mpz-add.c create mode 100644 goil/build/libpm/gmp/mpz-add_ui.c create mode 100644 goil/build/libpm/gmp/mpz-and.c create mode 100644 goil/build/libpm/gmp/mpz-aors.h create mode 100644 goil/build/libpm/gmp/mpz-aors_ui.h create mode 100644 goil/build/libpm/gmp/mpz-cdiv_q_ui.c create mode 100644 goil/build/libpm/gmp/mpz-cdiv_qr.c create mode 100644 goil/build/libpm/gmp/mpz-cfdiv_q_2exp.c create mode 100644 goil/build/libpm/gmp/mpz-clear.c create mode 100644 goil/build/libpm/gmp/mpz-clrbit.c create mode 100644 goil/build/libpm/gmp/mpz-cmp.c create mode 100644 goil/build/libpm/gmp/mpz-cmp_si.c create mode 100644 goil/build/libpm/gmp/mpz-cmp_ui.c create mode 100644 goil/build/libpm/gmp/mpz-com.c create mode 100644 goil/build/libpm/gmp/mpz-combit.c create mode 100644 goil/build/libpm/gmp/mpz-export.c create mode 100644 goil/build/libpm/gmp/mpz-fdiv_q_ui.c create mode 100644 goil/build/libpm/gmp/mpz-fdiv_qr.c create mode 100644 goil/build/libpm/gmp/mpz-fits_s.h create mode 100644 goil/build/libpm/gmp/mpz-fits_sint.c create mode 100644 goil/build/libpm/gmp/mpz-fits_uint.c create mode 100644 goil/build/libpm/gmp/mpz-get_si.c create mode 100644 goil/build/libpm/gmp/mpz-get_str.c create mode 100644 goil/build/libpm/gmp/mpz-get_ui.c create mode 100644 goil/build/libpm/gmp/mpz-init.c create mode 100644 goil/build/libpm/gmp/mpz-ior.c create mode 100644 goil/build/libpm/gmp/mpz-mul.c create mode 100644 goil/build/libpm/gmp/mpz-mul_2exp.c create mode 100644 goil/build/libpm/gmp/mpz-mul_i.h create mode 100644 goil/build/libpm/gmp/mpz-mul_ui.c create mode 100644 goil/build/libpm/gmp/mpz-neg.c create mode 100644 goil/build/libpm/gmp/mpz-realloc.c create mode 100644 goil/build/libpm/gmp/mpz-set.c create mode 100644 goil/build/libpm/gmp/mpz-set_str.c create mode 100644 goil/build/libpm/gmp/mpz-set_ui.c create mode 100644 goil/build/libpm/gmp/mpz-setbit.c create mode 100644 goil/build/libpm/gmp/mpz-sizeinbase.c create mode 100644 goil/build/libpm/gmp/mpz-sub.c create mode 100644 goil/build/libpm/gmp/mpz-sub_ui.c create mode 100644 goil/build/libpm/gmp/mpz-swap.c create mode 100644 goil/build/libpm/gmp/mpz-tdiv_qr.c create mode 100644 goil/build/libpm/gmp/mpz-tstbit.c create mode 100644 goil/build/libpm/gmp/mpz-xor.c create mode 100644 goil/build/libpm/gmp/root-assert.c create mode 100644 goil/build/libpm/gmp/root-bootstrap.c.h create mode 100644 goil/build/libpm/gmp/root-errno.c create mode 100644 goil/build/libpm/gmp/root-memory.c create mode 100644 goil/build/libpm/gmp/root-mp_bpl.c create mode 100644 goil/build/libpm/gmp/root-mp_clz_tab.c create mode 100644 goil/build/libpm/gmp/root-mp_dv_tab.c create mode 100644 goil/build/libpm/gmp/root-mp_minv_tab.c create mode 100644 goil/build/libpm/gmp/root-tal-notreent.c create mode 100644 goil/build/libpm/streams/AC_OutputStream.cpp create mode 100644 goil/build/libpm/streams/AC_OutputStream.h delete mode 100644 goil/build/libpm/streams/AbstractOutputStream.cpp delete mode 100644 goil/build/libpm/streams/AbstractOutputStream.h create mode 100644 goil/build/libpm/strings/C_HTMLString.cpp create mode 100644 goil/build/libpm/strings/C_HTMLString.h create mode 100644 goil/build/libpm/strings/C_String.cpp create mode 100644 goil/build/libpm/strings/C_String.h delete mode 100644 goil/build/libpm/strings/HTMLString.cpp delete mode 100644 goil/build/libpm/strings/HTMLString.h delete mode 100644 goil/build/libpm/strings/String-class-getters.cpp delete mode 100644 goil/build/libpm/strings/String-class.cpp delete mode 100644 goil/build/libpm/strings/String-class.h create mode 100644 goil/build/libpm/strings/unicode_string_routines.cpp create mode 100644 goil/build/libpm/strings/unicode_string_routines.h rename goil/build/libpm/time/{DateTime.cpp => C_DateTime.cpp} (63%) rename goil/build/libpm/time/{DateTime.h => C_DateTime.h} (61%) rename goil/build/libpm/time/{Timer.cpp => C_Timer.cpp} (55%) rename goil/build/libpm/time/{Timer.h => C_Timer.h} (64%) rename goil/build/libpm/utilities/{U8Data.cpp => C_Data.cpp} (65%) rename goil/build/libpm/utilities/{U8Data.h => C_Data.h} (74%) rename goil/build/libpm/utilities/{DirectedGraph.cpp => C_DirectedGraph.cpp} (76%) rename goil/build/libpm/utilities/{DirectedGraph.h => C_DirectedGraph.h} (72%) rename goil/build/libpm/utilities/{PrologueEpilogue.cpp => C_PrologueEpilogue.cpp} (63%) rename goil/build/libpm/utilities/{PrologueEpilogue.h => C_PrologueEpilogue.h} (67%) rename goil/build/libpm/utilities/{SharedObject.cpp => C_SharedObject.cpp} (59%) rename goil/build/libpm/utilities/{SharedObject.h => C_SharedObject.h} (61%) rename goil/build/libpm/utilities/{UInt32Set.cpp => C_UIntSet.cpp} (73%) rename goil/build/libpm/utilities/{UInt32Set.h => C_UIntSet.h} (70%) rename goil/build/libpm/utilities/{macroAssert.cpp => MF_Assert.cpp} (75%) rename goil/build/libpm/utilities/{macroAssert.h => MF_Assert.h} (57%) delete mode 100644 goil/build/libpm/utilities/SHA256.cpp delete mode 100644 goil/build/libpm/utilities/SHA256.h create mode 100644 goil/build/output/all-declarations-11.cpp create mode 100644 goil/build/output/all-declarations-11.h rename goil/build/output/{lexique-arxml-5Fscanner-cocoa.h => lexique-arxml-5F-scanner-cocoa.h} (78%) rename goil/build/output/{lexique-arxml-5Fscanner-cocoa.m => lexique-arxml-5F-scanner-cocoa.m} (88%) rename goil/build/output/{lexique-arxml-5Fscanner-cocoa.swift => lexique-arxml-5F-scanner-cocoa.swift} (94%) rename goil/build/output/{lexique-arxmlmetaparser-5Fscanner-cocoa.h => lexique-arxmlmetaparser-5F-scanner-cocoa.h} (90%) rename goil/build/output/{lexique-arxmlmetaparser-5Fscanner-cocoa.m => lexique-arxmlmetaparser-5F-scanner-cocoa.m} (93%) rename goil/build/output/{lexique-arxmlmetaparser-5Fscanner-cocoa.swift => lexique-arxmlmetaparser-5F-scanner-cocoa.swift} (96%) rename goil/build/output/{lexique-goil-5Flexique-cocoa.h => lexique-goil-5F-lexique-cocoa.h} (85%) rename goil/build/output/{lexique-goil-5Flexique-cocoa.m => lexique-goil-5F-lexique-cocoa.m} (89%) rename goil/build/output/{lexique-goil-5Flexique-cocoa.swift => lexique-goil-5F-lexique-cocoa.swift} (93%) rename goil/build/output/{lexique-gtl-5Fdebugger-5Fscanner-cocoa.h => lexique-gtl-5F-debugger-5F-scanner-cocoa.h} (91%) rename goil/build/output/{lexique-gtl-5Fdebugger-5Fscanner-cocoa.m => lexique-gtl-5F-debugger-5F-scanner-cocoa.m} (95%) rename goil/build/output/{lexique-gtl-5Fdebugger-5Fscanner-cocoa.swift => lexique-gtl-5F-debugger-5F-scanner-cocoa.swift} (97%) rename goil/build/output/{lexique-gtl-5Fscanner-cocoa.h => lexique-gtl-5F-scanner-cocoa.h} (90%) rename goil/build/output/{lexique-gtl-5Fscanner-cocoa.m => lexique-gtl-5F-scanner-cocoa.m} (96%) rename goil/build/output/{lexique-gtl-5Fscanner-cocoa.swift => lexique-gtl-5F-scanner-cocoa.swift} (97%) rename goil/build/output/{lexique-options-5Fscanner-cocoa.h => lexique-options-5F-scanner-cocoa.h} (80%) rename goil/build/output/{lexique-options-5Fscanner-cocoa.m => lexique-options-5F-scanner-cocoa.m} (84%) rename goil/build/output/{lexique-options-5Fscanner-cocoa.swift => lexique-options-5F-scanner-cocoa.swift} (92%) rename goil/build/output/{option-goil-5Foptions-cocoa.h => option-goil-5F-options-cocoa.h} (77%) rename goil/build/output/{option-goil-5Foptions-cocoa.m => option-goil-5F-options-cocoa.m} (94%) rename goil/build/output/{option-goil-5Foptions-cocoa.swift => option-goil-5F-options-cocoa.swift} (97%) rename goil/build/output/{option-gtl-5Foptions-cocoa.h => option-gtl-5F-options-cocoa.h} (77%) rename goil/build/output/{option-gtl-5Foptions-cocoa.m => option-gtl-5F-options-cocoa.m} (85%) rename goil/build/output/{option-gtl-5Foptions-cocoa.swift => option-gtl-5F-options-cocoa.swift} (91%) diff --git a/goil/build/libpm/bdd/C_BDD-and-operation.cpp b/goil/build/libpm/bdd/C_BDD-and-operation.cpp new file mode 100644 index 000000000..ca754b84e --- /dev/null +++ b/goil/build/libpm/bdd/C_BDD-and-operation.cpp @@ -0,0 +1,273 @@ +//---------------------------------------------------------------------------------------------------------------------- +// +// BDD package (implementation of ROBDD) +// +// This file is part of libpm library +// +// Copyright (C) 1999, ..., 2023 Pierre Molinaro. +// +// e-mail : pierre@pcmolinaro.name +// +// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied +// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +//---------------------------------------------------------------------------------------------------------------------- + +#include "bdd/C_BDD.h" +#include "utilities/F_GetPrime.h" +#include "strings/C_String.h" +#include "bdd/C_BDD-node.h" + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Cache for AND Operation +#endif + +//---------------------------------------------------------------------------------------------------------------------- +// +// And computation cache +// +//---------------------------------------------------------------------------------------------------------------------- + +class tStructANDOperationCacheEntry { + public: uint64_t mOperands ; + public: uint32_t mResult ; +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static const int32_t kANDOperationCacheInitialSize = 262145 ; + +//---------------------------------------------------------------------------------------------------------------------- + +static uint64_t * gANDOperationCacheOperandMap ; +static uint32_t * gANDOperationCacheResultMap ; +static uint32_t gANDOperationMapSize ; +static uint32_t gANDOperationCacheMapUsedEntryCount ; +static uint64_t gANDOperationCacheTrivialOperationCount ; +static bool gANDOperationCacheExpandable = true ; +static uint32_t gANDOperationCacheMaxPowerOfTwoSize = 31 ; + +//---------------------------------------------------------------------------------------------------------------------- + +uint32_t ANDCacheMemoryUsage (void) { + return (gANDOperationMapSize * (uint32_t) (sizeof (uint32_t) + sizeof (uint64_t))) / 1000000 ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void releaseANDOperationCache (void) { + gANDOperationCacheMapUsedEntryCount = 0 ; + macroMyDeletePODArray (gANDOperationCacheOperandMap) ; + macroMyDeletePODArray (gANDOperationCacheResultMap) ; + gANDOperationMapSize = 0 ; + gANDOperationCacheExpandable = true ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void clearANDOperationCache (void) { + gANDOperationCacheMapUsedEntryCount = 0 ; + for (uint32_t i=0 ; i gANDOperationMapSize)) { + const uint32_t newSize = getPrimeGreaterThan (gANDOperationMapSize + 1) ; + if (newSize < (1U << gANDOperationCacheMaxPowerOfTwoSize)) { + uint32_t newMemoryUsage = C_BDD::currentMemoryUsage () ; + newMemoryUsage -= ANDCacheMemoryUsage () ; + newMemoryUsage += (uint32_t) ((newSize * (sizeof (uint64_t) + sizeof (uint32_t))) / 1000000) ; + if (newMemoryUsage < C_BDD::maximumMemoryUsage ()) { + reallocANDOperationCache (newSize) ; + }else{ + gANDOperationCacheExpandable = false ; + if (C_BDD::displaysInformationMessages ()) { + printf ("BDD package info: AND cache reallocation to %u %03u %03u inhibited (max RAM usage reached)\n", + newSize / 1000000, + (newSize / 1000) % 1000, + newSize % 1000) ; + } + } + }else{ + gANDOperationCacheExpandable = false ; + if (C_BDD::displaysInformationMessages ()) { + printf ("BDD package info: AND cache reallocation to %u %03u %03u inhibited (max size reached)\n", + newSize / 1000000, + (newSize / 1000) % 1000, + newSize % 1000) ; + } + } + } + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BDD::setANDOperationCacheMaxSize (const uint32_t inPowerOfTwo) { + gANDOperationCacheMaxPowerOfTwoSize = inPowerOfTwo ; + if (C_BDD::displaysInformationMessages ()) { + printf ("BDD package info: AND cache max size limited < 2 ** %u\n", gANDOperationCacheMaxPowerOfTwoSize) ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark AND operation +#endif + +//---------------------------------------------------------------------------------------------------------------------- +// +// Operation AND +// +//---------------------------------------------------------------------------------------------------------------------- + +uint32_t internalANDoperation (const uint32_t opf, + const uint32_t opg) { + uint32_t result ; + uint32_t f = opf ; + uint32_t g = opg ; +//--- Simplification 1 : si f > g, and (f, g) -> and (g, f) ; + if (f > g) { + const uint32_t tempo = g ; g = f ; f = tempo ; + } +//--- Test trivial 1 : and (0, g) -> 0 ; + if (f == 0) { + gANDOperationCacheTrivialOperationCount ++ ; + result = 0 ; +//--- Test trivial 2 : and (1, g) -> g ; + }else if (f == 1) { + gANDOperationCacheTrivialOperationCount ++ ; + result = g ; +//--- Test trivial 3 : and (f, f) -> f ; + }else if (f == g) { + gANDOperationCacheTrivialOperationCount ++ ; + result = g ; +//--- Test trivial 3 : and (f, ~f) -> 0 ; + }else if ((f ^ g) == 1) { + gANDOperationCacheTrivialOperationCount ++ ; + result = 0 ; +//--- Effectuer le calcul + }else if (! searchInANDOperationCache (f, g, result)) { + //--- Faire l'operation + const uint32_t nodeF = nodeIndexForRoot (f COMMA_HERE) ; + const uint32_t nodeG = nodeIndexForRoot (g COMMA_HERE) ; + const uint32_t compF = f & 1 ; + const uint32_t compG = g & 1 ; + const uint32_t varF = gNodeArray [nodeF].mVariableIndex ; + const uint32_t varG = gNodeArray [nodeG].mVariableIndex ; + //--- Compute + if (varF < varG) { + result = find_or_add (varG, + internalANDoperation (f, gNodeArray [nodeG].mELSE ^ compG), + internalANDoperation (f, gNodeArray [nodeG].mTHEN ^ compG) COMMA_HERE) ; + }else if (varF == varG) { + result = find_or_add (varF, + internalANDoperation (gNodeArray [nodeF].mELSE ^ compF, gNodeArray [nodeG].mELSE ^ compG), + internalANDoperation (gNodeArray [nodeF].mTHEN ^ compF, gNodeArray [nodeG].mTHEN ^ compG) COMMA_HERE) ; + }else{ // varF > varG + result = find_or_add (varF, + internalANDoperation (gNodeArray [nodeF].mELSE ^ compF, g), + internalANDoperation (gNodeArray [nodeF].mTHEN ^ compF, g) COMMA_HERE) ; + } + //--- Insert result into cache + enterInANDOperationCache (f, g, result) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/bdd/C_BDD-find-or-add.cpp b/goil/build/libpm/bdd/C_BDD-find-or-add.cpp new file mode 100644 index 000000000..6bd593062 --- /dev/null +++ b/goil/build/libpm/bdd/C_BDD-find-or-add.cpp @@ -0,0 +1,632 @@ +//---------------------------------------------------------------------------------------------------------------------- +// +// BDD package (implementation of ROBDD) +// +// This file is part of libpm library +// +// Copyright (C) 1999, ..., 2023 Pierre Molinaro. +// +// e-mail : pierre@pcmolinaro.name +// +// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied +// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +//---------------------------------------------------------------------------------------------------------------------- + +#include "bdd/C_BDD.h" +#include "utilities/F_GetPrime.h" +#include "utilities/C_PrologueEpilogue.h" +#include "strings/C_String.h" +#include "bdd/C_BDD-node.h" +#include "time/C_Timer.h" + +//---------------------------------------------------------------------------------------------------------------------- + +uint32_t C_BDD::getBDDnodeSize (void) { + return (uint32_t) sizeof (cBDDnode) ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// BDD objects unique table +// +//---------------------------------------------------------------------------------------------------------------------- + +static uint32_t gNodeArraySize = 0 ; +cBDDnode * gNodeArray = nullptr ; +static uint64_t * gMarkTable = nullptr ; +static uint32_t gCurrentNodeCount = 0 ; + +//---------------------------------------------------------------------------------------------------------------------- + +uint32_t nodeMapMemoryUsage (void) { + return (gNodeArraySize * C_BDD::getBDDnodeSize ()) / 1000000 ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +uint32_t C_BDD::getCreatedNodesCount (void) { + return gNodeArraySize ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +uint32_t C_BDD::getExistingNodesCount (void) { + return gCurrentNodeCount ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +static uint32_t * gCollisionMap = nullptr ; +static uint32_t gCollisionMapSize = 0 ; +static uint32_t gHashMapPowerOfTwoMaxSize = 31 ; +static bool gHashMapExpandable = true ; + +//---------------------------------------------------------------------------------------------------------------------- + +uint32_t hashMapMemoryUsage (void) { + return (uint32_t) ((gCollisionMapSize * sizeof (uint32_t)) / 1000000) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +inline uint64_t nodeHashCode (const cBDDnode inNode) { + uint64_t result = bothBranches (inNode) % (uint64_t) gCollisionMapSize ; + result <<= 32 ; + result = (result | inNode.mVariableIndex) % (uint64_t) gCollisionMapSize ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +static void reallocHashMap (const uint32_t inNewSize) { + if ((0 < inNewSize) && (inNewSize != gCollisionMapSize)) { + if (C_BDD::displaysInformationMessages ()) { + printf ("BDD package info: hash map reallocated to %u %03u %03u (%u MB)\n", + inNewSize / 1000000, (inNewSize / 1000) % 1000, inNewSize % 1000, + (inNewSize * (uint32_t) sizeof (uint32_t)) / 1000000) ; + } + macroMyReallocPODArray (gCollisionMap, uint32_t, inNewSize) ; + gCollisionMapSize = inNewSize ; + for (uint32_t i=0 ; i (1U << 31)) { + printf ("*** BDD package node map saturation: needs more than 2 ** 31 nodes\n") ; + exit (1) ; + }else if (C_BDD::displaysInformationMessages ()) { + printf ("BDD package info: node map reallocated to %u %03u %03u (%u MB)\n", + newSize / 1000000, (newSize / 1000) % 1000, newSize % 1000, + (newSize * (uint32_t) sizeof (cBDDnode)) / 1000000) ; + } + macroMyReallocPODArray (gNodeArray, cBDDnode, newSize) ; + macroMyReallocPODArray (gMarkTable, uint64_t, newSize >> 6) ; + gNodeArraySize = newSize ; + gNodeArray [0].mELSE = 0 ; + gNodeArray [0].mTHEN = 0 ; + gNodeArray [0].mVariableIndex = 0 ; + } + if (gHashMapExpandable && (gCurrentNodeCount > (gCollisionMapSize / 2))) { + const uint32_t newSize = getPrimeGreaterThan (gCollisionMapSize + 1) ; + if (newSize < (1U << gHashMapPowerOfTwoMaxSize)) { + uint32_t newMemoryUsage = C_BDD::currentMemoryUsage () ; + newMemoryUsage -= hashMapMemoryUsage () ; + newMemoryUsage += (uint32_t) ((newSize * sizeof (uint32_t)) / 1000000) ; + if (newMemoryUsage < C_BDD::maximumMemoryUsage ()) { + reallocHashMap (newSize) ; + }else{ + gHashMapExpandable = false ; + if (C_BDD::displaysInformationMessages ()) { + printf ("BDD package info: hash map reallocation to %u %03u %03u inhibited (max RAM usage reached)\n", + newSize / 1000000, + (newSize / 1000) % 1000, + newSize % 1000) ; + } + } + }else{ + gHashMapExpandable = false ; + if (C_BDD::displaysInformationMessages ()) { + printf ("BDD package info: hash map reallocation to %u %03u %03u inhibited (max size reached)\n", + newSize / 1000000, + (newSize / 1000) % 1000, + newSize % 1000) ; + } + } + } + //--- Retrieve a free node + gCurrentNodeCount ++ ; + gNodeArray [gCurrentNodeCount] = inNode ; +//--- Enter in hash map + const uint64_t hashCode = nodeHashCode (inNode) ; + gNodeArray [gCurrentNodeCount].mAuxiliary = gCollisionMap [hashCode] ; + gCollisionMap [hashCode] = gCurrentNodeCount ; +//--- + return gCurrentNodeCount ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BDD::unmarkAllExistingBDDnodes (void) { + MF_Assert ((gNodeArraySize % 64) == 0, "gNodeArraySize (%lld) is not a multiple of 64", gNodeArraySize, 0) ; + for (uint32_t i=0 ; i<(gNodeArraySize >> 6) ; i++) { + gMarkTable [i] = 0 ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +static bool isNodeMarked (const uint32_t inValue COMMA_LOCATION_ARGS) { + const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; + bool marked = nodeIndex == 0 ; + if (! marked) { + MF_AssertThere (nodeIndex > 0, "nodeIndex (%lld) should be > 0", nodeIndex, 0) ; + MF_AssertThere (nodeIndex <= gCurrentNodeCount, "nodeIndex (%lld) should be <= gCurrentNodeCount (%lld)", nodeIndex, gCurrentNodeCount) ; + const uint64_t mask = 1ULL << (nodeIndex & 0x3F) ; + const uint32_t idx = nodeIndex >> 6 ; + marked = (gMarkTable [idx] & mask) != 0 ; + } + return marked ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +bool isNodeMarkedThenMark (const uint32_t inValue COMMA_LOCATION_ARGS) { + const uint32_t nodeIndex = inValue >> 1 ; + MF_AssertThere (nodeIndex > 0, "nodeIndex (%lld) should be > 0", nodeIndex, 0) ; + MF_AssertThere (nodeIndex <= gCurrentNodeCount, "nodeIndex (%lld) should be <= gCurrentNodeCount (%lld)", nodeIndex, gCurrentNodeCount) ; + const uint64_t mask = 1ULL << (nodeIndex & 0x3F) ; + const uint32_t idx = nodeIndex >> 6 ; + const bool isMarked = (gMarkTable [idx] & mask) != 0 ; + gMarkTable [idx] |= mask ; + return isMarked ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void markNode (const uint32_t inValue) { + const uint32_t nodeIndex = inValue >> 1 ; + MF_Assert (nodeIndex > 0, "nodeIndex (%lld) should be > 0", nodeIndex, 0) ; + MF_Assert (nodeIndex <= gCurrentNodeCount, "nodeIndex (%lld) should be <= gCurrentNodeCount (%lld)", nodeIndex, gCurrentNodeCount) ; + const uint64_t mask = 1ULL << (nodeIndex & 0x3F) ; + const uint32_t idx = nodeIndex >> 6 ; + gMarkTable [idx] |= mask ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +uint32_t C_BDD::getMarkedNodesCount (void) { + uint32_t count = 0 ; + for (uint32_t i=0 ; i<(gNodeArraySize >> 6) ; i++) { + uint64_t v = gMarkTable [i] ; + while (v > 0) { + count += (v & 1) != 0 ; + v >>= 1 ; + } + } + return count ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// BDD objects hash map +// +//---------------------------------------------------------------------------------------------------------------------- + +static const int32_t kInitialCollisionMapPowerOfTwoSize = 20 ; + +//---------------------------------------------------------------------------------------------------------------------- +// +// BDD unique table implementation +// +//---------------------------------------------------------------------------------------------------------------------- + +uint32_t find_or_add (const uint32_t inBoolVar, + const uint32_t inELSEbranch, + const uint32_t inTHENbranch + COMMA_UNUSED_LOCATION_ARGS) { + uint32_t result = inELSEbranch ; + if (inELSEbranch != inTHENbranch) { + if (0 == gCollisionMapSize) { + reallocHashMap (getPrimeGreaterThan (1U << kInitialCollisionMapPowerOfTwoSize)) ; + } + const uint32_t complement = inELSEbranch & 1 ; + const uint32_t c1 = inTHENbranch ^ complement ; + const uint32_t c0 = inELSEbranch ^ complement ; +// const cBDDnode candidateNode = cBDDnode (c1, c0, inBoolVar) ; + const cBDDnode candidateNode = {c1, c0, inBoolVar, 0} ; + // printf ("candidateNode %llu gCollisionMapSize %u\n", candidateNode, gCollisionMapSize) ; + const uint64_t hashCode = nodeHashCode (candidateNode) ; + uint32_t nodeIndex = gCollisionMap [hashCode] ; + while ((0 != nodeIndex) + && ((bothBranches (gNodeArray [nodeIndex]) != bothBranches (candidateNode)) + || (gNodeArray [nodeIndex].mVariableIndex != candidateNode.mVariableIndex))) { + nodeIndex = gNodeArray [nodeIndex].mAuxiliary ; + } + if (0 == nodeIndex) { + nodeIndex = addNewNode (candidateNode) ; + } + result = (nodeIndex << 1) | complement ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BDD::setHashMapMaxSize (const uint32_t inPowerOfTwoSize) { + gHashMapPowerOfTwoMaxSize = inPowerOfTwoSize ; + if (C_BDD::displaysInformationMessages ()) { + printf ("BDD package info: hash map max size limited < 2 ** %u\n", gHashMapPowerOfTwoMaxSize) ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +static C_BDD * gFirstBDD = nullptr ; +static C_BDD * gLastBDD = nullptr ; + +//---------------------------------------------------------------------------------------------------------------------- + +uint32_t C_BDD::getBDDinstancesCount (void) { + uint32_t n = 0 ; + C_BDD * p = gFirstBDD ; + while (p != nullptr) { + n ++ ; + p = p->mPtrToNextBDD ; + } + return n ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Mark and Sweep +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +static void recursiveMarkBDDNodes (const uint32_t inValue) { + const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; + if ((nodeIndex > 0) && ! isNodeMarkedThenMark (inValue COMMA_HERE)) { + if (bothBranches (gNodeArray [nodeIndex]) != 0) { + recursiveMarkBDDNodes (gNodeArray [nodeIndex].mTHEN) ; + recursiveMarkBDDNodes (gNodeArray [nodeIndex].mELSE) ; + } + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BDD::markAllBDDnodes (void) { + recursiveMarkBDDNodes (mBDDvalue) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BDD::markAndSweepUnusedNodes (void) { + C_Timer timer ; +//--- Clear operation caches + clearANDOperationCache () ; +//--- Effacer tous les champs marquage des elements BDD existants + unmarkAllExistingBDDnodes () ; +//--- Marquer tous les elements utilises + C_BDD * p = gFirstBDD ; + while (p != nullptr) { + recursiveMarkBDDNodes (p->mBDDvalue) ; + p = p->mPtrToNextBDD ; + } +//--- Parcourir la table des elements BDD et recycler ceux qui sont inutilises + uint32_t unchangedNodeCount = 0 ; + if (gNodeArraySize > 0) { + gNodeArray [0].mAuxiliary = 0 ; + if (gMarkTable [0] == ~ 1LLU) { + unchangedNodeCount = 63 ; + for (uint32_t i=1 ; (i<(gNodeArraySize >> 6)) && (gMarkTable [i] == ~ 0LLU) ; i++) { + unchangedNodeCount += 64 ; + } + } + } + for (uint32_t i=1 ; i<=unchangedNodeCount ; i++) { + gNodeArray [i].mAuxiliary = i ; + } + uint32_t newNodeCount = unchangedNodeCount ; + for (uint32_t nodeIndex=unchangedNodeCount+1 ; nodeIndex<=gCurrentNodeCount ; nodeIndex++) { + if (isNodeMarked (nodeIndex << 1 COMMA_HERE)) { // Node is used + const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; + const uint32_t thenBranch = gNodeArray [nodeIndex].mTHEN ; + const uint32_t elseBranch = gNodeArray [nodeIndex].mELSE ; + MF_Assert ((thenBranch >> 1) < nodeIndex, "(thenBranch [%lld] >> 1) < nodeIndex [%lld]", thenBranch >> 1, nodeIndex) ; + MF_Assert ((elseBranch >> 1) < nodeIndex, "(elseBranch [%lld] >> 1) < nodeIndex [%lld]", elseBranch >> 1, nodeIndex) ; + const uint32_t newThenBranch = (gNodeArray [thenBranch >> 1].mAuxiliary << 1) | (thenBranch & 1) ; + const uint32_t newElseBranch = (gNodeArray [elseBranch >> 1].mAuxiliary << 1) | (elseBranch & 1) ; + newNodeCount ++ ; + gNodeArray [newNodeCount].mTHEN = newThenBranch ; + gNodeArray [newNodeCount].mELSE = newElseBranch ; + gNodeArray [newNodeCount].mVariableIndex = var ; + gNodeArray [nodeIndex].mAuxiliary = newNodeCount ; + } + } + const uint32_t previousNodeCount = gCurrentNodeCount ; + if (gNodeArraySize > 0) { + gCurrentNodeCount = newNodeCount ; + p = gFirstBDD ; + while (p != nullptr) { + const uint32_t previousValue = p->mBDDvalue ; + MF_Assert ((gNodeArray [previousValue >> 1].mAuxiliary) <= (previousValue >> 1), "(elseBranch [%lld] >> 1) <= nodeIndex [%lld]", (gNodeArray [previousValue >> 1].mAuxiliary), previousValue >> 1) ; + p->mBDDvalue = (gNodeArray [previousValue >> 1].mAuxiliary << 1) | (previousValue & 1) ; + p = p->mPtrToNextBDD ; + } + } +//--- Rebuilt collision map + for (uint32_t i=0 ; i " << cStringWithUnsigned (gCurrentNodeCount) << ")\n" ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark BDD constructors, destructor, assignment +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD::C_BDD (void) : +mBDDvalue (0), +mPtrToPreviousBDD (nullptr), +mPtrToNextBDD (nullptr) { + initLinks () ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD::C_BDD (const uint32_t inValue) : +mBDDvalue (inValue), +mPtrToPreviousBDD (nullptr), +mPtrToNextBDD (nullptr) { + initLinks () ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD::C_BDD (const uint32_t variable, + const bool inSign) : +mBDDvalue (0), +mPtrToPreviousBDD (nullptr), +mPtrToNextBDD (nullptr) { + initLinks () ; + const uint32_t complement = inSign ? 0U : 1U ; + mBDDvalue = find_or_add (variable, complement, complement ^ 1 COMMA_HERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD::C_BDD (const C_BDD & inSource) : +mBDDvalue (inSource.mBDDvalue), +mPtrToPreviousBDD (nullptr), +mPtrToNextBDD (nullptr) { + initLinks () ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BDD::initLinks (void) { + if (gFirstBDD == nullptr) { + gLastBDD = this ; + }else{ + gFirstBDD->mPtrToPreviousBDD = this ; + } + mPtrToNextBDD = gFirstBDD ; + gFirstBDD = this ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD::~C_BDD (void) { + mBDDvalue = 0 ; + if (mPtrToPreviousBDD == nullptr) { + gFirstBDD = gFirstBDD->mPtrToNextBDD ; + }else{ + mPtrToPreviousBDD->mPtrToNextBDD = mPtrToNextBDD ; + } + if (mPtrToNextBDD == nullptr) { + gLastBDD = gLastBDD->mPtrToPreviousBDD ; + }else{ + mPtrToNextBDD->mPtrToPreviousBDD = mPtrToPreviousBDD ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD & C_BDD::operator = (const C_BDD & inSource) { + mBDDvalue = inSource.mBDDvalue ; + return *this ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Check all BDDs are well-formed +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +static void internalCheckBDDIsWellFormed (const uint32_t inBDD, + const uint32_t inCurrentVar + COMMA_LOCATION_ARGS) { + const uint32_t nodeIndex = nodeIndexForRoot (inBDD COMMA_HERE) ; + if (0 != bothBranches (gNodeArray [nodeIndex])) { + const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; + if (var >= inCurrentVar) { + #ifndef DO_NOT_GENERATE_CHECKINGS + printf ("*** ERROR at %s:%d: BDD is not well-formed (var %u sould be < var %u) ***\n", IN_SOURCE_FILE, IN_SOURCE_LINE, var, inCurrentVar) ; + #else + printf ("*** ERROR (compile in debug mode for locating the error): BDD is not well-formed (var %u sould be < var %u) ***\n", var, inCurrentVar) ; + #endif + exit (1) ; + } + if (! isNodeMarkedThenMark (inBDD COMMA_HERE)) { + internalCheckBDDIsWellFormed (gNodeArray [nodeIndex].mTHEN, var COMMA_HERE) ; + internalCheckBDDIsWellFormed (gNodeArray [nodeIndex].mELSE, var COMMA_HERE) ; + } + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BDD::checkAllBDDsAreWellFormed (LOCATION_ARGS) { +//--- Unmark all nodes + unmarkAllExistingBDDnodes () ; +//--- Check BDDs + C_BDD * p = gFirstBDD ; + while (p != nullptr) { + internalCheckBDDIsWellFormed (p->mBDDvalue, UINT16_MAX COMMA_THERE) ; + p = p->mPtrToNextBDD ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BDD::checkBDDIsWellFormed (LOCATION_ARGS) { +//--- Unmark all nodes + unmarkAllExistingBDDnodes () ; +//--- Check BDD + internalCheckBDDIsWellFormed (mBDDvalue, UINT16_MAX COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Memory Usage +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +uint32_t C_BDD::currentMemoryUsage (void) { + uint32_t result = nodeMapMemoryUsage () ; + result += hashMapMemoryUsage () ; + result += ANDCacheMemoryUsage () ; + result += singleOperandOperationCacheMemoryUsage () ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +static uint32_t gMaximumMemoryUsage = UINT32_MAX ; + +//---------------------------------------------------------------------------------------------------------------------- + +uint32_t C_BDD::maximumMemoryUsage (void) { // In MB + return gMaximumMemoryUsage ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BDD::setMaximumMemoryUsage (const uint32_t inMaxMemoryUsage) { // In MB + gMaximumMemoryUsage = inMaxMemoryUsage ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark BDD Package stats +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BDD::printBDDpackageOperationsSummary (AC_OutputStream & inStream) { + #ifdef __LP64__ + const uint32_t mode = 64 ; + #else + const uint32_t mode = 32 ; + #endif + inStream << "\n" + "Statistics about BDD package (" + << cStringWithUnsigned (mode) + << "-bit mode, " + << cStringWithUnsigned (getBDDnodeSize ()) + << " bytes for a BDD node)\n" ; + inStream << " Current BDD count: " << cStringWithUnsigned (getBDDinstancesCount ()) << "\n" + " Created nodes count: " << cStringWithUnsigned (getCreatedNodesCount ()) << "\n" + " RAM usage: " ; + inStream.appendUnsigned (currentMemoryUsage ()) ; + inStream << " MB\n" ; +//--- + inStream << "Unique table:\n" ; + inStream << " size: " << cStringWithUnsigned (gCollisionMapSize) + << " (" << cStringWithUnsigned ((gCollisionMapSize * sizeof (uint32_t)) / 1000000) << " MB)\n" ; + TC_UniqueArray entrySizeArray (1 COMMA_HERE) ; + for (uint32_t i=0 ; i length) { + entrySizeArray.incrementAtIndex (length COMMA_HERE) ; + }else{ + entrySizeArray.forceObjectAtIndex (length, 1, 0 COMMA_HERE) ; + } + } + for (int32_t i=0 ; i 0) && (gCollisionMapSize > 0)) { + inStream << " " << cStringWithUnsigned (entrySizeArray (i COMMA_HERE)) + << " entries of size " << cStringWithSigned (i) + << " (" << cStringWithUnsigned ((100UL * entrySizeArray (i COMMA_HERE)) / gCollisionMapSize) << "%)\n" ; + } + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BDD::freeBDDStataStructures (void) { + releaseANDOperationCache () ; + releaseSingleOperandOperationCache () ; + C_BDD::markAndSweepUnusedNodes () ; + if (0 == gCurrentNodeCount) { + macroMyDeletePODArray (gCollisionMap) ; + macroMyDeletePODArray (gMarkTable) ; + macroMyDeletePODArray (gNodeArray) ; + }else{ + #ifndef DO_NOT_GENERATE_CHECKINGS + printf ("BDD package info: cannot free BDD structures, %u C_BDD instances, %u BDD nodes still alive\n", + C_BDD::getBDDinstancesCount (), + gCurrentNodeCount) ; + #endif + } +} + +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/bdd/C_BDD-node.h b/goil/build/libpm/bdd/C_BDD-node.h index 93713db5b..7f57ffb8d 100644 --- a/goil/build/libpm/bdd/C_BDD-node.h +++ b/goil/build/libpm/bdd/C_BDD-node.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // BDD package (implementation of ROBDD) // @@ -16,15 +16,15 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "C_BDD.h" +#include "bdd/C_BDD.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cBDDnode { public: uint32_t mTHEN ; @@ -33,11 +33,11 @@ class cBDDnode { public: uint32_t mAuxiliary ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Utilities // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- inline uint64_t bothBranches (const cBDDnode & inNode) { uint64_t result = inNode.mTHEN ; @@ -46,36 +46,36 @@ inline uint64_t bothBranches (const cBDDnode & inNode) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern cBDDnode * gNodeArray ; inline uint32_t nodeIndexForRoot (const uint32_t inRoot COMMA_LOCATION_ARGS) { - macroAssertThere ((inRoot >> 1) <= C_BDD::getExistingNodesCount (), "nodeIndex (%lld) should be <= current node count (%lld)", inRoot >> 1, C_BDD::getExistingNodesCount ()) ; + MF_AssertThere ((inRoot >> 1) <= C_BDD::getExistingNodesCount (), "nodeIndex (%lld) should be <= current node count (%lld)", inRoot >> 1, C_BDD::getExistingNodesCount ()) ; return inRoot >> 1 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool isNodeMarkedThenMark (const uint32_t inValue COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void markNode (const uint32_t inValue) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t find_or_add (const uint32_t inBoolVar, const uint32_t inELSEbranch, const uint32_t inTHENbranch COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Operation AND // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t internalANDoperation (const uint32_t opf, const uint32_t opg) ; @@ -90,11 +90,11 @@ void releaseANDOperationCache (void) ; void releaseSingleOperandOperationCache (void) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Memory Usage // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t ANDCacheMemoryUsage (void) ; @@ -104,4 +104,4 @@ uint32_t nodeMapMemoryUsage (void) ; uint32_t hashMapMemoryUsage (void) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/bdd/C_BDD-single-operand-ops.cpp b/goil/build/libpm/bdd/C_BDD-single-operand-ops.cpp new file mode 100644 index 000000000..8d2f6ebdc --- /dev/null +++ b/goil/build/libpm/bdd/C_BDD-single-operand-ops.cpp @@ -0,0 +1,578 @@ +//---------------------------------------------------------------------------------------------------------------------- +// +// BDD package (implementation of ROBDD) +// +// This file is part of libpm library +// +// Copyright (C) 1999, ..., 2023 Pierre Molinaro. +// +// e-mail : pierre@pcmolinaro.name +// +// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied +// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +//---------------------------------------------------------------------------------------------------------------------- + +#include "bdd/C_BDD.h" +#include "utilities/F_GetPrime.h" +#include "bdd/C_BDD-node.h" + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Cache for Single Operand Operations +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +static const int32_t kSingleOperandOperationCacheInitialSize = 131101 ; + +//---------------------------------------------------------------------------------------------------------------------- + +class tStructSingleOperandOperationCacheEntry { + public: uint32_t mOperand ; + public: uint32_t mResult ; +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static tStructSingleOperandOperationCacheEntry * gSingleOperandOperationCacheMap ; +static uint32_t gSingleOperandOperationMapSize ; +static uint32_t gSingleOperandOperationCacheMapUsedEntryCount ; +static uint64_t gSingleOperandOperationCacheTrivialOperationCount ; +static uint32_t gSingleOperandOperationCacheMaxPowerOfTwoSize = 31 ; +static bool gSingleOperandOperationCacheExpandable = true ; + +//---------------------------------------------------------------------------------------------------------------------- + +uint32_t singleOperandOperationCacheMemoryUsage (void) { + return (gSingleOperandOperationMapSize * (uint32_t) sizeof (uint64_t)) / 1000000 ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void releaseSingleOperandOperationCache (void) { + gSingleOperandOperationCacheMapUsedEntryCount = 0 ; + macroMyDeletePODArray (gSingleOperandOperationCacheMap) ; + gSingleOperandOperationCacheExpandable = true ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +static void clearSingleOperandOperationCache (void) { + gSingleOperandOperationCacheMapUsedEntryCount = 0 ; + if (0 == gSingleOperandOperationMapSize) { + gSingleOperandOperationMapSize = kSingleOperandOperationCacheInitialSize ; + macroMyNewPODArray (gSingleOperandOperationCacheMap, tStructSingleOperandOperationCacheEntry, gSingleOperandOperationMapSize) ; + if (C_BDD::displaysInformationMessages ()) { + printf ("BDD package info: single operand operation cache allocated to %u %03u %03u (%u MB)\n", + gSingleOperandOperationMapSize / 1000000, + (gSingleOperandOperationMapSize / 1000) % 1000, + gSingleOperandOperationMapSize % 1000, + (gSingleOperandOperationMapSize * (uint32_t) sizeof (tStructSingleOperandOperationCacheEntry)) / 1000000) ; + } + } + for (uint32_t i=0 ; i gSingleOperandOperationMapSize)) { + reallocSingleOperandOperationCache (gSingleOperandOperationMapSize + 1) ; + } + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BDD::setSingleOperandOperationCacheMaxSize (const uint32_t inPowerOfTwo) { + gSingleOperandOperationCacheMaxPowerOfTwoSize = inPowerOfTwo ; + if (C_BDD::displaysInformationMessages ()) { + printf ("BDD package info: single operand operation cache max size limited < 2 ** %u\n", gSingleOperandOperationCacheMaxPowerOfTwoSize) ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Forall Operation +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +static uint32_t +internalForAllOnBitRange (const uint32_t inValue, + const uint32_t inFirstBit, + const uint32_t inBitCount) { + const uint32_t complement = inValue & 1 ; + uint32_t result = complement ; + const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; + if (bothBranches (gNodeArray [nodeIndex]) == 0) { + gSingleOperandOperationCacheTrivialOperationCount ++ ; + }else{ + const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; + if (var >= (inFirstBit + inBitCount)) { + bool cacheSuccess = false ; + if (! cacheSuccess) { + result = find_or_add (var, + internalForAllOnBitRange (gNodeArray [nodeIndex].mELSE ^ complement, inFirstBit, inBitCount), + internalForAllOnBitRange (gNodeArray [nodeIndex].mTHEN ^ complement, inFirstBit, inBitCount) COMMA_HERE) ; + } + }else if (var >= inFirstBit) { + result = internalANDoperation ( + internalForAllOnBitRange (gNodeArray [nodeIndex].mELSE ^ complement, inFirstBit, inBitCount), + internalForAllOnBitRange (gNodeArray [nodeIndex].mTHEN ^ complement, inFirstBit, inBitCount)) ; + }else{ + result = inValue ; + gSingleOperandOperationCacheTrivialOperationCount ++ ; + } + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +static uint32_t +operationQuelqueSoitSurBitSupNumeroInterne (const uint32_t inValue, + const uint32_t numeroBit) { + const uint32_t complement = inValue & 1 ; + uint32_t result = complement ; + const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; + if (bothBranches (gNodeArray [nodeIndex]) == 0) { + gSingleOperandOperationCacheTrivialOperationCount ++ ; + }else{ + const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; + if (var > numeroBit) { + if (! searchInSingleOperandOperationCache (inValue, result)) { + result = internalANDoperation ( + operationQuelqueSoitSurBitSupNumeroInterne (gNodeArray [nodeIndex].mELSE ^ complement, numeroBit), + operationQuelqueSoitSurBitSupNumeroInterne (gNodeArray [nodeIndex].mTHEN ^ complement, numeroBit)) ; + enterInSingleOperandOperationCache (inValue, result) ; + } + }else if (var == numeroBit) { + result = internalANDoperation (gNodeArray [nodeIndex].mELSE ^ complement, gNodeArray [nodeIndex].mTHEN ^ complement) ; + }else{ // var < numeroBit + result = inValue ; + gSingleOperandOperationCacheTrivialOperationCount ++ ; + } + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD C_BDD::forallOnBitNumber (const uint32_t numeroBit) const { + clearSingleOperandOperationCache () ; + return C_BDD (internalForAllOnBitRange (mBDDvalue, numeroBit, 1)) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD C_BDD::forallOnBitsAfterNumber (const uint32_t numeroBit) const { + clearSingleOperandOperationCache () ; + return C_BDD (operationQuelqueSoitSurBitSupNumeroInterne (mBDDvalue, numeroBit)) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Exist Operation +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD C_BDD::existsOnBitNumber (const uint32_t numeroBit) const { + clearSingleOperandOperationCache () ; +//--- ilExiste x : F <=> non (quelquesoit x : non (F)) + return C_BDD (internalForAllOnBitRange (mBDDvalue ^ 1, numeroBit, 1) ^ 1) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD C_BDD:: +existsOnBitRange (const uint32_t inFirstBit, + const uint32_t inBitCount) const { + clearSingleOperandOperationCache () ; + return C_BDD (internalForAllOnBitRange (mBDDvalue ^ 1, inFirstBit, inBitCount) ^ 1) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD C_BDD::existsOnBitsAfterNumber (const uint32_t numeroBit) const { +// ilExiste x : F <=> non (quelquesoit x : non (F)) + clearSingleOperandOperationCache () ; + return C_BDD (operationQuelqueSoitSurBitSupNumeroInterne (mBDDvalue ^ 1, numeroBit) ^ 1) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Substitute variables +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +static uint32_t internalRecursiveSubstitution (const uint32_t inValue, + const uint32_t vecteurSubstitutionBool [], + const uint32_t inNoChangeIndex, + const uint32_t inBDDvariablesCount + COMMA_LOCATION_ARGS) { + uint32_t result = inValue ; + const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; + if (bothBranches (gNodeArray [nodeIndex]) == 0) { + gSingleOperandOperationCacheTrivialOperationCount ++ ; + }else{ + const uint32_t complement = inValue & 1 ; + const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; + MF_AssertThere (var < inBDDvariablesCount, "var (%lld) < inBDDvariablesCount (%lld)", var, inBDDvariablesCount) ; + if (var < inNoChangeIndex) { + result = inValue ; + gSingleOperandOperationCacheTrivialOperationCount ++ ; + }else if (! searchInSingleOperandOperationCache (inValue, result)) { + result = internalITEoperation ( + find_or_add (vecteurSubstitutionBool [var], 1, 0 COMMA_HERE), + internalRecursiveSubstitution (gNodeArray [nodeIndex].mELSE ^ complement, vecteurSubstitutionBool, inNoChangeIndex, inBDDvariablesCount COMMA_THERE), + internalRecursiveSubstitution (gNodeArray [nodeIndex].mTHEN ^ complement, vecteurSubstitutionBool, inNoChangeIndex, inBDDvariablesCount COMMA_THERE) + ) ; + enterInSingleOperandOperationCache (inValue, result) ; + } + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD C_BDD::substitution (const uint32_t inSubstitutionArray [], + const uint32_t inBDDvariablesCount + COMMA_LOCATION_ARGS) const { + clearSingleOperandOperationCache () ; +//--- Le vecteur subsitution est-il l'identite ? + bool estIdentite = true ; + uint32_t noChangeIndex = 0 ; + for (uint32_t i=0 ; estIdentite && (i var1) { + result = internalITEoperation ( + find_or_add (gNodeArray [nodeIndex].mVariableIndex, 0, 1 COMMA_HERE), + internalExchangeVariables (gNodeArray [nodeIndex].mTHEN ^ complement, var1, var2), + internalExchangeVariables (gNodeArray [nodeIndex].mELSE ^ complement, var1, var2)) ; + }else if (gNodeArray [nodeIndex].mVariableIndex == var1) { + result = internalITEoperation ( + find_or_add (var2, 0, 1 COMMA_HERE), + internalExchangeVariables (gNodeArray [nodeIndex].mTHEN ^ complement, var1, var2), + internalExchangeVariables (gNodeArray [nodeIndex].mELSE ^ complement, var1, var2)) ; + }else if (gNodeArray [nodeIndex].mVariableIndex > var2) { + result = internalITEoperation ( + find_or_add (gNodeArray [nodeIndex].mVariableIndex, 0, 1 COMMA_HERE), + internalExchangeVariables (gNodeArray [nodeIndex].mTHEN ^ complement, var1, var2), + internalExchangeVariables (gNodeArray [nodeIndex].mELSE ^ complement, var1, var2)) ; + }else if (gNodeArray [nodeIndex].mVariableIndex == var2) { + result = internalITEoperation ( + find_or_add (var1, 0, 1 COMMA_HERE), + internalExchangeVariables (gNodeArray [nodeIndex].mTHEN ^ complement, var1, var2), + internalExchangeVariables (gNodeArray [nodeIndex].mELSE ^ complement, var1, var2)) ; + } + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD C_BDD::exchangeVariables (const uint32_t var1, const uint32_t var2) const { + C_BDD result (mBDDvalue) ; + if (var1 > var2) { + result.mBDDvalue = internalExchangeVariables (mBDDvalue, var1, var2) ; + }else if (var1 < var2) { + result.mBDDvalue = internalExchangeVariables (mBDDvalue, var2, var1) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Roll Down +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +static uint32_t +internalRollDown (const uint32_t inValue, + const uint32_t inHighVar, + const uint32_t inLowVar) { + uint32_t result = inValue ; + const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; + if (bothBranches (gNodeArray [nodeIndex]) != 0) { + const uint32_t complement = inValue & 1 ; + if (gNodeArray [nodeIndex].mVariableIndex > inHighVar) { + result = internalITEoperation ( + find_or_add (gNodeArray [nodeIndex].mVariableIndex, 0, 1 COMMA_HERE), + internalRollDown (gNodeArray [nodeIndex].mTHEN ^ complement, inHighVar, inLowVar), + internalRollDown (gNodeArray [nodeIndex].mELSE ^ complement, inHighVar, inLowVar)) ; + }else if (gNodeArray [nodeIndex].mVariableIndex > inLowVar) { + result = internalITEoperation ( + find_or_add ((uint32_t) (gNodeArray [nodeIndex].mVariableIndex - 1), 0, 1 COMMA_HERE), + internalRollDown (gNodeArray [nodeIndex].mTHEN ^ complement, inHighVar, inLowVar), + internalRollDown (gNodeArray [nodeIndex].mELSE ^ complement, inHighVar, inLowVar)) ; + }else if (gNodeArray [nodeIndex].mVariableIndex == inLowVar) { + result = internalITEoperation ( + find_or_add (inHighVar, 0, 1 COMMA_HERE), + internalRollDown (gNodeArray [nodeIndex].mTHEN ^ complement, inHighVar, inLowVar), + internalRollDown (gNodeArray [nodeIndex].mELSE ^ complement, inHighVar, inLowVar)) ; + } + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD C_BDD::rollDownVariables (const uint32_t var1, const uint32_t var2) const { + C_BDD result (mBDDvalue) ; + if (var1 > var2) { + result.mBDDvalue = internalRollDown (mBDDvalue, var1, var2) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Roll Up +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +static uint32_t +internalRollUp (const uint32_t inValue, + const uint32_t var1, + const uint32_t var2) { + uint32_t result = inValue ; + const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; + if (bothBranches (gNodeArray [nodeIndex]) != 0) { + const uint32_t complement = inValue & 1 ; + if (gNodeArray [nodeIndex].mVariableIndex > var1) { + result = internalITEoperation ( + find_or_add (gNodeArray [nodeIndex].mVariableIndex, 0, 1 COMMA_HERE), + internalRollUp (gNodeArray [nodeIndex].mTHEN ^ complement, var1, var2), + internalRollUp (gNodeArray [nodeIndex].mELSE ^ complement, var1, var2)) ; + }else if (gNodeArray [nodeIndex].mVariableIndex == var1) { + result = internalITEoperation ( + find_or_add (var2, 0, 1 COMMA_HERE), + internalRollUp (gNodeArray [nodeIndex].mTHEN ^ complement, var1, var2), + internalRollUp (gNodeArray [nodeIndex].mELSE ^ complement, var1, var2)) ; + }else if (gNodeArray [nodeIndex].mVariableIndex >= var2) { + result = internalITEoperation ( + find_or_add ((uint32_t) (gNodeArray [nodeIndex].mVariableIndex + 1), 0, 1 COMMA_HERE), + internalRollUp (gNodeArray [nodeIndex].mTHEN ^ complement, var1, var2), + internalRollUp (gNodeArray [nodeIndex].mELSE ^ complement, var1, var2)) ; + } + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD C_BDD:: +rollUpVariables (const uint32_t var1, const uint32_t var2) const { + C_BDD result (mBDDvalue) ; + if (var1 > var2) { + result.mBDDvalue = internalRollUp (mBDDvalue, var1, var2) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Left shift +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +static uint32_t internalLeftShift (const uint32_t inValue, + const uint32_t inLeftShiftCount) { + uint32_t result = inValue ; + const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; + if (bothBranches (gNodeArray [nodeIndex]) == 0) { + gSingleOperandOperationCacheTrivialOperationCount ++ ; + }else if (! searchInSingleOperandOperationCache (inValue, result)) { + const uint32_t complement = inValue & 1 ; + result = find_or_add (gNodeArray [nodeIndex].mVariableIndex + inLeftShiftCount, + internalLeftShift (gNodeArray [nodeIndex].mELSE ^ complement, inLeftShiftCount), + internalLeftShift (gNodeArray [nodeIndex].mTHEN ^ complement, inLeftShiftCount) + COMMA_HERE) ; + enterInSingleOperandOperationCache (inValue, result) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD C_BDD::bddByLeftShifting (const uint32_t inLeftShiftCount) const { + clearSingleOperandOperationCache () ; + C_BDD result ; + result.mBDDvalue = internalLeftShift (mBDDvalue, inLeftShiftCount) ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Right shift +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +static uint32_t internalRightShift (const uint32_t inValue, + const uint32_t inRightShiftCount) { + uint32_t result = inValue ; + const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; + if (bothBranches (gNodeArray [nodeIndex]) == 0) { + gSingleOperandOperationCacheTrivialOperationCount ++ ; + }else if (gNodeArray [nodeIndex].mVariableIndex < inRightShiftCount) { + result = 1 ; + gSingleOperandOperationCacheTrivialOperationCount ++ ; + }else if (! searchInSingleOperandOperationCache (inValue, result)) { + const uint32_t complement = inValue & 1 ; + result = find_or_add (gNodeArray [nodeIndex].mVariableIndex - inRightShiftCount, + internalRightShift (gNodeArray [nodeIndex].mELSE ^ complement, inRightShiftCount), + internalRightShift (gNodeArray [nodeIndex].mTHEN ^ complement, inRightShiftCount) + COMMA_HERE) ; + enterInSingleOperandOperationCache (inValue, result) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD C_BDD::bddByRightShifting (const uint32_t inRightShiftCount) const { + clearSingleOperandOperationCache () ; + C_BDD result ; + result.mBDDvalue = internalRightShift (mBDDvalue, inRightShiftCount) ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/bdd/C_BDD.cpp b/goil/build/libpm/bdd/C_BDD.cpp index 2f9946ab2..94a2e8a5e 100644 --- a/goil/build/libpm/bdd/C_BDD.cpp +++ b/goil/build/libpm/bdd/C_BDD.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // BDD package (implementation of ROBDD) // @@ -16,71 +16,40 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "C_BDD.h" -#include "C_BDD-node.h" -#include "F_GetPrime.h" -#include "Timer.h" +#include "bdd/C_BDD.h" +#include "bdd/C_BDD-node.h" -//-------------------------------------------------------------------------------------------------- -// -// BDD objects unique table -// -//-------------------------------------------------------------------------------------------------- - -static uint32_t gNodeArraySize = 0 ; -cBDDnode * gNodeArray = nullptr ; -static uint64_t * gMarkTable = nullptr ; -static uint32_t gCurrentNodeCount = 0 ; - -//-------------------------------------------------------------------------------------------------- - -uint32_t nodeMapMemoryUsage (void) { - return (gNodeArraySize * C_BDD::getBDDnodeSize ()) / 1000000 ; -} - -//-------------------------------------------------------------------------------------------------- - -uint32_t C_BDD::getCreatedNodesCount (void) { - return gNodeArraySize ; -} - -//-------------------------------------------------------------------------------------------------- - -uint32_t C_BDD::getExistingNodesCount (void) { - return gCurrentNodeCount ; -} - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Display Information Messages #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static bool gDisplaysInformationMessages ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool C_BDD::displaysInformationMessages (void) { return gDisplaysInformationMessages ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_BDD::setDisplaysInformationMessages (const bool inFlag) { gDisplaysInformationMessages = inFlag ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark ITE operation #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t internalITEoperation (const uint32_t opf, const uint32_t opg, @@ -89,13 +58,104 @@ uint32_t internalITEoperation (const uint32_t opf, internalANDoperation (opf ^ 1, oph) ^ 1) ^ 1 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark BDD operators +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BDD::setToFalse (void) { + mBDDvalue = 0 ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BDD::setToTrue (void) { + mBDDvalue = 1 ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD C_BDD::ite (const C_BDD & f, const C_BDD & g, const C_BDD & h) { + return C_BDD (internalITEoperation (f.mBDDvalue, g.mBDDvalue, h.mBDDvalue)) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD C_BDD::implies (const C_BDD & inOperand) const { +//--- f -> g est defini par (non f) ou g, c'est a dire non (f et (non g)) + return C_BDD (internalANDoperation (mBDDvalue, inOperand.mBDDvalue ^ 1) ^ 1) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD C_BDD::operator & (const C_BDD & inOperand) const { + return C_BDD (internalANDoperation (mBDDvalue, inOperand.mBDDvalue)) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BDD::operator &= (const C_BDD & inOperand) { + mBDDvalue = internalANDoperation (mBDDvalue, inOperand.mBDDvalue) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD C_BDD::operator | (const C_BDD & inOperand) const { + return C_BDD (internalANDoperation (mBDDvalue ^ 1, inOperand.mBDDvalue ^ 1) ^ 1) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BDD::operator |= (const C_BDD & inOperand) { + mBDDvalue = internalANDoperation (mBDDvalue ^ 1, inOperand.mBDDvalue ^ 1) ^ 1 ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD C_BDD::equalTo(const C_BDD & inOperand) const { + return C_BDD (internalITEoperation (mBDDvalue, inOperand.mBDDvalue, inOperand.mBDDvalue ^ 1)) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD C_BDD::notEqualTo (const C_BDD & inOperand) const { + return C_BDD (internalITEoperation (mBDDvalue, inOperand.mBDDvalue ^ 1, inOperand.mBDDvalue)) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD C_BDD::lowerOrEqual (const C_BDD & inOperand) const { // <= + return C_BDD (internalANDoperation (mBDDvalue, inOperand.mBDDvalue ^ 1) ^ 1) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD C_BDD::greaterThan (const C_BDD & inOperand) const { // > + return C_BDD (internalANDoperation (mBDDvalue, inOperand.mBDDvalue ^ 1)) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD C_BDD::lowerThan (const C_BDD & inOperand) const { // < + return C_BDD (internalANDoperation (mBDDvalue ^ 1, inOperand.mBDDvalue)) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD C_BDD::greaterOrEqual (const C_BDD & inOperand) const { // >= + return C_BDD (internalANDoperation (mBDDvalue ^ 1, inOperand.mBDDvalue) ^ 1) ; +} + +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Compare BDDs #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_BDD C_BDD::compareWithBDD (const compareEnum inComparison, const C_BDD & inOperand) const { C_BDD result ; @@ -124,46 +184,46 @@ C_BDD C_BDD::compareWithBDD (const compareEnum inComparison, const C_BDD & inOpe return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Complement BDD #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_BDD::negate (void) { mBDDvalue ^= 1 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_BDD C_BDD::operator ~ (void) const { return C_BDD (mBDDvalue ^ 1) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark BDD is complemented #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool C_BDD::isComplemented (void) const { return (mBDDvalue & 1) != 0 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark BDD with constants #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_BDD C_BDD::bddWithConstants (const uint32_t * inValues, - const uint32_t * inBitCount, +C_BDD C_BDD::bddWithConstants (const uint32_t inValues [], + const uint32_t inBitCount [], const int32_t inEntryCount) { uint32_t result = 1 ; // true uint32_t idx = 0 ; @@ -182,13 +242,13 @@ C_BDD C_BDD::bddWithConstants (const uint32_t * inValues, return C_BDD (result) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Build BDD from comparison between variables and constant #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static C_BDD construireInfEgal (const uint32_t inFirstIndex, const uint32_t indiceMax, @@ -206,7 +266,7 @@ static C_BDD construireInfEgal (const uint32_t inFirstIndex, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static C_BDD construireSupEgal (const uint32_t inFirstIndex, const uint32_t indiceMax, @@ -224,7 +284,7 @@ static C_BDD construireSupEgal (const uint32_t inFirstIndex, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_BDD C_BDD::varCompareConst (const uint32_t inFirstIndex, const uint32_t inDimension, @@ -264,17 +324,18 @@ C_BDD C_BDD::varCompareConst (const uint32_t inFirstIndex, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Build BDD from comparison between variables #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static C_BDD construireSupVariable (const uint32_t inLeftFirstIndex, - const uint32_t inDimension, - const uint32_t inRightFirstIndex) { +static C_BDD +construireSupVariable (const uint32_t inLeftFirstIndex, + const uint32_t inDimension, + const uint32_t inRightFirstIndex) { C_BDD result ; const C_BDD gauche = C_BDD ((uint32_t) (inLeftFirstIndex + inDimension - 1), true) ; const C_BDD droite = C_BDD ((uint32_t) (inRightFirstIndex + inDimension - 1), true) ; @@ -288,7 +349,7 @@ static C_BDD construireSupVariable (const uint32_t inLeftFirstIndex, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_BDD C_BDD:: varCompareVar (const uint32_t inLeftFirstIndex, @@ -322,13 +383,13 @@ varCompareVar (const uint32_t inLeftFirstIndex, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Needed Variable Count #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t C_BDD::significantVariableCount (void) const { uint32_t bitCount = 0 ; @@ -339,13 +400,17 @@ uint32_t C_BDD::significantVariableCount (void) const { return bitCount ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Test if BDD does contain a value #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +// #define DEBUG_CONTAINS_VALUE + +//---------------------------------------------------------------------------------------------------------------------- static bool recursiveContainsValue64 (const uint32_t inBDD, const uint64_t inValue, @@ -356,28 +421,49 @@ static bool recursiveContainsValue64 (const uint32_t inBDD, const uint32_t complement = inBDD & 1 ; if (bothBranches (gNodeArray [nodeIndex]) == 0) { result = complement != 0 ; + #ifdef DEBUG_CONTAINS_VALUE + printf ("result %s\n", result ? "YES" : "NO") ; + #endif }else{ const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; if (var >= inLastBitPlusOne) { + #ifdef DEBUG_CONTAINS_VALUE + printf ("var %u\n", var) ; + #endif result = recursiveContainsValue64 (gNodeArray [nodeIndex].mTHEN ^ complement, inValue, inFirstBit, inLastBitPlusOne) ; + #ifdef DEBUG_CONTAINS_VALUE + printf ("var %u branch THEN returns %s\n", var, result ? "YES" : "NO") ; + #endif if (! result) { result = recursiveContainsValue64 (gNodeArray [nodeIndex].mELSE ^ complement, inValue, inFirstBit, inLastBitPlusOne) ; + #ifdef DEBUG_CONTAINS_VALUE + printf ("var %u branch ELSE returns %s\n", var, result ? "YES" : "NO") ; + #endif } }else if (var < inFirstBit) { + #ifdef DEBUG_CONTAINS_VALUE + printf ("var %u -> true\n", var) ; + #endif result = true ; }else{ const bool bitValue = ((inValue >> (var - inFirstBit)) & 1) != 0 ; + #ifdef DEBUG_CONTAINS_VALUE + printf ("var %u, bitvalue %s\n", var, bitValue ? "YES" : "NO") ; + #endif if (bitValue) { result = recursiveContainsValue64 (gNodeArray [nodeIndex].mTHEN ^ complement, inValue, inFirstBit, inLastBitPlusOne) ; }else{ result = recursiveContainsValue64 (gNodeArray [nodeIndex].mELSE ^ complement, inValue, inFirstBit, inLastBitPlusOne) ; } + #ifdef DEBUG_CONTAINS_VALUE + printf ("var %u, bitvalue %s returns %s\n", var, bitValue ? "YES" : "NO", result ? "YES" : "NO") ; + #endif } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool C_BDD::containsValue64 (const uint64_t inValue, const uint32_t inFirstBit, @@ -388,7 +474,7 @@ bool C_BDD::containsValue64 (const uint64_t inValue, (uint32_t) (inFirstBit + inBitCount)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static bool recursiveContainsValue (const uint32_t inBDD, const TC_Array & inValue, @@ -399,28 +485,49 @@ static bool recursiveContainsValue (const uint32_t inBDD, const uint32_t complement = inBDD & 1 ; if (bothBranches (gNodeArray [nodeIndex]) == 0) { result = complement != 0 ; + #ifdef DEBUG_CONTAINS_VALUE + printf ("result %s\n", result ? "YES" : "NO") ; + #endif }else{ const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; if (var >= inLastBitPlusOne) { + #ifdef DEBUG_CONTAINS_VALUE + printf ("var %u\n", var) ; + #endif result = recursiveContainsValue (gNodeArray [nodeIndex].mTHEN ^ complement, inValue, inFirstBit, inLastBitPlusOne) ; + #ifdef DEBUG_CONTAINS_VALUE + printf ("var %u branch THEN returns %s\n", var, result ? "YES" : "NO") ; + #endif if (! result) { result = recursiveContainsValue (gNodeArray [nodeIndex].mELSE ^ complement, inValue, inFirstBit, inLastBitPlusOne) ; + #ifdef DEBUG_CONTAINS_VALUE + printf ("var %u branch ELSE returns %s\n", var, result ? "YES" : "NO") ; + #endif } }else if (var < inFirstBit) { + #ifdef DEBUG_CONTAINS_VALUE + printf ("var %u -> true\n", var) ; + #endif result = true ; }else{ const bool bitValue = inValue ((int32_t) (var - inFirstBit) COMMA_HERE) ; + #ifdef DEBUG_CONTAINS_VALUE + printf ("var %u, bitvalue %s\n", var, bitValue ? "YES" : "NO") ; + #endif if (bitValue) { result = recursiveContainsValue (gNodeArray [nodeIndex].mTHEN ^ complement, inValue, inFirstBit, inLastBitPlusOne) ; }else{ result = recursiveContainsValue (gNodeArray [nodeIndex].mELSE ^ complement, inValue, inFirstBit, inLastBitPlusOne) ; } + #ifdef DEBUG_CONTAINS_VALUE + printf ("var %u, bitvalue %s returns %s\n", var, bitValue ? "YES" : "NO", result ? "YES" : "NO") ; + #endif } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool C_BDD::containsValue (const TC_Array & inValue, const uint32_t inFirstBit, @@ -431,3306 +538,1815 @@ bool C_BDD::containsValue (const TC_Array & inValue, (uint32_t) (inFirstBit + inBitCount)) ; } -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Value Count -#endif - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_BDD C_BDD::BDDWithPredicateString (const String & inPredicateStringValue - COMMA_LOCATION_ARGS) { - C_BDD result ; - const int32_t stringLength = inPredicateStringValue.length () ; - int32_t stringIndex = 0 ; - bool ok = true ; - while ((stringIndex < stringLength) && ok) { - utf32 cc = inPredicateStringValue.charAtIndex (stringIndex COMMA_HERE) ; - String s ; - while ((stringIndex < stringLength) && ((UNICODE_VALUE (cc) == '0') || (UNICODE_VALUE (cc) == '1') || (UNICODE_VALUE (cc) == 'X') || (UNICODE_VALUE (cc) == ' '))) { - s.appendChar (cc) ; - stringIndex += 1 ; - if (stringIndex < stringLength) { - cc = inPredicateStringValue.charAtIndex (stringIndex COMMA_HERE) ; - } - } - if (s.length () > 0) { - C_BDD v ; v.setToTrue () ; - int32_t bitIndex = 0 ; - for (int32_t i=s.length () - 1 ; i>=0 ; i--) { - const utf32 c = s.charAtIndex (i COMMA_HERE) ; - if (UNICODE_VALUE (c) == '0') { - v &= C_BDD ((uint32_t) (((uint32_t) bitIndex) & UINT16_MAX), false) ; - bitIndex ++ ; - }else if (UNICODE_VALUE (c) == '1') { - v &= C_BDD ((uint32_t) (((uint32_t) bitIndex) & UINT16_MAX), true) ; - bitIndex ++ ; - }else if (UNICODE_VALUE (c) == 'X') { - bitIndex ++ ; - } +static void +parcoursBDDinterneParValeur (const uint32_t inValue, + C_bdd_value_traversing & inTraversing, + bool tableauDesValeurs [], + uint32_t variableCourante, + const uint32_t inVariableCount) { + if (variableCourante != 0) { + variableCourante -- ; + if (inValue == 1) { + tableauDesValeurs [variableCourante] = false ; + parcoursBDDinterneParValeur (inValue, inTraversing, tableauDesValeurs, variableCourante, inVariableCount) ; + tableauDesValeurs [variableCourante] = true ; + parcoursBDDinterneParValeur (inValue, inTraversing, tableauDesValeurs, variableCourante, inVariableCount) ; + }else if (inValue != 0) { + const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; + const uint32_t variable = gNodeArray [nodeIndex].mVariableIndex ; + if (variable == variableCourante) { + const uint32_t complement = inValue & 1 ; + tableauDesValeurs [variableCourante] = false ; + parcoursBDDinterneParValeur (gNodeArray [nodeIndex].mELSE ^ complement, inTraversing, tableauDesValeurs, variableCourante, inVariableCount) ; + tableauDesValeurs [variableCourante] = true ; + parcoursBDDinterneParValeur (gNodeArray [nodeIndex].mTHEN ^ complement, inTraversing, tableauDesValeurs, variableCourante, inVariableCount) ; + }else if (variable < variableCourante) { + tableauDesValeurs [variableCourante] = false ; + parcoursBDDinterneParValeur (inValue, inTraversing, tableauDesValeurs, variableCourante, inVariableCount) ; + tableauDesValeurs [variableCourante] = true ; + parcoursBDDinterneParValeur (inValue, inTraversing, tableauDesValeurs, variableCourante, inVariableCount) ; } - result |= v ; - } - if (stringIndex < stringLength) { - ok = UNICODE_VALUE (cc) == '|' ; - macroAssertThere (ok, "BDD predicate string syntax error at character index %lld", stringIndex, 0) ; - stringIndex ++ ; } + }else if (inValue == 1) { + inTraversing.action (tableauDesValeurs, inVariableCount) ; } - if (! ok) { - result = C_BDD () ; - } - return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +void C_BDD::traverseBDDvalues (C_bdd_value_traversing & inTraversing, + const uint32_t inVariableCount) const { + bool * tableauDesValeurs = nullptr ; + macroMyNewArray (tableauDesValeurs, bool, inVariableCount) ; + parcoursBDDinterneParValeur (mBDDvalue, inTraversing, tableauDesValeurs, inVariableCount, inVariableCount) ; + macroMyDeleteArray (tableauDesValeurs) ; +} + +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED - #pragma mark Get i-th value as uint64_t + #pragma mark Build an array of uint64_t values #endif -//-------------------------------------------------------------------------------------------------- - -static uint64_t obtenirValeurAbsolueBDDInterne (const uint32_t inValue) { - const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; - const uint32_t complement = inValue & 1 ; - uint64_t result = 1 ^ complement ; - if (bothBranches (gNodeArray [nodeIndex]) != 0) { - if ((gNodeArray [nodeIndex].mELSE ^ complement) != 0) { - result = obtenirValeurAbsolueBDDInterne (gNodeArray [nodeIndex].mELSE ^ complement) ; - }else{ - result = 1 ; - for (uint32_t i = 1 ; i <= gNodeArray [nodeIndex].mVariableIndex ; i++) { - result <<= 1 ; - } - result += obtenirValeurAbsolueBDDInterne (gNodeArray [nodeIndex].mTHEN ^ complement) ; - } - } - return result ; -} +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +class C_build_values64_array : public C_bdd_value_traversing { + private: TC_UniqueArray * mPtr ; -uint64_t C_BDD::getBDDabsoluteValue (const uint32_t inVariableCount) const { - uint64_t result = 0 ; - if (valueCount64 (inVariableCount) == 1) { - result = obtenirValeurAbsolueBDDInterne (mBDDvalue) ; + public: inline C_build_values64_array (TC_UniqueArray * inPtr) : + mPtr (inPtr) { } - return result ; -} -//-------------------------------------------------------------------------------------------------- +//--- No copy + private: C_build_values64_array (const C_build_values64_array &) ; + private: C_build_values64_array & operator = (const C_build_values64_array &) ; -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Node Count -#endif +//--- Virtual method called for every value + public: virtual void action (const bool tableauDesValeurs [], + const uint32_t inVariableCount) ; +} ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static uint32_t internalRecursiveNodeCount (const uint32_t inValue) { - const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; - uint32_t n = 0 ; - if (bothBranches (gNodeArray [nodeIndex]) != 0) { - if (! isNodeMarkedThenMark (inValue COMMA_HERE)) { - n = 1 ; - n += internalRecursiveNodeCount (gNodeArray [nodeIndex].mELSE) ; - n += internalRecursiveNodeCount (gNodeArray [nodeIndex].mTHEN) ; - } +void C_build_values64_array::action (const bool tableauDesValeurs [], + const uint32_t inVariableCount) { + uint64_t value = 0 ; + for (uint32_t i=1 ; i<=inVariableCount ; i++) { + value = (value << 1) | tableauDesValeurs [inVariableCount - i] ; } - return n ; + mPtr->appendObject (value) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -uint32_t C_BDD::getBDDnodesCount (void) const { - const uint32_t nodeIndex = nodeIndexForRoot (mBDDvalue COMMA_HERE) ; - uint32_t result = 0 ; - if (bothBranches (gNodeArray [nodeIndex]) != 0) { - unmarkAllExistingBDDnodes () ; - result = internalRecursiveNodeCount (mBDDvalue) ; - } - return result ; +void C_BDD::buildValue64Array (TC_UniqueArray & outValuesArray, + const uint32_t inVariableCount) const { + MF_Assert(inVariableCount < 64, "inVariableCount == %ld >= 64", (int64_t) inVariableCount, 0) ; + outValuesArray.removeAllKeepingCapacity () ; + C_build_values64_array builder (& outValuesArray) ; + bool * tableauDesValeurs = nullptr ; + macroMyNewArray (tableauDesValeurs, bool, inVariableCount) ; + parcoursBDDinterneParValeur (mBDDvalue, builder, tableauDesValeurs, inVariableCount, inVariableCount) ; + macroMyDeleteArray (tableauDesValeurs) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED - #pragma mark Boolean array + #pragma mark Build an array of bool array values #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class cBuildArrayForSet : public C_bdd_value_traversing { -//--- Attributs - protected: TC_UniqueArray & mArray ; - -//--- Constructeur - public: cBuildArrayForSet (TC_UniqueArray & outArray) ; +class C_build_values_array : public C_bdd_value_traversing { + private: TC_UniqueArray > * mPtr ; -//--- Methode virtuelle appelee pour chaque valeur - public: virtual void action (const bool * inValuesArray, - const uint32_t inBDDbitsSize) ; -} ; + public: inline C_build_values_array (TC_UniqueArray > * inPtr) : + mPtr (inPtr) { + } -//-------------------------------------------------------------------------------------------------- +//--- No copy + private: C_build_values_array (const C_build_values_array &) ; + private: C_build_values_array & operator = (const C_build_values_array &) ; -cBuildArrayForSet::cBuildArrayForSet (TC_UniqueArray & outArray) : -mArray (outArray) { -} +//--- Virtual method called for every value + public: virtual void action (const bool tableauDesValeurs [], + const uint32_t inVariableCount) ; +} ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cBuildArrayForSet::action (const bool * inValuesArray, - const uint32_t inBDDbitsSize) { - int32_t element = 0 ; - for (int32_t i=((int32_t) inBDDbitsSize) - 1 ; i>=0 ; i--) { - element = (element << 1) + inValuesArray [i] ; +void C_build_values_array::action (const bool tableauDesValeurs [], + const uint32_t inVariableCount) { + TC_Array value ; + for (uint32_t i=0 ; iappendObject (value) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_BDD::getBoolArray (TC_UniqueArray & outArray, - const uint32_t inMaxValues, - const uint32_t inBitSize) const { - outArray.removeAllKeepingCapacity () ; - outArray.setCapacity ((int32_t) inMaxValues) ; - outArray.appendObjects ((int32_t) inMaxValues, false) ; - cBuildArrayForSet s (outArray) ; - traverseBDDvalues (s, inBitSize) ; +void C_BDD::buildValueArray (TC_UniqueArray > & outValuesArray, + const uint32_t inVariableCount) const { + outValuesArray.removeAllKeepingCapacity () ; + C_build_values_array builder (& outValuesArray) ; + bool * tableauDesValeurs = nullptr ; + macroMyNewArray (tableauDesValeurs, bool, inVariableCount) ; + parcoursBDDinterneParValeur (mBDDvalue, builder, tableauDesValeurs, inVariableCount, inVariableCount) ; + macroMyDeleteArray (tableauDesValeurs) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED - #pragma mark BDD as N-relation + #pragma mark Build an array of string values #endif -//-------------------------------------------------------------------------------------------------- -// -// U P D A T E R E L A T I O N -// -//-------------------------------------------------------------------------------------------------- - -static uint32_t internalRecursiveUpdateRelation (const uint32_t inValue, - const uint32_t * inTranslationVector) { - uint32_t result = inValue ; - const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; - if (bothBranches (gNodeArray [nodeIndex]) != 0) { - const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; - if (inTranslationVector [var] != var) { - const uint32_t complement = inValue & 1 ; - result = internalITEoperation ( - find_or_add (inTranslationVector [var], 1, 0 COMMA_HERE), - internalRecursiveUpdateRelation (gNodeArray [nodeIndex].mELSE ^ complement, inTranslationVector), - internalRecursiveUpdateRelation (gNodeArray [nodeIndex].mTHEN ^ complement, inTranslationVector) - ) ; - uint32_t preceeding = (uint32_t) (inTranslationVector [var - 1] + 1) ; - while (preceeding < inTranslationVector [var]) { - result = internalITEoperation (find_or_add (preceeding, 1, 0 COMMA_HERE), result, 0) ; - preceeding ++ ; - } - } - } - return result ; -} +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +class cLittleEndianStringValueBuilder : public C_bdd_value_traversing { + private: TC_UniqueArray * mPtr ; -C_BDD C_BDD::updateRelation (const uint32_t * inRelationBitNeededCount, - uint32_t* * inRelationBitCurrentCount, - const int32_t inRelationCardinality) const { - uint32_t result = mBDDvalue ; -//--- Check if update is needed - bool updateIsNeeded = false ; - for (int32_t i=0 ; (i * (inRelationBitCurrentCount [i]) ; - } -//--- Perform updating - if (updateIsNeeded) { - uint32_t totalCurrentBitCount = 0 ; - uint32_t newNeededTotalBitCount = 0 ; - for (int32_t i=0 ; i * inPtr) : + mPtr (inPtr) { } -//--- - return C_BDD (result) ; -} -//-------------------------------------------------------------------------------------------------- +//--- No copy + private: cLittleEndianStringValueBuilder (const cLittleEndianStringValueBuilder &) ; + private: cLittleEndianStringValueBuilder & operator = (const cLittleEndianStringValueBuilder &) ; -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark BDD as 2-relation -#endif +//--- Virtual method called for every value + public: virtual void action (const bool tableauDesValeurs [], + const uint32_t inVariableCount) ; +} ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_BDD C_BDD:: -swap10 (const uint32_t inBitSize1, - const uint32_t inBitSize2) const { - const uint32_t totalSize = (uint32_t) (inBitSize1 + inBitSize2) ; - uint32_t * tab = nullptr ; - macroMyNewArray (tab, uint32_t, totalSize) ; - for (uint32_t i=0 ; iappendObject (value) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_BDD C_BDD:: -accessibleStates (const C_BDD & inInitialStateSet, - const uint32_t inBitSize, - int32_t * outIterationCount) const { -//--- Current object is edge [x, y]. -// Accessible states set is computed by: -// accessible [x] += initial [x] | exists y (accessible [y] & edge [y, x]) ; -// -//--- Compute edge [y, x] - const C_BDD edgeYX = swap10 (inBitSize, inBitSize) ; - C_BDD accessible = inInitialStateSet ; - C_BDD v ; - C_BDD accessibleY ; - int32_t iterationCount = 0 ; - do{ - v = accessible ; - iterationCount ++ ; - accessibleY = accessible.translate (inBitSize, inBitSize) ; - accessible |= (accessibleY & edgeYX).existsOnBitsAfterNumber (inBitSize) ; - }while (v != accessible) ; - if (outIterationCount != nullptr) { - * outIterationCount = iterationCount ; - } - return accessible ; +void C_BDD:: +buildLittleEndianStringValueArray (TC_UniqueArray & outValuesArray, + const uint32_t inVariableCount) const { + outValuesArray.removeAllKeepingCapacity () ; + cLittleEndianStringValueBuilder builder (& outValuesArray) ; + bool * tableauDesValeurs = nullptr ; + macroMyNewArray (tableauDesValeurs, bool, inVariableCount) ; + parcoursBDDinterneParValeur (mBDDvalue, builder, tableauDesValeurs, inVariableCount, inVariableCount) ; + macroMyDeleteArray (tableauDesValeurs) ; } -//-------------------------------------------------------------------------------------------------- - -C_BDD C_BDD:: -transitiveClosure (const uint32_t inBitSize, - int32_t * outIterationCount) const { -//--- Transitive closure is computed by: -// closure [x, y] += relation [x, y] | exists z (closure [x, z] & closure [z, y]) ; - C_BDD closure = *this ; - C_BDD XZclosure ; - C_BDD ZYclosure ; - C_BDD v ; - const uint32_t bitCount2 = (uint32_t) (inBitSize + inBitSize) ; - int32_t iterationCount = 0 ; - do{ - v = closure ; - iterationCount ++ ; - XZclosure = closure.swap021 (inBitSize, inBitSize, inBitSize) ; - ZYclosure = closure.swap210 (inBitSize, inBitSize, inBitSize) ; - closure |= (XZclosure & ZYclosure).existsOnBitsAfterNumber (bitCount2) ; - }while (closure != v) ; - if (outIterationCount != nullptr) { - * outIterationCount = iterationCount ; - } - return closure ; -} +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +class cBuildBigEndianStringValueArray : public C_bdd_value_traversing { + private: TC_UniqueArray * mPtr ; -class cBuildArrayForRelation2 : public C_bdd_value_traversing { -//--- Attributes - protected: TC_UniqueArray > & mArray ; - protected: uint32_t mBitsSize1 ; + public: cBuildBigEndianStringValueArray (TC_UniqueArray * inPtr) : + mPtr (inPtr) { + } -//--- Constructor - public: - cBuildArrayForRelation2 (TC_UniqueArray > & outArray, - const uint32_t inBitsSize1) ; +//--- No copy + private: cBuildBigEndianStringValueArray (const cBuildBigEndianStringValueArray &) ; + private: cBuildBigEndianStringValueArray & operator = (const cBuildBigEndianStringValueArray &) ; //--- Virtual method called for every value - public: virtual void action (const bool * inValuesArray, - const uint32_t inBDDbitsSize) ; + public: virtual void action (const bool tableauDesValeurs [], + const uint32_t inVariableCount) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cBuildArrayForRelation2::cBuildArrayForRelation2 (TC_UniqueArray > & outArray, - const uint32_t inBitsSize1) : -mArray (outArray), -mBitsSize1 (inBitsSize1) { +void cBuildBigEndianStringValueArray:: +action (const bool tableauDesValeurs [], + const uint32_t inVariableCount) { + C_String value ; + for (uint32_t i=inVariableCount ; i>0 ; i--) { + value << cStringWithCharacter ((char) ('0' + tableauDesValeurs [i-1])) ; + } + mPtr->appendObject (value) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cBuildArrayForRelation2::action (const bool * inValuesArray, - const uint32_t inBDDbitsSize) { - int32_t index1 = 0 ; - uint64_t index2 = 0 ; - for (int32_t i=((int32_t) mBitsSize1) - 1 ; i>=0 ; i--) { - index1 = (index1 << 1) + inValuesArray [i] ; - } - for (int32_t j=((int32_t) inBDDbitsSize) - 1 ; j>= (int32_t) mBitsSize1 ; j--) { - index2 = (index2 << 1) + inValuesArray [j] ; - } - mArray (index1 COMMA_HERE).appendObject (index2) ; +void C_BDD:: +buildBigEndianStringValueArray (TC_UniqueArray & outValuesArray, + const uint32_t inVariableCount) const { + outValuesArray.removeAllKeepingCapacity () ; + cBuildBigEndianStringValueArray builder (& outValuesArray) ; + bool * tableauDesValeurs = nullptr ; + macroMyNewArray (tableauDesValeurs, bool, inVariableCount) ; + parcoursBDDinterneParValeur (mBDDvalue, builder, tableauDesValeurs, inVariableCount, inVariableCount) ; + macroMyDeleteArray (tableauDesValeurs) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_BDD::getArray2 (TC_UniqueArray > & outArray, - const uint32_t inMaxValueCount, - const uint32_t inBitSize1, - const uint32_t inBitSize2) const { - outArray.removeAllKeepingCapacity () ; - outArray.setCapacityUsingSwap ((int32_t) inMaxValueCount) ; - for (uint32_t i=0 ; i & inValueArray) { - for (int32_t i=inValueArray.count () - 1 ; i>=0 ; i--) { - if ((i % 4) == 3) { - outputStream.appendCString (" ") ; - } - outputStream.appendASCIIChar (inValueArray (i COMMA_HERE)) ; - } - outputStream.appendNewLine () ; -} - -//-------------------------------------------------------------------------------------------------- - -static void internalPrintWithSeparator (AbstractOutputStream & outputStream, - const uint32_t inValue, - TC_UniqueArray & inDisplayString, - uint32_t inVariableIndex) { - const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; - const uint32_t complement = inValue & 1 ; - if (bothBranches (gNodeArray [nodeIndex]) == 0) { - if (complement == 1) { - printLineWithSeparator (outputStream, inDisplayString) ; - } - }else{ - const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; - while (inVariableIndex > var) { - inDisplayString.setObjectAtIndex ('X', (int32_t) inVariableIndex COMMA_HERE) ; - inVariableIndex -- ; - } - //--- Branche Zero - const uint32_t branche0 = gNodeArray [nodeIndex].mELSE ^ complement ; - if (branche0 != 0) { - inDisplayString.setObjectAtIndex ('0', (int32_t) var COMMA_HERE) ; - if (branche0 == 1) { - for (uint32_t i=0 ; i displayString ((int32_t) var + 1, 'X' COMMA_HERE) ; - internalPrintWithSeparator (outputStream, - mBDDvalue, - displayString, - var) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void C_BDD::printHeader (AbstractOutputStream & outputStream) const { - if (mBDDvalue > 1) { - const uint32_t nodeIndex = nodeIndexForRoot (mBDDvalue COMMA_HERE) ; - const int32_t var = (int32_t) gNodeArray [nodeIndex].mVariableIndex ; - //--- Digit count - int32_t digitCount = 0 ; - int32_t n = var ; - int32_t divisor = 1 ; - while (n > 0) { - digitCount ++ ; - n /= 10 ; - divisor *= 10 ; - } - //--- - for (int32_t d=0 ; d=0 ; i--) { - if ((i % 4) == 3) { - outputStream.appendCString (" ") ; - } - const int32_t v = (i / divisor) % 10 ; - outputStream.appendSigned (v) ; - } - outputStream.appendNewLine () ; - } - for (int32_t i=var ; i>=0 ; i--) { - if ((i % 4) == 3) { - outputStream.appendCString ("-") ; - } - outputStream.appendCString ("-") ; - } - outputStream.appendNewLine () ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void C_BDD::printWithHeader (AbstractOutputStream & outputStream) const { - printHeader (outputStream) ; - print (outputStream) ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Print BDD with variables -#endif - -//-------------------------------------------------------------------------------------------------- - -static void printLineWithSeparator (AbstractOutputStream & outputStream, - const TC_UniqueArray & inValueSeparation, - const TC_UniqueArray & inBitCounts, - const TC_UniqueArray & inValueArray) { - int32_t bitIndex = inValueArray.count () - 1 ; - for (int32_t i=0 ; i & inValueSeparation, - const TC_UniqueArray & inBitCounts, - const uint32_t inValue, - TC_UniqueArray & inDisplayString, - uint32_t inVariableIndex) { - const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; - const uint32_t complement = inValue & 1 ; - if (bothBranches (gNodeArray [nodeIndex]) == 0) { - if (complement == 1) { - printLineWithSeparator (outputStream, inValueSeparation, inBitCounts, inDisplayString) ; - } - }else{ - const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; - while (inVariableIndex > var) { - inDisplayString.setObjectAtIndex ('X', (int32_t) inVariableIndex COMMA_HERE) ; - inVariableIndex -- ; - } - //--- Branche Zero - const uint32_t branche0 = gNodeArray [nodeIndex].mELSE ^ complement ; - if (branche0 != 0) { - inDisplayString.setObjectAtIndex ('0', (int32_t) var COMMA_HERE) ; - if (branche0 == 1) { - for (uint32_t i=0 ; i & inVariablesNames, - const TC_UniqueArray & inBitCounts) const { -//--- Build separators - TC_UniqueArray variableNameSeparation ; - TC_UniqueArray valuesSeparation ; - for (int32_t i=0 ; i bitCount) ? variableLength : bitCount ; - variableNameSeparation.appendObject (length - variableLength) ; - valuesSeparation.appendObject (length - bitCount) ; - } -//--- Print header - for (int32_t i=0 ; i & inValueSeparation, - const TC_UniqueArray & inBitCounts, - const int32_t inPrefixedSpaceCount) const { - if (mBDDvalue == 0) { - outputStream.appendString (String::spaces (inPrefixedSpaceCount)) ; - outputStream.appendCString ("(false)\n") ; - }else if (mBDDvalue == 1) { - outputStream.appendString (String::spaces (inPrefixedSpaceCount)) ; - outputStream.appendCString ("(true)\n") ; - }else{ - uint32_t totalBitCount = 0 ; - for (int32_t i=0 ; i displayString ((int32_t) totalBitCount, 'X' COMMA_HERE) ; - internalPrintWithSeparator (outputStream, - inValueSeparation, - inBitCounts, - mBDDvalue, - displayString, - totalBitCount - 1) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Graphviz representation -#endif - -//-------------------------------------------------------------------------------------------------- - -static void buildGraphvizRepresentation (String & ioString, - const String & inSourceNode, - const uint32_t inBDDValue, - const TC_UniqueArray & inBitNames) { - const uint32_t nodeIndex = nodeIndexForRoot (inBDDValue COMMA_HERE) ; - const int32_t var = (int32_t) gNodeArray [nodeIndex].mVariableIndex ; - const String node = String ("N") + stringWithUnsigned (nodeIndex) ; - if (! isNodeMarkedThenMark (inBDDValue COMMA_HERE)) { - const uint32_t THENbranch = gNodeArray [nodeIndex].mTHEN ; - String THENlabel ; - if (THENbranch == 0) { - THENlabel.appendCString ("F") ; - }else if (THENbranch == 1) { - THENlabel.appendCString ("T") ; - }else{ - THENlabel.appendCString ("") ; - } - const uint32_t ELSEbranch = gNodeArray [nodeIndex].mELSE ; - String ELSElabel ; - if (ELSEbranch == 0) { - ELSElabel.appendCString ("F") ; - }else if (ELSEbranch == 1) { - ELSElabel.appendCString ("T") ; - }else{ - ELSElabel.appendCString ("") ; - } - ioString.appendCString (" ") ; - ioString.appendString (node) ; - ioString.appendCString (" [label=\"{") ; - ioString.appendString (inBitNames (var COMMA_HERE)) ; - ioString.appendCString ("|{") ; - ioString.appendString (ELSElabel) ; - ioString.appendCString ("|") ; - ioString.appendString (THENlabel) ; - ioString.appendCString ("}}\"]\n") ; - if (ELSEbranch > 1) { - buildGraphvizRepresentation (ioString, node + String (":f0:c"), ELSEbranch, inBitNames) ; - } - if (THENbranch > 1) { - buildGraphvizRepresentation (ioString, node + String (":f1:c"), THENbranch, inBitNames) ; - } - } - ioString.appendCString (" ") ; - ioString.appendString (inSourceNode) ; - ioString.appendCString (" -> ") ; - ioString.appendString (node) ; - ioString.appendCString ("") ; - if ((inBDDValue & 1) != 0) { - ioString.appendCString (" [dir=both, arrowtail=dot]") ; - } - ioString.appendCString (" ;\n") ; -} - -//-------------------------------------------------------------------------------------------------- - -String C_BDD::graphvizRepresentation (void) const { - int32_t varCount = 0 ; - if (mBDDvalue > 1) { - const uint32_t nodeIndex = nodeIndexForRoot (mBDDvalue COMMA_HERE) ; - varCount = ((int32_t) gNodeArray [nodeIndex].mVariableIndex) + 1 ; - } - TC_UniqueArray bitNames ; - for (int32_t i=0 ; i & inBitNames) const { - unmarkAllExistingBDDnodes () ; - String result ; - result.appendCString ("digraph G {\n") ; - if (mBDDvalue == 0) { - result.appendCString (" N [label=\"F\", shape=rectangle]\n") ; - }else if (mBDDvalue == 1) { - result.appendCString (" N [label=\"T\", shape=rectangle]\n") ; - }else{ - result.appendCString (" edge [arrowhead=vee, tailclip=false]\n" - " node [fontname=courier, shape=record]\n" - " N [label=\"\", shape=rectangle]\n") ; - buildGraphvizRepresentation (result, "N", mBDDvalue, inBitNames) ; - } - result.appendCString ("}\n") ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark String array representation -#endif - -//-------------------------------------------------------------------------------------------------- - -static void internalPrintBDDInLittleEndianStringArray (const uint32_t inValue, - String & ioDisplayString, - uint32_t inVariableIndex, - TC_UniqueArray & outStringArray - COMMA_LOCATION_ARGS) { - const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; - const uint32_t complement = inValue & 1 ; - if (bothBranches (gNodeArray [nodeIndex]) == 0) { - if (complement == 1) { - outStringArray.appendObject (ioDisplayString) ; - } - }else{ - const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; - while (inVariableIndex > var) { - ioDisplayString.setCharAtIndex (TO_UNICODE ('X'), (int32_t) inVariableIndex COMMA_THERE) ; - inVariableIndex -- ; - } - //--- Branche Zero - const uint32_t branche0 = gNodeArray [nodeIndex].mELSE ^ complement ; - if (branche0 != 0) { - ioDisplayString.setCharAtIndex (TO_UNICODE ('0'), (int32_t) var COMMA_HERE) ; - if (branche0 == 1) { - for (uint32_t i=0 ; i & outStringArray - COMMA_LOCATION_ARGS) const { - const uint32_t nodeIndex = nodeIndexForRoot (mBDDvalue COMMA_HERE) ; - if (bothBranches (gNodeArray [nodeIndex]) != 0) { - String displayString ; - for (int32_t i=0 ; i<=((int32_t) gNodeArray [nodeIndex].mVariableIndex) ; i++) { - displayString.appendCString ("X") ; - } - internalPrintBDDInLittleEndianStringArray (mBDDvalue, displayString, gNodeArray [nodeIndex].mVariableIndex, outStringArray COMMA_THERE) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void C_BDD:: -buildCompressedLittleEndianStringValueArray (TC_UniqueArray & outStringArray, - const uint32_t inVariableCount - COMMA_LOCATION_ARGS) const { - String displayString ; - for (int32_t i=0 ; i<((int32_t) inVariableCount) ; i++) { - displayString.appendCString ("X") ; - } - internalPrintBDDInLittleEndianStringArray (mBDDvalue, displayString, inVariableCount, outStringArray COMMA_THERE) ; -} - -//-------------------------------------------------------------------------------------------------- - -static void internalPrintBDDInBigEndianStringArray (const uint32_t inValue, - String & ioDisplayString, - uint32_t inVariableIndex, - const uint32_t inTotalVariableCountMinusOne, - TC_UniqueArray & outStringArray - COMMA_LOCATION_ARGS) { - const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; - const uint32_t complement = inValue & 1 ; - if (bothBranches (gNodeArray [nodeIndex]) == 0) { - if (complement == 1) { - outStringArray.appendObject (ioDisplayString) ; - } - }else{ - const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; - while (inVariableIndex > var) { - ioDisplayString.setCharAtIndex (TO_UNICODE ('X'), (int32_t) (inTotalVariableCountMinusOne - inVariableIndex) COMMA_THERE) ; - inVariableIndex -- ; - } - //--- Branche Zero - const uint32_t branche0 = gNodeArray [nodeIndex].mELSE ^ complement ; - if (branche0 != 0) { - ioDisplayString.setCharAtIndex (TO_UNICODE ('0'), (int32_t) (inTotalVariableCountMinusOne - var) COMMA_THERE) ; - if (branche0 == 1) { - for (uint32_t i=0 ; i & outStringArray - COMMA_LOCATION_ARGS) const { - const uint32_t nodeIndex = nodeIndexForRoot (mBDDvalue COMMA_HERE) ; - if (bothBranches (gNodeArray [nodeIndex]) != 0) { - String displayString ; - for (int32_t i=0 ; i<=((int32_t) gNodeArray [nodeIndex].mVariableIndex) ; i++) { - displayString.appendCString ("X") ; - } - internalPrintBDDInBigEndianStringArray (mBDDvalue, displayString, gNodeArray [nodeIndex].mVariableIndex, gNodeArray [nodeIndex].mVariableIndex, outStringArray COMMA_THERE) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void C_BDD:: -buildCompressedBigEndianStringValueArray (TC_UniqueArray & outStringArray, - const uint32_t inVariableCount - COMMA_LOCATION_ARGS) const { - String displayString ; - for (int32_t i=0 ; i<((int32_t) inVariableCount) ; i++) { - displayString.appendCString ("X") ; - } - internalPrintBDDInBigEndianStringArray (mBDDvalue, - displayString, - inVariableCount - 1, - inVariableCount - 1, - outStringArray COMMA_THERE) ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Build BDD from value list -#endif - -static inline void swapValueArray (uint64_t * ioValueArray, - const int32_t inIndex1, - const int32_t inIndex2) { - const uint64_t v = ioValueArray [inIndex1] ; - ioValueArray [inIndex1] = ioValueArray [inIndex2] ; - ioValueArray [inIndex2] = v ; -} - -//-------------------------------------------------------------------------------------------------- - -static void sortValueArray (uint64_t * ioValueArray, - const int32_t inLeftIndex, - const int32_t inRightIndex) { - if (inLeftIndex < inRightIndex) { - const int32_t pivotIndex = (inRightIndex + inLeftIndex) / 2 ; - const uint64_t pivotValue = ioValueArray [pivotIndex] ; - //--- Move pivot to the end - swapValueArray (ioValueArray, pivotIndex, inRightIndex) ; - //--- storeIndex := left - int32_t storeIndex = inLeftIndex ; - for (int32_t i=inLeftIndex ; i 0)***\n", __FILE__, __LINE__) ; - exit (1) ; - } - if (inBitCount > 64) { - printf ("*** error in %s:%d: inBitCount = %u (should be <= 64)***\n", __FILE__, __LINE__, inBitCount) ; - exit (1) ; - } -//--- - C_BDD result ; - if (inValueCount > 0) { - //--- Sort value list in ascending order - sortValueArray (ioValueList, 0, (int32_t) (inValueCount - 1)) ; - //--- Search for duplicates - uint32_t duplicates = 0 ; - for (uint32_t i=1 ; i 0) { - printf ("Warning: %u duplicates\n", duplicates) ; - } - //--- Translate into BDD - C_BDD * accumulatorArray = nullptr ; - macroMyNewArray (accumulatorArray, C_BDD, inBitCount) ; - uint64_t referenceValue = ioValueList [0] ; - for (uint32_t i=0 ; i= 0) && (((currentTransition ^ referenceValue) & mask) == 0)) { - firstDifferentBit -- ; - mask >>=1 ; - } - if (firstDifferentBit >= 0) { - C_BDD accumulatorBDD ; accumulatorBDD.setToTrue () ; - mask = 1UL ; - for (int32_t idx=0 ; idx<=firstDifferentBit ; idx++) { - accumulatorBDD = (C_BDD ((uint32_t) (((uint32_t) idx) & UINT16_MAX), (referenceValue & mask) != 0) & accumulatorBDD) | accumulatorArray [idx] ; - accumulatorArray [idx].setToFalse () ; - mask <<= 1 ; - } - referenceValue = currentTransition ; - accumulatorArray [firstDifferentBit] |= accumulatorBDD ; - } - } - result.setToTrue () ; - uint64_t mask = 1UL ; - for (uint32_t idx=0 ; idx g est defini par (non f) ou g, c'est a dire non (f et (non g)) - return C_BDD (internalANDoperation (mBDDvalue, inOperand.mBDDvalue ^ 1) ^ 1) ; -} - -//-------------------------------------------------------------------------------------------------- - -C_BDD C_BDD::operator & (const C_BDD & inOperand) const { - return C_BDD (internalANDoperation (mBDDvalue, inOperand.mBDDvalue)) ; -} - -//-------------------------------------------------------------------------------------------------- - -void C_BDD::operator &= (const C_BDD & inOperand) { - mBDDvalue = internalANDoperation (mBDDvalue, inOperand.mBDDvalue) ; -} - -//-------------------------------------------------------------------------------------------------- - -C_BDD C_BDD::operator | (const C_BDD & inOperand) const { - return C_BDD (internalANDoperation (mBDDvalue ^ 1, inOperand.mBDDvalue ^ 1) ^ 1) ; -} - -//-------------------------------------------------------------------------------------------------- - -void C_BDD::operator |= (const C_BDD & inOperand) { - mBDDvalue = internalANDoperation (mBDDvalue ^ 1, inOperand.mBDDvalue ^ 1) ^ 1 ; -} - -//-------------------------------------------------------------------------------------------------- - -C_BDD C_BDD::equalTo(const C_BDD & inOperand) const { - return C_BDD (internalITEoperation (mBDDvalue, inOperand.mBDDvalue, inOperand.mBDDvalue ^ 1)) ; -} - -//-------------------------------------------------------------------------------------------------- - -C_BDD C_BDD::notEqualTo (const C_BDD & inOperand) const { - return C_BDD (internalITEoperation (mBDDvalue, inOperand.mBDDvalue ^ 1, inOperand.mBDDvalue)) ; -} - -//-------------------------------------------------------------------------------------------------- - -C_BDD C_BDD::lowerOrEqual (const C_BDD & inOperand) const { // <= - return C_BDD (internalANDoperation (mBDDvalue, inOperand.mBDDvalue ^ 1) ^ 1) ; -} - -//-------------------------------------------------------------------------------------------------- - -C_BDD C_BDD::greaterThan (const C_BDD & inOperand) const { // > - return C_BDD (internalANDoperation (mBDDvalue, inOperand.mBDDvalue ^ 1)) ; -} - -//-------------------------------------------------------------------------------------------------- - -C_BDD C_BDD::lowerThan (const C_BDD & inOperand) const { // < - return C_BDD (internalANDoperation (mBDDvalue ^ 1, inOperand.mBDDvalue)) ; -} - -//-------------------------------------------------------------------------------------------------- - -C_BDD C_BDD::greaterOrEqual (const C_BDD & inOperand) const { // >= - return C_BDD (internalANDoperation (mBDDvalue ^ 1, inOperand.mBDDvalue) ^ 1) ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Value Count (64) -#endif - -//-------------------------------------------------------------------------------------------------- - -static void internalValueCount64 (const uint32_t inValue, - const uint32_t inVariableCount, - uint64_t & nombreDirect, - uint64_t & nombreComplement - COMMA_LOCATION_ARGS) { - const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_THERE) ; - if (bothBranches (gNodeArray [nodeIndex]) == 0) { - nombreDirect = 0 ; - nombreComplement = 1 ; - for (uint32_t i=0 ; i & ioDirectCacheArray, - TC_UniqueArray & ioComplementCacheArray - COMMA_LOCATION_ARGS) { - const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_THERE) ; - if (bothBranches (gNodeArray [nodeIndex]) == 0) { - nombreDirect = 0 ; - nombreComplement = 1 << inVariableCount ; - }else if ((ioDirectCacheArray.count () > (int32_t) (inValue / 2)) - && ((ioDirectCacheArray (inValue / 2 COMMA_HERE) != 0) || (ioComplementCacheArray (inValue / 2 COMMA_HERE) != 0))) { - const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; - nombreDirect = ioDirectCacheArray (inValue / 2 COMMA_HERE) << (inVariableCount - var - 1) ; - nombreComplement = ioComplementCacheArray (inValue / 2 COMMA_HERE) << (inVariableCount - var - 1) ; - }else{ - const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; - uint64_t nd0, nc0, nd1, nc1 ; - internalValueCount64UsingCache (gNodeArray [nodeIndex].mELSE, var, nd0, nc0, ioDirectCacheArray, ioComplementCacheArray COMMA_THERE) ; - internalValueCount64UsingCache (gNodeArray [nodeIndex].mTHEN, var, nd1, nc1, ioDirectCacheArray, ioComplementCacheArray COMMA_THERE) ; - nombreDirect = nd0 + nd1 ; - nombreComplement = nc0 + nc1 ; - ioDirectCacheArray.forceObjectAtIndex (inValue / 2, nombreDirect, 0) ; - ioComplementCacheArray.forceObjectAtIndex (inValue / 2, nombreComplement, 0) ; - nombreDirect <<= (inVariableCount - var - 1) ; - nombreComplement <<= (inVariableCount - var - 1) ; - } -//--- - if ((inValue & 1) != 0) { - const uint64_t tempo = nombreDirect ; - nombreDirect = nombreComplement ; - nombreComplement = tempo ; - } -} - -//-------------------------------------------------------------------------------------------------- - -uint64_t C_BDD::valueCount64UsingCache (const uint32_t inVariableCount, - TC_UniqueArray & ioDirectCacheArray, - TC_UniqueArray & ioComplementCacheArray) const { - uint64_t nombreDirect = 0 ; - uint64_t nombreComplement = 0 ; - internalValueCount64UsingCache (mBDDvalue, inVariableCount, nombreDirect, nombreComplement, ioDirectCacheArray, ioComplementCacheArray COMMA_HERE) ; - return nombreDirect ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Value Count (128) -#endif - -//-------------------------------------------------------------------------------------------------- - -static void internalValueCount128 (const uint32_t inValue, - const uint32_t inVariableCount, - UInt128 & nombreDirect, - UInt128 & nombreComplement - COMMA_LOCATION_ARGS) { - const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_THERE) ; - if (bothBranches (gNodeArray [nodeIndex]) == 0) { - nombreDirect = 0 ; - nombreComplement = 1 ; - for (uint32_t i=0 ; i & ioDirectCacheArray, - TC_UniqueArray & ioComplementCacheArray - COMMA_LOCATION_ARGS) { - const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_THERE) ; - if (bothBranches (gNodeArray [nodeIndex]) == 0) { - nombreDirect = 0 ; - nombreComplement = 1 << inVariableCount ; - }else if ((ioDirectCacheArray.count () > (int32_t) (inValue / 2)) - && (((ioDirectCacheArray (inValue / 2 COMMA_HERE) != 0) || (ioComplementCacheArray (inValue / 2 COMMA_HERE) != 0)))) { - nombreDirect = ioDirectCacheArray (inValue / 2 COMMA_HERE) ; - nombreComplement = ioComplementCacheArray (inValue / 2 COMMA_HERE) ; - }else{ - const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; - UInt128 nd0, nc0, nd1, nc1 ; - internalValueCount128UsingCache (gNodeArray [nodeIndex].mELSE, var, nd0, nc0, ioDirectCacheArray, ioComplementCacheArray COMMA_THERE) ; - internalValueCount128UsingCache (gNodeArray [nodeIndex].mTHEN, var, nd1, nc1, ioDirectCacheArray, ioComplementCacheArray COMMA_THERE) ; - nombreDirect = nd0 + nd1 ; - nombreComplement = nc0 + nc1 ; - for (uint32_t i=(uint32_t) (var+1) ; i & ioDirectCacheArray, - TC_UniqueArray & ioComplementCacheArray) const { - UInt128 nombreDirect = 0 ; - UInt128 nombreComplement = 0 ; - internalValueCount128UsingCache (mBDDvalue, inVariableCount, nombreDirect, nombreComplement, ioDirectCacheArray, ioComplementCacheArray COMMA_HERE) ; - return nombreDirect ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Value Count (Big ints) -#endif - -//-------------------------------------------------------------------------------------------------- - -static void internalValueCount (const uint32_t inValue, - const uint32_t inVariableCount, - BigSigned & nombreDirect, - BigSigned & nombreComplement - COMMA_LOCATION_ARGS) { - const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_THERE) ; - if (bothBranches (gNodeArray [nodeIndex]) == 0) { - nombreDirect = BigSigned () ; - nombreComplement = BigSigned (true, 1) ; - nombreComplement <<= inVariableCount ; - }else{ - const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; - BigSigned nd0, nc0, nd1, nc1 ; - internalValueCount (gNodeArray [nodeIndex].mELSE, var, nd0, nc0 COMMA_THERE) ; - internalValueCount (gNodeArray [nodeIndex].mTHEN, var, nd1, nc1 COMMA_THERE) ; - nombreDirect = nd0 + nd1 ; - nombreComplement = nc0 + nc1 ; - const int32_t shiftCount = ((int32_t) inVariableCount) - ((int32_t) var) - 1 ; - if (shiftCount > 0) { - nombreDirect <<= (uint32_t) shiftCount ; - nombreComplement <<= (uint32_t) shiftCount ; - } - } - if ((inValue & 1) != 0) { - swap (nombreDirect, nombreComplement) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -BigSigned C_BDD::valueCount (const uint32_t inVariableCount) const { - BigSigned nombreDirect ; - BigSigned nombreComplement ; - internalValueCount (mBDDvalue, inVariableCount, nombreDirect, nombreComplement COMMA_HERE) ; - return nombreDirect ; -} - -//-------------------------------------------------------------------------------------------------- - -static void internalValueCountUsingCache (const uint32_t inValue, - const uint32_t inVariableCount, - BigSigned & nombreDirect, - BigSigned & nombreComplement, - TC_UniqueArray & ioDirectCacheArray, - TC_UniqueArray & ioComplementCacheArray - COMMA_LOCATION_ARGS) { - const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_THERE) ; - if (bothBranches (gNodeArray [nodeIndex]) == 0) { - nombreDirect = BigSigned () ; - nombreComplement = BigSigned (true, 1) ; - nombreComplement <<= inVariableCount ; - }else if ((ioDirectCacheArray.count () > (int32_t) (inValue / 2)) - && (((!ioDirectCacheArray (inValue / 2 COMMA_HERE).isZero ()) || (!ioComplementCacheArray (inValue / 2 COMMA_HERE).isZero())))) { - nombreDirect = ioDirectCacheArray (inValue / 2 COMMA_HERE) ; - nombreComplement = ioComplementCacheArray (inValue / 2 COMMA_HERE) ; - }else{ - const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; - BigSigned nd0, nc0, nd1, nc1 ; - internalValueCountUsingCache (gNodeArray [nodeIndex].mELSE, var, nd0, nc0, ioDirectCacheArray, ioComplementCacheArray COMMA_THERE) ; - internalValueCountUsingCache (gNodeArray [nodeIndex].mTHEN, var, nd1, nc1, ioDirectCacheArray, ioComplementCacheArray COMMA_THERE) ; - nombreDirect = nd0 + nd1 ; - nombreComplement = nc0 + nc1 ; - const int32_t shiftCount = ((int32_t) inVariableCount) - ((int32_t) var) - 1 ; - if (shiftCount > 0) { - nombreDirect <<= (uint32_t) shiftCount ; - nombreComplement <<= (uint32_t) shiftCount ; - } - ioDirectCacheArray.forceObjectAtIndex (inValue / 2, nombreDirect, BigSigned ()) ; - ioComplementCacheArray.forceObjectAtIndex (inValue / 2, nombreComplement, BigSigned ()) ; - } - if ((inValue & 1) != 0) { - swap (nombreDirect, nombreComplement) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -BigSigned C_BDD::valueCountUsingCache (const uint32_t inVariableCount, - TC_UniqueArray & ioDirectCacheArray, - TC_UniqueArray & ioComplementCacheArray) const { - BigSigned nombreDirect ; - BigSigned nombreComplement ; - internalValueCountUsingCache (mBDDvalue, inVariableCount, nombreDirect, nombreComplement, ioDirectCacheArray, ioComplementCacheArray COMMA_HERE) ; - return nombreDirect ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Get i-th value as BDD -#endif - -//-------------------------------------------------------------------------------------------------- - -static C_BDD obtenirIemeBDDinterne (const uint32_t inValue, - const uint64_t inNthBDDvalue, - const uint32_t inVariableCount) { - const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; - const uint32_t complement = inValue & 1 ; - uint64_t iEme ; - C_BDD result ; - if (bothBranches (gNodeArray [nodeIndex]) == 0) { - if (complement == 1) { // Decomposer inNthBDDvalue en binaire - result = ~ result ; - iEme = inNthBDDvalue ; - for (uint32_t i=0 ; i>= 1 ; - } - } - }else{ - result = ~ result ; - const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; - uint64_t nd0 = 0UL ; - uint64_t nc0 = 0UL ; // Non utilise ici - internalValueCount64 (gNodeArray [nodeIndex].mELSE ^ complement, inVariableCount - 1, nd0, nc0 COMMA_HERE) ; - uint64_t nd1 = 0UL ; - uint64_t nc1 = 0UL ; // Non utilise ici - internalValueCount64 (gNodeArray [nodeIndex].mTHEN ^ complement, inVariableCount - 1, nd1, nc1 COMMA_HERE) ; - uint64_t total = nd0 + nd1 ; - for (uint32_t i = (uint32_t) (inVariableCount-1) ; i>var ; i--) { - total >>= 1 ; - nd0 >>= 1 ; - } - iEme = inNthBDDvalue % total ; - uint64_t quotient = inNthBDDvalue / total ; - for (uint32_t j = (uint32_t) (var+1) ; j>= 1 ; - } - if (iEme < nd0) { - result = result & C_BDD (var, false) & obtenirIemeBDDinterne (gNodeArray [nodeIndex].mELSE ^ complement, iEme, var) ; - }else if (iEme < total) { - result = result & C_BDD (var, true) & obtenirIemeBDDinterne (gNodeArray [nodeIndex].mTHEN ^ complement, iEme - nd0, var) ; - }else{ - result = C_BDD () ; // Vide - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -C_BDD C_BDD::getNthBDD (const uint64_t inNthBDDvalue, - const uint32_t inVariableCount) const { - return obtenirIemeBDDinterne (mBDDvalue, inNthBDDvalue, inVariableCount) ; -} - - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark BDD range -#endif - -//-------------------------------------------------------------------------------------------------- - -static uint64_t rangBDDinterne (const uint32_t inValue, - const uint32_t valeurTestee, - const uint32_t inVariableCount) { - const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; - const uint32_t testedValueNodeIndex = nodeIndexForRoot (valeurTestee COMMA_HERE) ; - const uint32_t complementValeurTestee = valeurTestee & 1 ; - const uint32_t complement = inValue & 1 ; - uint64_t rang = 0 ; - uint64_t nc ; // non utilise - if (bothBranches (gNodeArray [testedValueNodeIndex]) == 0) { - }else if ((gNodeArray [testedValueNodeIndex].mELSE ^ complementValeurTestee) == 0) { - if ((gNodeArray [nodeIndex].mTHEN == 0) && (gNodeArray [nodeIndex].mELSE == 0)) { - rang = 1UL << gNodeArray [testedValueNodeIndex].mVariableIndex ; - rang += rangBDDinterne (inValue, gNodeArray [testedValueNodeIndex].mTHEN ^ complementValeurTestee, inVariableCount - 1) ; - }else if (gNodeArray [nodeIndex].mVariableIndex == gNodeArray [testedValueNodeIndex].mVariableIndex) { - internalValueCount64 (gNodeArray [nodeIndex].mELSE ^ complement, inVariableCount - 1, rang, nc COMMA_HERE) ; - rang += rangBDDinterne (gNodeArray [nodeIndex].mTHEN ^ complement, gNodeArray [testedValueNodeIndex].mTHEN ^ complementValeurTestee, inVariableCount - 1) ; - }else{ - internalValueCount64 (inValue, inVariableCount - 1, rang, nc COMMA_HERE) ; - rang += rangBDDinterne (inValue, gNodeArray [testedValueNodeIndex].mTHEN ^ complementValeurTestee, inVariableCount - 1) ; - } - }else{ - if ((gNodeArray [nodeIndex].mTHEN == 0) && (gNodeArray [nodeIndex].mELSE == 0)) { - rang = rangBDDinterne (inValue, gNodeArray [testedValueNodeIndex].mELSE ^ complementValeurTestee, inVariableCount - 1) ; - }else if (gNodeArray [nodeIndex].mVariableIndex == gNodeArray [testedValueNodeIndex].mVariableIndex) { - rang = rangBDDinterne (gNodeArray [nodeIndex].mELSE ^ complement, gNodeArray [testedValueNodeIndex].mELSE ^ complementValeurTestee, inVariableCount - 1) ; - }else{ - rang = rangBDDinterne (inValue, gNodeArray [testedValueNodeIndex].mELSE ^ complementValeurTestee, inVariableCount - 1) ; - } - } - return rang ; -} - -//-------------------------------------------------------------------------------------------------- - -uint64_t C_BDD::getBDDrange (const C_BDD & inOperand, - const uint32_t inVariableCount) const { - uint64_t rang = 0 ; - if (inOperand.valueCount64 (inVariableCount) == 1) { - rang = rangBDDinterne (mBDDvalue, inOperand.mBDDvalue, inVariableCount) ; - } - return rang ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Cache for Single Operand Operations -#endif - -//-------------------------------------------------------------------------------------------------- - -static const int32_t kSingleOperandOperationCacheInitialSize = 131101 ; - -//-------------------------------------------------------------------------------------------------- - -class tStructSingleOperandOperationCacheEntry { - public: uint32_t mOperand ; - public: uint32_t mResult ; +//--- Virtual method called for every value + public: virtual void action (const bool tableauDesValeurs [], + const uint32_t inVariableCount) ; } ; -//-------------------------------------------------------------------------------------------------- - -static tStructSingleOperandOperationCacheEntry * gSingleOperandOperationCacheMap ; -static uint32_t gSingleOperandOperationMapSize ; -static uint32_t gSingleOperandOperationCacheMapUsedEntryCount ; -static uint64_t gSingleOperandOperationCacheTrivialOperationCount ; -static uint32_t gSingleOperandOperationCacheMaxPowerOfTwoSize = 31 ; -static bool gSingleOperandOperationCacheExpandable = true ; +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- - -uint32_t singleOperandOperationCacheMemoryUsage (void) { - return (gSingleOperandOperationMapSize * (uint32_t) sizeof (uint64_t)) / 1000000 ; -} - -//-------------------------------------------------------------------------------------------------- - -void releaseSingleOperandOperationCache (void) { - gSingleOperandOperationCacheMapUsedEntryCount = 0 ; - macroMyDeletePODArray (gSingleOperandOperationCacheMap) ; - gSingleOperandOperationCacheExpandable = true ; -} - -//-------------------------------------------------------------------------------------------------- - -static void clearSingleOperandOperationCache (void) { - gSingleOperandOperationCacheMapUsedEntryCount = 0 ; - if (0 == gSingleOperandOperationMapSize) { - gSingleOperandOperationMapSize = kSingleOperandOperationCacheInitialSize ; - macroMyNewPODArray (gSingleOperandOperationCacheMap, tStructSingleOperandOperationCacheEntry, gSingleOperandOperationMapSize) ; - if (C_BDD::displaysInformationMessages ()) { - printf ("BDD package info: single operand operation cache allocated to %u %03u %03u (%u MB)\n", - gSingleOperandOperationMapSize / 1000000, - (gSingleOperandOperationMapSize / 1000) % 1000, - gSingleOperandOperationMapSize % 1000, - (gSingleOperandOperationMapSize * (uint32_t) sizeof (tStructSingleOperandOperationCacheEntry)) / 1000000) ; - } +void cBuildQueryString:: +action (const bool tableauDesValeurs [], + const uint32_t inVariableCount) { + C_String value ; + if (mStringPtr->length () > 0) { + *mStringPtr << "|" ; } - for (uint32_t i=0 ; i0 ; i--) { + *mStringPtr << cStringWithCharacter ((char) ('0' + tableauDesValeurs [i-1])) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static void reallocSingleOperandOperationCache (const uint32_t inNewSize) { - gSingleOperandOperationCacheMapUsedEntryCount = 0 ; - tStructSingleOperandOperationCacheEntry * newCache = nullptr ; - if (inNewSize << (1U << gSingleOperandOperationCacheMaxPowerOfTwoSize)) { - uint32_t newMemoryUsage = C_BDD::currentMemoryUsage () ; - newMemoryUsage -= singleOperandOperationCacheMemoryUsage () ; - newMemoryUsage += (uint32_t) ((inNewSize * sizeof (uint64_t)) / 1000000) ; - if (newMemoryUsage < C_BDD::maximumMemoryUsage ()) { - macroMyNewPODArray (newCache, tStructSingleOperandOperationCacheEntry, inNewSize) ; - for (uint32_t i=0 ; i stringArray ; + buildCompressedBigEndianStringValueArray (stringArray COMMA_THERE) ; + if (stringArray.count () > 0) { + s << stringArray (0 COMMA_HERE) ; + for (int32_t i=1 ; i gSingleOperandOperationMapSize)) { - reallocSingleOperandOperationCache (gSingleOperandOperationMapSize + 1) ; - } - } -} - -//-------------------------------------------------------------------------------------------------- - -void C_BDD::setSingleOperandOperationCacheMaxSize (const uint32_t inPowerOfTwo) { - gSingleOperandOperationCacheMaxPowerOfTwoSize = inPowerOfTwo ; - if (C_BDD::displaysInformationMessages ()) { - printf ("BDD package info: single operand operation cache max size limited < 2 ** %u\n", gSingleOperandOperationCacheMaxPowerOfTwoSize) ; } + return s ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED - #pragma mark Forall Operation + #pragma mark Value Count #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static uint32_t internalForAllOnBitRange (const uint32_t inValue, - const uint32_t inFirstBit, - const uint32_t inBitCount) { - const uint32_t complement = inValue & 1 ; - uint32_t result = complement ; - const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; - if (bothBranches (gNodeArray [nodeIndex]) == 0) { - gSingleOperandOperationCacheTrivialOperationCount ++ ; - }else{ - const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; - if (var >= (inFirstBit + inBitCount)) { - bool cacheSuccess = false ; - if (! cacheSuccess) { - result = find_or_add (var, - internalForAllOnBitRange (gNodeArray [nodeIndex].mELSE ^ complement, inFirstBit, inBitCount), - internalForAllOnBitRange (gNodeArray [nodeIndex].mTHEN ^ complement, inFirstBit, inBitCount) COMMA_HERE) ; +C_BDD C_BDD::BDDWithPredicateString (const C_String & inPredicateStringValue + COMMA_LOCATION_ARGS) { + C_BDD result ; + const int32_t stringLength = inPredicateStringValue.length () ; + int32_t stringIndex = 0 ; + bool ok = true ; + while ((stringIndex < stringLength) && ok) { + utf32 cc = inPredicateStringValue (stringIndex COMMA_HERE) ; + C_String s ; + while ((stringIndex < stringLength) && ((UNICODE_VALUE (cc) == '0') || (UNICODE_VALUE (cc) == '1') || (UNICODE_VALUE (cc) == 'X') || (UNICODE_VALUE (cc) == ' '))) { + s.appendUnicodeCharacter (cc COMMA_HERE) ; + stringIndex ++ ; + if (stringIndex < stringLength) { + cc = inPredicateStringValue (stringIndex COMMA_HERE) ; } - }else if (var >= inFirstBit) { - result = internalANDoperation ( - internalForAllOnBitRange (gNodeArray [nodeIndex].mELSE ^ complement, inFirstBit, inBitCount), - internalForAllOnBitRange (gNodeArray [nodeIndex].mTHEN ^ complement, inFirstBit, inBitCount)) ; - }else{ - result = inValue ; - gSingleOperandOperationCacheTrivialOperationCount ++ ; } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -static uint32_t operationQuelqueSoitSurBitSupNumeroInterne (const uint32_t inValue, - const uint32_t numeroBit) { - const uint32_t complement = inValue & 1 ; - uint32_t result = complement ; - const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; - if (bothBranches (gNodeArray [nodeIndex]) == 0) { - gSingleOperandOperationCacheTrivialOperationCount ++ ; - }else{ - const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; - if (var > numeroBit) { - if (! searchInSingleOperandOperationCache (inValue, result)) { - result = internalANDoperation ( - operationQuelqueSoitSurBitSupNumeroInterne (gNodeArray [nodeIndex].mELSE ^ complement, numeroBit), - operationQuelqueSoitSurBitSupNumeroInterne (gNodeArray [nodeIndex].mTHEN ^ complement, numeroBit)) ; - enterInSingleOperandOperationCache (inValue, result) ; + if (s.length () > 0) { + C_BDD v ; v.setToTrue () ; + int32_t bitIndex = 0 ; + for (int32_t i=s.length () - 1 ; i>=0 ; i--) { + const utf32 c = s (i COMMA_HERE) ; + if (UNICODE_VALUE (c) == '0') { + v &= C_BDD ((uint32_t) (((uint32_t) bitIndex) & UINT16_MAX), false) ; + bitIndex ++ ; + }else if (UNICODE_VALUE (c) == '1') { + v &= C_BDD ((uint32_t) (((uint32_t) bitIndex) & UINT16_MAX), true) ; + bitIndex ++ ; + }else if (UNICODE_VALUE (c) == 'X') { + bitIndex ++ ; + } } - }else if (var == numeroBit) { - result = internalANDoperation (gNodeArray [nodeIndex].mELSE ^ complement, gNodeArray [nodeIndex].mTHEN ^ complement) ; - }else{ // var < numeroBit - result = inValue ; - gSingleOperandOperationCacheTrivialOperationCount ++ ; + result |= v ; } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -C_BDD C_BDD::forallOnBitNumber (const uint32_t numeroBit) const { - clearSingleOperandOperationCache () ; - return C_BDD (internalForAllOnBitRange (mBDDvalue, numeroBit, 1)) ; -} - -//-------------------------------------------------------------------------------------------------- - -C_BDD C_BDD::forallOnBitsAfterNumber (const uint32_t numeroBit) const { - clearSingleOperandOperationCache () ; - return C_BDD (operationQuelqueSoitSurBitSupNumeroInterne (mBDDvalue, numeroBit)) ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Exist Operation -#endif - -//-------------------------------------------------------------------------------------------------- - -C_BDD C_BDD::existsOnBitNumber (const uint32_t numeroBit) const { - clearSingleOperandOperationCache () ; -//--- ilExiste x : F <=> non (quelquesoit x : non (F)) - return C_BDD (internalForAllOnBitRange (mBDDvalue ^ 1, numeroBit, 1) ^ 1) ; -} - -//-------------------------------------------------------------------------------------------------- - -C_BDD C_BDD::existsOnBitRange (const uint32_t inFirstBit, - const uint32_t inBitCount) const { - clearSingleOperandOperationCache () ; - return C_BDD (internalForAllOnBitRange (mBDDvalue ^ 1, inFirstBit, inBitCount) ^ 1) ; -} - -//-------------------------------------------------------------------------------------------------- - -C_BDD C_BDD::existsOnBitsAfterNumber (const uint32_t numeroBit) const { -// ilExiste x : F <=> non (quelquesoit x : non (F)) - clearSingleOperandOperationCache () ; - return C_BDD (operationQuelqueSoitSurBitSupNumeroInterne (mBDDvalue ^ 1, numeroBit) ^ 1) ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Substitute variables -#endif - -//-------------------------------------------------------------------------------------------------- - -static uint32_t internalRecursiveSubstitution (const uint32_t inValue, - const uint32_t * vecteurSubstitutionBool, - const uint32_t inNoChangeIndex, - const uint32_t inBDDvariablesCount - COMMA_LOCATION_ARGS) { - uint32_t result = inValue ; - const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; - if (bothBranches (gNodeArray [nodeIndex]) == 0) { - gSingleOperandOperationCacheTrivialOperationCount ++ ; - }else{ - const uint32_t complement = inValue & 1 ; - const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; - macroAssertThere (var < inBDDvariablesCount, "var (%lld) < inBDDvariablesCount (%lld)", var, inBDDvariablesCount) ; - if (var < inNoChangeIndex) { - result = inValue ; - gSingleOperandOperationCacheTrivialOperationCount ++ ; - }else if (! searchInSingleOperandOperationCache (inValue, result)) { - result = internalITEoperation ( - find_or_add (vecteurSubstitutionBool [var], 1, 0 COMMA_HERE), - internalRecursiveSubstitution (gNodeArray [nodeIndex].mELSE ^ complement, vecteurSubstitutionBool, inNoChangeIndex, inBDDvariablesCount COMMA_THERE), - internalRecursiveSubstitution (gNodeArray [nodeIndex].mTHEN ^ complement, vecteurSubstitutionBool, inNoChangeIndex, inBDDvariablesCount COMMA_THERE) - ) ; - enterInSingleOperandOperationCache (inValue, result) ; + if (stringIndex < stringLength) { + ok = UNICODE_VALUE (cc) == '|' ; + MF_AssertThere (ok, "BDD predicate string syntax error at character index %lld", stringIndex, 0) ; + stringIndex ++ ; } } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -C_BDD C_BDD::substitution (const uint32_t * inSubstitutionArray, - const uint32_t inBDDvariablesCount - COMMA_LOCATION_ARGS) const { - clearSingleOperandOperationCache () ; -//--- Le vecteur subsitution est-il l'identite ? - bool estIdentite = true ; - uint32_t noChangeIndex = 0 ; - for (uint32_t i=0 ; estIdentite && (i var1) { - result = internalITEoperation ( - find_or_add (gNodeArray [nodeIndex].mVariableIndex, 0, 1 COMMA_HERE), - internalExchangeVariables (gNodeArray [nodeIndex].mTHEN ^ complement, var1, var2), - internalExchangeVariables (gNodeArray [nodeIndex].mELSE ^ complement, var1, var2)) ; - }else if (gNodeArray [nodeIndex].mVariableIndex == var1) { - result = internalITEoperation ( - find_or_add (var2, 0, 1 COMMA_HERE), - internalExchangeVariables (gNodeArray [nodeIndex].mTHEN ^ complement, var1, var2), - internalExchangeVariables (gNodeArray [nodeIndex].mELSE ^ complement, var1, var2)) ; - }else if (gNodeArray [nodeIndex].mVariableIndex > var2) { - result = internalITEoperation ( - find_or_add (gNodeArray [nodeIndex].mVariableIndex, 0, 1 COMMA_HERE), - internalExchangeVariables (gNodeArray [nodeIndex].mTHEN ^ complement, var1, var2), - internalExchangeVariables (gNodeArray [nodeIndex].mELSE ^ complement, var1, var2)) ; - }else if (gNodeArray [nodeIndex].mVariableIndex == var2) { - result = internalITEoperation ( - find_or_add (var1, 0, 1 COMMA_HERE), - internalExchangeVariables (gNodeArray [nodeIndex].mTHEN ^ complement, var1, var2), - internalExchangeVariables (gNodeArray [nodeIndex].mELSE ^ complement, var1, var2)) ; +static void internalValueCount64 (const uint32_t inValue, + const uint32_t inVariableCount, + uint64_t & nombreDirect, + uint64_t & nombreComplement + COMMA_LOCATION_ARGS) { + const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_THERE) ; + if (bothBranches (gNodeArray [nodeIndex]) == 0) { + nombreDirect = 0 ; + nombreComplement = 1 ; + for (uint32_t i=0 ; i var2) { - result.mBDDvalue = internalExchangeVariables (mBDDvalue, var1, var2) ; - }else if (var1 < var2) { - result.mBDDvalue = internalExchangeVariables (mBDDvalue, var2, var1) ; + if ((inValue & 1) != 0) { + const uint64_t tempo = nombreDirect ; + nombreDirect = nombreComplement ; + nombreComplement = tempo ; } - return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Roll Down -#endif +uint64_t C_BDD::valueCount64 (const uint32_t inVariableCount) const { + uint64_t nombreDirect = 0 ; + uint64_t nombreComplement = 0 ; + internalValueCount64 (mBDDvalue, inVariableCount, nombreDirect, nombreComplement COMMA_HERE) ; + return nombreDirect ; +} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static uint32_t internalRollDown (const uint32_t inValue, - const uint32_t inHighVar, - const uint32_t inLowVar) { - uint32_t result = inValue ; - const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; - if (bothBranches (gNodeArray [nodeIndex]) != 0) { - const uint32_t complement = inValue & 1 ; - if (gNodeArray [nodeIndex].mVariableIndex > inHighVar) { - result = internalITEoperation ( - find_or_add (gNodeArray [nodeIndex].mVariableIndex, 0, 1 COMMA_HERE), - internalRollDown (gNodeArray [nodeIndex].mTHEN ^ complement, inHighVar, inLowVar), - internalRollDown (gNodeArray [nodeIndex].mELSE ^ complement, inHighVar, inLowVar)) ; - }else if (gNodeArray [nodeIndex].mVariableIndex > inLowVar) { - result = internalITEoperation ( - find_or_add ((uint32_t) (gNodeArray [nodeIndex].mVariableIndex - 1), 0, 1 COMMA_HERE), - internalRollDown (gNodeArray [nodeIndex].mTHEN ^ complement, inHighVar, inLowVar), - internalRollDown (gNodeArray [nodeIndex].mELSE ^ complement, inHighVar, inLowVar)) ; - }else if (gNodeArray [nodeIndex].mVariableIndex == inLowVar) { - result = internalITEoperation ( - find_or_add (inHighVar, 0, 1 COMMA_HERE), - internalRollDown (gNodeArray [nodeIndex].mTHEN ^ complement, inHighVar, inLowVar), - internalRollDown (gNodeArray [nodeIndex].mELSE ^ complement, inHighVar, inLowVar)) ; - } +static void internalValueCount64UsingCache (const uint32_t inValue, + const uint32_t inVariableCount, + uint64_t & nombreDirect, + uint64_t & nombreComplement, + TC_UniqueArray & ioDirectCacheArray, + TC_UniqueArray & ioComplementCacheArray + COMMA_LOCATION_ARGS) { + const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_THERE) ; + if (bothBranches (gNodeArray [nodeIndex]) == 0) { + nombreDirect = 0 ; + nombreComplement = 1 << inVariableCount ; + }else if ((ioDirectCacheArray.count () > (int32_t) (inValue / 2)) + && ((ioDirectCacheArray (inValue / 2 COMMA_HERE) != 0) || (ioComplementCacheArray (inValue / 2 COMMA_HERE) != 0))) { + const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; + nombreDirect = ioDirectCacheArray (inValue / 2 COMMA_HERE) << (inVariableCount - var - 1) ; + nombreComplement = ioComplementCacheArray (inValue / 2 COMMA_HERE) << (inVariableCount - var - 1) ; + }else{ + const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; + uint64_t nd0, nc0, nd1, nc1 ; + internalValueCount64UsingCache (gNodeArray [nodeIndex].mELSE, var, nd0, nc0, ioDirectCacheArray, ioComplementCacheArray COMMA_THERE) ; + internalValueCount64UsingCache (gNodeArray [nodeIndex].mTHEN, var, nd1, nc1, ioDirectCacheArray, ioComplementCacheArray COMMA_THERE) ; + nombreDirect = nd0 + nd1 ; + nombreComplement = nc0 + nc1 ; + ioDirectCacheArray.forceObjectAtIndex (inValue / 2, nombreDirect, 0 COMMA_HERE) ; + ioComplementCacheArray.forceObjectAtIndex (inValue / 2, nombreComplement, 0 COMMA_HERE) ; + nombreDirect <<= (inVariableCount - var - 1) ; + nombreComplement <<= (inVariableCount - var - 1) ; + } +//--- + if ((inValue & 1) != 0) { + const uint64_t tempo = nombreDirect ; + nombreDirect = nombreComplement ; + nombreComplement = tempo ; } - return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_BDD C_BDD::rollDownVariables (const uint32_t var1, const uint32_t var2) const { - C_BDD result (mBDDvalue) ; - if (var1 > var2) { - result.mBDDvalue = internalRollDown (mBDDvalue, var1, var2) ; - } - return result ; +uint64_t C_BDD::valueCount64UsingCache (const uint32_t inVariableCount, + TC_UniqueArray & ioDirectCacheArray, + TC_UniqueArray & ioComplementCacheArray) const { + uint64_t nombreDirect = 0 ; + uint64_t nombreComplement = 0 ; + internalValueCount64UsingCache (mBDDvalue, inVariableCount, nombreDirect, nombreComplement, ioDirectCacheArray, ioComplementCacheArray COMMA_HERE) ; + return nombreDirect ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED - #pragma mark Roll Up + #pragma mark Value Count (128) #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static uint32_t internalRollUp (const uint32_t inValue, - const uint32_t var1, - const uint32_t var2) { - uint32_t result = inValue ; - const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; - if (bothBranches (gNodeArray [nodeIndex]) != 0) { - const uint32_t complement = inValue & 1 ; - if (gNodeArray [nodeIndex].mVariableIndex > var1) { - result = internalITEoperation ( - find_or_add (gNodeArray [nodeIndex].mVariableIndex, 0, 1 COMMA_HERE), - internalRollUp (gNodeArray [nodeIndex].mTHEN ^ complement, var1, var2), - internalRollUp (gNodeArray [nodeIndex].mELSE ^ complement, var1, var2)) ; - }else if (gNodeArray [nodeIndex].mVariableIndex == var1) { - result = internalITEoperation ( - find_or_add (var2, 0, 1 COMMA_HERE), - internalRollUp (gNodeArray [nodeIndex].mTHEN ^ complement, var1, var2), - internalRollUp (gNodeArray [nodeIndex].mELSE ^ complement, var1, var2)) ; - }else if (gNodeArray [nodeIndex].mVariableIndex >= var2) { - result = internalITEoperation ( - find_or_add ((uint32_t) (gNodeArray [nodeIndex].mVariableIndex + 1), 0, 1 COMMA_HERE), - internalRollUp (gNodeArray [nodeIndex].mTHEN ^ complement, var1, var2), - internalRollUp (gNodeArray [nodeIndex].mELSE ^ complement, var1, var2)) ; +static void internalValueCount128 (const uint32_t inValue, + const uint32_t inVariableCount, + PMUInt128 & nombreDirect, + PMUInt128 & nombreComplement + COMMA_LOCATION_ARGS) { + const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_THERE) ; + if (bothBranches (gNodeArray [nodeIndex]) == 0) { + nombreDirect = 0 ; + nombreComplement = 1 ; + for (uint32_t i=0 ; i var2) { - result.mBDDvalue = internalRollUp (mBDDvalue, var1, var2) ; + if ((inValue & 1) != 0) { + const PMUInt128 tempo = nombreDirect ; + nombreDirect = nombreComplement ; + nombreComplement = tempo ; } - return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Left shift -#endif +PMUInt128 C_BDD::valueCount128 (const uint32_t inVariableCount) const { + PMUInt128 nombreDirect = 0 ; + PMUInt128 nombreComplement = 0 ; + internalValueCount128 (mBDDvalue, inVariableCount, nombreDirect, nombreComplement COMMA_HERE) ; + return nombreDirect ; +} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static uint32_t internalLeftShift (const uint32_t inValue, - const uint32_t inLeftShiftCount) { - uint32_t result = inValue ; - const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; +static void internalValueCount128UsingCache (const uint32_t inValue, + const uint32_t inVariableCount, + PMUInt128 & nombreDirect, + PMUInt128 & nombreComplement, + TC_UniqueArray & ioDirectCacheArray, + TC_UniqueArray & ioComplementCacheArray + COMMA_LOCATION_ARGS) { + const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_THERE) ; if (bothBranches (gNodeArray [nodeIndex]) == 0) { - gSingleOperandOperationCacheTrivialOperationCount ++ ; - }else if (! searchInSingleOperandOperationCache (inValue, result)) { - const uint32_t complement = inValue & 1 ; - result = find_or_add (gNodeArray [nodeIndex].mVariableIndex + inLeftShiftCount, - internalLeftShift (gNodeArray [nodeIndex].mELSE ^ complement, inLeftShiftCount), - internalLeftShift (gNodeArray [nodeIndex].mTHEN ^ complement, inLeftShiftCount) - COMMA_HERE) ; - enterInSingleOperandOperationCache (inValue, result) ; + nombreDirect = 0 ; + nombreComplement = 1 << inVariableCount ; + }else if ((ioDirectCacheArray.count () > (int32_t) (inValue / 2)) + && (((ioDirectCacheArray (inValue / 2 COMMA_HERE) != 0) || (ioComplementCacheArray (inValue / 2 COMMA_HERE) != 0)))) { + nombreDirect = ioDirectCacheArray (inValue / 2 COMMA_HERE) ; + nombreComplement = ioComplementCacheArray (inValue / 2 COMMA_HERE) ; + }else{ + const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; + PMUInt128 nd0, nc0, nd1, nc1 ; + internalValueCount128UsingCache (gNodeArray [nodeIndex].mELSE, var, nd0, nc0, ioDirectCacheArray, ioComplementCacheArray COMMA_THERE) ; + internalValueCount128UsingCache (gNodeArray [nodeIndex].mTHEN, var, nd1, nc1, ioDirectCacheArray, ioComplementCacheArray COMMA_THERE) ; + nombreDirect = nd0 + nd1 ; + nombreComplement = nc0 + nc1 ; + for (uint32_t i=(uint32_t) (var+1) ; i & ioDirectCacheArray, + TC_UniqueArray & ioComplementCacheArray) const { + PMUInt128 nombreDirect = 0 ; + PMUInt128 nombreComplement = 0 ; + internalValueCount128UsingCache (mBDDvalue, inVariableCount, nombreDirect, nombreComplement, ioDirectCacheArray, ioComplementCacheArray COMMA_HERE) ; + return nombreDirect ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED - #pragma mark Right shift + #pragma mark Value Count (Big ints) #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static uint32_t internalRightShift (const uint32_t inValue, - const uint32_t inRightShiftCount) { - uint32_t result = inValue ; - const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; +static void internalValueCount (const uint32_t inValue, + const uint32_t inVariableCount, + C_BigInt & nombreDirect, + C_BigInt & nombreComplement + COMMA_LOCATION_ARGS) { + const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_THERE) ; if (bothBranches (gNodeArray [nodeIndex]) == 0) { - gSingleOperandOperationCacheTrivialOperationCount ++ ; - }else if (gNodeArray [nodeIndex].mVariableIndex < inRightShiftCount) { - result = 1 ; - gSingleOperandOperationCacheTrivialOperationCount ++ ; - }else if (! searchInSingleOperandOperationCache (inValue, result)) { - const uint32_t complement = inValue & 1 ; - result = find_or_add (gNodeArray [nodeIndex].mVariableIndex - inRightShiftCount, - internalRightShift (gNodeArray [nodeIndex].mELSE ^ complement, inRightShiftCount), - internalRightShift (gNodeArray [nodeIndex].mTHEN ^ complement, inRightShiftCount) - COMMA_HERE) ; - enterInSingleOperandOperationCache (inValue, result) ; + nombreDirect.setToZero () ; + nombreComplement.setFromU32 (1) ; + nombreComplement <<= inVariableCount ; + }else{ + const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; + C_BigInt nd0, nc0, nd1, nc1 ; + internalValueCount (gNodeArray [nodeIndex].mELSE, var, nd0, nc0 COMMA_THERE) ; + internalValueCount (gNodeArray [nodeIndex].mTHEN, var, nd1, nc1 COMMA_THERE) ; + nombreDirect = nd0 + nd1 ; + nombreComplement = nc0 + nc1 ; + const int32_t shiftCount = ((int32_t) inVariableCount) - ((int32_t) var) - 1 ; + if (shiftCount > 0) { + nombreDirect <<= (uint32_t) shiftCount ; + nombreComplement <<= (uint32_t) shiftCount ; + } + } + if ((inValue & 1) != 0) { + swap (nombreDirect, nombreComplement) ; } - return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_BDD C_BDD::bddByRightShifting (const uint32_t inRightShiftCount) const { - clearSingleOperandOperationCache () ; - C_BDD result ; - result.mBDDvalue = internalRightShift (mBDDvalue, inRightShiftCount) ; - return result ; +C_BigInt C_BDD::valueCount (const uint32_t inVariableCount) const { + C_BigInt nombreDirect ; + C_BigInt nombreComplement ; + internalValueCount (mBDDvalue, inVariableCount, nombreDirect, nombreComplement COMMA_HERE) ; + return nombreDirect ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -uint32_t C_BDD::getBDDnodeSize (void) { - return (uint32_t) sizeof (cBDDnode) ; +static void internalValueCountUsingCache (const uint32_t inValue, + const uint32_t inVariableCount, + C_BigInt & nombreDirect, + C_BigInt & nombreComplement, + TC_UniqueArray & ioDirectCacheArray, + TC_UniqueArray & ioComplementCacheArray + COMMA_LOCATION_ARGS) { + const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_THERE) ; + if (bothBranches (gNodeArray [nodeIndex]) == 0) { + nombreDirect.setToZero () ; + nombreComplement.setFromU32 (1) ; nombreComplement <<= inVariableCount ; + }else if ((ioDirectCacheArray.count () > (int32_t) (inValue / 2)) + && (((!ioDirectCacheArray (inValue / 2 COMMA_HERE).isZero ()) || (!ioComplementCacheArray (inValue / 2 COMMA_HERE).isZero())))) { + nombreDirect = ioDirectCacheArray (inValue / 2 COMMA_HERE) ; + nombreComplement = ioComplementCacheArray (inValue / 2 COMMA_HERE) ; + }else{ + const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; + C_BigInt nd0, nc0, nd1, nc1 ; + internalValueCountUsingCache (gNodeArray [nodeIndex].mELSE, var, nd0, nc0, ioDirectCacheArray, ioComplementCacheArray COMMA_THERE) ; + internalValueCountUsingCache (gNodeArray [nodeIndex].mTHEN, var, nd1, nc1, ioDirectCacheArray, ioComplementCacheArray COMMA_THERE) ; + nombreDirect = nd0 + nd1 ; + nombreComplement = nc0 + nc1 ; + const int32_t shiftCount = ((int32_t) inVariableCount) - ((int32_t) var) - 1 ; + if (shiftCount > 0) { + nombreDirect <<= (uint32_t) shiftCount ; + nombreComplement <<= (uint32_t) shiftCount ; + } + ioDirectCacheArray.forceObjectAtIndex (inValue / 2, nombreDirect, C_BigInt () COMMA_HERE) ; + ioComplementCacheArray.forceObjectAtIndex (inValue / 2, nombreComplement, C_BigInt () COMMA_HERE) ; + } + if ((inValue & 1) != 0) { + swap (nombreDirect, nombreComplement) ; + } } -//-------------------------------------------------------------------------------------------------- - -static uint32_t * gCollisionMap = nullptr ; -static uint32_t gCollisionMapSize = 0 ; -static uint32_t gHashMapPowerOfTwoMaxSize = 31 ; -static bool gHashMapExpandable = true ; +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- - -uint32_t hashMapMemoryUsage (void) { - return (uint32_t) ((gCollisionMapSize * sizeof (uint32_t)) / 1000000) ; +C_BigInt C_BDD::valueCountUsingCache (const uint32_t inVariableCount, + TC_UniqueArray & ioDirectCacheArray, + TC_UniqueArray & ioComplementCacheArray) const { + C_BigInt nombreDirect ; + C_BigInt nombreComplement ; + internalValueCountUsingCache (mBDDvalue, inVariableCount, nombreDirect, nombreComplement, ioDirectCacheArray, ioComplementCacheArray COMMA_HERE) ; + return nombreDirect ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -inline uint64_t nodeHashCode (const cBDDnode inNode) { - uint64_t result = bothBranches (inNode) % (uint64_t) gCollisionMapSize ; - result <<= 32 ; - result = (result | inNode.mVariableIndex) % (uint64_t) gCollisionMapSize ; - return result ; -} +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Get i-th value as BDD +#endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static void reallocHashMap (const uint32_t inNewSize) { - if ((0 < inNewSize) && (inNewSize != gCollisionMapSize)) { - if (C_BDD::displaysInformationMessages ()) { - printf ("BDD package info: hash map reallocated to %u %03u %03u (%u MB)\n", - inNewSize / 1000000, (inNewSize / 1000) % 1000, inNewSize % 1000, - (inNewSize * (uint32_t) sizeof (uint32_t)) / 1000000) ; - } - if (gCollisionMap == nullptr) { - macroMyNewPODArray (gCollisionMap, uint32_t, inNewSize) ; - }else{ - macroMyReallocPODArray (gCollisionMap, uint32_t, inNewSize) ; - } - gCollisionMapSize = inNewSize ; - for (uint32_t i=0 ; i>= 1 ; + } } - } -} - -//-------------------------------------------------------------------------------------------------- - -static const uint32_t kUniqueMapSizeIncrement = 4194304 ; - -//-------------------------------------------------------------------------------------------------- - -static uint32_t addNewNode (const cBDDnode inNode) { - if (gNodeArraySize <= (gCurrentNodeCount + 1)) { - const uint32_t newSize = gNodeArraySize + kUniqueMapSizeIncrement ; - if (newSize > (1U << 31)) { - printf ("*** BDD package node map saturation: needs more than 2 ** 31 nodes\n") ; - exit (1) ; - }else if (C_BDD::displaysInformationMessages ()) { - printf ("BDD package info: node map reallocated to %u %03u %03u (%u MB)\n", - newSize / 1000000, (newSize / 1000) % 1000, newSize % 1000, - (newSize * (uint32_t) sizeof (cBDDnode)) / 1000000) ; + }else{ + result = ~ result ; + const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; + uint64_t nd0 = 0UL ; + uint64_t nc0 = 0UL ; // Non utilise ici + internalValueCount64 (gNodeArray [nodeIndex].mELSE ^ complement, inVariableCount - 1, nd0, nc0 COMMA_HERE) ; + uint64_t nd1 = 0UL ; + uint64_t nc1 = 0UL ; // Non utilise ici + internalValueCount64 (gNodeArray [nodeIndex].mTHEN ^ complement, inVariableCount - 1, nd1, nc1 COMMA_HERE) ; + uint64_t total = nd0 + nd1 ; + for (uint32_t i = (uint32_t) (inVariableCount-1) ; i>var ; i--) { + total >>= 1 ; + nd0 >>= 1 ; } - if (gNodeArray == nullptr) { - macroMyNewPODArray (gNodeArray, cBDDnode, newSize) ; - }else{ - macroMyReallocPODArray (gNodeArray, cBDDnode, newSize) ; + iEme = inNthBDDvalue % total ; + uint64_t quotient = inNthBDDvalue / total ; + for (uint32_t j = (uint32_t) (var+1) ; j>= 1 ; } - if (gMarkTable == nullptr) { - macroMyNewPODArray (gMarkTable, uint64_t, newSize >> 6) ; - }else{ - macroMyReallocPODArray (gMarkTable, uint64_t, newSize >> 6) ; - } - gNodeArraySize = newSize ; - gNodeArray [0].mELSE = 0 ; - gNodeArray [0].mTHEN = 0 ; - gNodeArray [0].mVariableIndex = 0 ; - } - if (gHashMapExpandable && (gCurrentNodeCount > (gCollisionMapSize / 2))) { - const uint32_t newSize = getPrimeGreaterThan (gCollisionMapSize + 1) ; - if (newSize < (1U << gHashMapPowerOfTwoMaxSize)) { - uint32_t newMemoryUsage = C_BDD::currentMemoryUsage () ; - newMemoryUsage -= hashMapMemoryUsage () ; - newMemoryUsage += (uint32_t) ((newSize * sizeof (uint32_t)) / 1000000) ; - if (newMemoryUsage < C_BDD::maximumMemoryUsage ()) { - reallocHashMap (newSize) ; - }else{ - gHashMapExpandable = false ; - if (C_BDD::displaysInformationMessages ()) { - printf ("BDD package info: hash map reallocation to %u %03u %03u inhibited (max RAM usage reached)\n", - newSize / 1000000, - (newSize / 1000) % 1000, - newSize % 1000) ; - } - } + if (iEme < nd0) { + result = result & C_BDD (var, false) & obtenirIemeBDDinterne (gNodeArray [nodeIndex].mELSE ^ complement, iEme, var) ; + }else if (iEme < total) { + result = result & C_BDD (var, true) & obtenirIemeBDDinterne (gNodeArray [nodeIndex].mTHEN ^ complement, iEme - nd0, var) ; }else{ - gHashMapExpandable = false ; - if (C_BDD::displaysInformationMessages ()) { - printf ("BDD package info: hash map reallocation to %u %03u %03u inhibited (max size reached)\n", - newSize / 1000000, - (newSize / 1000) % 1000, - newSize % 1000) ; - } + result = C_BDD () ; // Vide } } - //--- Retrieve a free node - gCurrentNodeCount ++ ; - gNodeArray [gCurrentNodeCount] = inNode ; -//--- Enter in hash map - const uint64_t hashCode = nodeHashCode (inNode) ; - gNodeArray [gCurrentNodeCount].mAuxiliary = gCollisionMap [hashCode] ; - gCollisionMap [hashCode] = gCurrentNodeCount ; -//--- - return gCurrentNodeCount ; -} - -//-------------------------------------------------------------------------------------------------- - -void C_BDD::unmarkAllExistingBDDnodes (void) { - macroAssert ((gNodeArraySize % 64) == 0, "gNodeArraySize (%lld) is not a multiple of 64", gNodeArraySize, 0) ; - for (uint32_t i=0 ; i<(gNodeArraySize >> 6) ; i++) { - gMarkTable [i] = 0 ; - } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static bool isNodeMarked (const uint32_t inValue COMMA_LOCATION_ARGS) { - const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; - bool marked = nodeIndex == 0 ; - if (! marked) { - macroAssertThere (nodeIndex > 0, "nodeIndex (%lld) should be > 0", nodeIndex, 0) ; - macroAssertThere (nodeIndex <= gCurrentNodeCount, "nodeIndex (%lld) should be <= gCurrentNodeCount (%lld)", nodeIndex, gCurrentNodeCount) ; - const uint64_t mask = 1ULL << (nodeIndex & 0x3F) ; - const uint32_t idx = nodeIndex >> 6 ; - marked = (gMarkTable [idx] & mask) != 0 ; - } - return marked ; +C_BDD C_BDD::getNthBDD (const uint64_t inNthBDDvalue, + const uint32_t inVariableCount) const { + return obtenirIemeBDDinterne (mBDDvalue, inNthBDDvalue, inVariableCount) ; } -//-------------------------------------------------------------------------------------------------- -bool isNodeMarkedThenMark (const uint32_t inValue COMMA_LOCATION_ARGS) { - const uint32_t nodeIndex = inValue >> 1 ; - macroAssertThere (nodeIndex > 0, "nodeIndex (%lld) should be > 0", nodeIndex, 0) ; - macroAssertThere (nodeIndex <= gCurrentNodeCount, "nodeIndex (%lld) should be <= gCurrentNodeCount (%lld)", nodeIndex, gCurrentNodeCount) ; - const uint64_t mask = 1ULL << (nodeIndex & 0x3F) ; - const uint32_t idx = nodeIndex >> 6 ; - const bool isMarked = (gMarkTable [idx] & mask) != 0 ; - gMarkTable [idx] |= mask ; - return isMarked ; -} - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void markNode (const uint32_t inValue) { - const uint32_t nodeIndex = inValue >> 1 ; - macroAssert (nodeIndex > 0, "nodeIndex (%lld) should be > 0", nodeIndex, 0) ; - macroAssert (nodeIndex <= gCurrentNodeCount, "nodeIndex (%lld) should be <= gCurrentNodeCount (%lld)", nodeIndex, gCurrentNodeCount) ; - const uint64_t mask = 1ULL << (nodeIndex & 0x3F) ; - const uint32_t idx = nodeIndex >> 6 ; - gMarkTable [idx] |= mask ; -} +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Get i-th value as uint64_t +#endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -uint32_t C_BDD::getMarkedNodesCount (void) { - uint32_t count = 0 ; - for (uint32_t i=0 ; i<(gNodeArraySize >> 6) ; i++) { - uint64_t v = gMarkTable [i] ; - while (v > 0) { - count += (v & 1) != 0 ; - v >>= 1 ; +static uint64_t +obtenirValeurAbsolueBDDInterne (const uint32_t inValue) { + const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; + const uint32_t complement = inValue & 1 ; + uint64_t result = 1 ^ complement ; + if (bothBranches (gNodeArray [nodeIndex]) != 0) { + if ((gNodeArray [nodeIndex].mELSE ^ complement) != 0) { + result = obtenirValeurAbsolueBDDInterne (gNodeArray [nodeIndex].mELSE ^ complement) ; + }else{ + result = 1 ; + for (uint32_t i = 1 ; i <= gNodeArray [nodeIndex].mVariableIndex ; i++) { + result <<= 1 ; + } + result += obtenirValeurAbsolueBDDInterne (gNodeArray [nodeIndex].mTHEN ^ complement) ; } } - return count ; + return result ; } -//-------------------------------------------------------------------------------------------------- -// -// BDD objects hash map -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const int32_t kInitialCollisionMapPowerOfTwoSize = 20 ; - -//-------------------------------------------------------------------------------------------------- -// -// BDD unique table implementation -// -//-------------------------------------------------------------------------------------------------- - -uint32_t find_or_add (const uint32_t inBoolVar, - const uint32_t inELSEbranch, - const uint32_t inTHENbranch - COMMA_UNUSED_LOCATION_ARGS) { - uint32_t result = inELSEbranch ; - if (inELSEbranch != inTHENbranch) { - if (0 == gCollisionMapSize) { - reallocHashMap (getPrimeGreaterThan (1U << kInitialCollisionMapPowerOfTwoSize)) ; - } - const uint32_t complement = inELSEbranch & 1 ; - const uint32_t c1 = inTHENbranch ^ complement ; - const uint32_t c0 = inELSEbranch ^ complement ; - const cBDDnode candidateNode = {c1, c0, inBoolVar, 0} ; - const uint64_t hashCode = nodeHashCode (candidateNode) ; - uint32_t nodeIndex = gCollisionMap [hashCode] ; - while ((0 != nodeIndex) - && ((bothBranches (gNodeArray [nodeIndex]) != bothBranches (candidateNode)) - || (gNodeArray [nodeIndex].mVariableIndex != candidateNode.mVariableIndex))) { - nodeIndex = gNodeArray [nodeIndex].mAuxiliary ; - } - if (0 == nodeIndex) { - nodeIndex = addNewNode (candidateNode) ; - } - result = (nodeIndex << 1) | complement ; +uint64_t C_BDD::getBDDabsoluteValue (const uint32_t inVariableCount) const { + uint64_t result = 0 ; + if (valueCount64 (inVariableCount) == 1) { + result = obtenirValeurAbsolueBDDInterne (mBDDvalue) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_BDD::setHashMapMaxSize (const uint32_t inPowerOfTwoSize) { - gHashMapPowerOfTwoMaxSize = inPowerOfTwoSize ; - if (C_BDD::displaysInformationMessages ()) { - printf ("BDD package info: hash map max size limited < 2 ** %u\n", gHashMapPowerOfTwoMaxSize) ; - } -} +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark BDD range +#endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static C_BDD * gFirstBDD = nullptr ; -static C_BDD * gLastBDD = nullptr ; +static uint64_t +rangBDDinterne (const uint32_t inValue, + const uint32_t valeurTestee, + const uint32_t inVariableCount) { + const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; + const uint32_t testedValueNodeIndex = nodeIndexForRoot (valeurTestee COMMA_HERE) ; + const uint32_t complementValeurTestee = valeurTestee & 1 ; + const uint32_t complement = inValue & 1 ; + uint64_t rang = 0 ; + uint64_t nc ; // non utilise + if (bothBranches (gNodeArray [testedValueNodeIndex]) == 0) { + }else if ((gNodeArray [testedValueNodeIndex].mELSE ^ complementValeurTestee) == 0) { + if ((gNodeArray [nodeIndex].mTHEN == 0) && (gNodeArray [nodeIndex].mELSE == 0)) { + rang = 1UL << gNodeArray [testedValueNodeIndex].mVariableIndex ; + rang += rangBDDinterne (inValue, gNodeArray [testedValueNodeIndex].mTHEN ^ complementValeurTestee, inVariableCount - 1) ; + }else if (gNodeArray [nodeIndex].mVariableIndex == gNodeArray [testedValueNodeIndex].mVariableIndex) { + internalValueCount64 (gNodeArray [nodeIndex].mELSE ^ complement, inVariableCount - 1, rang, nc COMMA_HERE) ; + rang += rangBDDinterne (gNodeArray [nodeIndex].mTHEN ^ complement, gNodeArray [testedValueNodeIndex].mTHEN ^ complementValeurTestee, inVariableCount - 1) ; + }else{ + internalValueCount64 (inValue, inVariableCount - 1, rang, nc COMMA_HERE) ; + rang += rangBDDinterne (inValue, gNodeArray [testedValueNodeIndex].mTHEN ^ complementValeurTestee, inVariableCount - 1) ; + } + }else{ + if ((gNodeArray [nodeIndex].mTHEN == 0) && (gNodeArray [nodeIndex].mELSE == 0)) { + rang = rangBDDinterne (inValue, gNodeArray [testedValueNodeIndex].mELSE ^ complementValeurTestee, inVariableCount - 1) ; + }else if (gNodeArray [nodeIndex].mVariableIndex == gNodeArray [testedValueNodeIndex].mVariableIndex) { + rang = rangBDDinterne (gNodeArray [nodeIndex].mELSE ^ complement, gNodeArray [testedValueNodeIndex].mELSE ^ complementValeurTestee, inVariableCount - 1) ; + }else{ + rang = rangBDDinterne (inValue, gNodeArray [testedValueNodeIndex].mELSE ^ complementValeurTestee, inVariableCount - 1) ; + } + } + return rang ; +} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -uint32_t C_BDD::getBDDinstancesCount (void) { - uint32_t n = 0 ; - C_BDD * p = gFirstBDD ; - while (p != nullptr) { - n ++ ; - p = p->mPtrToNextBDD ; +uint64_t C_BDD:: +getBDDrange (const C_BDD & inOperand, + const uint32_t inVariableCount) const { + uint64_t rang = 0 ; + if (inOperand.valueCount64 (inVariableCount) == 1) { + rang = rangBDDinterne (mBDDvalue, inOperand.mBDDvalue, inVariableCount) ; } - return n ; + return rang ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED - #pragma mark Mark and Sweep + #pragma mark Node Count #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static void recursiveMarkBDDNodes (const uint32_t inValue) { +static uint32_t internalRecursiveNodeCount (const uint32_t inValue) { const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; - if ((nodeIndex > 0) && ! isNodeMarkedThenMark (inValue COMMA_HERE)) { - if (bothBranches (gNodeArray [nodeIndex]) != 0) { - recursiveMarkBDDNodes (gNodeArray [nodeIndex].mTHEN) ; - recursiveMarkBDDNodes (gNodeArray [nodeIndex].mELSE) ; + uint32_t n = 0 ; + if (bothBranches (gNodeArray [nodeIndex]) != 0) { + if (! isNodeMarkedThenMark (inValue COMMA_HERE)) { + n = 1 ; + n += internalRecursiveNodeCount (gNodeArray [nodeIndex].mELSE) ; + n += internalRecursiveNodeCount (gNodeArray [nodeIndex].mTHEN) ; } } + return n ; } -//-------------------------------------------------------------------------------------------------- - -void C_BDD::markAllBDDnodes (void) { - recursiveMarkBDDNodes (mBDDvalue) ; -} - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_BDD::markAndSweepUnusedNodes (void) { - Timer timer ; -//--- Clear operation caches - clearANDOperationCache () ; -//--- Effacer tous les champs marquage des elements BDD existants - unmarkAllExistingBDDnodes () ; -//--- Marquer tous les elements utilises - C_BDD * p = gFirstBDD ; - while (p != nullptr) { - recursiveMarkBDDNodes (p->mBDDvalue) ; - p = p->mPtrToNextBDD ; - } -//--- Parcourir la table des elements BDD et recycler ceux qui sont inutilises - uint32_t unchangedNodeCount = 0 ; - if (gNodeArraySize > 0) { - gNodeArray [0].mAuxiliary = 0 ; - if (gMarkTable [0] == ~ 1LLU) { - unchangedNodeCount = 63 ; - for (uint32_t i=1 ; (i<(gNodeArraySize >> 6)) && (gMarkTable [i] == ~ 0LLU) ; i++) { - unchangedNodeCount += 64 ; - } - } - } - for (uint32_t i=1 ; i<=unchangedNodeCount ; i++) { - gNodeArray [i].mAuxiliary = i ; - } - uint32_t newNodeCount = unchangedNodeCount ; - for (uint32_t nodeIndex=unchangedNodeCount+1 ; nodeIndex<=gCurrentNodeCount ; nodeIndex++) { - if (isNodeMarked (nodeIndex << 1 COMMA_HERE)) { // Node is used - const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; - const uint32_t thenBranch = gNodeArray [nodeIndex].mTHEN ; - const uint32_t elseBranch = gNodeArray [nodeIndex].mELSE ; - macroAssert ((thenBranch >> 1) < nodeIndex, "(thenBranch [%lld] >> 1) < nodeIndex [%lld]", thenBranch >> 1, nodeIndex) ; - macroAssert ((elseBranch >> 1) < nodeIndex, "(elseBranch [%lld] >> 1) < nodeIndex [%lld]", elseBranch >> 1, nodeIndex) ; - const uint32_t newThenBranch = (gNodeArray [thenBranch >> 1].mAuxiliary << 1) | (thenBranch & 1) ; - const uint32_t newElseBranch = (gNodeArray [elseBranch >> 1].mAuxiliary << 1) | (elseBranch & 1) ; - newNodeCount ++ ; - gNodeArray [newNodeCount].mTHEN = newThenBranch ; - gNodeArray [newNodeCount].mELSE = newElseBranch ; - gNodeArray [newNodeCount].mVariableIndex = var ; - gNodeArray [nodeIndex].mAuxiliary = newNodeCount ; - } - } - const uint32_t previousNodeCount = gCurrentNodeCount ; - if (gNodeArraySize > 0) { - gCurrentNodeCount = newNodeCount ; - p = gFirstBDD ; - while (p != nullptr) { - const uint32_t previousValue = p->mBDDvalue ; - macroAssert ((gNodeArray [previousValue >> 1].mAuxiliary) <= (previousValue >> 1), "(elseBranch [%lld] >> 1) <= nodeIndex [%lld]", (gNodeArray [previousValue >> 1].mAuxiliary), previousValue >> 1) ; - p->mBDDvalue = (gNodeArray [previousValue >> 1].mAuxiliary << 1) | (previousValue & 1) ; - p = p->mPtrToNextBDD ; - } - } -//--- Rebuilt collision map - for (uint32_t i=0 ; i ") ; - gCout.appendUnsigned (gCurrentNodeCount) ; - gCout.appendCString (")\n") ; +uint32_t C_BDD::getBDDnodesCount (void) const { + const uint32_t nodeIndex = nodeIndexForRoot (mBDDvalue COMMA_HERE) ; + uint32_t result = 0 ; + if (bothBranches (gNodeArray [nodeIndex]) != 0) { + unmarkAllExistingBDDnodes () ; + result = internalRecursiveNodeCount (mBDDvalue) ; } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED - #pragma mark BDD constructors, destructor, assignment + #pragma mark Boolean array #endif -//-------------------------------------------------------------------------------------------------- - -C_BDD::C_BDD (void) : -mBDDvalue (0), -mPtrToPreviousBDD (nullptr), -mPtrToNextBDD (nullptr) { - initLinks () ; -} - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_BDD::C_BDD (const uint32_t inValue) : -mBDDvalue (inValue), -mPtrToPreviousBDD (nullptr), -mPtrToNextBDD (nullptr) { - initLinks () ; -} - -//-------------------------------------------------------------------------------------------------- - -C_BDD::C_BDD (const uint32_t variable, - const bool inSign) : -mBDDvalue (0), -mPtrToPreviousBDD (nullptr), -mPtrToNextBDD (nullptr) { - initLinks () ; - const uint32_t complement = inSign ? 0U : 1U ; - mBDDvalue = find_or_add (variable, complement, complement ^ 1 COMMA_HERE) ; -} +class cBuildArrayForSet : public C_bdd_value_traversing { +//--- Attributs + protected: TC_UniqueArray & mArray ; -//-------------------------------------------------------------------------------------------------- +//--- Constructeur + public: cBuildArrayForSet (TC_UniqueArray & outArray) ; -C_BDD::C_BDD (const C_BDD & inSource) : -mBDDvalue (inSource.mBDDvalue), -mPtrToPreviousBDD (nullptr), -mPtrToNextBDD (nullptr) { - initLinks () ; -} +//--- Methode virtuelle appelee pour chaque valeur + public: virtual void action (const bool inValuesArray [], + const uint32_t inBDDbitsSize) ; +} ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_BDD::initLinks (void) { - if (gFirstBDD == nullptr) { - gLastBDD = this ; - }else{ - gFirstBDD->mPtrToPreviousBDD = this ; - } - mPtrToNextBDD = gFirstBDD ; - gFirstBDD = this ; +cBuildArrayForSet:: +cBuildArrayForSet (TC_UniqueArray & outArray) : +mArray (outArray) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_BDD::~C_BDD (void) { - mBDDvalue = 0 ; - if (mPtrToPreviousBDD == nullptr) { - gFirstBDD = gFirstBDD->mPtrToNextBDD ; - }else{ - mPtrToPreviousBDD->mPtrToNextBDD = mPtrToNextBDD ; - } - if (mPtrToNextBDD == nullptr) { - gLastBDD = gLastBDD->mPtrToPreviousBDD ; - }else{ - mPtrToNextBDD->mPtrToPreviousBDD = mPtrToPreviousBDD ; +void cBuildArrayForSet::action (const bool inValuesArray [], + const uint32_t inBDDbitsSize) { + int32_t element = 0 ; + for (int32_t i=((int32_t) inBDDbitsSize) - 1 ; i>=0 ; i--) { + element = (element << 1) + inValuesArray [i] ; } + mArray.setObjectAtIndex (true, element COMMA_HERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_BDD & C_BDD::operator = (const C_BDD & inSource) { - mBDDvalue = inSource.mBDDvalue ; - return *this ; +void C_BDD::getBoolArray (TC_UniqueArray & outArray, + const uint32_t inMaxValues, + const uint32_t inBitSize) const { + outArray.removeAllKeepingCapacity () ; + outArray.setCapacity ((int32_t) inMaxValues) ; + outArray.appendObjects ((int32_t) inMaxValues, false) ; + cBuildArrayForSet s (outArray) ; + traverseBDDvalues (s, inBitSize) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED - #pragma mark Check all BDDs are well-formed + #pragma mark BDD as N-relation #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +// U P D A T E R E L A T I O N +// +//---------------------------------------------------------------------------------------------------------------------- -static void internalCheckBDDIsWellFormed (const uint32_t inBDD, - const uint32_t inCurrentVar - COMMA_LOCATION_ARGS) { - const uint32_t nodeIndex = nodeIndexForRoot (inBDD COMMA_HERE) ; - if (0 != bothBranches (gNodeArray [nodeIndex])) { +static uint32_t +internalRecursiveUpdateRelation (const uint32_t inValue, + const uint32_t inTranslationVector []) { + uint32_t result = inValue ; + const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; + if (bothBranches (gNodeArray [nodeIndex]) != 0) { const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; - if (var >= inCurrentVar) { - #ifndef DO_NOT_GENERATE_CHECKINGS - printf ("*** ERROR at %s:%d: BDD is not well-formed (var %u sould be < var %u) ***\n", IN_SOURCE_FILE, IN_SOURCE_LINE, var, inCurrentVar) ; - #else - printf ("*** ERROR (compile in debug mode for locating the error): BDD is not well-formed (var %u sould be < var %u) ***\n", var, inCurrentVar) ; - #endif - exit (1) ; - } - if (! isNodeMarkedThenMark (inBDD COMMA_HERE)) { - internalCheckBDDIsWellFormed (gNodeArray [nodeIndex].mTHEN, var COMMA_HERE) ; - internalCheckBDDIsWellFormed (gNodeArray [nodeIndex].mELSE, var COMMA_HERE) ; + if (inTranslationVector [var] != var) { + const uint32_t complement = inValue & 1 ; + result = internalITEoperation ( + find_or_add (inTranslationVector [var], 1, 0 COMMA_HERE), + internalRecursiveUpdateRelation (gNodeArray [nodeIndex].mELSE ^ complement, inTranslationVector), + internalRecursiveUpdateRelation (gNodeArray [nodeIndex].mTHEN ^ complement, inTranslationVector) + ) ; + uint32_t preceeding = (uint32_t) (inTranslationVector [var - 1] + 1) ; + while (preceeding < inTranslationVector [var]) { + result = internalITEoperation (find_or_add (preceeding, 1, 0 COMMA_HERE), result, 0) ; + preceeding ++ ; + } } } -} - -//-------------------------------------------------------------------------------------------------- - -void C_BDD::checkAllBDDsAreWellFormed (LOCATION_ARGS) { -//--- Unmark all nodes - unmarkAllExistingBDDnodes () ; -//--- Check BDDs - C_BDD * p = gFirstBDD ; - while (p != nullptr) { - internalCheckBDDIsWellFormed (p->mBDDvalue, UINT16_MAX COMMA_THERE) ; - p = p->mPtrToNextBDD ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void C_BDD::checkBDDIsWellFormed (LOCATION_ARGS) { -//--- Unmark all nodes - unmarkAllExistingBDDnodes () ; -//--- Check BDD - internalCheckBDDIsWellFormed (mBDDvalue, UINT16_MAX COMMA_THERE) ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Memory Usage -#endif - -//-------------------------------------------------------------------------------------------------- - -uint32_t C_BDD::currentMemoryUsage (void) { - uint32_t result = nodeMapMemoryUsage () ; - result += hashMapMemoryUsage () ; - result += ANDCacheMemoryUsage () ; - result += singleOperandOperationCacheMemoryUsage () ; return result ; } -//-------------------------------------------------------------------------------------------------- - -static uint32_t gMaximumMemoryUsage = UINT32_MAX ; - -//-------------------------------------------------------------------------------------------------- - -uint32_t C_BDD::maximumMemoryUsage (void) { // In MB - return gMaximumMemoryUsage ; -} - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_BDD::setMaximumMemoryUsage (const uint32_t inMaxMemoryUsage) { // In MB - gMaximumMemoryUsage = inMaxMemoryUsage ; +C_BDD C_BDD:: +updateRelation (const uint32_t inRelationBitNeededCount [], + uint32_t * inRelationBitCurrentCount [], + const int32_t inRelationCardinality) const { + uint32_t result = mBDDvalue ; +//--- Check if update is needed + bool updateIsNeeded = false ; + for (int32_t i=0 ; (i * (inRelationBitCurrentCount [i]) ; + } +//--- Perform updating + if (updateIsNeeded) { + uint32_t totalCurrentBitCount = 0 ; + uint32_t newNeededTotalBitCount = 0 ; + for (int32_t i=0 ; i entrySizeArray (1 COMMA_HERE) ; - for (uint32_t i=0 ; i length) { - entrySizeArray.incrementAtIndex (length COMMA_HERE) ; - }else{ - entrySizeArray.forceObjectAtIndex (length, 1, 0) ; - } +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD C_BDD:: +swap10 (const uint32_t inBitSize1, + const uint32_t inBitSize2) const { + const uint32_t totalSize = (uint32_t) (inBitSize1 + inBitSize2) ; + uint32_t * tab = nullptr ; + macroMyNewArray (tab, uint32_t, totalSize) ; + for (uint32_t i=0 ; i 0) && (gCollisionMapSize > 0)) { - inStream.appendCString (" ") ; - inStream.appendUnsigned (entrySizeArray (i COMMA_HERE)) ; - inStream.appendCString (" entries of size ") ; - inStream.appendSigned (i) ; - inStream.appendCString (" (") ; - inStream.appendUnsigned ((100UL * entrySizeArray (i COMMA_HERE)) / gCollisionMapSize) ; - inStream.appendCString ("%)\n") ; - } + for (uint32_t j=0 ; j * mPtr ; - - public: inline C_build_values64_array (TC_UniqueArray * inPtr) : - mPtr (inPtr) { - } +class cBuildArrayForRelation2 : public C_bdd_value_traversing { +//--- Attributes + protected: TC_UniqueArray > & mArray ; + protected: uint32_t mBitsSize1 ; -//--- No copy - private: C_build_values64_array (const C_build_values64_array &) ; - private: C_build_values64_array & operator = (const C_build_values64_array &) ; +//--- Constructor + public: + cBuildArrayForRelation2 (TC_UniqueArray > & outArray, + const uint32_t inBitsSize1) ; //--- Virtual method called for every value - public: virtual void action (const bool * tableauDesValeurs, - const uint32_t inVariableCount) ; + public: virtual void action (const bool inValuesArray [], + const uint32_t inBDDbitsSize) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_build_values64_array::action (const bool * tableauDesValeurs, - const uint32_t inVariableCount) { - uint64_t value = 0 ; - for (uint32_t i=1 ; i<=inVariableCount ; i++) { - value = (value << 1) | tableauDesValeurs [inVariableCount - i] ; +cBuildArrayForRelation2:: +cBuildArrayForRelation2 (TC_UniqueArray > & outArray, + const uint32_t inBitsSize1) : +mArray (outArray), +mBitsSize1 (inBitsSize1) { +} + +//---------------------------------------------------------------------------------------------------------------------- + +void cBuildArrayForRelation2::action (const bool inValuesArray [], + const uint32_t inBDDbitsSize) { + int32_t index1 = 0 ; + uint64_t index2 = 0 ; + for (int32_t i=((int32_t) mBitsSize1) - 1 ; i>=0 ; i--) { + index1 = (index1 << 1) + inValuesArray [i] ; } - mPtr->appendObject (value) ; + for (int32_t j=((int32_t) inBDDbitsSize) - 1 ; j>= (int32_t) mBitsSize1 ; j--) { + index2 = (index2 << 1) + inValuesArray [j] ; + } + mArray (index1 COMMA_HERE).appendObject (index2) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_BDD::buildValue64Array (TC_UniqueArray & outValuesArray, - const uint32_t inVariableCount) const { - macroAssert(inVariableCount < 64, "inVariableCount == %ld >= 64", (int64_t) inVariableCount, 0) ; - outValuesArray.removeAllKeepingCapacity () ; - C_build_values64_array builder (& outValuesArray) ; - bool * tableauDesValeurs = nullptr ; - macroMyNewArray (tableauDesValeurs, bool, inVariableCount) ; - parcoursBDDinterneParValeur (mBDDvalue, builder, tableauDesValeurs, inVariableCount, inVariableCount) ; - macroMyDeleteArray (tableauDesValeurs) ; +void C_BDD::getArray2 (TC_UniqueArray > & outArray, + const uint32_t inMaxValueCount, + const uint32_t inBitSize1, + const uint32_t inBitSize2) const { + outArray.removeAllKeepingCapacity () ; + outArray.setCapacityUsingSwap ((int32_t) inMaxValueCount) ; + for (uint32_t i=0 ; i > * mPtr ; +C_BDD C_BDD:: +swap021 (const uint32_t inBitSize1, + const uint32_t inBitSize2, + const uint32_t inBitSize3) const { + const uint32_t totalSize = (uint32_t) (inBitSize1 + inBitSize2 + inBitSize3) ; + uint32_t * tab = nullptr ; + macroMyNewArray (tab, uint32_t, totalSize) ; + for (uint32_t i=0 ; i > * inPtr) : - mPtr (inPtr) { +//---------------------------------------------------------------------------------------------------------------------- + +C_BDD C_BDD:: +swap120 (const uint32_t inBitSize1, + const uint32_t inBitSize2, + const uint32_t inBitSize3) const { + const uint32_t totalSize = (uint32_t) (inBitSize1 + inBitSize2 + inBitSize3) ; + uint32_t * tab = nullptr ; + macroMyNewArray (tab, uint32_t, totalSize) ; + for (uint32_t i=0 ; i value ; - for (uint32_t i=0 ; iappendObject (value) ; + for (uint32_t k=0 ; k > & outValuesArray, - const uint32_t inVariableCount) const { - outValuesArray.removeAllKeepingCapacity () ; - C_build_values_array builder (& outValuesArray) ; - bool * tableauDesValeurs = nullptr ; - macroMyNewArray (tableauDesValeurs, bool, inVariableCount) ; - parcoursBDDinterneParValeur (mBDDvalue, builder, tableauDesValeurs, inVariableCount, inVariableCount) ; - macroMyDeleteArray (tableauDesValeurs) ; +C_BDD C_BDD:: +swap201 (const uint32_t inBitSize1, + const uint32_t inBitSize2, + const uint32_t inBitSize3) const { + const uint32_t totalSize = (uint32_t) (inBitSize1 + inBitSize2 + inBitSize3) ; + uint32_t * tab = nullptr ; + macroMyNewArray (tab, uint32_t, totalSize) ; + for (uint32_t i=0 ; i * mPtr ; - - public: cLittleEndianStringValueBuilder (TC_UniqueArray * inPtr) : - mPtr (inPtr) { - } - -//--- No copy - private: cLittleEndianStringValueBuilder (const cLittleEndianStringValueBuilder &) ; - private: cLittleEndianStringValueBuilder & operator = (const cLittleEndianStringValueBuilder &) ; - -//--- Virtual method called for every value - public: virtual void action (const bool * tableauDesValeurs, - const uint32_t inVariableCount) ; -} ; +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- - -void cLittleEndianStringValueBuilder:: -action (const bool * tableauDesValeurs, - const uint32_t inVariableCount) { - String value ; - for (uint32_t i=0 ; i & inValueArray) { + for (int32_t i=inValueArray.count () - 1 ; i>=0 ; i--) { + if ((i % 4) == 3) { + outputStream << " " ; + } + outputStream << cStringWithCharacter (inValueArray (i COMMA_HERE)) ; } - mPtr->appendObject (value) ; + outputStream << "\n" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_BDD:: -buildLittleEndianStringValueArray (TC_UniqueArray & outValuesArray, - const uint32_t inVariableCount) const { - outValuesArray.removeAllKeepingCapacity () ; - cLittleEndianStringValueBuilder builder (& outValuesArray) ; - bool * tableauDesValeurs = nullptr ; - macroMyNewArray (tableauDesValeurs, bool, inVariableCount) ; - parcoursBDDinterneParValeur (mBDDvalue, builder, tableauDesValeurs, inVariableCount, inVariableCount) ; - macroMyDeleteArray (tableauDesValeurs) ; +static void internalPrintWithSeparator (AC_OutputStream & outputStream, + const uint32_t inValue, + TC_UniqueArray & inDisplayString, + uint32_t inVariableIndex) { + const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; + const uint32_t complement = inValue & 1 ; + if (bothBranches (gNodeArray [nodeIndex]) == 0) { + if (complement == 1) { + printLineWithSeparator (outputStream, inDisplayString) ; + } + }else{ + const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; + while (inVariableIndex > var) { + inDisplayString.setObjectAtIndex ('X', (int32_t) inVariableIndex COMMA_HERE) ; + inVariableIndex -- ; + } + //--- Branche Zero + const uint32_t branche0 = gNodeArray [nodeIndex].mELSE ^ complement ; + if (branche0 != 0) { + inDisplayString.setObjectAtIndex ('0', (int32_t) var COMMA_HERE) ; + if (branche0 == 1) { + for (uint32_t i=0 ; i * mPtr ; +//---------------------------------------------------------------------------------------------------------------------- - public: cBuildBigEndianStringValueArray (TC_UniqueArray * inPtr) : - mPtr (inPtr) { +void C_BDD::print (AC_OutputStream & outputStream) const { + if (mBDDvalue == 0) { + outputStream << "(false)\n" ; + }else if (mBDDvalue == 1) { + outputStream << "(true)\n" ; + }else{ + const uint32_t nodeIndex = nodeIndexForRoot (mBDDvalue COMMA_HERE) ; + const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; + TC_UniqueArray displayString ((int32_t) var + 1, 'X' COMMA_HERE) ; + internalPrintWithSeparator (outputStream, + mBDDvalue, + displayString, + var) ; } +} -//--- No copy - private: cBuildBigEndianStringValueArray (const cBuildBigEndianStringValueArray &) ; - private: cBuildBigEndianStringValueArray & operator = (const cBuildBigEndianStringValueArray &) ; - -//--- Virtual method called for every value - public: virtual void action (const bool * tableauDesValeurs, - const uint32_t inVariableCount) ; -} ; - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cBuildBigEndianStringValueArray::action (const bool * tableauDesValeurs, - const uint32_t inVariableCount) { - String value ; - for (uint32_t i=inVariableCount ; i>0 ; i--) { - value.appendASCIIChar (char ('0' + tableauDesValeurs [i-1])) ; +void C_BDD::printHeader (AC_OutputStream & outputStream) const { + if (mBDDvalue > 1) { + const uint32_t nodeIndex = nodeIndexForRoot (mBDDvalue COMMA_HERE) ; + const int32_t var = (int32_t) gNodeArray [nodeIndex].mVariableIndex ; + //--- Digit count + int32_t digitCount = 0 ; + int32_t n = var ; + int32_t divisor = 1 ; + while (n > 0) { + digitCount ++ ; + n /= 10 ; + divisor *= 10 ; + } + //--- + for (int32_t d=0 ; d=0 ; i--) { + if ((i % 4) == 3) { + outputStream << " " ; + } + const int32_t v = (i / divisor) % 10 ; + outputStream << cStringWithSigned (v) ; + } + outputStream << "\n" ; + } + for (int32_t i=var ; i>=0 ; i--) { + if ((i % 4) == 3) { + outputStream << "-" ; + } + outputStream << "-" ; + } + outputStream << "\n" ; } - mPtr->appendObject (value) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_BDD::buildBigEndianStringValueArray (TC_UniqueArray & outValuesArray, - const uint32_t inVariableCount) const { - outValuesArray.removeAllKeepingCapacity () ; - cBuildBigEndianStringValueArray builder (& outValuesArray) ; - bool * tableauDesValeurs = nullptr ; - macroMyNewArray (tableauDesValeurs, bool, inVariableCount) ; - parcoursBDDinterneParValeur (mBDDvalue, builder, tableauDesValeurs, inVariableCount, inVariableCount) ; - macroMyDeleteArray (tableauDesValeurs) ; +void C_BDD::printWithHeader (AC_OutputStream & outputStream) const { + printHeader (outputStream) ; + print (outputStream) ; } -//-------------------------------------------------------------------------------------------------- - -class cBuildQueryString : public C_bdd_value_traversing { - private: String * mStringPtr ; - - public: cBuildQueryString (String * inStringPtr) : - mStringPtr (inStringPtr) { - } +//---------------------------------------------------------------------------------------------------------------------- -//--- No copy - private: cBuildQueryString (const cBuildQueryString &) ; - private: cBuildQueryString & operator = (const cBuildQueryString &) ; +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Print BDD with variables +#endif +//---------------------------------------------------------------------------------------------------------------------- -//--- Virtual method called for every value - public: virtual void action (const bool * tableauDesValeurs, - const uint32_t inVariableCount) ; -} ; +static void printLineWithSeparator (AC_OutputStream & outputStream, + const TC_UniqueArray & inValueSeparation, + const TC_UniqueArray & inBitCounts, + const TC_UniqueArray & inValueArray) { + int32_t bitIndex = inValueArray.count () - 1 ; + for (int32_t i=0 ; ilength () > 0) { - mStringPtr->appendCString ("|") ; - } - for (uint32_t i=inVariableCount ; i>0 ; i--) { - mStringPtr->appendASCIIChar (char ('0' + tableauDesValeurs [i-1])) ; +static void internalPrintWithSeparator (AC_OutputStream & outputStream, + const TC_UniqueArray & inValueSeparation, + const TC_UniqueArray & inBitCounts, + const uint32_t inValue, + TC_UniqueArray & inDisplayString, + uint32_t inVariableIndex) { + const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; + const uint32_t complement = inValue & 1 ; + if (bothBranches (gNodeArray [nodeIndex]) == 0) { + if (complement == 1) { + printLineWithSeparator (outputStream, inValueSeparation, inBitCounts, inDisplayString) ; + } + }else{ + const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; + while (inVariableIndex > var) { + inDisplayString.setObjectAtIndex ('X', (int32_t) inVariableIndex COMMA_HERE) ; + inVariableIndex -- ; + } + //--- Branche Zero + const uint32_t branche0 = gNodeArray [nodeIndex].mELSE ^ complement ; + if (branche0 != 0) { + inDisplayString.setObjectAtIndex ('0', (int32_t) var COMMA_HERE) ; + if (branche0 == 1) { + for (uint32_t i=0 ; i stringArray ; - buildCompressedBigEndianStringValueArray (stringArray COMMA_THERE) ; - if (stringArray.count () > 0) { - s.appendString (stringArray (0 COMMA_HERE)) ; - for (int32_t i=1 ; i & inVariablesNames, + const TC_UniqueArray & inBitCounts) const { +//--- Build separators + TC_UniqueArray variableNameSeparation ; + TC_UniqueArray valuesSeparation ; + for (int32_t i=0 ; i bitCount) ? variableLength : bitCount ; + variableNameSeparation.appendObject (length - variableLength) ; + valuesSeparation.appendObject (length - bitCount) ; + } +//--- Print header + for (int32_t i=0 ; i & inValueSeparation, + const TC_UniqueArray & inBitCounts, + const int32_t inPrefixedSpaceCount) const { + if (mBDDvalue == 0) { + outputStream << C_String::spaces (inPrefixedSpaceCount) << "(false)\n" ; + }else if (mBDDvalue == 1) { + outputStream << C_String::spaces (inPrefixedSpaceCount) << "(true)\n" ; + }else{ + uint32_t totalBitCount = 0 ; + for (int32_t i=0 ; i displayString ((int32_t) totalBitCount, 'X' COMMA_HERE) ; + internalPrintWithSeparator (outputStream, + inValueSeparation, + inBitCounts, + mBDDvalue, + displayString, + totalBitCount - 1) ; } - return s ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED - #pragma mark Cache for AND Operation + #pragma mark Graphviz representation #endif -//-------------------------------------------------------------------------------------------------- -// -// And computation cache -// -//-------------------------------------------------------------------------------------------------- - -class tStructANDOperationCacheEntry { - public: uint64_t mOperands ; - public: uint32_t mResult ; -} ; - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const int32_t kANDOperationCacheInitialSize = 262145 ; +static void buildGraphvizRepresentation (C_String & ioString, + const C_String & inSourceNode, + const uint32_t inBDDValue, + const TC_UniqueArray & inBitNames) { + const uint32_t nodeIndex = nodeIndexForRoot (inBDDValue COMMA_HERE) ; + const int32_t var = (int32_t) gNodeArray [nodeIndex].mVariableIndex ; + const C_String node = C_String ("N") + cStringWithUnsigned (nodeIndex) ; + if (! isNodeMarkedThenMark (inBDDValue COMMA_HERE)) { + const uint32_t THENbranch = gNodeArray [nodeIndex].mTHEN ; + C_String THENlabel ; + if (THENbranch == 0) { + THENlabel << "F" ; + }else if (THENbranch == 1) { + THENlabel << "T" ; + }else{ + THENlabel << "" ; + } + const uint32_t ELSEbranch = gNodeArray [nodeIndex].mELSE ; + C_String ELSElabel ; + if (ELSEbranch == 0) { + ELSElabel << "F" ; + }else if (ELSEbranch == 1) { + ELSElabel << "T" ; + }else{ + ELSElabel << "" ; + } + ioString << " " << node << " [label=\"{" << inBitNames (var COMMA_HERE) << "|{" << ELSElabel << "|" << THENlabel << "}}\"]\n" ; + if (ELSEbranch > 1) { + buildGraphvizRepresentation (ioString, node + ":f0:c", ELSEbranch, inBitNames) ; + } + if (THENbranch > 1) { + buildGraphvizRepresentation (ioString, node + ":f1:c", THENbranch, inBitNames) ; + } + } + ioString << " " << inSourceNode << " -> " << node << "" ; + if ((inBDDValue & 1) != 0) { + ioString << " [dir=both, arrowtail=dot]" ; + } + ioString << " ;\n" ; +} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static uint64_t * gANDOperationCacheOperandMap ; -static uint32_t * gANDOperationCacheResultMap ; -static uint32_t gANDOperationMapSize ; -static uint32_t gANDOperationCacheMapUsedEntryCount ; -static uint64_t gANDOperationCacheTrivialOperationCount ; -static bool gANDOperationCacheExpandable = true ; -static uint32_t gANDOperationCacheMaxPowerOfTwoSize = 31 ; +C_String C_BDD::graphvizRepresentation (void) const { + int32_t varCount = 0 ; + if (mBDDvalue > 1) { + const uint32_t nodeIndex = nodeIndexForRoot (mBDDvalue COMMA_HERE) ; + varCount = ((int32_t) gNodeArray [nodeIndex].mVariableIndex) + 1 ; + } + TC_UniqueArray bitNames ; + for (int32_t i=0 ; i & inBitNames) const { + unmarkAllExistingBDDnodes () ; + C_String result ; + result << "digraph G {\n" ; + if (mBDDvalue == 0) { + result << " N [label=\"F\", shape=rectangle]\n" ; + }else if (mBDDvalue == 1) { + result << " N [label=\"T\", shape=rectangle]\n" ; + }else{ + result << " edge [arrowhead=vee, tailclip=false]\n" + << " node [fontname=courier, shape=record]\n" + << " N [label=\"\", shape=rectangle]\n" ; + buildGraphvizRepresentation (result, "N", mBDDvalue, inBitNames) ; + } + result << "}\n" ; + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void releaseANDOperationCache (void) { - gANDOperationCacheMapUsedEntryCount = 0 ; - macroMyDeletePODArray (gANDOperationCacheOperandMap) ; - macroMyDeletePODArray (gANDOperationCacheResultMap) ; - gANDOperationMapSize = 0 ; - gANDOperationCacheExpandable = true ; -} +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark String array representation +#endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void clearANDOperationCache (void) { - gANDOperationCacheMapUsedEntryCount = 0 ; - for (uint32_t i=0 ; i & outStringArray + COMMA_LOCATION_ARGS) { + const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; + const uint32_t complement = inValue & 1 ; + if (bothBranches (gNodeArray [nodeIndex]) == 0) { + if (complement == 1) { + outStringArray.appendObject (ioDisplayString) ; + } + }else{ + const uint32_t var = gNodeArray [nodeIndex].mVariableIndex ; + while (inVariableIndex > var) { + ioDisplayString.setUnicodeCharacterAtIndex (TO_UNICODE ('X'), (int32_t) inVariableIndex COMMA_THERE) ; + inVariableIndex -- ; + } + //--- Branche Zero + const uint32_t branche0 = gNodeArray [nodeIndex].mELSE ^ complement ; + if (branche0 != 0) { + ioDisplayString.setUnicodeCharacterAtIndex (TO_UNICODE ('0'), (int32_t) var COMMA_HERE) ; + if (branche0 == 1) { + for (uint32_t i=0 ; i & outStringArray + COMMA_LOCATION_ARGS) const { + const uint32_t nodeIndex = nodeIndexForRoot (mBDDvalue COMMA_HERE) ; + if (bothBranches (gNodeArray [nodeIndex]) != 0) { + C_String displayString ; + for (int32_t i=0 ; i<=((int32_t) gNodeArray [nodeIndex].mVariableIndex) ; i++) { + displayString << "X" ; + } + internalPrintBDDInLittleEndianStringArray (mBDDvalue, displayString, gNodeArray [nodeIndex].mVariableIndex, outStringArray COMMA_THERE) ; + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static bool searchInANDOperationCache (const uint32_t inOperand1, - const uint32_t inOperand2, - uint32_t & outResult) { - if (0 == gANDOperationMapSize) { - gANDOperationMapSize = kANDOperationCacheInitialSize ; - macroMyNewPODArray (gANDOperationCacheOperandMap, uint64_t, gANDOperationMapSize) ; - macroMyNewPODArray (gANDOperationCacheResultMap, uint32_t, gANDOperationMapSize) ; - clearANDOperationCache () ; - if (C_BDD::displaysInformationMessages ()) { - printf ("BDD package info: AND cache allocated to %u %03u %03u (%u MB)\n", - gANDOperationMapSize / 1000000, - (gANDOperationMapSize / 1000) % 1000, - gANDOperationMapSize % 1000, - (gANDOperationMapSize * (uint32_t) (sizeof (uint32_t) + sizeof (uint64_t))) / 1000000) ; - } - } - const uint64_t operands = getOperands (inOperand1, inOperand2) ; - const uint64_t idx = operands % gANDOperationMapSize ; - const bool found = gANDOperationCacheOperandMap [idx] == operands ; - if (found) { - outResult = gANDOperationCacheResultMap [idx] ; +void C_BDD:: +buildCompressedLittleEndianStringValueArray (TC_UniqueArray & outStringArray, + const uint32_t inVariableCount + COMMA_LOCATION_ARGS) const { + C_String displayString ; + for (int32_t i=0 ; i<((int32_t) inVariableCount) ; i++) { + displayString << "X" ; } - return found ; + internalPrintBDDInLittleEndianStringArray (mBDDvalue, displayString, inVariableCount, outStringArray COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static void reallocANDOperationCache (const uint32_t inNewSize) { - if (0 < inNewSize) { - gANDOperationCacheMapUsedEntryCount = 0 ; - uint64_t * newCache = nullptr ; - macroMyNewPODArray (newCache, uint64_t, inNewSize) ; - for (uint32_t i=0 ; i & outStringArray + COMMA_LOCATION_ARGS) { + const uint32_t nodeIndex = nodeIndexForRoot (inValue COMMA_HERE) ; + const uint32_t complement = inValue & 1 ; + if (bothBranches (gNodeArray [nodeIndex]) == 0) { + if (complement == 1) { + outStringArray.appendObject (ioDisplayString) ; } - uint32_t * newResult = nullptr ; - macroMyNewPODArray (newResult, uint32_t, inNewSize) ; - for (uint32_t i=0 ; i var) { + ioDisplayString.setUnicodeCharacterAtIndex (TO_UNICODE ('X'), (int32_t) (inTotalVariableCountMinusOne - inVariableIndex) COMMA_THERE) ; + inVariableIndex -- ; } - macroMyDeletePODArray (gANDOperationCacheOperandMap) ; - macroMyDeletePODArray (gANDOperationCacheResultMap) ; - gANDOperationCacheOperandMap = newCache ; - gANDOperationCacheResultMap = newResult ; - gANDOperationMapSize = inNewSize ; - if (C_BDD::displaysInformationMessages ()) { - printf ("BDD package info: AND cache reallocated to %u %03u %03u (%u MB)\n", - gANDOperationMapSize / 1000000, - (gANDOperationMapSize / 1000) % 1000, - gANDOperationMapSize % 1000, - (gANDOperationMapSize * (uint32_t) (sizeof (uint32_t) + sizeof (uint64_t))) / 1000000) ; - } - } -} - -//-------------------------------------------------------------------------------------------------- - -static void enterInANDOperationCache (const uint32_t inOperand1, - const uint32_t inOperand2, - const uint32_t inResult) { - const uint64_t operands = getOperands (inOperand1, inOperand2) ; - const uint64_t idx = operands % gANDOperationMapSize ; - const bool entryWasUnused = gANDOperationCacheOperandMap [idx] == 0 ; - gANDOperationCacheOperandMap [idx] = operands ; - gANDOperationCacheResultMap [idx] = inResult ; -//--- Realloc cache ? - if (entryWasUnused) { - gANDOperationCacheMapUsedEntryCount ++ ; - if (gANDOperationCacheExpandable && - ((gANDOperationCacheMapUsedEntryCount + gANDOperationCacheMapUsedEntryCount / 4) > gANDOperationMapSize)) { - const uint32_t newSize = getPrimeGreaterThan (gANDOperationMapSize + 1) ; - if (newSize < (1U << gANDOperationCacheMaxPowerOfTwoSize)) { - uint32_t newMemoryUsage = C_BDD::currentMemoryUsage () ; - newMemoryUsage -= ANDCacheMemoryUsage () ; - newMemoryUsage += (uint32_t) ((newSize * (sizeof (uint64_t) + sizeof (uint32_t))) / 1000000) ; - if (newMemoryUsage < C_BDD::maximumMemoryUsage ()) { - reallocANDOperationCache (newSize) ; - }else{ - gANDOperationCacheExpandable = false ; - if (C_BDD::displaysInformationMessages ()) { - printf ("BDD package info: AND cache reallocation to %u %03u %03u inhibited (max RAM usage reached)\n", - newSize / 1000000, - (newSize / 1000) % 1000, - newSize % 1000) ; - } + //--- Branche Zero + const uint32_t branche0 = gNodeArray [nodeIndex].mELSE ^ complement ; + if (branche0 != 0) { + ioDisplayString.setUnicodeCharacterAtIndex (TO_UNICODE ('0'), (int32_t) (inTotalVariableCountMinusOne - var) COMMA_THERE) ; + if (branche0 == 1) { + for (uint32_t i=0 ; i & outStringArray + COMMA_LOCATION_ARGS) const { + const uint32_t nodeIndex = nodeIndexForRoot (mBDDvalue COMMA_HERE) ; + if (bothBranches (gNodeArray [nodeIndex]) != 0) { + C_String displayString ; + for (int32_t i=0 ; i<=((int32_t) gNodeArray [nodeIndex].mVariableIndex) ; i++) { + displayString << "X" ; + } + internalPrintBDDInBigEndianStringArray (mBDDvalue, displayString, gNodeArray [nodeIndex].mVariableIndex, gNodeArray [nodeIndex].mVariableIndex, outStringArray COMMA_THERE) ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- -void C_BDD::setANDOperationCacheMaxSize (const uint32_t inPowerOfTwo) { - gANDOperationCacheMaxPowerOfTwoSize = inPowerOfTwo ; - if (C_BDD::displaysInformationMessages ()) { - printf ("BDD package info: AND cache max size limited < 2 ** %u\n", gANDOperationCacheMaxPowerOfTwoSize) ; +void C_BDD:: +buildCompressedBigEndianStringValueArray (TC_UniqueArray & outStringArray, + const uint32_t inVariableCount + COMMA_LOCATION_ARGS) const { + C_String displayString ; + for (int32_t i=0 ; i<((int32_t) inVariableCount) ; i++) { + displayString << "X" ; } + internalPrintBDDInBigEndianStringArray (mBDDvalue, + displayString, + inVariableCount - 1, + inVariableCount - 1, + outStringArray COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED - #pragma mark AND operation + #pragma mark Build BDD from value list #endif -//-------------------------------------------------------------------------------------------------- -// -// Operation AND -// -//-------------------------------------------------------------------------------------------------- - -uint32_t internalANDoperation (const uint32_t opf, - const uint32_t opg) { - uint32_t result ; - uint32_t f = opf ; - uint32_t g = opg ; -//--- Simplification 1 : si f > g, and (f, g) -> and (g, f) ; - if (f > g) { - const uint32_t tempo = g ; g = f ; f = tempo ; - } -//--- Test trivial 1 : and (0, g) -> 0 ; - if (f == 0) { - gANDOperationCacheTrivialOperationCount ++ ; - result = 0 ; -//--- Test trivial 2 : and (1, g) -> g ; - }else if (f == 1) { - gANDOperationCacheTrivialOperationCount ++ ; - result = g ; -//--- Test trivial 3 : and (f, f) -> f ; - }else if (f == g) { - gANDOperationCacheTrivialOperationCount ++ ; - result = g ; -//--- Test trivial 3 : and (f, ~f) -> 0 ; - }else if ((f ^ g) == 1) { - gANDOperationCacheTrivialOperationCount ++ ; - result = 0 ; -//--- Effectuer le calcul - }else if (! searchInANDOperationCache (f, g, result)) { - //--- Faire l'operation - const uint32_t nodeF = nodeIndexForRoot (f COMMA_HERE) ; - const uint32_t nodeG = nodeIndexForRoot (g COMMA_HERE) ; - const uint32_t compF = f & 1 ; - const uint32_t compG = g & 1 ; - const uint32_t varF = gNodeArray [nodeF].mVariableIndex ; - const uint32_t varG = gNodeArray [nodeG].mVariableIndex ; - //--- Compute - if (varF < varG) { - result = find_or_add (varG, - internalANDoperation (f, gNodeArray [nodeG].mELSE ^ compG), - internalANDoperation (f, gNodeArray [nodeG].mTHEN ^ compG) COMMA_HERE) ; - }else if (varF == varG) { - result = find_or_add (varF, - internalANDoperation (gNodeArray [nodeF].mELSE ^ compF, gNodeArray [nodeG].mELSE ^ compG), - internalANDoperation (gNodeArray [nodeF].mTHEN ^ compF, gNodeArray [nodeG].mTHEN ^ compG) COMMA_HERE) ; - }else{ // varF > varG - result = find_or_add (varF, - internalANDoperation (gNodeArray [nodeF].mELSE ^ compF, g), - internalANDoperation (gNodeArray [nodeF].mTHEN ^ compF, g) COMMA_HERE) ; - } - //--- Insert result into cache - enterInANDOperationCache (f, g, result) ; +static inline void swapValueArray (uint64_t ioValueArray [], + const int32_t inIndex1, + const int32_t inIndex2) { + const uint64_t v = ioValueArray [inIndex1] ; + ioValueArray [inIndex1] = ioValueArray [inIndex2] ; + ioValueArray [inIndex2] = v ; +} + +//---------------------------------------------------------------- + +static void sortValueArray (uint64_t ioValueArray [], + const int32_t inLeftIndex, + const int32_t inRightIndex) { + if (inLeftIndex < inRightIndex) { + const int32_t pivotIndex = (inRightIndex + inLeftIndex) / 2 ; + const uint64_t pivotValue = ioValueArray [pivotIndex] ; + //--- Move pivot to the end + swapValueArray (ioValueArray, pivotIndex, inRightIndex) ; + //--- storeIndex := left + int32_t storeIndex = inLeftIndex ; + for (int32_t i=inLeftIndex ; i 0)***\n", __FILE__, __LINE__) ; + exit (1) ; + } + if (inBitCount > 64) { + printf ("*** error in %s:%d: inBitCount = %u (should be <= 64)***\n", __FILE__, __LINE__, inBitCount) ; + exit (1) ; + } +//--- + C_BDD result ; + if (inValueCount > 0) { + //--- Sort value list in ascending order + sortValueArray (ioValueList, 0, (int32_t) (inValueCount - 1)) ; + //--- Search for duplicates + uint32_t duplicates = 0 ; + for (uint32_t i=1 ; i 0) { + printf ("Warning: %u duplicates\n", duplicates) ; + } + //--- Translate into BDD + C_BDD * accumulatorArray = nullptr ; + macroMyNewArray (accumulatorArray, C_BDD, inBitCount) ; + uint64_t referenceValue = ioValueList [0] ; + for (uint32_t i=0 ; i= 0) && (((currentTransition ^ referenceValue) & mask) == 0)) { + firstDifferentBit -- ; + mask >>=1 ; + } + if (firstDifferentBit >= 0) { + C_BDD accumulatorBDD ; accumulatorBDD.setToTrue () ; + mask = 1UL ; + for (int32_t idx=0 ; idx<=firstDifferentBit ; idx++) { + accumulatorBDD = (C_BDD ((uint32_t) (((uint32_t) idx) & UINT16_MAX), (referenceValue & mask) != 0) & accumulatorBDD) | accumulatorArray [idx] ; + accumulatorArray [idx].setToFalse () ; + mask <<= 1 ; + } + referenceValue = currentTransition ; + accumulatorArray [firstDifferentBit] |= accumulatorBDD ; + } + } + result.setToTrue () ; + uint64_t mask = 1UL ; + for (uint32_t idx=0 ; idx -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class C_bdd_value_traversing ; -class String ; -class AbstractOutputStream ; +class C_String ; +class AC_OutputStream ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class C_BDD final { //--- enum for comparison operators @@ -117,33 +117,33 @@ class C_BDD final { const compareEnum inComparison, const uint64_t inComparisonConstant) ; - public: static C_BDD bddWithConstants (const uint32_t * inValues, - const uint32_t * inBitCountArray, - const int32_t inEntryCount) ; + public: static C_BDD bddWithConstants (const uint32_t inValues [], + const uint32_t inBitCount [], + const int32_t inEntryCount) ; //--- Buil a BDD from a value list. This method sorts value list in ascending order - public: static C_BDD buildBDDFromValueList (uint64_t * ioValueArray, - const uint32_t inValueCount, - const uint32_t inBitCount) ; + public: static C_BDD buildBDDFromValueList (uint64_t ioValueList [], + const uint32_t inValueCount, + const uint32_t inBitCount) ; //--- Get BDD values count public: uint64_t valueCount64 (const uint32_t inVariableCount) const ; - public: UInt128 valueCount128 (const uint32_t inVariableCount) const ; + public: PMUInt128 valueCount128 (const uint32_t inVariableCount) const ; - public: BigSigned valueCount (const uint32_t inVariableCount) const ; + public: C_BigInt valueCount (const uint32_t inVariableCount) const ; public: uint64_t valueCount64UsingCache (const uint32_t inVariableCount, - TC_UniqueArray & ioDirectCacheArray, - TC_UniqueArray & ioComplementCacheArray) const ; + TC_UniqueArray & ioDirectCacheArray, + TC_UniqueArray & ioComplementCacheArray) const ; - public: UInt128 valueCount128UsingCache (const uint32_t inVariableCount, - TC_UniqueArray & ioDirectCacheArray, - TC_UniqueArray & ioComplementCacheArray) const ; + public: PMUInt128 valueCount128UsingCache (const uint32_t inVariableCount, + TC_UniqueArray & ioDirectCacheArray, + TC_UniqueArray & ioComplementCacheArray) const ; - public: BigSigned valueCountUsingCache (const uint32_t inVariableCount, - TC_UniqueArray & ioDirectCacheArray, - TC_UniqueArray & ioComplementCacheArray) const ; + public: C_BigInt valueCountUsingCache (const uint32_t inVariableCount, + TC_UniqueArray & ioDirectCacheArray, + TC_UniqueArray & ioComplementCacheArray) const ; //--- Return highest bit index + 1 public: uint32_t significantVariableCount (void) const ; @@ -164,30 +164,30 @@ class C_BDD final { //--- Test if a BDD does contain a value public: bool containsValue64 (const uint64_t inValue, - const uint32_t inFirstBit, - const uint32_t inBitCount) const ; + const uint32_t inFirstBit, + const uint32_t inBitCount) const ; public: bool containsValue (const TC_Array & inValue, - const uint32_t inFirstBit, - const uint32_t inBitCount) const ; + const uint32_t inFirstBit, + const uint32_t inBitCount) const ; //------------------------ Updating a relation - public: C_BDD updateRelation (const uint32_t * inRelationBitNeededCountArray, - uint32_t* * inRelationBitCurrentCountArray, - const int32_t inRelationCardinality) const ; + public: C_BDD updateRelation (const uint32_t inRelationBitNeededCount [], + uint32_t * inRelationBitCurrentCount [], + const int32_t inRelationCardinality) const ; //--- Translate BDD bits public: C_BDD translate (const uint32_t inVariableCount, - const uint32_t inTranslation) const ; + const uint32_t inTranslation) const ; public: void getBoolArray (TC_UniqueArray & outArray, - const uint32_t inMaxValues, - const uint32_t inBitSize) const ; + const uint32_t inMaxValues, + const uint32_t inBitSize) const ; //---- Substituing variables - public: C_BDD substitution (const uint32_t * inSubstitutionArray, - const uint32_t inVariableCount - COMMA_LOCATION_ARGS) const ; + public: C_BDD substitution (const uint32_t inSubstitutionArray [], + const uint32_t inVariableCount + COMMA_LOCATION_ARGS) const ; public: C_BDD exchangeVariables (const uint32_t var1, const uint32_t var2) const ; @@ -197,74 +197,74 @@ class C_BDD final { //--- BDD as 2-relations public: C_BDD swap10 (const uint32_t inBitSize1, - const uint32_t inBitSize2) const ; + const uint32_t inBitSize2) const ; public: C_BDD accessibleStates (const C_BDD & inInitialStateSet, - const uint32_t inBitSize, - int32_t * outIterationCount) const ; + const uint32_t inBitSize, + int32_t * outIterationCount) const ; public: C_BDD transitiveClosure (const uint32_t inBitSize, - int32_t * outIterationCount) const ; + int32_t * outIterationCount) const ; public: void getArray2 (TC_UniqueArray > & outArray, - const uint32_t inMaxValueCount, - const uint32_t inBitSize1, - const uint32_t inBitSize2) const ; + const uint32_t inMaxValueCount, + const uint32_t inBitSize1, + const uint32_t inBitSize2) const ; //--- BDD as 3-relations public: C_BDD swap021 (const uint32_t inBitSize1, - const uint32_t inBitSize2, - const uint32_t inBitSize3) const ; + const uint32_t inBitSize2, + const uint32_t inBitSize3) const ; public: C_BDD swap102 (const uint32_t inBitSize1, - const uint32_t inBitSize2, - const uint32_t inBitSize3) const ; + const uint32_t inBitSize2, + const uint32_t inBitSize3) const ; public: C_BDD swap120 (const uint32_t inBitSize1, - const uint32_t inBitSize2, - const uint32_t inBitSize3) const ; + const uint32_t inBitSize2, + const uint32_t inBitSize3) const ; public: C_BDD swap201 (const uint32_t inBitSize1, - const uint32_t inBitSize2, - const uint32_t inBitSize3) const ; + const uint32_t inBitSize2, + const uint32_t inBitSize3) const ; public: C_BDD swap210 (const uint32_t inBitSize1, - const uint32_t inBitSize2, - const uint32_t inBitSize3) const ; + const uint32_t inBitSize2, + const uint32_t inBitSize3) const ; //--- Printing - public: String graphvizRepresentation (void) const ; - public: String graphvizRepresentationWithNames (const TC_UniqueArray & inBitNames) const ; + public: C_String graphvizRepresentation (void) const ; + public: C_String graphvizRepresentationWithNames (const TC_UniqueArray & inBitNames) const ; - public: void print (AbstractOutputStream & outputStream) const ; + public: void print (AC_OutputStream & outputStream) const ; - public: void printHeader (AbstractOutputStream & outputStream) const ; + public: void printHeader (AC_OutputStream & outputStream) const ; - public: void printWithHeader (AbstractOutputStream & outputStream) const ; + public: void printWithHeader (AC_OutputStream & outputStream) const ; - public: void print (AbstractOutputStream & outputStream, - const TC_UniqueArray & inVariablesNames, + public: void print (AC_OutputStream & outputStream, + const TC_UniqueArray & inVariablesNames, const TC_UniqueArray & inBitCounts) const ; - public: void print (AbstractOutputStream & outputStream, + public: void print (AC_OutputStream & outputStream, const TC_UniqueArray & inValueSeparation, const TC_UniqueArray & inBitCounts, const int32_t inPrefixedSpaceCount) const ; //--- Buid string compressed representation - public: void buildCompressedLittleEndianStringValueArray (TC_UniqueArray & outStringArray + public: void buildCompressedLittleEndianStringValueArray (TC_UniqueArray & outStringArray COMMA_LOCATION_ARGS) const ; - public: void buildCompressedLittleEndianStringValueArray (TC_UniqueArray & outStringArray, + public: void buildCompressedLittleEndianStringValueArray (TC_UniqueArray & outStringArray, const uint32_t inVariableCount COMMA_LOCATION_ARGS) const ; - public: void buildCompressedBigEndianStringValueArray (TC_UniqueArray & outStringArray + public: void buildCompressedBigEndianStringValueArray (TC_UniqueArray & outStringArray COMMA_LOCATION_ARGS) const ; - public: void buildCompressedBigEndianStringValueArray (TC_UniqueArray & outStringArray, + public: void buildCompressedBigEndianStringValueArray (TC_UniqueArray & outStringArray, const uint32_t inVariableCount COMMA_LOCATION_ARGS) const ; @@ -284,16 +284,16 @@ class C_BDD final { public: void buildValueArray (TC_UniqueArray > & outValuesArray, const uint32_t inVariableCount) const ; - public: void buildLittleEndianStringValueArray (TC_UniqueArray & outStringArray, + public: void buildLittleEndianStringValueArray (TC_UniqueArray & outStringArray, const uint32_t inVariableCount) const ; - public: void buildBigEndianStringValueArray (TC_UniqueArray & outStringArray, + public: void buildBigEndianStringValueArray (TC_UniqueArray & outStringArray, const uint32_t inVariableCount) const ; - public: String queryStringValue (LOCATION_ARGS) const ; + public: C_String queryStringValue (LOCATION_ARGS) const ; //--- Build a BDD from the string returned by 'queryStringValue' - public: static C_BDD BDDWithPredicateString (const String & inPredicateStringValue + public: static C_BDD BDDWithPredicateString (const C_String & inPredicateStringValue COMMA_LOCATION_ARGS) ; //--- Traversing BBD (call C_bdd_value_traversing::action method for every value) @@ -337,17 +337,17 @@ class C_BDD final { public: static uint32_t getCreatedNodesCount (void) ; //--- Print BDD package statistics - public: static void printBDDpackageOperationsSummary (AbstractOutputStream & inStream) ; + public: static void printBDDpackageOperationsSummary (AC_OutputStream & inStream) ; //--- Free BDD data structures public: static void freeBDDStataStructures (void) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Abstract class for value traversing of a BDD // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class C_bdd_value_traversing { //--- Constructor et destructor @@ -355,12 +355,12 @@ class C_bdd_value_traversing { public: virtual ~C_bdd_value_traversing (void) {} //--- Virtual method called for every value - public: virtual void action (const bool * tableauDesValeurs, - const uint32_t inVariableCount) = 0 ; - + public: virtual void action (const bool tableauDesValeurs [], + const uint32_t inVariableCount) = 0 ; + //--- No instance copy - private: C_bdd_value_traversing (const C_bdd_value_traversing &) = delete ; - private: C_bdd_value_traversing & operator = (const C_bdd_value_traversing &) = delete ; + private: C_bdd_value_traversing (const C_bdd_value_traversing &) ; + private: C_bdd_value_traversing & operator = (const C_bdd_value_traversing &) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/bdd/C_Relation.cpp b/goil/build/libpm/bdd/C_Relation.cpp index 6c5a067cb..83bb3b870 100644 --- a/goil/build/libpm/bdd/C_Relation.cpp +++ b/goil/build/libpm/bdd/C_Relation.cpp @@ -3,19 +3,19 @@ // galgas-developer // // Created by Pierre Molinaro on 22/05/14. -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "C_Relation.h" -#include "SharedObject.h" +#include "bdd/C_Relation.h" +#include "utilities/C_SharedObject.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_Relation::C_Relation (void) : mConfiguration (), mBDD () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_Relation::C_Relation (const C_RelationConfiguration & inConfiguration, const C_BDD inBDD) : @@ -23,7 +23,7 @@ mConfiguration (inConfiguration), mBDD (inBDD) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_Relation::C_Relation (const C_RelationConfiguration & inConfiguration, const bool inIsFull) : @@ -34,9 +34,9 @@ mBDD () { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_Relation::C_Relation (const String & inVariableName, +C_Relation::C_Relation (const C_String & inVariableName, const C_RelationSingleType & inVariableType, const bool inIsFull) : mConfiguration (), @@ -47,19 +47,19 @@ mBDD () { mConfiguration.addVariable (inVariableName, inVariableType) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_Relation::~C_Relation (void) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_Relation::C_Relation (const C_Relation & inSource) : mConfiguration (inSource.mConfiguration), mBDD (inSource.mBDD) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_Relation & C_Relation::operator = (const C_Relation & inSource) { if (this != & inSource) { @@ -69,44 +69,44 @@ C_Relation & C_Relation::operator = (const C_Relation & inSource) { return *this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_Relation::addVariable (const String & inVariableName, +void C_Relation::addVariable (const C_String & inVariableName, const C_RelationSingleType & inType) { mConfiguration.addVariable (inVariableName, inType) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_Relation::appendConfiguration (const C_RelationConfiguration & inConfiguration) { mConfiguration.appendConfiguration (inConfiguration) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_RelationConfiguration C_Relation::configuration (void) const { return mConfiguration ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_BDD C_Relation::bdd (void) const { return mBDD ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_Relation::setToEmpty (void) { mBDD.setToFalse () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_Relation::setToFull (void) { mBDD.setToTrue () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_Relation::C_Relation (const C_RelationConfiguration & inConfiguration, const int32_t inVariableIndex, @@ -121,21 +121,21 @@ mBDD () { inConstant) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_Relation::andWith (const C_Relation & inRelation COMMA_LOCATION_ARGS) { mConfiguration.checkIdenticalTo (inRelation.mConfiguration COMMA_THERE) ; mBDD &= inRelation.mBDD ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_Relation::orWith (const C_Relation & inRelation COMMA_LOCATION_ARGS) { mConfiguration.checkIdenticalTo (inRelation.mConfiguration COMMA_THERE) ; mBDD |= inRelation.mBDD ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_Relation C_Relation::andOp (const C_Relation & inRelation COMMA_LOCATION_ARGS) const { C_Relation result = *this ; @@ -143,7 +143,7 @@ C_Relation C_Relation::andOp (const C_Relation & inRelation COMMA_LOCATION_ARGS) return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_Relation C_Relation::orOp (const C_Relation & inRelation COMMA_LOCATION_ARGS) const { C_Relation result = *this ; @@ -151,7 +151,7 @@ C_Relation C_Relation::orOp (const C_Relation & inRelation COMMA_LOCATION_ARGS) return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_Relation C_Relation::operator ~ (void) const { C_Relation result = *this ; @@ -159,7 +159,7 @@ C_Relation C_Relation::operator ~ (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_Relation C_Relation::accessibleStatesFrom (const C_Relation & inStartStates, int32_t * outIterationCount @@ -168,7 +168,7 @@ C_Relation C_Relation::accessibleStatesFrom (const C_Relation & inStartStates, const int32_t startRelationVariableCount = inStartStates.variableCount () ; const int32_t accessibilityVariableCount = variableCount () ; #endif - macroAssertThere ((startRelationVariableCount + startRelationVariableCount) == accessibilityVariableCount, + MF_AssertThere ((startRelationVariableCount + startRelationVariableCount) == accessibilityVariableCount, "C_Relation::accessibleStatesFrom error: start state has %lld variables, accessibility relation has %lld variables", (int64_t) startRelationVariableCount, (int64_t) accessibilityVariableCount) ; @@ -178,7 +178,7 @@ C_Relation C_Relation::accessibleStatesFrom (const C_Relation & inStartStates, ) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_Relation C_Relation::transitiveClosure (int32_t * outIterationCount) const { return C_Relation ( @@ -187,7 +187,7 @@ C_Relation C_Relation::transitiveClosure (int32_t * outIterationCount) const { ) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool C_Relation::containsValue (const int32_t inVariableIndex, const uint64_t inValue @@ -197,25 +197,25 @@ bool C_Relation::containsValue (const int32_t inVariableIndex, mConfiguration.bddBitCountForVariable (inVariableIndex COMMA_THERE)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_Relation::getValueArray (TC_UniqueArray & outArray) const { mBDD.buildValue64Array (outArray, mConfiguration.bitCount ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint64_t C_Relation::value64Count (void) const { return mBDD.valueCount64 (mConfiguration.bitCount ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // getArray -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_Relation::getArray (TC_UniqueArray > & outArray COMMA_LOCATION_ARGS) const { - macroAssertThere (variableCount () == 2, + MF_AssertThere (variableCount () == 2, "C_Relation::getArray error: variableCount () == %lld != 2", (int64_t) variableCount (), 0) ; @@ -229,7 +229,7 @@ void C_Relation::getArray (TC_UniqueArray > & outArra bitCount1) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_Relation C_Relation::relationByDeletingLastVariable (LOCATION_ARGS) const { C_Relation result = *this ; @@ -240,10 +240,10 @@ C_Relation C_Relation::relationByDeletingLastVariable (LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_Relation C_Relation::swap021 (LOCATION_ARGS) const { - macroAssertThere (variableCount () == 3, + MF_AssertThere (variableCount () == 3, "C_Relation::swap021 error: variableCount () == %lld != 3", (int64_t) variableCount (), 0) ; @@ -256,10 +256,10 @@ C_Relation C_Relation::swap021 (LOCATION_ARGS) const { return C_Relation (config, result) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_Relation C_Relation::swap102 (LOCATION_ARGS) const { - macroAssertThere (variableCount () == 3, + MF_AssertThere (variableCount () == 3, "C_Relation::swap102 error: variableCount () == %lld != 3", (int64_t) variableCount (), 0) ; @@ -272,10 +272,10 @@ C_Relation C_Relation::swap102 (LOCATION_ARGS) const { return C_Relation (config, result) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_Relation C_Relation::swap120 (LOCATION_ARGS) const { - macroAssertThere (variableCount () == 3, + MF_AssertThere (variableCount () == 3, "C_Relation::swap120 error: variableCount () == %lld != 3", (int64_t) variableCount (), 0) ; @@ -288,10 +288,10 @@ C_Relation C_Relation::swap120 (LOCATION_ARGS) const { return C_Relation (config, result) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_Relation C_Relation::swap201 (LOCATION_ARGS) const { - macroAssertThere (variableCount () == 3, + MF_AssertThere (variableCount () == 3, "C_Relation::swap201 error: variableCount () == %lld != 3", (int64_t) variableCount (), 0) ; @@ -304,10 +304,10 @@ C_Relation C_Relation::swap201 (LOCATION_ARGS) const { return C_Relation (config, result) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_Relation C_Relation::swap210 (LOCATION_ARGS) const { - macroAssertThere (variableCount () == 3, + MF_AssertThere (variableCount () == 3, "C_Relation::swap210 error: variableCount () == %lld != 3", (int64_t) variableCount (), 0) ; @@ -320,7 +320,7 @@ C_Relation C_Relation::swap210 (LOCATION_ARGS) const { return C_Relation (config, result) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_Relation C_Relation::exitsOnVariable (const int32_t inVariableIndex COMMA_LOCATION_ARGS) const { @@ -331,24 +331,24 @@ C_Relation C_Relation::exitsOnVariable (const int32_t inVariableIndex return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool C_Relation::operator == (const C_Relation & inRelation) const { mConfiguration.checkIdenticalTo (inRelation.mConfiguration COMMA_HERE) ; return mBDD == inRelation.mBDD ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool C_Relation::operator != (const C_Relation & inRelation) const { mConfiguration.checkIdenticalTo (inRelation.mConfiguration COMMA_HERE) ; return mBDD != inRelation.mBDD ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_Relation C_Relation::transposedRelation (LOCATION_ARGS) const { - macroAssertThere (variableCount () == 2, + MF_AssertThere (variableCount () == 2, "C_Relation::transposedRelation error: variableCount () == %lld != 2", (int64_t) variableCount (), 0) ; @@ -366,9 +366,9 @@ C_Relation C_Relation::transposedRelation (LOCATION_ARGS) const { const C_BDD r = mBDD.substitution (tab, totalSize COMMA_HERE) ; macroMyDeleteArray (tab) ; //--- - const String name0 = mConfiguration.nameForVariable (0 COMMA_HERE) ; + const C_String name0 = mConfiguration.nameForVariable (0 COMMA_HERE) ; const C_RelationSingleType type0 = mConfiguration.typeForVariable (0 COMMA_HERE) ; - const String name1 = mConfiguration.nameForVariable (1 COMMA_HERE) ; + const C_String name1 = mConfiguration.nameForVariable (1 COMMA_HERE) ; const C_RelationSingleType type1 = mConfiguration.typeForVariable (1 COMMA_HERE) ; C_RelationConfiguration config ; config.addVariable (name1, type1) ; @@ -376,4 +376,4 @@ C_Relation C_Relation::transposedRelation (LOCATION_ARGS) const { return C_Relation (config, r) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/bdd/C_Relation.h b/goil/build/libpm/bdd/C_Relation.h index 262e3a069..cc6d96e4e 100644 --- a/goil/build/libpm/bdd/C_Relation.h +++ b/goil/build/libpm/bdd/C_Relation.h @@ -3,24 +3,24 @@ // galgas-developer // // Created by Pierre Molinaro on 22/05/14. -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "C_BDD.h" -#include "C_RelationSingleType.h" -#include "C_RelationConfiguration.h" +#include "bdd/C_BDD.h" +#include "bdd/C_RelationSingleType.h" +#include "bdd/C_RelationConfiguration.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class C_Relation final { //--- Default constructor (no variable, empty) public: C_Relation (void) ; //--- Constructor (One variable, type, empty or full) - public: C_Relation (const String & inVariableName, + public: C_Relation (const C_String & inVariableName, const C_RelationSingleType & inVariableType, const bool isFull) ; @@ -47,7 +47,7 @@ class C_Relation final { public: C_Relation & operator = (const C_Relation & inSource) ; //--- Add variable - public: void addVariable (const String & inVariableName, + public: void addVariable (const C_String & inVariableName, const C_RelationSingleType & inType) ; public: void appendConfiguration (const C_RelationConfiguration & inConfiguration) ; @@ -121,4 +121,4 @@ class C_Relation final { private: C_BDD mBDD ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/bdd/C_RelationConfiguration.cpp b/goil/build/libpm/bdd/C_RelationConfiguration.cpp index eff995073..62a69ba50 100644 --- a/goil/build/libpm/bdd/C_RelationConfiguration.cpp +++ b/goil/build/libpm/bdd/C_RelationConfiguration.cpp @@ -3,28 +3,28 @@ // galgas-developer // // Created by Pierre Molinaro on 22/05/14. -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "C_Relation.h" -#include "SharedObject.h" +#include "bdd/C_Relation.h" +#include "utilities/C_SharedObject.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // cVariablesInRelationConfiguration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class cVariablesInRelationConfiguration : public SharedObject { +class cVariablesInRelationConfiguration : public C_SharedObject { //--- Constructor public: cVariablesInRelationConfiguration (LOCATION_ARGS) ; public: cVariablesInRelationConfiguration (cVariablesInRelationConfiguration * inPtr COMMA_LOCATION_ARGS) ; - public: void addVariable (const String & inVariableName, + public: void addVariable (const C_String & inVariableName, const C_RelationSingleType & inType) ; //--- Accessors public: uint32_t bitCount (void) const ; - public: String nameForVariable (const int32_t inIndex COMMA_LOCATION_ARGS) const ; + public: C_String nameForVariable (const int32_t inIndex COMMA_LOCATION_ARGS) const ; public: C_RelationSingleType typeForVariable (const int32_t inIndex COMMA_LOCATION_ARGS) const ; @@ -48,7 +48,7 @@ class cVariablesInRelationConfiguration : public SharedObject { return mVariableTypeArray (inIndex COMMA_THERE).BDDBitCount () ; } - public: String constantNameForVariableAndValue (const int32_t inIndex, + public: C_String constantNameForVariableAndValue (const int32_t inIndex, const uint32_t inValue COMMA_LOCATION_ARGS) const ; @@ -73,26 +73,26 @@ class cVariablesInRelationConfiguration : public SharedObject { //--- Attributes private: TC_UniqueArray mBDDStartIndexArray ; - private: TC_UniqueArray mVariableNameArray ; + private: TC_UniqueArray mVariableNameArray ; private: TC_UniqueArray mVariableTypeArray ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cVariablesInRelationConfiguration:: cVariablesInRelationConfiguration (LOCATION_ARGS) : -SharedObject (THERE), +C_SharedObject (THERE), mBDDStartIndexArray (), mVariableNameArray (), mVariableTypeArray () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cVariablesInRelationConfiguration:: cVariablesInRelationConfiguration (cVariablesInRelationConfiguration * inPtr COMMA_LOCATION_ARGS) : -SharedObject (THERE), +C_SharedObject (THERE), mBDDStartIndexArray (), mVariableNameArray (), mVariableTypeArray () { @@ -105,21 +105,21 @@ mVariableTypeArray () { #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void cVariablesInRelationConfiguration::checkConfiguration (LOCATION_ARGS) const { - macroAssertThere (mBDDStartIndexArray.count () == mVariableNameArray.count (), + MF_AssertThere (mBDDStartIndexArray.count () == mVariableNameArray.count (), "mBDDStartIndexArray.count () == %lld != mVariableNameArray.count () == %lld", mBDDStartIndexArray.count (), mVariableNameArray.count ()) ; - macroAssertThere (mBDDStartIndexArray.count () == mVariableTypeArray.count (), + MF_AssertThere (mBDDStartIndexArray.count () == mVariableTypeArray.count (), "mBDDStartIndexArray.count () == %lld != mVariableTypeArray.count () == %lld", mBDDStartIndexArray.count (), mVariableTypeArray.count ()) ; uint32_t bddIndex = 0 ; for (int32_t i=0 ; imVariableTypeArray (i COMMA_HERE) ; } - macroAssertThere (same, + MF_AssertThere (same, "cVariablesInRelationConfiguration::checkIdenticalTo failure", 0, 0) ; @@ -164,7 +164,7 @@ void cVariablesInRelationConfiguration::checkIdenticalTo (const cVariablesInRela } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cVariablesInRelationConfiguration::deleteVariableAtIndex (const int32_t inIndex COMMA_LOCATION_ARGS) { macroUniqueSharedObject (this) ; @@ -181,7 +181,7 @@ void cVariablesInRelationConfiguration::deleteVariableAtIndex (const int32_t inI #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cVariablesInRelationConfiguration::deleteLastVariable (LOCATION_ARGS) { macroUniqueSharedObject (this) ; @@ -193,39 +193,39 @@ void cVariablesInRelationConfiguration::deleteLastVariable (LOCATION_ARGS) { #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t cVariablesInRelationConfiguration::constantCountForVariable (const int32_t inIndex COMMA_LOCATION_ARGS) const { return mVariableTypeArray (inIndex COMMA_THERE).constantCount () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t cVariablesInRelationConfiguration::bitCount (void) const { return mBDDStartIndexArray.lastObject (HERE) + mVariableTypeArray.lastObject (HERE).BDDBitCount() ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String cVariablesInRelationConfiguration::constantNameForVariableAndValue (const int32_t inIndex, +C_String cVariablesInRelationConfiguration::constantNameForVariableAndValue (const int32_t inIndex, const uint32_t inValue COMMA_LOCATION_ARGS) const { return mVariableTypeArray (inIndex COMMA_THERE).nameForValue(inValue COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String cVariablesInRelationConfiguration::nameForVariable (const int32_t inIndex COMMA_LOCATION_ARGS) const { +C_String cVariablesInRelationConfiguration::nameForVariable (const int32_t inIndex COMMA_LOCATION_ARGS) const { return mVariableNameArray (inIndex COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_RelationSingleType cVariablesInRelationConfiguration::typeForVariable (const int32_t inIndex COMMA_LOCATION_ARGS) const { return mVariableTypeArray (inIndex COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cVariablesInRelationConfiguration::swap021 (LOCATION_ARGS) { macroUniqueSharedObject (this) ; @@ -240,7 +240,7 @@ void cVariablesInRelationConfiguration::swap021 (LOCATION_ARGS) { #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cVariablesInRelationConfiguration::swap102 (LOCATION_ARGS) { macroUniqueSharedObject (this) ; @@ -254,7 +254,7 @@ void cVariablesInRelationConfiguration::swap102 (LOCATION_ARGS) { #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cVariablesInRelationConfiguration::swap120 (LOCATION_ARGS) { macroUniqueSharedObject (this) ; @@ -272,7 +272,7 @@ void cVariablesInRelationConfiguration::swap120 (LOCATION_ARGS) { #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cVariablesInRelationConfiguration::swap201 (LOCATION_ARGS) { macroUniqueSharedObject (this) ; @@ -290,7 +290,7 @@ void cVariablesInRelationConfiguration::swap201 (LOCATION_ARGS) { #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cVariablesInRelationConfiguration::swap210 (LOCATION_ARGS) { macroUniqueSharedObject (this) ; @@ -306,28 +306,28 @@ void cVariablesInRelationConfiguration::swap210 (LOCATION_ARGS) { #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // C_RelationConfiguration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_RelationConfiguration::C_RelationConfiguration (void) : mVariablesPtr (nullptr) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_RelationConfiguration::~C_RelationConfiguration (void) { macroDetachSharedObject (mVariablesPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_RelationConfiguration::C_RelationConfiguration (const C_RelationConfiguration & inSource) : mVariablesPtr (nullptr) { macroAssignSharedObject (mVariablesPtr, inSource.mVariablesPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_RelationConfiguration & C_RelationConfiguration::operator = (const C_RelationConfiguration & inSource) { if (this != & inSource) { @@ -336,7 +336,7 @@ C_RelationConfiguration & C_RelationConfiguration::operator = (const C_RelationC return *this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_RelationConfiguration::insulate (LOCATION_ARGS) { if (nullptr == mVariablesPtr) { @@ -352,35 +352,35 @@ void C_RelationConfiguration::insulate (LOCATION_ARGS) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_RelationConfiguration::addVariable (const String & inVariableName, +void C_RelationConfiguration::addVariable (const C_String & inVariableName, const C_RelationSingleType & inType) { insulate (HERE) ; macroValidSharedObject (mVariablesPtr, cVariablesInRelationConfiguration) ; mVariablesPtr->addVariable (inVariableName, inType) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_RelationConfiguration::appendConfiguration (const C_RelationConfiguration & inConfiguration) { insulate (HERE) ; for (int32_t i=0 ; iaddVariable (variableName, type) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String C_RelationConfiguration::nameForVariable (const int32_t inIndex +C_String C_RelationConfiguration::nameForVariable (const int32_t inIndex COMMA_LOCATION_ARGS) const { macroValidSharedObjectThere (mVariablesPtr, cVariablesInRelationConfiguration) ; return mVariablesPtr->nameForVariable (inIndex COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_RelationSingleType C_RelationConfiguration::typeForVariable (const int32_t inIndex COMMA_LOCATION_ARGS) const { @@ -388,7 +388,7 @@ C_RelationSingleType C_RelationConfiguration::typeForVariable (const int32_t inI return mVariablesPtr->typeForVariable (inIndex COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t C_RelationConfiguration::bitCount (void) const { uint32_t result = 0 ; @@ -399,7 +399,7 @@ uint32_t C_RelationConfiguration::bitCount (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- int32_t C_RelationConfiguration::variableCount (void) const { int32_t result = 0 ; @@ -410,14 +410,14 @@ int32_t C_RelationConfiguration::variableCount (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t C_RelationConfiguration::constantCountForVariable (const int32_t inIndex COMMA_LOCATION_ARGS) const { macroValidSharedObjectThere (mVariablesPtr, cVariablesInRelationConfiguration) ; return mVariablesPtr->constantCountForVariable (inIndex COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t C_RelationConfiguration::bddStartBitIndexForVariable (const int32_t inIndex COMMA_LOCATION_ARGS) const { @@ -425,7 +425,7 @@ uint32_t C_RelationConfiguration::bddStartBitIndexForVariable (const int32_t inI return mVariablesPtr->bddStartBitIndexForVariable (inIndex COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t C_RelationConfiguration::bddBitCountForVariable (const int32_t inIndex COMMA_LOCATION_ARGS) const { @@ -433,16 +433,16 @@ uint32_t C_RelationConfiguration::bddBitCountForVariable (const int32_t inIndex return mVariablesPtr->bddBitCountForVariable (inIndex COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String C_RelationConfiguration::constantNameForVariableAndValue (const int32_t inIndex, +C_String C_RelationConfiguration::constantNameForVariableAndValue (const int32_t inIndex, const uint32_t inValue COMMA_LOCATION_ARGS) const { macroValidSharedObjectThere (mVariablesPtr, cVariablesInRelationConfiguration) ; return mVariablesPtr->constantNameForVariableAndValue (inIndex, inValue COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_RelationConfiguration::checkIdenticalTo (const C_RelationConfiguration & inConfiguration COMMA_LOCATION_ARGS) const { @@ -456,7 +456,7 @@ void C_RelationConfiguration::checkIdenticalTo (const C_RelationConfiguration & } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_RelationConfiguration::deleteVariableAtIndex (const int32_t inIndex COMMA_LOCATION_ARGS) { insulate (THERE) ; @@ -464,7 +464,7 @@ void C_RelationConfiguration::deleteVariableAtIndex (const int32_t inIndex COMMA return mVariablesPtr->deleteVariableAtIndex (inIndex COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_RelationConfiguration::deleteLastVariable (LOCATION_ARGS) { insulate (THERE) ; @@ -472,7 +472,7 @@ void C_RelationConfiguration::deleteLastVariable (LOCATION_ARGS) { return mVariablesPtr->deleteLastVariable (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_RelationConfiguration C_RelationConfiguration::swap021 (LOCATION_ARGS) const { C_RelationConfiguration result = *this ; @@ -482,7 +482,7 @@ C_RelationConfiguration C_RelationConfiguration::swap021 (LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_RelationConfiguration C_RelationConfiguration::swap102 (LOCATION_ARGS) const { C_RelationConfiguration result = *this ; @@ -492,7 +492,7 @@ C_RelationConfiguration C_RelationConfiguration::swap102 (LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_RelationConfiguration C_RelationConfiguration::swap120 (LOCATION_ARGS) const { C_RelationConfiguration result = *this ; @@ -502,7 +502,7 @@ C_RelationConfiguration C_RelationConfiguration::swap120 (LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_RelationConfiguration C_RelationConfiguration::swap201 (LOCATION_ARGS) const { C_RelationConfiguration result = *this ; @@ -512,7 +512,7 @@ C_RelationConfiguration C_RelationConfiguration::swap201 (LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_RelationConfiguration C_RelationConfiguration::swap210 (LOCATION_ARGS) const { C_RelationConfiguration result = *this ; @@ -522,4 +522,4 @@ C_RelationConfiguration C_RelationConfiguration::swap210 (LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/bdd/C_RelationConfiguration.h b/goil/build/libpm/bdd/C_RelationConfiguration.h index aef63c69d..54f05f8af 100644 --- a/goil/build/libpm/bdd/C_RelationConfiguration.h +++ b/goil/build/libpm/bdd/C_RelationConfiguration.h @@ -3,16 +3,16 @@ // galgas-developer // // Created by Pierre Molinaro on 22/05/14. -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "C_BDD.h" -#include "C_RelationSingleType.h" +#include "bdd/C_BDD.h" +#include "bdd/C_RelationSingleType.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class C_RelationConfiguration final { //--- Default constructor (no variable, empty) @@ -26,7 +26,7 @@ class C_RelationConfiguration final { public: C_RelationConfiguration & operator = (const C_RelationConfiguration & inSource) ; //--- Add variable - public: void addVariable (const String & inVariableName, + public: void addVariable (const C_String & inVariableName, const C_RelationSingleType & inType) ; public: void appendConfiguration (const C_RelationConfiguration & inConfiguration) ; @@ -34,12 +34,12 @@ class C_RelationConfiguration final { //--- Accessors public: int32_t variableCount (void) const ; public: uint32_t bitCount (void) const ; - public: String nameForVariable (const int32_t inIndex COMMA_LOCATION_ARGS) const ; + public: C_String nameForVariable (const int32_t inIndex COMMA_LOCATION_ARGS) const ; public: C_RelationSingleType typeForVariable (const int32_t inIndex COMMA_LOCATION_ARGS) const ; public: uint32_t constantCountForVariable (const int32_t inIndex COMMA_LOCATION_ARGS) const ; public: uint32_t bddStartBitIndexForVariable (const int32_t inIndex COMMA_LOCATION_ARGS) const ; public: uint32_t bddBitCountForVariable (const int32_t inIndex COMMA_LOCATION_ARGS) const ; - public: String constantNameForVariableAndValue (const int32_t inIndex, + public: C_String constantNameForVariableAndValue (const int32_t inIndex, const uint32_t inValue COMMA_LOCATION_ARGS) const ; public: void deleteVariableAtIndex (const int32_t inIndex COMMA_LOCATION_ARGS) ; @@ -67,4 +67,4 @@ class C_RelationConfiguration final { private: class cVariablesInRelationConfiguration * mVariablesPtr ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/bdd/C_RelationSingleType.cpp b/goil/build/libpm/bdd/C_RelationSingleType.cpp index 28dd9fe1f..e765f0aa3 100644 --- a/goil/build/libpm/bdd/C_RelationSingleType.cpp +++ b/goil/build/libpm/bdd/C_RelationSingleType.cpp @@ -3,13 +3,13 @@ // galgas-developer // // Created by Pierre Molinaro on 22/05/14. -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "C_RelationSingleType.h" -#include "SharedObject.h" -#include "String-class.h" +#include "bdd/C_RelationSingleType.h" +#include "utilities/C_SharedObject.h" +#include "strings/C_String.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static uint32_t bitCountForCount (const uint32_t inCount) { uint32_t result = 0 ; @@ -21,21 +21,21 @@ static uint32_t bitCountForCount (const uint32_t inCount) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // C_RelationSingleType::cType -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static C_RelationSingleType::cType * gFirstRelation ; static C_RelationSingleType::cType * gLastRelation ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class C_RelationSingleType::cType : public SharedObject { +class C_RelationSingleType::cType : public C_SharedObject { //--- Constructor - public: inline cType (const String & inTypeName, + public: inline cType (const C_String & inTypeName, const uint32_t inBDDBitCount COMMA_LOCATION_ARGS) : - SharedObject (THERE), + C_SharedObject (THERE), mTypeName (inTypeName), mBDDBitCount (inBDDBitCount), mNextPtr (gFirstRelation), @@ -66,24 +66,24 @@ class C_RelationSingleType::cType : public SharedObject { //--- Accessors public: virtual uint32_t constantCount (void) const = 0 ; - public: virtual String nameForValue (const uint32_t inIndex + public: virtual C_String nameForValue (const uint32_t inIndex COMMA_LOCATION_ARGS) const = 0 ; //--- Attribute - public: const String mTypeName ; + public: const C_String mTypeName ; public: const uint32_t mBDDBitCount ; public: cType * mNextPtr ; private: cType * mPreviousPtr ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // C_EnumeratedTypeInRelation -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class C_EnumeratedTypeInRelation : public C_RelationSingleType::cType { //--- Constructor - public: C_EnumeratedTypeInRelation (const String & inTypeName, - const TC_UniqueArray & inConstantNameArray + public: C_EnumeratedTypeInRelation (const C_String & inTypeName, + const TC_UniqueArray & inConstantNameArray COMMA_LOCATION_ARGS) ; //--- Accessors @@ -91,35 +91,35 @@ class C_EnumeratedTypeInRelation : public C_RelationSingleType::cType { return (uint32_t) mConstantNameArray.count () ; } - public: virtual String nameForValue (const uint32_t inIndex + public: virtual C_String nameForValue (const uint32_t inIndex COMMA_LOCATION_ARGS) const { return mConstantNameArray ((int32_t) inIndex COMMA_THERE) ; } - public: inline bool isConstantArrayEqualTo (const TC_UniqueArray & inConstantNameArray) const { + public: inline bool isConstantArrayEqualTo (const TC_UniqueArray & inConstantNameArray) const { return mConstantNameArray == inConstantNameArray ; } //--- Attributes - private: TC_UniqueArray mConstantNameArray ; + private: TC_UniqueArray mConstantNameArray ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_EnumeratedTypeInRelation:: -C_EnumeratedTypeInRelation (const String & inTypeName, - const TC_UniqueArray & inConstantNameArray +C_EnumeratedTypeInRelation (const C_String & inTypeName, + const TC_UniqueArray & inConstantNameArray COMMA_LOCATION_ARGS) : cType (inTypeName, bitCountForCount ((uint32_t) inConstantNameArray.count ()) COMMA_THERE), mConstantNameArray () { mConstantNameArray.appendObjectsFromArray (inConstantNameArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_RelationSingleType:: -C_RelationSingleType (const String & inTypeName, - const TC_UniqueArray & inConstantNameArray +C_RelationSingleType (const C_String & inTypeName, + const TC_UniqueArray & inConstantNameArray COMMA_LOCATION_ARGS) : mTypePtr (nullptr) { //--- Check type is unique @@ -140,13 +140,13 @@ mTypePtr (nullptr) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // C_UnsignedTypeInRelation -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class C_UnsignedTypeInRelation : public C_RelationSingleType::cType { //--- Constructor - public: C_UnsignedTypeInRelation (const String & inTypeName, + public: C_UnsignedTypeInRelation (const C_String & inTypeName, const uint32_t inValueCount COMMA_LOCATION_ARGS) ; @@ -155,29 +155,29 @@ class C_UnsignedTypeInRelation : public C_RelationSingleType::cType { return mValueCount ; } - public: virtual String nameForValue (const uint32_t inIndex + public: virtual C_String nameForValue (const uint32_t inIndex COMMA_UNUSED_LOCATION_ARGS) const { - return stringWithUnsigned (inIndex) ; + return cStringWithUnsigned (inIndex) ; } //--- Attributes private: const uint32_t mValueCount ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_UnsignedTypeInRelation:: -C_UnsignedTypeInRelation (const String & inTypeName, +C_UnsignedTypeInRelation (const C_String & inTypeName, const uint32_t inValueCount COMMA_LOCATION_ARGS) : cType (inTypeName, bitCountForCount (inValueCount) COMMA_THERE), mValueCount (inValueCount) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_RelationSingleType:: -C_RelationSingleType (const String & inTypeName, +C_RelationSingleType (const C_String & inTypeName, const uint32_t inValueCount COMMA_LOCATION_ARGS) : mTypePtr (nullptr) { @@ -199,57 +199,57 @@ mTypePtr (nullptr) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Accessors -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String C_RelationSingleType::typeName (void) const { +C_String C_RelationSingleType::typeName (void) const { macroValidPointer (mTypePtr) ; return mTypePtr->mTypeName ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t C_RelationSingleType::BDDBitCount (void) const { macroValidPointer (mTypePtr) ; return mTypePtr->mBDDBitCount ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t C_RelationSingleType::constantCount (void) const { macroValidPointer (mTypePtr) ; return mTypePtr->constantCount () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String C_RelationSingleType::nameForValue (const uint32_t inIndex +C_String C_RelationSingleType::nameForValue (const uint32_t inIndex COMMA_LOCATION_ARGS) const { macroValidPointer (mTypePtr) ; return mTypePtr->nameForValue (inIndex COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Handling copy -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_RelationSingleType::~C_RelationSingleType (void) { macroDetachSharedObject (mTypePtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_RelationSingleType::C_RelationSingleType (const C_RelationSingleType & inSource) : mTypePtr (nullptr) { macroAssignSharedObject (mTypePtr, inSource.mTypePtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_RelationSingleType & C_RelationSingleType::operator = (const C_RelationSingleType & inSource) { macroAssignSharedObject (mTypePtr, inSource.mTypePtr) ; return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/bdd/C_RelationSingleType.h b/goil/build/libpm/bdd/C_RelationSingleType.h index e731c6d29..ba890704d 100644 --- a/goil/build/libpm/bdd/C_RelationSingleType.h +++ b/goil/build/libpm/bdd/C_RelationSingleType.h @@ -3,15 +3,15 @@ // galgas-developer // // Created by Pierre Molinaro on 22/05/14. -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "String-class.h" +#include "strings/C_String.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class C_RelationSingleType final { //--- Internal class @@ -21,20 +21,20 @@ class C_RelationSingleType final { public: inline C_RelationSingleType (void) : mTypePtr (nullptr) {} //--- Constructor with an enumerated type - public: C_RelationSingleType (const String & inTypeName, - const TC_UniqueArray & inConstantNameArray + public: C_RelationSingleType (const C_String & inTypeName, + const TC_UniqueArray & inConstantNameArray COMMA_LOCATION_ARGS) ; //--- Constructor with an unsigned type - public: C_RelationSingleType (const String & inTypeName, + public: C_RelationSingleType (const C_String & inTypeName, const uint32_t inValueCount // [0, inValueCount - 1] COMMA_LOCATION_ARGS) ; //--- Accessors - public: String typeName (void) const ; + public: C_String typeName (void) const ; public: uint32_t BDDBitCount (void) const ; public: uint32_t constantCount (void) const ; - public: String nameForValue (const uint32_t inIndex + public: C_String nameForValue (const uint32_t inIndex COMMA_LOCATION_ARGS) const ; //--- Destructor @@ -53,4 +53,4 @@ class C_RelationSingleType final { private: cType * mTypePtr ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigSigned-add.cpp b/goil/build/libpm/big-integers/BigSigned-add.cpp deleted file mode 100644 index f0ab696c5..000000000 --- a/goil/build/libpm/big-integers/BigSigned-add.cpp +++ /dev/null @@ -1,51 +0,0 @@ -// -// BigSigned.cpp -// -// Created by Pierre Molinaro on 08/12/2023. -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#include "BigSigned.h" - -//-------------------------------------------------------------------------------------------------- - -void BigSigned::operator += (const BigSigned inOperand) { - if (!inOperand.isZero ()) { - *this = *this + inOperand ; - } -} - -//-------------------------------------------------------------------------------------------------- - -BigSigned BigSigned::operator + (const BigSigned inOperand) const { - if (inOperand.isZero ()) { - return *this ; - }else if (isZero ()) { - return inOperand ; - }else if (mIsPositive == inOperand.mIsPositive) { // Same sign, addition - return BigSigned (mIsPositive, mUnsigned + inOperand.mUnsigned) ; - }else if (mUnsigned < inOperand.mUnsigned) { - return BigSigned (!mIsPositive, inOperand.mUnsigned - mUnsigned) ; - }else{ - return BigSigned (mIsPositive, mUnsigned - inOperand.mUnsigned) ; - } -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigSigned-bit.cpp b/goil/build/libpm/big-integers/BigSigned-bit.cpp deleted file mode 100644 index 817451e24..000000000 --- a/goil/build/libpm/big-integers/BigSigned-bit.cpp +++ /dev/null @@ -1,60 +0,0 @@ -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#include "BigSigned.h" - -//-------------------------------------------------------------------------------------------------- - -bool BigSigned::bitAtIndex (const uint32_t inBitIndex) const { - if (mIsPositive) { - return mUnsigned.bitAtIndex (inBitIndex) ; - }else if (inBitIndex < (mUnsigned.chunkCount () * ChunkUIntBitCount)) { - const BigUnsigned negated = mUnsigned.subtractedOneAndComplemented (mUnsigned.chunkCount ()) ; - return negated.bitAtIndex (inBitIndex) ; - }else{ - return true ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void BigSigned::setBitAtIndex (const bool inBit, const uint32_t inBitIndex) { - if (mIsPositive) { - mUnsigned.setBitAtIndex (inBit, inBitIndex) ; - }else{ - BigUnsigned negated = mUnsigned.subtractedOneAndComplemented (1 + inBitIndex / ChunkUIntBitCount) ; - negated.setBitAtIndex (inBit, inBitIndex) ; - mUnsigned = negated.complemented (negated.chunkCount ()) ; - mUnsigned += 1 ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void BigSigned::complementBitAtIndex (const uint32_t inBitIndex) { - if (mIsPositive) { - mUnsigned.complementBitAtIndex (inBitIndex) ; - }else{ - const bool bit = bitAtIndex (inBitIndex) ; - setBitAtIndex (!bit, inBitIndex) ; - } -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigSigned-chunk-operations.cpp b/goil/build/libpm/big-integers/BigSigned-chunk-operations.cpp deleted file mode 100644 index 459e409ee..000000000 --- a/goil/build/libpm/big-integers/BigSigned-chunk-operations.cpp +++ /dev/null @@ -1,136 +0,0 @@ -// -// BigSigned.cpp -// -// Created by Pierre Molinaro on 08/12/2023. -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#include "BigSigned.h" -#include "galgas-random.h" - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Add ChunkUInt -#endif - -//-------------------------------------------------------------------------------------------------- - -BigSigned BigSigned::operator + (const ChunkUInt inOperand) const { - if (inOperand == 0) { - return *this ; - }else if (isZero ()) { // Receiver is zero - return BigSigned (true, inOperand) ; - }else if (mIsPositive) { // Receiver is positive - return BigSigned (true, mUnsigned + inOperand) ; - }else if (mUnsigned.chunkCount () > 1) { // Receiver is negative, result is negative - return BigSigned (false, mUnsigned - inOperand) ; - }else if (mUnsigned.chunkAtIndex (0 COMMA_HERE) >= inOperand) { // Receiver is negative, result is negative or nul - return BigSigned (false, mUnsigned.chunkAtIndex (0 COMMA_HERE) - inOperand) ; - }else{ // Receiver is negative, result is positive - return BigSigned (true, inOperand - mUnsigned.chunkAtIndex (0 COMMA_HERE)) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void BigSigned::operator += (const ChunkUInt inOperand) { - if (inOperand > 0) { - *this = *this + inOperand ; - } -} - -//-------------------------------------------------------------------------------------------------- - -BigSigned BigSigned::operator - (const ChunkUInt inOperand) const { - if (inOperand == 0) { - return *this ; - }else if (isZero ()) { // Receiver is zero - return BigSigned (false, inOperand) ; - }else if (!mIsPositive) { // Receiver is negative - return BigSigned (false, mUnsigned + inOperand) ; - }else if (mUnsigned.chunkCount () > 1) { // Receiver is positive, result is positive - return BigSigned (true, mUnsigned - inOperand) ; - }else if (mUnsigned.chunkAtIndex (0 COMMA_HERE) >= inOperand) { // Receiver is positive, result is positive or nul - return BigSigned (true, mUnsigned.chunkAtIndex (0 COMMA_HERE) - inOperand) ; - }else{ // Receiver is positive, result is negative - return BigSigned (false, inOperand - mUnsigned.chunkAtIndex (0 COMMA_HERE)) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void BigSigned::operator -= (const ChunkUInt inOperand) { - if (inOperand > 0) { - *this = *this - inOperand ; - } -} - -//-------------------------------------------------------------------------------------------------- - -BigSigned BigSigned::operator * (const ChunkUInt inOperand) const { - return BigSigned (mIsPositive, mUnsigned * inOperand) ; -} - -//-------------------------------------------------------------------------------------------------- - -void BigSigned::operator *= (const ChunkUInt inOperand) { - *this = *this * inOperand ; -} - -//-------------------------------------------------------------------------------------------------- - -BigSignedQuotientRemainder BigSigned::dividingByChunkUInt (const ChunkUInt inDivisor) const { - const BigUnsignedQuotientU64Remainder r = mUnsigned.dividingByChunkUInt (inDivisor) ; - return BigSignedQuotientRemainder ( - BigSigned (mIsPositive, r.quotient ()), - BigSigned (mIsPositive, r.remainder ()) - ) ; -} - -//-------------------------------------------------------------------------------------------------- - -void BigSigned::operator %= (const ChunkUInt inDivisor) { - const BigUnsignedQuotientU64Remainder result = mUnsigned.dividingByChunkUInt (inDivisor) ; - *this = BigSigned (mIsPositive, result.remainder ()) ; -} - -//-------------------------------------------------------------------------------------------------- - -BigSigned BigSigned::operator % (const ChunkUInt inDivisor) const { - const BigUnsignedQuotientU64Remainder result = mUnsigned.dividingByChunkUInt (inDivisor) ; - return BigSigned (mIsPositive, BigUnsigned (result.remainder ())) ; -} - -//-------------------------------------------------------------------------------------------------- - -void BigSigned::operator /= (const ChunkUInt inDivisor) { - const BigUnsignedQuotientU64Remainder result = mUnsigned.dividingByChunkUInt (inDivisor) ; - *this = BigSigned (mIsPositive, result.quotient ()) ; -} - -//-------------------------------------------------------------------------------------------------- - -BigSigned BigSigned::operator / (const ChunkUInt inDivisor) const { - const BigUnsignedQuotientU64Remainder result = mUnsigned.dividingByChunkUInt (inDivisor) ; - return BigSigned (mIsPositive, result.quotient ()) ; -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigSigned-constructors.cpp b/goil/build/libpm/big-integers/BigSigned-constructors.cpp deleted file mode 100644 index 10b4399b4..000000000 --- a/goil/build/libpm/big-integers/BigSigned-constructors.cpp +++ /dev/null @@ -1,136 +0,0 @@ -// -// BigSigned.cpp -// BigUnsigned -// -// Created by Pierre Molinaro on 08/12/2023. -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#include "BigSigned.h" -#include "galgas-random.h" - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Constructors -#endif - -//-------------------------------------------------------------------------------------------------- - -BigSigned::BigSigned (void) : // Zero -mIsPositive (true), -mUnsigned () { -} - -//-------------------------------------------------------------------------------------------------- - -BigSigned::BigSigned (const bool inPositive, - const BigUnsigned inValue) : -mIsPositive (inPositive), -mUnsigned (inValue) { - if (mUnsigned.isZero ()) { - mIsPositive = true ; - } -} - -//-------------------------------------------------------------------------------------------------- - -BigSigned::BigSigned (const bool inPositive, - const uint64_t inValue) : -mIsPositive (inPositive), -mUnsigned (inValue) { - if (mUnsigned.isZero ()) { - mIsPositive = true ; - } -} - -//-------------------------------------------------------------------------------------------------- - -BigSigned::BigSigned (const int64_t inValue) : -mIsPositive (inValue >= 0), -mUnsigned (BigUnsigned ((inValue >= 0) ? uint64_t (inValue) : uint64_t (-inValue))) { - if (mUnsigned.isZero ()) { - mIsPositive = true ; - } -} - -//-------------------------------------------------------------------------------------------------- - -BigSigned::BigSigned (const bool inPositive, - const size_t inByteCount, - const uint8_t * inSourceByteArray) : -mIsPositive (inPositive), -mUnsigned (inByteCount, inSourceByteArray) { - if (mUnsigned.isZero ()) { - mIsPositive = true ; - } -} - -//-------------------------------------------------------------------------------------------------- - -BigSigned::BigSigned (const bool inPositive, - const size_t inU64Count, - const uint64_t * inSourceU64Array) : -mIsPositive (inPositive), -mUnsigned (inU64Count, inSourceU64Array) { - if (mUnsigned.isZero ()) { - mIsPositive = true ; - } -} - -//-------------------------------------------------------------------------------------------------- - -BigSigned::BigSigned (const char * inString, const uint8_t inSeparator) : -mIsPositive (true), -mUnsigned (inString, inSeparator) { - if (mUnsigned.isZero ()) { - mIsPositive = true ; - } -} - -//-------------------------------------------------------------------------------------------------- - -BigSigned::BigSigned (const char * inString, const BigUnsignedBase inBase, bool & outOk): -mIsPositive (true), -mUnsigned () { - if (inString != nullptr) { - if (inString [0] == '-') { - mUnsigned = BigUnsigned (& inString [1], inBase, outOk) ; - mIsPositive = mUnsigned.isZero () ; - }else{ - mUnsigned = BigUnsigned (inString, inBase, outOk) ; - } - } -} - -//-------------------------------------------------------------------------------------------------- - -BigSigned BigSigned::powerOfTwo (const bool inPositive, - const uint32_t inPowerOfTwo) { - return BigSigned (inPositive, BigUnsigned::powerOfTwo (inPowerOfTwo)) ; -} - -//-------------------------------------------------------------------------------------------------- - -BigSigned BigSigned::randomNumber (void) { - return BigSigned ((galgas_random () & 1) != 0, BigUnsigned::randomNumber ()) ; -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigSigned-conversions.cpp b/goil/build/libpm/big-integers/BigSigned-conversions.cpp deleted file mode 100644 index 48519964d..000000000 --- a/goil/build/libpm/big-integers/BigSigned-conversions.cpp +++ /dev/null @@ -1,146 +0,0 @@ -// -// BigSigned.cpp -// BigUnsigned -// -// Created by Pierre Molinaro on 08/12/2023. -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#include "BigSigned.h" - -//-------------------------------------------------------------------------------------------------- - -bool BigSigned::fitsInUInt32 (void) const { - return mIsPositive && mUnsigned.fitsInUInt32 () ; -} - -//-------------------------------------------------------------------------------------------------- - -bool BigSigned::fitsInUInt64 (void) const { - return mIsPositive && mUnsigned.fitsInUInt64 () ; -} - -//-------------------------------------------------------------------------------------------------- - -bool BigSigned::fitsInSInt32 (void) const { - if (isZero ()) { - return true ; - }else if (mIsPositive) { - const uint64_t v = mUnsigned.u64AtIndex (0) ; - return v <= INT32_MAX ; - }else{ - const uint64_t v = mUnsigned.u64AtIndex (0) ; - return v <= (uint64_t (INT32_MAX) + 1) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -bool BigSigned::fitsInSInt64 (void) const { - if (isZero ()) { - return true ; - }else if (mIsPositive) { - const uint64_t v = mUnsigned.u64AtIndex (0) ; - return v <= INT64_MAX ; - }else{ - const uint64_t v = mUnsigned.u64AtIndex (0) ; - return v <= (uint64_t (INT64_MAX) + 1) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -uint32_t BigSigned::uint32 (void) const { - return mUnsigned.uint32 () ; -} - -//-------------------------------------------------------------------------------------------------- - -uint64_t BigSigned::uint64 (void) const { - return mUnsigned.uint64 () ; -} - -//-------------------------------------------------------------------------------------------------- - -int32_t BigSigned::int32 (void) const { - if (isZero ()) { - return 0 ; - }else if (mIsPositive) { - const uint64_t v = mUnsigned.u64AtIndex (0) ; - return int32_t (v) ; - }else{ - const uint64_t v = mUnsigned.u64AtIndex (0) ; - return -int32_t (v) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -int64_t BigSigned::int64 (void) const { - if (isZero ()) { - return 0 ; - }else if (mIsPositive) { - const uint64_t v = mUnsigned.u64AtIndex (0) ; - return int64_t (v) ; - }else{ - const uint64_t v = mUnsigned.u64AtIndex (0) ; - return -int64_t (v) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -uint32_t BigSigned::requiredBitCountForSignedRepresentation (void) const { - return mUnsigned.requiredBitCountForUnsignedRepresentation () ; -} - -//-------------------------------------------------------------------------------------------------- - -uint32_t BigSigned::requiredBitCountForUnsignedRepresentation (void) const { - return mUnsigned.requiredBitCountForUnsignedRepresentation () ; -} - -//-------------------------------------------------------------------------------------------------- - -void BigSigned::extractBytesForUnsignedRepresentation (TC_UniqueArray & outValue) const { - mUnsigned.extractBytesForUnsignedRepresentation (outValue) ; -} - -//-------------------------------------------------------------------------------------------------- - -void BigSigned::extractBytesForSignedRepresentation (TC_UniqueArray & outValue) const { - if (mUnsigned.isZero ()) { - outValue.appendObject (0) ; - }else if (mIsPositive) { - mUnsigned.extractBytesForUnsignedRepresentation (outValue) ; - const uint8_t msb = mUnsigned.u8AtIndex (mUnsigned.u8Count () - 1) ; - if ((msb & 0x80) != 0) { - outValue.appendObject (0) ; - } - }else{ - const BigUnsigned v = mUnsigned.subtractedOneAndComplemented (mUnsigned.chunkCount ()) ; - v.extractBytesForUnsignedRepresentation (outValue) ; - while ((outValue.count () > 0) && (outValue.lastObject (HERE) == 0xFF)) { - outValue.removeLastObject (HERE) ; - } - } -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigSigned-divide.cpp b/goil/build/libpm/big-integers/BigSigned-divide.cpp deleted file mode 100644 index 3386b865b..000000000 --- a/goil/build/libpm/big-integers/BigSigned-divide.cpp +++ /dev/null @@ -1,68 +0,0 @@ -// -// BigSigned.cpp -// -// Created by Pierre Molinaro on 08/12/2023. -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#include "BigSigned.h" -#include "galgas-random.h" - -//-------------------------------------------------------------------------------------------------- - -BigSignedQuotientRemainder BigSigned::divideByBigSigned (const BigSigned & inDivisor) const { - const BigUnsignedQuotientRemainder r = mUnsigned.divideByBigUnsigned (inDivisor.mUnsigned) ; - const bool quotientIsPositive = mIsPositive == inDivisor.mIsPositive ; - const bool remainderIsPositive = mIsPositive ; - return BigSignedQuotientRemainder ( - BigSigned (quotientIsPositive, r.quotient ()), - BigSigned (remainderIsPositive, r.remainder ()) - ) ; -} - -//-------------------------------------------------------------------------------------------------- - -void BigSigned::operator /= (const BigSigned inDivisor) { - const BigSignedQuotientRemainder r = divideByBigSigned (inDivisor) ; - *this = r.quotient () ; -} - -//-------------------------------------------------------------------------------------------------- - -BigSigned BigSigned::operator / (const BigSigned inDivisor) const { - const BigSignedQuotientRemainder r = divideByBigSigned (inDivisor) ; - return r.quotient () ; -} - -//-------------------------------------------------------------------------------------------------- - -void BigSigned::operator %= (const BigSigned inDivisor) { - const BigSignedQuotientRemainder r = divideByBigSigned (inDivisor) ; - *this = r.remainder () ; -} - -//-------------------------------------------------------------------------------------------------- - -BigSigned BigSigned::operator % (const BigSigned inDivisor) const { - const BigSignedQuotientRemainder r = divideByBigSigned (inDivisor) ; - return r.remainder () ; -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigSigned-logic-operations.cpp b/goil/build/libpm/big-integers/BigSigned-logic-operations.cpp deleted file mode 100644 index 86351ee02..000000000 --- a/goil/build/libpm/big-integers/BigSigned-logic-operations.cpp +++ /dev/null @@ -1,99 +0,0 @@ -// -// BigSigned.cpp -// BigUnsigned -// -// Created by Pierre Molinaro on 08/12/2023. -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#include "BigSigned.h" -#include "galgas-random.h" - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Complement -#endif - -//-------------------------------------------------------------------------------------------------- - -BigSigned BigSigned::operator ~ (void) const { - if (isZero ()) { - return BigSigned (false, 1) ; // Complement of zero is -1 - }else if (mIsPositive) { // Positive -> result is negative - return BigSigned (false, mUnsigned + 1) ; - }else{ // Negative -> result is positive - return BigSigned (true, mUnsigned - 1) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -BigSigned BigSigned::operator & (const BigSigned inOperand) const { - if (isZero () || inOperand.isZero ()) { - return BigSigned () ; - }else if (mIsPositive && inOperand.mIsPositive) { // Both are positive - return BigSigned (true, mUnsigned & inOperand.mUnsigned) ; - }else if (!mIsPositive && !inOperand.mIsPositive) { // Both are negative - return BigSigned (false, mUnsigned.utilityForNegativeAndNegative (inOperand.mUnsigned)) ; - }else if (!mIsPositive && inOperand.mIsPositive) { // negative, operand is positive - return BigSigned (true, inOperand.mUnsigned.utilityForPositiveAndNegative (mUnsigned)) ; - }else{ // positive, operand is negative -> Result is positive - return BigSigned (true, mUnsigned.utilityForPositiveAndNegative (inOperand.mUnsigned)) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -BigSigned BigSigned::operator | (const BigSigned inOperand) const { - if (isZero ()) { - return inOperand ; - }else if (inOperand.isZero ()) { - return *this ; - }else if (mIsPositive && inOperand.mIsPositive) { // Both are positive - return BigSigned (true, mUnsigned | inOperand.mUnsigned) ; - }else if (!mIsPositive && !inOperand.mIsPositive) { // Both are negative - return BigSigned (false, mUnsigned.utilityForNegativeOrNegative (inOperand.mUnsigned)) ; - }else if (!mIsPositive && inOperand.mIsPositive) { // negative, operand is positive - return BigSigned (false, inOperand.mUnsigned.utilityForPositiveOrNegative (mUnsigned)) ; - }else{ // positive, operand is negative -> result is negative - return BigSigned (false, mUnsigned.utilityForPositiveOrNegative (inOperand.mUnsigned)) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -BigSigned BigSigned::operator ^ (const BigSigned inOperand) const { - if (isZero ()) { - return inOperand ; - }else if (inOperand.isZero ()) { - return *this ; - }else if (mIsPositive && inOperand.mIsPositive) { // Both are positive - return BigSigned (true, mUnsigned ^ inOperand.mUnsigned) ; - }else if (!mIsPositive && !inOperand.mIsPositive) { // Both are negative - return BigSigned (true, mUnsigned.utilityForNegativeXorNegative (inOperand.mUnsigned)) ; - }else if (!mIsPositive && inOperand.mIsPositive) { // negative, operand is positive - return BigSigned (false, inOperand.mUnsigned.utilityForPositiveXorNegative (mUnsigned)) ; - }else{ // positive, operand is negative -> result is negative - return BigSigned (false, mUnsigned.utilityForPositiveXorNegative (inOperand.mUnsigned)) ; - } -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigSigned-multiply.cpp b/goil/build/libpm/big-integers/BigSigned-multiply.cpp deleted file mode 100644 index a62181ff8..000000000 --- a/goil/build/libpm/big-integers/BigSigned-multiply.cpp +++ /dev/null @@ -1,40 +0,0 @@ -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#include "BigSigned.h" - -//-------------------------------------------------------------------------------------------------- - -BigSigned BigSigned::operator * (const BigSigned inOperand) const { - return BigSigned (mIsPositive == inOperand.mIsPositive, mUnsigned * inOperand.mUnsigned) ; -} - -//-------------------------------------------------------------------------------------------------- - -void BigSigned::operator *= (const BigSigned inOperand) { - mUnsigned *= inOperand.mUnsigned ; - if (isZero ()) { - mIsPositive = true ; - }else{ - mIsPositive ^= !inOperand.mIsPositive ; - } -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigSigned-print.cpp b/goil/build/libpm/big-integers/BigSigned-print.cpp deleted file mode 100644 index 3b5f3b9bf..000000000 --- a/goil/build/libpm/big-integers/BigSigned-print.cpp +++ /dev/null @@ -1,95 +0,0 @@ -// -// BigSigned.cpp -// BigUnsigned -// -// Created by Pierre Molinaro on 08/12/2023. -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#include "BigSigned.h" -#include "galgas-random.h" - -//-------------------------------------------------------------------------------------------------- - -#include - -//-------------------------------------------------------------------------------------------------- - -void BigSigned::printHex (const char * inName) const { - if (isZero ()) { - printf ("%s: 0\n", inName) ; - }else{ - printf ("%s: [%" PRIu64 "] %s0x", inName, uint64_t (mUnsigned.u8Count ()), mIsPositive ? "" : "-") ; - for (size_t i = mUnsigned.u64Count () ; i > 0 ; i--) { - printf ("%016" PRIX64, mUnsigned.u64AtIndex (i-1)) ; - } - printf ("\n") ; - } -} - -//-------------------------------------------------------------------------------------------------- - -String BigSigned::decimalString (void) const { - if (mIsPositive) { - return mUnsigned.decimalString () ; - }else{ - String s = "-" ; - s.appendString (mUnsigned.decimalString ()) ; - return s ; - } -} - -//-------------------------------------------------------------------------------------------------- - -String BigSigned::spacedDecimalString (const uint32_t inSeparation) const { - if (mIsPositive) { - return mUnsigned.spacedDecimalString (inSeparation) ; - }else{ - String s = "-" ; - s.appendString (mUnsigned.spacedDecimalString (inSeparation)) ; - return s ; - } -} - -//-------------------------------------------------------------------------------------------------- - -String BigSigned::hexString (void) const { - if (mIsPositive) { - return mUnsigned.hexString () ; - }else{ - String s = "-" ; - s.appendString (mUnsigned.hexString ()) ; - return s ; - } -} - -//-------------------------------------------------------------------------------------------------- - -String BigSigned::xString (void) const { - if (mIsPositive) { - return mUnsigned.xString () ; - }else{ - String s = "-" ; - s.appendString (mUnsigned.xString ()) ; - return s ; - } -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigSigned-shifts.cpp b/goil/build/libpm/big-integers/BigSigned-shifts.cpp deleted file mode 100644 index 744f07f57..000000000 --- a/goil/build/libpm/big-integers/BigSigned-shifts.cpp +++ /dev/null @@ -1,70 +0,0 @@ -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#include "BigSigned.h" -#include "M_machine.h" -#include "M_SourceLocation.h" -#include "galgas-random.h" - -//-------------------------------------------------------------------------------------------------- - -#include - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Shifts -#endif - -//-------------------------------------------------------------------------------------------------- - -BigSigned BigSigned::operator << (const size_t inShiftCount) const { - return BigSigned (mIsPositive, mUnsigned << inShiftCount) ; -} - -//-------------------------------------------------------------------------------------------------- - -BigSigned BigSigned::operator >> (const size_t inShiftCount) const { - if (mIsPositive) { - return BigSigned (true, mUnsigned >> inShiftCount) ; - }else if (mUnsigned.countTrailingZeros () < inShiftCount) { - return BigSigned (false, (mUnsigned >> inShiftCount) + 1) ; - }else{ - return BigSigned (false, mUnsigned >> inShiftCount) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void BigSigned::operator <<= (const size_t inShiftCount) { - if (inShiftCount > 0) { - *this = *this << inShiftCount ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void BigSigned::operator >>= (const size_t inShiftCount) { - if (inShiftCount > 0) { - *this = * this >> inShiftCount ; - } -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigSigned-subtract.cpp b/goil/build/libpm/big-integers/BigSigned-subtract.cpp deleted file mode 100644 index 620af3776..000000000 --- a/goil/build/libpm/big-integers/BigSigned-subtract.cpp +++ /dev/null @@ -1,70 +0,0 @@ -// -// BigSigned.cpp -// BigUnsigned -// -// Created by Pierre Molinaro on 08/12/2023. -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#include "BigSigned.h" - -//-------------------------------------------------------------------------------------------------- - -void BigSigned::operator -= (const BigSigned inOperand) { - if (!inOperand.isZero ()) { - *this = *this - inOperand ; - } -} - -//-------------------------------------------------------------------------------------------------- - -BigSigned BigSigned::operator - (const BigSigned inOperand) const { - if (inOperand.isZero ()) { - return *this ; - }else if (isZero ()) { - return - inOperand ; - }else if (mIsPositive != inOperand.mIsPositive) { // Opposite sign, addition - return BigSigned (mIsPositive, mUnsigned + inOperand.mUnsigned) ; - }else if (mUnsigned < inOperand.mUnsigned) { // Same sign - return BigSigned (!mIsPositive, inOperand.mUnsigned - mUnsigned) ; - }else{ - return BigSigned (mIsPositive, mUnsigned - inOperand.mUnsigned) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -BigSigned BigSigned::operator - (void) const { - if (isZero ()) { - return BigSigned () ; - }else{ - return BigSigned (!mIsPositive, mUnsigned) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void BigSigned::negateInPlace (void) { - if (!isZero ()) { - mIsPositive = !mIsPositive ; - } -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigSigned-utilities.cpp b/goil/build/libpm/big-integers/BigSigned-utilities.cpp deleted file mode 100644 index 82cce7262..000000000 --- a/goil/build/libpm/big-integers/BigSigned-utilities.cpp +++ /dev/null @@ -1,38 +0,0 @@ -// -// BigSigned-utilities.cpp -// BigSignedU8U64 -// -// Created by Pierre Molinaro on 15/12/2023. -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#include "BigSigned.h" - -//-------------------------------------------------------------------------------------------------- - -int32_t BigSigned::sign (void) const { - if (isZero ()) { - return 0 ; - }else if (mIsPositive) { - return 1 ; - }else{ - return -1 ; - } -} diff --git a/goil/build/libpm/big-integers/BigSigned.cpp b/goil/build/libpm/big-integers/BigSigned.cpp deleted file mode 100644 index 270902a81..000000000 --- a/goil/build/libpm/big-integers/BigSigned.cpp +++ /dev/null @@ -1,48 +0,0 @@ -// -// BigSigned.cpp -// -// Created by Pierre Molinaro on 08/12/2023. -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#include "BigSigned.h" -#include "galgas-random.h" - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Compare -#endif - -//-------------------------------------------------------------------------------------------------- - -int BigSigned::compare (const BigSigned & inOperand) const { - int result = int (mIsPositive) - int (inOperand.mIsPositive) ; - if (result == 0) { - if (mIsPositive) { - result = mUnsigned.compare (inOperand.mUnsigned) ; - }else{ - result = inOperand.mUnsigned.compare (mUnsigned) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigSigned.h b/goil/build/libpm/big-integers/BigSigned.h deleted file mode 100644 index 98436f072..000000000 --- a/goil/build/libpm/big-integers/BigSigned.h +++ /dev/null @@ -1,200 +0,0 @@ -//-------------------------------------------------------------------------------------------------- -// -// BigSigned.h -// -// Created by Pierre Molinaro on 08/12/2023. -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#pragma once - -//-------------------------------------------------------------------------------------------------- - -#include "BigUnsigned.h" - -//-------------------------------------------------------------------------------------------------- - -class BigSignedQuotientRemainder ; - -//-------------------------------------------------------------------------------------------------- - -class BigSigned final { - -//--- Constructors - public: explicit BigSigned (void) ; // Zero - - public: explicit BigSigned (const bool inPositive, - const uint64_t inValue) ; - - public: explicit BigSigned (const int64_t inValue) ; - - public: explicit BigSigned (const bool inPositive, - const BigUnsigned inValue) ; - - public: explicit BigSigned (const bool inPositive, - const size_t inByteCount, - const uint8_t * inSourceByteArray) ; - - public: explicit BigSigned (const bool inPositive, - const size_t inU64Count, - const uint64_t * inSourceU64Array) ; - - public: explicit BigSigned (const char * inString, const uint8_t inSeparator) ; - - public: explicit BigSigned (const char * inString, const BigUnsignedBase inBase, bool & outOk) ; - - public: static BigSigned powerOfTwo (const bool inPositive, - const uint32_t inPowerOfTwo) ; - - public: static BigSigned randomNumber (void) ; - -//--- Testing value - public: bool isZero (void) const { return mUnsigned.isZero () ; } - public: bool isOne (void) const { return mIsPositive && mUnsigned.isOne () ; } - public: bool isStrictlyPositive (void) const { return sign () > 0 ; } - public: bool isStrictlyNegative (void) const { return sign () < 0 ; } - public: int32_t sign (void) const ; - public: BigSigned abs (void) const { return mIsPositive ? *this : - *this ; } - -//--- Shift operators - public: BigSigned operator << (const size_t inShiftCount) const ; - public: void operator <<= (const size_t inShiftCount) ; - - public: BigSigned operator >> (const size_t inShiftCount) const ; - public: void operator >>= (const size_t inShiftCount) ; - -//--- Operations with ChunkUInt - public: void operator += (const ChunkUInt inOperand) ; - public: void operator -= (const ChunkUInt inOperand) ; - public: void operator *= (const ChunkUInt inOperand) ; - - public: BigSigned operator + (const ChunkUInt inOperand) const ; - public: BigSigned operator - (const ChunkUInt inOperand) const ; - public: BigSigned operator * (const ChunkUInt inOperand) const ; - -//--- Division, returns quotient and remainder - public: BigSignedQuotientRemainder dividingByChunkUInt (const ChunkUInt inDivisor) const ; - -//--- Division, returns quotient, remainder is lost - public: void operator /= (const ChunkUInt inDivisor) ; - public: BigSigned operator / (const ChunkUInt inDivisor) const ; - -//--- Division, returns remainder, quotient is lost - public: void operator %= (const ChunkUInt inDivisor) ; - public: BigSigned operator % (const ChunkUInt inDivisor) const ; - -//--- Logical operations - public: BigSigned operator | (const BigSigned inOperand) const ; - public: BigSigned operator ^ (const BigSigned inOperand) const ; - public: BigSigned operator & (const BigSigned inOperand) const ; - public: BigSigned operator ~ (void) const ; - -//--- Add - public: void operator += (const BigSigned inOperand) ; - public: BigSigned operator + (const BigSigned inOperand) const ; - -//--- Substract - public: void operator -= (const BigSigned inOperand) ; - public: BigSigned operator - (const BigSigned inOperand) const ; - -//--- Negate - public: BigSigned operator - (void) const ; - public: void negateInPlace (void) ; - -//--- Multiply - public: void operator *= (const BigSigned inOperand) ; - public: BigSigned operator * (const BigSigned inOperand) const ; - -//--- Divide, returns quotient and remainder - public: BigSignedQuotientRemainder divideByBigSigned (const BigSigned & inDivisor) const ; - -//--- Division, returns quotient, remainder is lost - public: void operator /= (const BigSigned inDivisor) ; - public: BigSigned operator / (const BigSigned inDivisor) const ; - -//--- Division, returns remainder, quotient is lost - public: void operator %= (const BigSigned inDivisor) ; - public: BigSigned operator % (const BigSigned inDivisor) const ; - -//--- Compare - public: int compare (const BigSigned & inOperand) const ; - public: bool operator == (const BigSigned & inOperand) const { return compare (inOperand) == 0 ; } - public: bool operator != (const BigSigned & inOperand) const { return compare (inOperand) != 0 ; } - public: bool operator > (const BigSigned & inOperand) const { return compare (inOperand) > 0 ; } - public: bool operator >= (const BigSigned & inOperand) const { return compare (inOperand) >= 0 ; } - public: bool operator < (const BigSigned & inOperand) const { return compare (inOperand) < 0 ; } - public: bool operator <= (const BigSigned & inOperand) const { return compare (inOperand) <= 0 ; } - -//--- Bit manipulation - public: bool bitAtIndex (const uint32_t inBitIndex) const ; - public: void setBitAtIndex (const bool inBit, const uint32_t inBitIndex) ; - public: void complementBitAtIndex (const uint32_t inBitIndex) ; - -//--- Print - public: String decimalString (void) const ; - public: String spacedDecimalString (const uint32_t inSeparation) const ; - public: String spacedDecimalStringWithDigitCount (const uint32_t inSeparation) const ; - public: String hexString (void) const ; - public: String xString (void) const ; - public: void printHex (const char * inName) const ; - -//--- Value access - public: uint32_t uint32 (void) const ; - public: uint64_t uint64 (void) const ; - public: int32_t int32 (void) const ; - public: int64_t int64 (void) const ; - public: void extractBytesForUnsignedRepresentation (TC_UniqueArray & outValue) const ; - public: void extractBytesForSignedRepresentation (TC_UniqueArray & outValue) const ; - -//--- Testing value - public: bool fitsInUInt32 (void) const ; - public: bool fitsInUInt64 (void) const ; - public: bool fitsInSInt32 (void) const ; - public: bool fitsInSInt64 (void) const ; - public: uint32_t requiredBitCountForSignedRepresentation (void) const ; - public: uint32_t requiredBitCountForUnsignedRepresentation (void) const ; - -//--- Private properties - private: bool mIsPositive ; - private: BigUnsigned mUnsigned ; -} ; - -//-------------------------------------------------------------------------------------------------- - -class BigSignedQuotientRemainder final { - private: BigSigned mQuotient ; - public: BigSigned quotient (void) const { return mQuotient ; } - private: BigSigned mRemainder ; - public: BigSigned remainder (void) const { return mRemainder ; } - - public: explicit BigSignedQuotientRemainder () : - mQuotient (), - mRemainder () { - } - - public: explicit BigSignedQuotientRemainder (const BigSigned & inQuotient, - const BigSigned & inRemainder) : - mQuotient (inQuotient), - mRemainder (inRemainder) { - } - -} ; - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigUnsigned-add.cpp b/goil/build/libpm/big-integers/BigUnsigned-add.cpp deleted file mode 100644 index 82e20e5c7..000000000 --- a/goil/build/libpm/big-integers/BigUnsigned-add.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//-------------------------------------------------------------------------------------------------- - -#include "BigUnsigned.h" - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned BigUnsigned::operator + (const BigUnsigned inOperand) const { - if (inOperand.isZero ()) { - return *this ; - }else if (isZero ()) { - return inOperand ; - }else{ - const size_t n = mSharedArray.chunkCount () ; - const size_t maxChunkCount = std::max (n, inOperand.mSharedArray.chunkCount ()) ; - BigUnsigned result ; - result.mSharedArray.insulateWithChunkCapacity (maxChunkCount + 1) ; - const size_t minChunkCount = std::min (n, inOperand.mSharedArray.chunkCount ()) ; - ChunkUInt carry = 0 ; // 0 or 1 - for (size_t i = 1 ; i <= minChunkCount ; i++) { - const ChunkUInt v1 = mSharedArray.chunkAtIndex (i COMMA_HERE) ; - const ChunkUInt v2 = inOperand.mSharedArray.chunkAtIndex (i COMMA_HERE) ; - ChunkUInt sum = v1 ; - ChunkUInt newCarry = 0 ; - addReportingOverflow (sum, v2, newCarry) ; - addReportingOverflow (sum, carry, newCarry) ; - carry = newCarry ; - result.mSharedArray.appendChunk (sum COMMA_HERE) ; - } - if (n < inOperand.mSharedArray.chunkCount ()) { - for (size_t i = n + 1 ; i <= inOperand.mSharedArray.chunkCount () ; i++) { - const ChunkUInt v2 = inOperand.mSharedArray.chunkAtIndex (i COMMA_HERE) ; - const ChunkUInt sum = v2 + carry ; - carry = sum < v2 ; - result.mSharedArray.appendChunk (sum COMMA_HERE) ; - } - }else if (n > inOperand.mSharedArray.chunkCount ()) { - for (size_t i = inOperand.mSharedArray.chunkCount () + 1 ; i <= n ; i++) { - const ChunkUInt v2 = mSharedArray.chunkAtIndex (i COMMA_HERE) ; - const ChunkUInt sum = v2 + carry ; - carry = sum < v2 ; - result.mSharedArray.appendChunk (sum COMMA_HERE) ; - } - } - if (carry != 0) { - result.mSharedArray.appendChunk (carry COMMA_HERE) ; - } - return result ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void BigUnsigned::operator += (const BigUnsigned inOperand) { - if (!inOperand.isZero ()) { - *this = *this + inOperand ; - } -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigUnsigned-bit.cpp b/goil/build/libpm/big-integers/BigUnsigned-bit.cpp deleted file mode 100644 index ad4c55360..000000000 --- a/goil/build/libpm/big-integers/BigUnsigned-bit.cpp +++ /dev/null @@ -1,86 +0,0 @@ -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#include "BigUnsigned.h" - -//-------------------------------------------------------------------------------------------------- - -bool BigUnsigned::bitAtIndex (const uint32_t inBitIndex) const { - if (isZero ()) { - return false ; - }else if (inBitIndex < (chunkCount () * ChunkUIntBitCount)) { - const size_t u64Index = inBitIndex / ChunkUIntBitCount + 1 ; - const size_t bitIndex = inBitIndex % ChunkUIntBitCount ; - return (mSharedArray.chunkAtIndex (u64Index COMMA_HERE) & (ChunkUInt (ChunkUInt (1) << bitIndex))) != 0 ; - }else{ - return false ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void BigUnsigned::setBitAtIndex (const bool inBit, const uint32_t inBitIndex) { - if (inBitIndex < (chunkCount () * ChunkUIntBitCount)) { - mSharedArray.insulateWithChunkCapacity (chunkCount ()) ; - const size_t u64Index = inBitIndex / ChunkUIntBitCount + 1 ; - const ChunkUInt mask = ChunkUInt (ChunkUInt (1) << (inBitIndex % ChunkUIntBitCount)) ; - const ChunkUInt v = mSharedArray.chunkAtIndex (u64Index COMMA_HERE) ; - if (inBit) { - mSharedArray.setChunkAtIndex (v | mask, u64Index COMMA_HERE) ; - }else{ - mSharedArray.setChunkAtIndex (v & ~ mask, u64Index COMMA_HERE) ; - } - }else if (inBit) { - const size_t u64Index = inBitIndex / ChunkUIntBitCount + 1 ; - const ChunkUInt mask = ChunkUInt (ChunkUInt (1) << (inBitIndex % ChunkUIntBitCount)) ; - mSharedArray.insulateWithChunkCapacity (u64Index) ; - for (size_t i = chunkCount () + 1 ; i < u64Index ; i++) { - mSharedArray.appendChunk (0 COMMA_HERE) ; - } - mSharedArray.appendChunk (mask COMMA_HERE) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void BigUnsigned::complementBitAtIndex (const uint32_t inBitIndex) { - if (inBitIndex < (chunkCount () * ChunkUIntBitCount)) { - mSharedArray.insulateWithChunkCapacity (chunkCount ()) ; - const size_t u64Index = inBitIndex / ChunkUIntBitCount + 1 ; - const ChunkUInt mask = ChunkUInt (ChunkUInt (1) << (inBitIndex % ChunkUIntBitCount)) ; - const ChunkUInt v = mSharedArray.chunkAtIndex (u64Index COMMA_HERE) ; - if ((v & mask) == 0) { - mSharedArray.setChunkAtIndex (v | mask, u64Index COMMA_HERE) ; - }else{ - mSharedArray.setChunkAtIndex (v & ~ mask, u64Index COMMA_HERE) ; - mSharedArray.removeLeadingZeroChunks (HERE) ; - } - }else{ - const size_t u64Index = inBitIndex / ChunkUIntBitCount + 1 ; - const ChunkUInt mask = ChunkUInt (ChunkUInt (1) << (inBitIndex % ChunkUIntBitCount)) ; - mSharedArray.insulateWithChunkCapacity (u64Index) ; - for (size_t i = chunkCount () + 1 ; i < u64Index ; i++) { - mSharedArray.appendChunk (0 COMMA_HERE) ; - } - mSharedArray.appendChunk (mask COMMA_HERE) ; - } -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigUnsigned-chunk-operations.cpp b/goil/build/libpm/big-integers/BigUnsigned-chunk-operations.cpp deleted file mode 100644 index 41778c6b9..000000000 --- a/goil/build/libpm/big-integers/BigUnsigned-chunk-operations.cpp +++ /dev/null @@ -1,177 +0,0 @@ -//-------------------------------------------------------------------------------------------------- - -#include "BigUnsigned.h" - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Add ChunkUInt -#endif - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned BigUnsigned::operator + (const ChunkUInt inOperand) const { - if (inOperand == 0) { - return *this ; - }else if (mSharedArray.chunkCount () == 0) { // Receiver is zero - return BigUnsigned (inOperand) ; - }else{ - const size_t n = mSharedArray.chunkCount () ; - BigUnsigned result ; - result.mSharedArray.insulateWithChunkCapacity (n + 1) ; - ChunkUInt carry = inOperand ; - for (size_t i = 1 ; i <= mSharedArray.chunkCount () ; i++) { - ChunkUInt newCarry = 0 ; - ChunkUInt sum = mSharedArray.chunkAtIndex (i COMMA_HERE) ; - addReportingOverflow (sum, carry, newCarry) ; - carry = newCarry ; - result.mSharedArray.appendChunk (sum COMMA_HERE) ; - } - if (carry != 0) { - result.mSharedArray.appendChunk (carry COMMA_HERE) ; - } - return result ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void BigUnsigned::operator += (const ChunkUInt inOperand) { - if (inOperand > 0) { - *this = *this + inOperand ; - } -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Subtract ChunkUInt -#endif - -//-------------------------------------------------------------------------------------------------- - -void BigUnsigned::operator -= (const ChunkUInt inOperand) { - if (inOperand != 0) { - *this = *this - inOperand ; - } -} - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned BigUnsigned::operator - (const ChunkUInt inOperand) const { - if (inOperand == 0) { - return *this ; - }else if ((mSharedArray.chunkCount () == 1) && (mSharedArray.lastChunk (HERE) < inOperand)) { - std::cout << "Error " << __FILE__ << ":" << __LINE__ << "\n" ; - exit (1) ; - }else{ - const size_t n = mSharedArray.chunkCount () ; - BigUnsigned result ; - result.mSharedArray.insulateWithChunkCapacity (n) ; - ChunkUInt carry = inOperand ; - for (size_t i = 1 ; i <= n ; i++) { - ChunkUInt v = mSharedArray.chunkAtIndex (i COMMA_HERE) ; - ChunkUInt newCarry = 0 ; - subtractReportingOverflow (v, carry, newCarry) ; - carry = newCarry ; - result.mSharedArray.appendChunk (v COMMA_HERE) ; - } - if (carry > 0) { - std::cout << "Error " << __FILE__ << ":" << __LINE__ << "\n" ; - exit (1) ; - } - result.mSharedArray.removeLeadingZeroChunks (HERE) ; - return result ; - } -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Multiply by ChunkUInt -#endif - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned BigUnsigned::operator * (const ChunkUInt inOperand) const { - BigUnsigned result = *this ; - result *= inOperand ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -void BigUnsigned::operator *= (const ChunkUInt inOperand) { - if ((inOperand == 0) || (mSharedArray.chunkCount () == 0)) { - *this = BigUnsigned () ; // Zero - }else{ // Operands are not zero - const size_t n = mSharedArray.chunkCount () ; - mSharedArray.insulateWithChunkCapacity (n + 1) ; - ChunkUInt carry = 0 ; - for (size_t i = 1 ; i <= n ; i++) { - //--- multiplication 64 x 64 -> 128 - ChunkUInt high ; - ChunkUInt low ; - baseMultiplication (mSharedArray.chunkAtIndex (i COMMA_HERE), inOperand, high, low) ; - //--- Add carry - addReportingOverflow (low, carry, high) ; - //--- Store result - mSharedArray.setChunkAtIndex (low, i COMMA_HERE) ; - carry = high ; - } - if (carry > 0) { - mSharedArray.appendChunk (carry COMMA_HERE) ; - } - } -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Divide by ChunkUInt -#endif - -//-------------------------------------------------------------------------------------------------- - -BigUnsignedQuotientU64Remainder BigUnsigned::dividingByChunkUInt (const ChunkUInt inDivisor) const { - if (inDivisor == 0) { - std::cout << "Error " << __FILE__ << ":" << __LINE__ << "\n" ; - exit (1) ; - }else if (inDivisor == 1) { - return BigUnsignedQuotientU64Remainder (*this, 0) ; - }else if (mSharedArray.chunkCount () == 1) { - return BigUnsignedQuotientU64Remainder (BigUnsigned (mSharedArray.chunkAtIndex (1 COMMA_HERE) / inDivisor), - mSharedArray.chunkAtIndex (1 COMMA_HERE) % inDivisor) ; - }else{ - const size_t n = mSharedArray.chunkCount () ; - BigUnsigned quotient ; - quotient.mSharedArray.insulateWithChunkCapacity (n) ; - quotient.mSharedArray.appendRandomChunks (n COMMA_HERE) ; - ChunkUInt remainder = 0 ; - for (size_t i = n ; i > 0 ; i--) { - ChunkUInt u64Quotient ; - ChunkUInt r ; - divForSingleWordDivision (remainder, mSharedArray.chunkAtIndex (i COMMA_HERE), inDivisor, u64Quotient, r) ; - quotient.mSharedArray.setChunkAtIndex (u64Quotient, i COMMA_HERE) ; - remainder = r ; - } - quotient.mSharedArray.removeLeadingZeroChunks (HERE) ; - return BigUnsignedQuotientU64Remainder (quotient, remainder) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void BigUnsigned::operator %= (const ChunkUInt inDivisor) { - const BigUnsignedQuotientU64Remainder result = dividingByChunkUInt (inDivisor) ; - *this = BigUnsigned (result.remainder ()) ; -} - -//-------------------------------------------------------------------------------------------------- - -ChunkUInt BigUnsigned::operator % (const ChunkUInt inDivisor) const { - const BigUnsignedQuotientU64Remainder result = dividingByChunkUInt (inDivisor) ; - return result.remainder () ; -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigUnsigned-constructors.cpp b/goil/build/libpm/big-integers/BigUnsigned-constructors.cpp deleted file mode 100644 index 73b2b1afb..000000000 --- a/goil/build/libpm/big-integers/BigUnsigned-constructors.cpp +++ /dev/null @@ -1,434 +0,0 @@ -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#include "BigUnsigned.h" -#include "galgas-random.h" - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Constructors -#endif - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned BigUnsigned::randomNumber (void) { - const size_t MAX_BYTE_SIZE = 160 ; - const size_t randomByteCount = 1 + galgas_random () % MAX_BYTE_SIZE ; - uint8_t array [MAX_BYTE_SIZE] ; - for (size_t i = 0 ; i < randomByteCount ; i ++) { - array [i] = uint8_t (galgas_random ()) ; - } - return BigUnsigned (randomByteCount, array) ; -} - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned::BigUnsigned (void) : -mSharedArray () { -} - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned BigUnsigned::powerOfTwo (const uint32_t inPowerOfTwo) { - const size_t wordCount = 1 + inPowerOfTwo / ChunkUIntBitCount ; - const int32_t bitIndex = inPowerOfTwo % ChunkUIntBitCount ; - BigUnsigned result ; - result.mSharedArray.insulateWithChunkCapacity (wordCount) ; - result.mSharedArray.appendChunks (wordCount - 1, 0 COMMA_HERE) ; - result.mSharedArray.appendChunk (ChunkUInt (ChunkUInt (1) << bitIndex) COMMA_HERE) ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned::BigUnsigned (const char * inString, const BigUnsignedBase inBase, bool & outOk) : -mSharedArray () { - outOk = true ; - if (inString != nullptr) { - switch (inBase) { - case BigUnsignedBase::two : - { size_t accumulatorIndex = 0 ; - size_t stringIndex = 0 ; - ChunkUInt accumulator = 0 ; - while (inString [stringIndex] != '\0') { - const char c = inString [stringIndex] ; - stringIndex += 1 ; - if ((c >= '0') && (c <= '1')) { - accumulator *= 2 ; - accumulator |= ChunkUInt (c - '0') ; - accumulatorIndex += 1 ; - if (accumulatorIndex == ChunkUIntBitCount) { - accumulatorIndex = 0 ; - *this <<= ChunkUIntBitCount ; - *this |= accumulator ; - accumulator = 0 ; - } - }else{ - outOk = false ; - } - } - if (accumulatorIndex > 0) { - *this <<= accumulatorIndex ; - *this |= accumulator ; - } - } - break ; - case BigUnsignedBase::ten : - { size_t accumulatorIndex = 0 ; - size_t stringIndex = 0 ; - ChunkUInt accumulator = 0 ; - while (inString [stringIndex] != '\0') { - const char c = inString [stringIndex] ; - stringIndex += 1 ; - if ((c >= '0') && (c <= '9')) { - accumulator *= 10 ; - accumulator += ChunkUInt (c - '0') ; - accumulatorIndex += 1 ; - if (accumulatorIndex == greatestPowerOf10DigitCount) { - accumulatorIndex = 0 ; - *this *= greatestPowerOf10 ; - *this += accumulator ; - accumulator = 0 ; - } - }else{ - outOk = false ; - } - } - if (accumulatorIndex > 0) { - ChunkUInt multiplier = 10 ; - for (size_t i = 1 ; i < accumulatorIndex ; i++) { - multiplier *= 10 ; - } - *this *= multiplier ; - *this += accumulator ; - } - } - break ; - case BigUnsignedBase::sixteen : - { size_t accumulatorIndex = 0 ; - size_t stringIndex = 0 ; - ChunkUInt accumulator = 0 ; - while (inString [stringIndex] != '\0') { - const char c = inString [stringIndex] ; - stringIndex += 1 ; - accumulator <<= 4 ; - if ((c >= '0') && (c <= '9')) { - accumulator |= ChunkUInt (c - '0') ; - }else if ((c >= 'A') && (c <= 'F')) { - accumulator |= ChunkUInt (c + 10 - 'A') ; - }else if ((c >= 'a') && (c <= 'f')) { - accumulator |= ChunkUInt (c + 10 - 'a') ; - }else{ - outOk = false ; - } - accumulatorIndex += 4 ; - if (accumulatorIndex == ChunkUIntBitCount) { - accumulatorIndex = 0 ; - *this <<= ChunkUIntBitCount ; - *this |= accumulator ; - accumulator = 0 ; - } - } - if (accumulatorIndex > 0) { - *this <<= accumulatorIndex ; - *this |= accumulator ; - } - } - break ; - } - } -} - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned::BigUnsigned (const char * inString, const uint8_t inSeparator) : -mSharedArray () { - if (inString != nullptr) { - size_t idx = 0 ; - ChunkUInt accumulator = 0 ; - size_t stringIndex = 0 ; - while (inString [stringIndex] != '\0') { - const char c = inString [stringIndex] ; - stringIndex += 1 ; - if ((c >= '0') && (c <= '9')) { - accumulator *= 10 ; - accumulator += ChunkUInt (c - '0') ; - idx += 1 ; - if (idx == greatestPowerOf10DigitCount) { - idx = 0 ; - *this *= greatestPowerOf10 ; - *this += accumulator ; - accumulator = 0 ; - } - }else if (c != inSeparator) { - std::cout << "Error " << __FILE__ << ":" << __LINE__ << "\n" ; - exit (1) ; - } - } - if (idx > 0) { - ChunkUInt multiplier = 10 ; - for (size_t i = 1 ; i < idx ; i++) { - multiplier *= 10 ; - } - *this *= multiplier ; - *this += accumulator ; - } - } -} - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned::BigUnsigned (const BigUnsigned & inSource) : -mSharedArray (inSource.mSharedArray) { -} - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned & BigUnsigned::operator = (const BigUnsigned & inSource) { - mSharedArray = inSource.mSharedArray ; - return *this ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Constructors for 8 bits chunks -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_8_BITS_CHUNKS - BigUnsigned::BigUnsigned (const uint64_t inValue) : - mSharedArray (8) { - uint64_t v = inValue ; - for (size_t i = 0 ; i < 8 ; i++) { - mSharedArray.appendChunk (uint8_t (v) COMMA_HERE) ; - v >>= 8 ; - } - mSharedArray.removeLeadingZeroChunks (HERE) ; - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_8_BITS_CHUNKS - BigUnsigned::BigUnsigned (const size_t inU8Count, - const uint8_t * inSourceU8Array) : - mSharedArray (inU8Count) { - for (size_t i = inU8Count ; i > 0 ; i--) { - mSharedArray.appendChunk (inSourceU8Array [i-1] COMMA_HERE) ; - } - mSharedArray.removeLeadingZeroChunks (HERE) ; - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_8_BITS_CHUNKS - BigUnsigned::BigUnsigned (const size_t inU64Count, - const uint64_t * inSourceU64Array) : - mSharedArray (inU64Count * 8) { - for (size_t i = inU64Count ; i > 0 ; i--) { - uint64_t v = inSourceU64Array [i-1] ; - for (size_t j = 0 ; j < 8 ; j++) { - mSharedArray.appendChunk (uint8_t (v) COMMA_HERE) ; - v >>= 8 ; - } - } - mSharedArray.removeLeadingZeroChunks (HERE) ; - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Constructors for 32 bits chunks -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_32_BITS_CHUNKS - BigUnsigned::BigUnsigned (const uint64_t inValue) : - mSharedArray (2) { - mSharedArray.appendChunk (uint32_t (inValue) COMMA_HERE) ; - mSharedArray.appendChunk (uint32_t (inValue >> 32) COMMA_HERE) ; - mSharedArray.removeLeadingZeroChunks (HERE) ; - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_32_BITS_CHUNKS - BigUnsigned::BigUnsigned (const size_t inU8Count, - const uint8_t * inSourceU8Array) : - mSharedArray ((inU8Count + 3) / 4) { - uint32_t accumulator = 0 ; - size_t phase = 0 ; - for (size_t i = inU8Count ; i > 0 ; i--) { - const uint64_t v = inSourceU8Array [i-1] ; - accumulator |= (v << phase) ; - phase += 8 ; - if (phase == 32) { - mSharedArray.appendChunk (accumulator COMMA_HERE) ; - accumulator = 0 ; - phase = 0 ; - } - } - if (phase > 0) { - mSharedArray.appendChunk (accumulator COMMA_HERE) ; - } - mSharedArray.removeLeadingZeroChunks (HERE) ; - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_32_BITS_CHUNKS - BigUnsigned::BigUnsigned (const size_t inU64Count, - const uint64_t * inSourceU64Array) : - mSharedArray (inU64Count * 2) { - for (size_t i = inU64Count ; i > 0 ; i--) { - uint64_t v = inSourceU64Array [i-1] ; - for (size_t j = 0 ; j < 2 ; j++) { - mSharedArray.appendChunk (uint32_t (v) COMMA_HERE) ; - v >>= 32 ; - } - } - mSharedArray.removeLeadingZeroChunks (HERE) ; - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Constructors for 16 bits chunks -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_16_BITS_CHUNKS - BigUnsigned::BigUnsigned (const uint64_t inValue) : - mSharedArray (4) { - mSharedArray.appendChunk (uint16_t (inValue) COMMA_HERE) ; - mSharedArray.appendChunk (uint16_t (inValue >> 16) COMMA_HERE) ; - mSharedArray.appendChunk (uint16_t (inValue >> 32) COMMA_HERE) ; - mSharedArray.appendChunk (uint16_t (inValue >> 48) COMMA_HERE) ; - mSharedArray.removeLeadingZeroChunks (HERE) ; - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_16_BITS_CHUNKS - BigUnsigned::BigUnsigned (const size_t inU8Count, - const uint8_t * inSourceU8Array) : - mSharedArray ((inU8Count + 1) / 2) { - uint16_t accumulator = 0 ; - size_t phase = 0 ; - for (size_t i = inU8Count ; i > 0 ; i--) { - const uint64_t v = inSourceU8Array [i-1] ; - accumulator |= (v << phase) ; - phase += 8 ; - if (phase == 16) { - mSharedArray.appendChunk (accumulator COMMA_HERE) ; - accumulator = 0 ; - phase = 0 ; - } - } - if (phase > 0) { - mSharedArray.appendChunk (accumulator COMMA_HERE) ; - } - mSharedArray.removeLeadingZeroChunks (HERE) ; - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_16_BITS_CHUNKS - BigUnsigned::BigUnsigned (const size_t inU64Count, - const uint64_t * inSourceU64Array) : - mSharedArray (inU64Count * 4) { - for (size_t i = inU64Count ; i > 0 ; i--) { - uint64_t v = inSourceU64Array [i-1] ; - for (size_t j = 0 ; j < 4 ; j++) { - mSharedArray.appendChunk (uint16_t (v) COMMA_HERE) ; - v >>= 16 ; - } - } - mSharedArray.removeLeadingZeroChunks (HERE) ; - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Constructors for 64 bits chunks -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_64_BITS_CHUNKS - BigUnsigned::BigUnsigned (const uint64_t inValue) : - mSharedArray (1) { - mSharedArray.appendChunk (inValue COMMA_HERE) ; - mSharedArray.removeLeadingZeroChunks (HERE) ; - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_64_BITS_CHUNKS - BigUnsigned::BigUnsigned (const size_t inU8Count, - const uint8_t * inSourceU8Array) : - mSharedArray ((inU8Count + 7) / 8) { - uint64_t accumulator = 0 ; - size_t phase = 0 ; - for (size_t i = inU8Count ; i > 0 ; i--) { - const uint64_t v = inSourceU8Array [i-1] ; - accumulator |= (v << phase) ; - phase += 8 ; - if (phase == 64) { - mSharedArray.appendChunk (accumulator COMMA_HERE) ; - accumulator = 0 ; - phase = 0 ; - } - } - if (phase > 0) { - mSharedArray.appendChunk (accumulator COMMA_HERE) ; - } - mSharedArray.removeLeadingZeroChunks (HERE) ; - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_64_BITS_CHUNKS - BigUnsigned::BigUnsigned (const size_t inU64Count, - const uint64_t * inSourceU64Array) : - mSharedArray (inU64Count) { - for (size_t i = inU64Count ; i > 0 ; i--) { - mSharedArray.appendChunk (inSourceU64Array [i-1] COMMA_HERE) ; - } - mSharedArray.removeLeadingZeroChunks (HERE) ; - } -#endif - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigUnsigned-conversions.cpp b/goil/build/libpm/big-integers/BigUnsigned-conversions.cpp deleted file mode 100644 index 4c1ef138b..000000000 --- a/goil/build/libpm/big-integers/BigUnsigned-conversions.cpp +++ /dev/null @@ -1,72 +0,0 @@ -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#include "BigUnsigned.h" - -//-------------------------------------------------------------------------------------------------- - -bool BigUnsigned::fitsInUInt32 (void) const { - return u8Count () <= 4 ; -} - -//-------------------------------------------------------------------------------------------------- - -bool BigUnsigned::fitsInUInt64 (void) const { - return u8Count () <= 8 ; -} - -//-------------------------------------------------------------------------------------------------- - -uint32_t BigUnsigned::requiredBitCountForUnsignedRepresentation (void) const { - if (isZero ()) { - return 0 ; - }else{ - uint32_t n = uint32_t (u8Count () - 1) * 8 ; - uint8_t last = u8AtIndex (u8Count () - 1) ; - macroAssert (last != 0, "last is null", 0, 0) ; - while (last != 0) { - n += 1 ; - last /= 2 ; - } - return n ; - } -} - -//-------------------------------------------------------------------------------------------------- - -uint32_t BigUnsigned::uint32 (void) const { - if (isZero ()) { - return 0 ; - }else{ - return uint32_t (u64AtIndex (0)) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -uint64_t BigUnsigned::uint64 (void) const { - if (isZero ()) { - return 0 ; - }else{ - return u64AtIndex (0) ; - } -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigUnsigned-divide-naive.cpp b/goil/build/libpm/big-integers/BigUnsigned-divide-naive.cpp deleted file mode 100644 index f9d495fb4..000000000 --- a/goil/build/libpm/big-integers/BigUnsigned-divide-naive.cpp +++ /dev/null @@ -1,106 +0,0 @@ -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#include "BigUnsigned.h" -#include "M_machine.h" -#include "M_SourceLocation.h" - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Divide (naive, can be very slow) -#endif - -//-------------------------------------------------------------------------------------------------- - -BigUnsignedQuotientRemainder BigUnsigned::naiveDivideByBigUnsigned (const BigUnsigned & inDivisor) const { - if (inDivisor.isZero ()) { // Divide by 0 - std::cout << "Error " << __FILE__ << ":" << __LINE__ << "\n" ; - exit (1) ; - }else if (inDivisor.isOne ()) { // Divide by 1: quotient <- dividend, remainder <- 0 - return BigUnsignedQuotientRemainder (*this, BigUnsigned ()) ; - }else if (*this < inDivisor) { // dividend < divisor: remainder <- dividend, quotient <- 0 - return BigUnsignedQuotientRemainder (BigUnsigned (), *this) ; - }else{ // mSharedArray.lastChunk (HERE) >= inDivisor.mSharedArray.lastChunk (HERE) - BigUnsigned remainder = *this ; - remainder.mSharedArray.insulateWithChunkCapacity (remainder.chunkCount () + 1) ; - if (mSharedArray.lastChunk (HERE) >= inDivisor.mSharedArray.lastChunk (HERE)) { - remainder.mSharedArray.appendChunk (0 COMMA_HERE) ; - } - const size_t quotientWordCount = remainder.mSharedArray.chunkCount () - inDivisor.mSharedArray.chunkCount () ; - BigUnsigned quotient ; - quotient.mSharedArray.insulateWithChunkCapacity (quotientWordCount) ; - quotient.mSharedArray.appendRandomChunks (quotientWordCount COMMA_HERE) ; - for (size_t quotientIndex = quotientWordCount ; quotientIndex > 0 ; quotientIndex--) { - const size_t remainderIndexH = remainder.mSharedArray.chunkCount () + quotientIndex - quotientWordCount ; - ChunkUInt u64Quotient = divForNaiveDivision ( - remainder.mSharedArray.chunkAtIndex (remainderIndexH COMMA_HERE), // inDividendH < inDivisor - remainder.mSharedArray.chunkAtIndex (remainderIndexH - 1 COMMA_HERE), - inDivisor.mSharedArray.lastChunk (HERE) - ) ; - if (u64Quotient > 0) { - ChunkUInt currentCarry = 0 ; - for (size_t i = 1 ; i <= inDivisor.mSharedArray.chunkCount () ; i++) { - ChunkUInt resultH ; - ChunkUInt resultL ; - baseMultiplication (u64Quotient, inDivisor.mSharedArray.chunkAtIndex (i COMMA_HERE), resultH, resultL) ; - resultL += currentCarry ; // Can overflow - resultH += resultL < currentCarry ; // Propagate Overflow, no add overflowf - currentCarry = resultH ; - const size_t remainderIndex = i + quotientIndex - 1 ; - const ChunkUInt r = remainder.mSharedArray.chunkAtIndex (remainderIndex COMMA_HERE) ; - currentCarry += r < resultL ; - macroAssert (! ((r < resultL) && (currentCarry == 0)), "double ovf", 0, 0) ; - remainder.mSharedArray.subtractFromChunkAtIndex (resultL, remainderIndex COMMA_HERE) ; - } - const size_t remainderLastIndex = quotientIndex + inDivisor.mSharedArray.chunkCount () ; - bool underflow = remainder.mSharedArray.chunkAtIndex (remainderLastIndex COMMA_HERE) < currentCarry ; - remainder.mSharedArray.subtractFromChunkAtIndex (currentCarry, remainderLastIndex COMMA_HERE) ; - while (underflow) { - macroAssert (u64Quotient > 0, "Error", 0, 0) ; // Quotient is > 0, no underflow - u64Quotient -= 1 ; - ChunkUInt carry = 0 ; // 0 or 1 - for (size_t i = 1 ; i <= inDivisor.mSharedArray.chunkCount () ; i++) { - const ChunkUInt v1 = remainder.mSharedArray.chunkAtIndex (i + quotientIndex - 1 COMMA_HERE) ; - const ChunkUInt v2 = inDivisor.mSharedArray.chunkAtIndex (i COMMA_HERE) ; - ChunkUInt sum = v1 + v2 ; - const ChunkUInt carry1 = sum < v1 ; - sum += carry ; - const ChunkUInt carry2 = sum < carry ; - remainder.mSharedArray.setChunkAtIndex (sum, i + quotientIndex - 1 COMMA_HERE) ; - carry = carry1 + carry2 ; - macroAssert (carry <= 1, "Invalid carry", 0, 0) ; - } - ChunkUInt lastRemainderValue = remainder.mSharedArray.chunkAtIndex (remainderLastIndex COMMA_HERE) ; - lastRemainderValue += carry ; - carry = lastRemainderValue < carry ; - remainder.mSharedArray.setChunkAtIndex (lastRemainderValue, remainderLastIndex COMMA_HERE) ; - underflow = carry == 0 ; - } - } - quotient.mSharedArray.setChunkAtIndex (u64Quotient, quotientIndex COMMA_HERE) ; - } - //--- Remove leading zeros - remainder.mSharedArray.removeLeadingZeroChunks (HERE) ; - return BigUnsignedQuotientRemainder (quotient, remainder) ; - } -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigUnsigned-divide.cpp b/goil/build/libpm/big-integers/BigUnsigned-divide.cpp deleted file mode 100644 index e5bb168ea..000000000 --- a/goil/build/libpm/big-integers/BigUnsigned-divide.cpp +++ /dev/null @@ -1,120 +0,0 @@ -//-------------------------------------------------------------------------------------------------- - -#include "BigUnsigned.h" -#include "M_machine.h" -#include "M_SourceLocation.h" - -//-------------------------------------------------------------------------------------------------- - -void BigUnsigned::operator /= (const BigUnsigned inDivisor) { - const BigUnsignedQuotientRemainder r = divideByBigUnsigned (inDivisor) ; - *this = r.quotient () ; -} - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned BigUnsigned::operator / (const BigUnsigned inDivisor) const { - const BigUnsignedQuotientRemainder r = divideByBigUnsigned (inDivisor) ; - return r.quotient () ; -} - -//-------------------------------------------------------------------------------------------------- - -void BigUnsigned::operator %= (const BigUnsigned inDivisor) { - const BigUnsignedQuotientRemainder r = divideByBigUnsigned (inDivisor) ; - *this = r.remainder () ; -} - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned BigUnsigned::operator % (const BigUnsigned inDivisor) const { - const BigUnsignedQuotientRemainder r = divideByBigUnsigned (inDivisor) ; - return r.remainder () ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Divide -#endif - -//-------------------------------------------------------------------------------------------------- - -BigUnsignedQuotientRemainder BigUnsigned::divideByBigUnsigned (const BigUnsigned & inDivisor) const { - if (inDivisor.isZero ()) { // Divide by 0 - std::cout << "Error, division by zero " << __FILE__ << ":" << __LINE__ << "\n" ; - exit (1) ; - }else if (inDivisor.isOne ()) { // Divide by 1: quotient <- dividend, remainder <- 0 - return BigUnsignedQuotientRemainder (*this, BigUnsigned ()) ; - }else if (*this < inDivisor) { // dividend < divisor: remainder <- dividend, quotient <- 0 - return BigUnsignedQuotientRemainder (BigUnsigned (), *this) ; - }else{ - const uint32_t s = countLeadingZeros (inDivisor.mSharedArray.lastChunk (HERE)) ; - macroAssert (s < ChunkUIntBitCount, "Error (0x%llx -> %llu)", int64_t (inDivisor.mSharedArray.lastChunk (HERE)), int32_t (s)) ; - const BigUnsigned divisor = inDivisor << s ; - BigUnsigned remainder = *this << s ; - remainder.mSharedArray.insulateWithChunkCapacity (remainder.chunkCount () + 1) ; - if (remainder.mSharedArray.lastChunk (HERE) >= divisor.mSharedArray.lastChunk (HERE)) { - remainder.mSharedArray.appendChunk (0 COMMA_HERE) ; - } - const size_t quotientWordCount = remainder.mSharedArray.chunkCount () - divisor.mSharedArray.chunkCount () ; - BigUnsigned quotient ; - quotient.mSharedArray.insulateWithChunkCapacity (quotientWordCount) ; - quotient.mSharedArray.appendRandomChunks (quotientWordCount COMMA_HERE) ; - for (size_t quotientIndex = quotientWordCount ; quotientIndex > 0 ; quotientIndex--) { - const size_t remainderIndexH = remainder.mSharedArray.chunkCount () + quotientIndex - quotientWordCount ; - ChunkUInt u64Quotient = divForDivision ( - remainder.mSharedArray.chunkAtIndex (remainderIndexH COMMA_HERE), // inDividendH < divisor - remainder.mSharedArray.chunkAtIndex (remainderIndexH - 1 COMMA_HERE), - divisor.mSharedArray.lastChunk (HERE) - ) ; - if (u64Quotient > 0) { - ChunkUInt currentCarry = 0 ; - for (size_t i = 1 ; i <= divisor.mSharedArray.chunkCount () ; i++) { - ChunkUInt resultH ; - ChunkUInt resultL ; - baseMultiplication (u64Quotient, divisor.mSharedArray.chunkAtIndex (i COMMA_HERE), resultH, resultL) ; - addReportingOverflow (resultL, currentCarry, resultH) ; - currentCarry = resultH ; - const size_t remainderIndex = i + quotientIndex - 1 ; - const ChunkUInt r = remainder.mSharedArray.chunkAtIndex (remainderIndex COMMA_HERE) ; - currentCarry += r < resultL ; - macroAssert (! ((r < resultL) && (currentCarry == 0)), "double ovf", 0, 0) ; - remainder.mSharedArray.subtractFromChunkAtIndex (resultL, remainderIndex COMMA_HERE) ; - } - const size_t remainderLastIndex = quotientIndex + divisor.mSharedArray.chunkCount () ; - bool underflow = remainder.mSharedArray.chunkAtIndex (remainderLastIndex COMMA_HERE) < currentCarry ; - remainder.mSharedArray.subtractFromChunkAtIndex (currentCarry, remainderLastIndex COMMA_HERE) ; - while (underflow) { - macroAssert (u64Quotient > 0, "Error", 0, 0) ; // Quotient is > 0, no underflow - u64Quotient -= 1 ; - ChunkUInt carry = 0 ; // 0 or 1 - for (size_t i = 1 ; i <= divisor.mSharedArray.chunkCount () ; i++) { - const ChunkUInt v1 = remainder.mSharedArray.chunkAtIndex (i + quotientIndex - 1 COMMA_HERE) ; - const ChunkUInt v2 = divisor.mSharedArray.chunkAtIndex (i COMMA_HERE) ; - ChunkUInt sum = v1 ; - ChunkUInt newCarry = 0 ; - addReportingOverflow (sum, v2, newCarry) ; - addReportingOverflow (sum, carry, newCarry) ; - remainder.mSharedArray.setChunkAtIndex (sum, i + quotientIndex - 1 COMMA_HERE) ; - carry = newCarry ; - macroAssert (carry <= 1, "Invalid carry", 0, 0) ; - } - ChunkUInt lastRemainderValue = remainder.mSharedArray.chunkAtIndex (remainderLastIndex COMMA_HERE) ; - ChunkUInt newCarry = 0 ; - addReportingOverflow (lastRemainderValue, carry, newCarry) ; - carry = newCarry ; - remainder.mSharedArray.setChunkAtIndex (lastRemainderValue, remainderLastIndex COMMA_HERE) ; - underflow = carry == 0 ; - } - } - quotient.mSharedArray.setChunkAtIndex (u64Quotient, quotientIndex COMMA_HERE) ; - } - //--- Remove leading zeros - remainder.mSharedArray.removeLeadingZeroChunks (HERE) ; - remainder >>= s ; - return BigUnsignedQuotientRemainder (quotient, remainder) ; - } -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigUnsigned-logic-operations.cpp b/goil/build/libpm/big-integers/BigUnsigned-logic-operations.cpp deleted file mode 100644 index eb484ca3a..000000000 --- a/goil/build/libpm/big-integers/BigUnsigned-logic-operations.cpp +++ /dev/null @@ -1,382 +0,0 @@ -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#include "BigUnsigned.h" - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned BigUnsigned::operator | (const BigUnsigned inOperand) const { - if (mSharedArray.chunkCount () == 0) { // Receiver is zero - return inOperand ; - }else if (inOperand.mSharedArray.chunkCount () == 0) { // Operand is zero - return *this ; - }else{ - const size_t maxChunkCount = std::max (mSharedArray.chunkCount (), inOperand.mSharedArray.chunkCount ()) ; - BigUnsigned result ; - result.mSharedArray.insulateWithChunkCapacity (maxChunkCount) ; - const size_t minChunkCount = std::min (mSharedArray.chunkCount (), inOperand.mSharedArray.chunkCount ()) ; - for (size_t i = 1 ; i <= minChunkCount ; i++) { - result.mSharedArray.appendChunk (mSharedArray.chunkAtIndex (i COMMA_HERE) | inOperand.mSharedArray.chunkAtIndex (i COMMA_HERE) COMMA_HERE) ; - } - for (size_t i = mSharedArray.chunkCount () + 1 ; i <= maxChunkCount ; i++) { - result.mSharedArray.appendChunk (inOperand.mSharedArray.chunkAtIndex (i COMMA_HERE) COMMA_HERE) ; - } - for (size_t i = inOperand.mSharedArray.chunkCount () + 1 ; i <= maxChunkCount ; i++) { - result.mSharedArray.appendChunk (mSharedArray.chunkAtIndex (i COMMA_HERE) COMMA_HERE) ; - } - return result ; - } -} - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned BigUnsigned::operator ^ (const BigUnsigned inOperand) const { - if (mSharedArray.chunkCount () == 0) { // Receiver is zero - return inOperand ; - }else if (inOperand.mSharedArray.chunkCount () == 0) { // Operand is zero - return *this ; - }else{ - const size_t maxChunkCount = std::max (mSharedArray.chunkCount (), inOperand.mSharedArray.chunkCount ()) ; - BigUnsigned result ; - result.mSharedArray.insulateWithChunkCapacity (maxChunkCount) ; - const size_t minChunkCount = std::min (mSharedArray.chunkCount (), inOperand.mSharedArray.chunkCount ()) ; - for (size_t i = 1 ; i <= minChunkCount ; i++) { - result.mSharedArray.appendChunk (mSharedArray.chunkAtIndex (i COMMA_HERE) ^ inOperand.mSharedArray.chunkAtIndex (i COMMA_HERE) COMMA_HERE) ; - } - for (size_t i = minChunkCount + 1 ; i <= inOperand.mSharedArray.chunkCount () ; i++) { - result.mSharedArray.appendChunk (inOperand.mSharedArray.chunkAtIndex (i COMMA_HERE) COMMA_HERE) ; - } - for (size_t i = minChunkCount + 1 ; i <= mSharedArray.chunkCount () ; i++) { - result.mSharedArray.appendChunk (mSharedArray.chunkAtIndex (i COMMA_HERE) COMMA_HERE) ; - } - result.mSharedArray.removeLeadingZeroChunks (HERE) ; - return result ; - } -} - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned BigUnsigned::operator & (const BigUnsigned inOperand) const { - if ((mSharedArray.chunkCount () == 0) || (inOperand.mSharedArray.chunkCount () == 0)) { - return BigUnsigned () ; - }else{ // Operand are not zero - const size_t minChunkCount = std::min (mSharedArray.chunkCount (), inOperand.mSharedArray.chunkCount ()) ; - BigUnsigned result ; - result.mSharedArray.insulateWithChunkCapacity (minChunkCount) ; - for (size_t i = 1 ; i <= minChunkCount ; i++) { - result.mSharedArray.appendChunk (mSharedArray.chunkAtIndex (i COMMA_HERE) & inOperand.mSharedArray.chunkAtIndex (i COMMA_HERE) COMMA_HERE) ; - } - result.mSharedArray.removeLeadingZeroChunks (HERE) ; - return result ; - } -} - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned & BigUnsigned::operator |= (const ChunkUInt inOperand) { - if (isZero ()) { - *this = BigUnsigned (inOperand) ; - }else{ - mSharedArray.insulateWithChunkCapacity (chunkCount ()) ; - const ChunkUInt v = mSharedArray.chunkAtIndex (1 COMMA_HERE) | inOperand ; - mSharedArray.setChunkAtIndex (v, 1 COMMA_HERE) ; - } - return *this ; -} - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned BigUnsigned::complemented (const size_t inChunkCount) const { - BigUnsigned result ; - result.mSharedArray.insulateWithChunkCapacity (std::max (chunkCount (), inChunkCount)) ; - for (size_t i = 1 ; i <= chunkCount () ; i++) { - const ChunkUInt v = ChunkUInt (~ mSharedArray.chunkAtIndex (i COMMA_HERE)) ; - result.mSharedArray.appendChunk (v COMMA_HERE) ; - } - for (size_t i = chunkCount () + 1 ; i <= inChunkCount ; i++) { - result.mSharedArray.appendChunk (ChunkUIntMax COMMA_HERE) ; - } - result.mSharedArray.removeLeadingZeroChunks (HERE) ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned BigUnsigned::subtractedOneAndComplemented (const size_t inChunkCount) const { - BigUnsigned result ; - result.mSharedArray.insulateWithChunkCapacity (std::max (chunkCount (), inChunkCount)) ; - ChunkUInt borrow = 1 ; - for (size_t i = 1 ; i <= chunkCount () ; i++) { - const ChunkUInt v = mSharedArray.chunkAtIndex (i COMMA_HERE) ; - const ChunkUInt r = v - borrow ; - borrow = v < borrow ; - result.mSharedArray.appendChunk (~ r COMMA_HERE) ; - } - macroAssert (borrow == 0, "Borrow non null (%llu)", int64_t (borrow), 0) ; - for (size_t i = chunkCount () + 1 ; i <= inChunkCount ; i++) { - result.mSharedArray.appendChunk (ChunkUIntMax COMMA_HERE) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned BigUnsigned::utilityForNegativeOrNegative (const BigUnsigned & inOperand) const { -// return ((*this - 1) & (inOperand - 1)) + 1 ; - const size_t minChunkCount = std::min (chunkCount(), inOperand.chunkCount()) ; - BigUnsigned result ; - result.mSharedArray.insulateWithChunkCapacity (minChunkCount + 1) ; - ChunkUInt thisBorrow = 1 ; - ChunkUInt operandBorrow = 1 ; - ChunkUInt carry = 1 ; - for (size_t i = 1 ; i <= minChunkCount ; i++) { - const ChunkUInt thisValue = mSharedArray.chunkAtIndex (i COMMA_HERE) ; - const ChunkUInt leftValue = thisValue - thisBorrow ; - thisBorrow = thisValue < thisBorrow ; - const ChunkUInt operand = inOperand.mSharedArray.chunkAtIndex (i COMMA_HERE) ; - const ChunkUInt rightValue = operand - operandBorrow ; - operandBorrow = operand < operandBorrow ; - const ChunkUInt r = (leftValue & rightValue) + carry ; - carry = r < carry ; - result.mSharedArray.appendChunk (r COMMA_HERE) ; - } - if (carry == 0) { - result.mSharedArray.removeLeadingZeroChunks (HERE) ; - }else{ - macroAssert (carry == 1, "carry != 1", 0, 0) ; - result.mSharedArray.appendChunk (carry COMMA_HERE) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned BigUnsigned::utilityForNegativeAndNegative (const BigUnsigned & inOperand) const { -// return ((*this - 1) | (inOperand - 1)) + 1 ; - const size_t maxChunkCount = std::max (chunkCount(), inOperand.chunkCount()) ; - BigUnsigned result ; - result.mSharedArray.insulateWithChunkCapacity (maxChunkCount + 1) ; - ChunkUInt thisBorrow = 1 ; - ChunkUInt operandBorrow = 1 ; - ChunkUInt carry = 1 ; - const size_t minChunkCount = std::min (chunkCount(), inOperand.chunkCount()) ; - for (size_t i = 1 ; i <= minChunkCount ; i++) { - const ChunkUInt thisValue = mSharedArray.chunkAtIndex (i COMMA_HERE) ; - const ChunkUInt leftValue = thisValue - thisBorrow ; - thisBorrow = thisValue < thisBorrow ; - const ChunkUInt operandValue = inOperand.mSharedArray.chunkAtIndex (i COMMA_HERE) ; - const ChunkUInt rightValue = operandValue - operandBorrow ; - operandBorrow = operandValue < operandBorrow ; - ChunkUInt r = leftValue | rightValue ; - ChunkUInt newCarry = 0 ; - addReportingOverflow (r, carry, newCarry) ; - carry = newCarry ; - result.mSharedArray.appendChunk (r COMMA_HERE) ; -// const ChunkUInt r = (leftValue | rightValue) + carry ; -// carry = r < carry ; -// result.mSharedArray.appendChunk (r COMMA_HERE) ; - } - for (size_t i = minChunkCount + 1 ; i <= chunkCount() ; i++) { - macroAssert (operandBorrow == 0, "operandBorrow not null", 0, 0) ; - const ChunkUInt thisValue = mSharedArray.chunkAtIndex (i COMMA_HERE) ; - const ChunkUInt leftValue = thisValue - thisBorrow ; - thisBorrow = thisValue < thisBorrow ; - const ChunkUInt r = leftValue + carry ; - carry = r < carry ; - result.mSharedArray.appendChunk (r COMMA_HERE) ; - } - for (size_t i = minChunkCount + 1 ; i <= inOperand.chunkCount() ; i++) { - macroAssert (thisBorrow == 0, "thisBorrow not null", 0, 0) ; - const ChunkUInt operandValue = inOperand.mSharedArray.chunkAtIndex (i COMMA_HERE) ; - const ChunkUInt rightValue = operandValue - operandBorrow ; - operandBorrow = operandValue < operandBorrow ; - const ChunkUInt r = rightValue + carry ; - carry = r < carry ; - result.mSharedArray.appendChunk (r COMMA_HERE) ; - } - if (carry > 0) { - macroAssert (carry == 1, "carry != 1", 0, 0) ; - result.mSharedArray.appendChunk (carry COMMA_HERE) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned BigUnsigned::utilityForPositiveAndNegative (const BigUnsigned & inNegative) const { -// return *this & inNegative.subtractedOneAndComplemented (chunkCount()) ; - const size_t maxChunkCount = std::max (chunkCount(), inNegative.chunkCount()) ; - BigUnsigned result ; - result.mSharedArray.insulateWithChunkCapacity (maxChunkCount) ; - ChunkUInt borrow = 1 ; // 0 or 1 - const size_t minChunkCount = std::min (chunkCount(), inNegative.chunkCount()) ; - for (size_t i = 1 ; i <= minChunkCount ; i++) { - const ChunkUInt positive = mSharedArray.chunkAtIndex (i COMMA_HERE) ; - const ChunkUInt negative = inNegative.mSharedArray.chunkAtIndex (i COMMA_HERE) ; - const ChunkUInt n = negative - borrow ; - borrow = negative < borrow ; - const ChunkUInt andResult = positive & ~ n ; - result.mSharedArray.appendChunk (andResult COMMA_HERE) ; - } - for (size_t i = minChunkCount + 1 ; i <= chunkCount () ; i++) { - const ChunkUInt positive = mSharedArray.chunkAtIndex (i COMMA_HERE) ; - const ChunkUInt negative = 0 ; - const ChunkUInt n = negative - borrow ; - borrow = negative < borrow ; - const ChunkUInt andResult = positive & ~ n ; - result.mSharedArray.appendChunk (andResult COMMA_HERE) ; - } - // macroAssert (borrow == 0, "borrow != 0", 0, 0) ; - result.mSharedArray.removeLeadingZeroChunks (HERE) ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned BigUnsigned::utilityForPositiveOrNegative (const BigUnsigned & inNegative) const { -// return (complemented (inNegative.chunkCount ()) & (inNegative - 1)) + 1 ; - const size_t maxChunkCount = std::max (chunkCount(), inNegative.chunkCount()) ; - BigUnsigned result ; - result.mSharedArray.insulateWithChunkCapacity (maxChunkCount + 1) ; - ChunkUInt carry = 1 ; // 0 or 1 - ChunkUInt borrow = 1 ; // 0 or 1 - const size_t minChunkCount = std::min (chunkCount(), inNegative.chunkCount()) ; - for (size_t i = 1 ; i <= minChunkCount ; i++) { - const ChunkUInt positiveComplemented = ChunkUInt (~ mSharedArray.chunkAtIndex (i COMMA_HERE)) ; - ChunkUInt n = inNegative.mSharedArray.chunkAtIndex (i COMMA_HERE) ; - ChunkUInt newBorrow = 0 ; - subtractReportingOverflow (n, borrow, newBorrow) ; - borrow = newBorrow ; - const ChunkUInt andResult = positiveComplemented & n ; - const ChunkUInt v = andResult + carry ; - carry = v < carry ; - result.mSharedArray.appendChunk (v COMMA_HERE) ; - } -// macroAssert (carry >= borrow, "carry, borrow error", 0, 0) ; - for (size_t i = minChunkCount + 1 ; i <= inNegative.chunkCount() ; i++) { - const ChunkUInt negative = inNegative.mSharedArray.chunkAtIndex (i COMMA_HERE) ; - const ChunkUInt n = negative - borrow ; - borrow = negative < borrow ; - const ChunkUInt v = n + carry ; - carry = v < carry ; - result.mSharedArray.appendChunk (v COMMA_HERE) ; - } - result.mSharedArray.removeLeadingZeroChunks (HERE) ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned BigUnsigned::utilityForNegativeXorNegative (const BigUnsigned & inOperand) const { -// return (*this - 1) ^ (inOperand - 1) ; - const size_t maxChunkCount = std::max (chunkCount(), inOperand.chunkCount()) ; - BigUnsigned result ; - result.mSharedArray.insulateWithChunkCapacity (maxChunkCount) ; - ChunkUInt leftBorrow = 1 ; - ChunkUInt rightBorrow = 1 ; - const size_t minChunkCount = std::min (chunkCount(), inOperand.chunkCount()) ; - for (size_t i = 1 ; i <= minChunkCount ; i++) { - const ChunkUInt leftOp = mSharedArray.chunkAtIndex (i COMMA_HERE) ; - const ChunkUInt leftValue = leftOp - leftBorrow ; - leftBorrow = leftOp < leftBorrow ; - const ChunkUInt rightOp = inOperand.mSharedArray.chunkAtIndex (i COMMA_HERE) ; - const ChunkUInt rightValue = rightOp - rightBorrow ; - rightBorrow = rightOp < rightBorrow ; - result.mSharedArray.appendChunk (leftValue ^ rightValue COMMA_HERE) ; - } - for (size_t i = minChunkCount + 1 ; i <= chunkCount() ; i++) { - const ChunkUInt leftOp = mSharedArray.chunkAtIndex (i COMMA_HERE) ; - const ChunkUInt leftValue = leftOp - leftBorrow ; - leftBorrow = leftOp < leftBorrow ; - result.mSharedArray.appendChunk (leftValue COMMA_HERE) ; - } - for (size_t i = minChunkCount + 1 ; i <= inOperand.chunkCount() ; i++) { - const ChunkUInt rightOp = inOperand.mSharedArray.chunkAtIndex (i COMMA_HERE) ; - const ChunkUInt rightValue = rightOp - rightBorrow ; - rightBorrow = rightOp < rightBorrow ; - result.mSharedArray.appendChunk (rightValue COMMA_HERE) ; - } - macroAssert (rightBorrow == 0, "borrow != 0", 0, 0) ; - macroAssert (leftBorrow == 0, "borrow != 0", 0, 0) ; - result.mSharedArray.removeLeadingZeroChunks (HERE) ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned BigUnsigned::utilityForPositiveXorNegative (const BigUnsigned & inNegative) const { -// const BigUnsigned r = *this ^ inNegative.subtractedOneAndComplemented (chunkCount ()) ; -// return r.complemented (r.chunkCount ()) + 1 ; - const size_t maxChunkCount = std::max (chunkCount(), inNegative.chunkCount()) ; - BigUnsigned result ; - result.mSharedArray.insulateWithChunkCapacity (maxChunkCount + 1) ; - ChunkUInt carry = 1 ; - ChunkUInt borrow = 1 ; - const size_t minChunkCount = std::min (chunkCount(), inNegative.chunkCount()) ; - for (size_t i = 1 ; i <= minChunkCount ; i++) { - const ChunkUInt positive = mSharedArray.chunkAtIndex (i COMMA_HERE) ; - const ChunkUInt negative = inNegative.mSharedArray.chunkAtIndex (i COMMA_HERE) ; - const ChunkUInt n = negative - borrow ; - borrow = negative < borrow ; - const ChunkUInt xorResultComplemented = ~(positive ^ ~n) ; - const ChunkUInt v = xorResultComplemented + carry ; - carry = v < carry ; - result.mSharedArray.appendChunk (v COMMA_HERE) ; - } - for (size_t i = minChunkCount + 1 ; i <= chunkCount() ; i++) { - const ChunkUInt positive = mSharedArray.chunkAtIndex (i COMMA_HERE) ; - const ChunkUInt v = positive + carry ; - carry = v < carry ; - result.mSharedArray.appendChunk (v COMMA_HERE) ; - } - for (size_t i = minChunkCount + 1 ; i <= inNegative.chunkCount() ; i++) { - const ChunkUInt negative = inNegative.mSharedArray.chunkAtIndex (i COMMA_HERE) ; - const ChunkUInt n = negative - borrow ; - borrow = negative < borrow ; - const ChunkUInt v = n + carry ; - carry = v < carry ; - result.mSharedArray.appendChunk (v COMMA_HERE) ; - } - macroAssert (borrow == 0, "borrow != 0", 0, 0) ; - if (carry > 0) { - macroAssert (carry == 1, "carry != 1", 0, 0) ; - result.mSharedArray.appendChunk (carry COMMA_HERE) ; - } - result.mSharedArray.removeLeadingZeroChunks (HERE) ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -size_t BigUnsigned::countTrailingZeros (void) const { - size_t result = 0 ; - if (!isZero ()) { - size_t idx = 1 ; - while (mSharedArray.chunkAtIndex (idx COMMA_HERE) == 0) { - result += ChunkUIntBitCount ; - idx += 1 ; - } - const size_t r = size_t (__builtin_ctzl (unsigned (mSharedArray.chunkAtIndex (idx COMMA_HERE)))) ; - result += r ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigUnsigned-multiply.cpp b/goil/build/libpm/big-integers/BigUnsigned-multiply.cpp deleted file mode 100644 index ac2e1ee2c..000000000 --- a/goil/build/libpm/big-integers/BigUnsigned-multiply.cpp +++ /dev/null @@ -1,66 +0,0 @@ -//-------------------------------------------------------------------------------------------------- - -#include "BigUnsigned.h" - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned BigUnsigned::multiply (const BigUnsigned inLeft, const BigUnsigned inRight) { - if ((inLeft.mSharedArray.chunkCount () == 0) || (inRight.mSharedArray.chunkCount () == 0)) { - return BigUnsigned () ; - }else{ // Operands are not zero - BigUnsigned leftOperand ; - BigUnsigned rightOperand ; - if (inLeft.mSharedArray.chunkCount () < inRight.mSharedArray.chunkCount ()) { - leftOperand = inLeft ; - rightOperand = inRight ; - }else{ - leftOperand = inRight ; - rightOperand = inLeft ; - } - BigUnsigned result ; - result.mSharedArray.insulateWithChunkCapacity (rightOperand.mSharedArray.chunkCount () + leftOperand.mSharedArray.chunkCount ()) ; - result.mSharedArray.appendChunks (rightOperand.mSharedArray.chunkCount () + leftOperand.mSharedArray.chunkCount (), 0 COMMA_HERE) ; - for (size_t i = 1 ; i <= leftOperand.mSharedArray.chunkCount () ; i++) { - const ChunkUInt leftValue = leftOperand.mSharedArray.chunkAtIndex (i COMMA_HERE) ; - ChunkUInt carry = 0 ; - for (size_t j = 1 ; j <= rightOperand.mSharedArray.chunkCount () ; j++) { - //--- multiplication 64 x 64 -> 128 - ChunkUInt high ; - ChunkUInt low ; - baseMultiplication (leftValue, rightOperand.mSharedArray.chunkAtIndex (j COMMA_HERE), high, low) ; - //--- Add carry - addReportingOverflow (low, carry, high) ; - //--- Store result - ChunkUInt v = result.mSharedArray.chunkAtIndex (i + j - 1 COMMA_HERE) ; - addReportingOverflow (v, low, high) ; - result.mSharedArray.setChunkAtIndex (v, i + j - 1 COMMA_HERE) ; - carry = high ; - } - size_t idx = rightOperand.mSharedArray.chunkCount () + i ; - while (carry > 0) { - ChunkUInt v = result.mSharedArray.chunkAtIndex (idx COMMA_HERE) ; - v += carry ; - carry = v < carry ; - result.mSharedArray.setChunkAtIndex (v, idx COMMA_HERE) ; - idx += 1 ; - } - } - //--- Remove leading zeros - result.mSharedArray.removeLeadingZeroChunks (HERE) ; - return result ; - } -} - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned BigUnsigned::operator * (const BigUnsigned inOperand) const { - return multiply (*this, inOperand) ; -} - -//-------------------------------------------------------------------------------------------------- - -void BigUnsigned::operator *= (const BigUnsigned inOperand) { - *this = multiply (*this, inOperand) ; -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigUnsigned-print.cpp b/goil/build/libpm/big-integers/BigUnsigned-print.cpp deleted file mode 100644 index 22c23672b..000000000 --- a/goil/build/libpm/big-integers/BigUnsigned-print.cpp +++ /dev/null @@ -1,160 +0,0 @@ -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#include "BigUnsigned.h" - -//-------------------------------------------------------------------------------------------------- - -void BigUnsigned::printHex (const char * inName) const { - if (isZero ()) { - printf ("%s: 0\n", inName) ; - }else{ - printf ("%s: [%" PRIu64 "] 0x", inName, uint64_t (u64Count ())) ; - for (size_t i = u64Count () ; i > 0 ; i--) { - printf ("_%016" PRIX64, u64AtIndex (i-1)) ; - } - printf ("\n") ; - } -} - -//-------------------------------------------------------------------------------------------------- - -String BigUnsigned::decimalString (void) const { - String result ; - if (isZero ()) { - result = "0" ; - }else{ - BigUnsigned number = *this ; - TC_UniqueArray decimalValueArray ; - while (!number.isZero ()) { - const ChunkUInt divisor = greatestPowerOf10 ; - const BigUnsignedQuotientU64Remainder r = number.dividingByChunkUInt (divisor) ; - decimalValueArray.appendObject (r.remainder ()) ; - number = r.quotient () ; - } - const int32_t n = decimalValueArray.count () ; - result.appendUnsigned (decimalValueArray (n - 1 COMMA_HERE)) ; - char s [32] ; - for (int32_t i = n - 1 ; i > 0 ; i--) { - const uint64_t v = decimalValueArray (i-1 COMMA_HERE) ; - snprintf (s, 32, "%0*" PRIu64, int (greatestPowerOf10DigitCount), v) ; - result.appendString (s) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -String BigUnsigned::spacedDecimalString (const uint32_t inSeparation) const { - String result = decimalString () ; - if (inSeparation > 0) { - for (int32_t i = result.length () - int32_t (inSeparation) ; i > 0 ; i -= int32_t (inSeparation)) { - result.insertCharacterAtIndex (' ', i COMMA_HERE) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -String BigUnsigned::spacedDecimalStringWithDigitCount (const uint32_t inSeparation) const { - String s = decimalString () ; - const int32_t length = s.length () ; - if (inSeparation > 0) { - for (int32_t i = s.length () - int32_t (inSeparation) ; i > 0 ; i -= int32_t (inSeparation)) { - s.insertCharacterAtIndex (' ', i COMMA_HERE) ; - } - } - String result = "[" ; - result.appendSigned (length) ; - result.appendCString ("] ") ; - result.appendString (s) ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -String BigUnsigned::hexString (void) const { - String result ; - if (u64Count () == 0) { - result = "0" ; - }else{ - result = "0x" ; - result.appendUnsignedHex (u64AtIndex (u64Count () - 1)) ; - for (size_t i = u64Count () - 1 ; i > 0 ; i--) { - result.appendUnsignedHex16 (u64AtIndex (i - 1)) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -String BigUnsigned::xString (void) const { - String result ; - if (u64Count () == 0) { - result = "0" ; - }else{ - result.appendUnsignedHex (u64AtIndex (u64Count () - 1)) ; - for (size_t i = u64Count () - 1 ; i > 0 ; i--) { - result.appendUnsignedHex16 (u64AtIndex (i - 1)) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -String BigUnsigned::bitString (void) const { - String result ; - if (u64Count () == 0) { - result = "0" ; - }else{ - for (size_t i = u64Count () ; i > 0 ; i--) { - uint64_t v = u64AtIndex (i-1) ; - for (size_t bit = 0 ; bit < 64 ; bit++) { - result.appendString (((v & (uint64_t (1) << 63)) != 0) ? "1" : "0") ; - v = (v & (UINT64_MAX >> 1)) << 1 ; - } - } - while ((result.length () > 0) && (result.charAtIndex (0 COMMA_HERE) == '0')) { - result.removeCountFromIndex (1, 0 COMMA_HERE) ; // Remove first character - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -void BigUnsigned::extractBytesForUnsignedRepresentation (TC_UniqueArray & outValue) const { - outValue.removeAll () ; - const size_t n = u8Count () ; - if (n == 0) { - outValue.appendObject (0) ; - }else{ - for (size_t i = 0 ; i < n ; i++) { - const uint8_t v = u8AtIndex (i) ; - outValue.appendObject (v) ; - } - } -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigUnsigned-shifts.cpp b/goil/build/libpm/big-integers/BigUnsigned-shifts.cpp deleted file mode 100644 index a36856680..000000000 --- a/goil/build/libpm/big-integers/BigUnsigned-shifts.cpp +++ /dev/null @@ -1,99 +0,0 @@ -//-------------------------------------------------------------------------------------------------- - -#include "BigUnsigned.h" -#include "M_machine.h" -#include "M_SourceLocation.h" -#include "galgas-random.h" - -//-------------------------------------------------------------------------------------------------- - -#include - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Shifts -#endif - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned BigUnsigned::operator << (const size_t inShiftCount) const { - if ((mSharedArray.chunkCount () > 0) && (inShiftCount > 0)) { - const size_t n = mSharedArray.chunkCount () ; - const size_t insertedWordCount = inShiftCount / ChunkUIntBitCount ; - BigUnsigned result ; - result.mSharedArray.insulateWithChunkCapacity (n + insertedWordCount + 1) ; - result.mSharedArray.appendChunks (insertedWordCount, 0 COMMA_HERE) ; - const size_t bitShiftCount = inShiftCount % ChunkUIntBitCount ; - if (bitShiftCount == 0) { - for (size_t i = 1 ; i <= n ; i++) { - const ChunkUInt v = mSharedArray.chunkAtIndex (i COMMA_HERE) ; - result.mSharedArray.appendChunk (v COMMA_HERE) ; - } - }else{ - ChunkUInt carry = 0 ; - for (size_t i = 1 ; i <= n ; i++) { - const ChunkUInt v = mSharedArray.chunkAtIndex (i COMMA_HERE) ; - result.mSharedArray.appendChunk (leftShiftIgnoringOverflow (v, bitShiftCount) | carry COMMA_HERE) ; - carry = v >> (ChunkUIntBitCount - bitShiftCount) ; - } - if (carry != 0) { - result.mSharedArray.appendChunk (carry COMMA_HERE) ; - } - } - return result ; - }else{ - return *this ; - } -} - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned BigUnsigned::operator >> (const size_t inShiftCount) const { - if ((mSharedArray.chunkCount () > 0) && (inShiftCount > 0)) { - const size_t n = mSharedArray.chunkCount () ; - const size_t wordShiftCount = inShiftCount / ChunkUIntBitCount ; - if (wordShiftCount >= n) { - return BigUnsigned () ; - }else{ - BigUnsigned result ; - result.mSharedArray.insulateWithChunkCapacity (n - wordShiftCount) ; - result.mSharedArray.appendRandomChunks (n - wordShiftCount COMMA_HERE) ; - const uint32_t bitShiftCount = inShiftCount % ChunkUIntBitCount ; - if (bitShiftCount > 0) { - ChunkUInt carry = 0 ; - for (size_t i = n ; i > wordShiftCount ; i--) { - const ChunkUInt v = mSharedArray.chunkAtIndex (i COMMA_HERE) ; - result.mSharedArray.setChunkAtIndex ((v >> bitShiftCount) | carry, i - wordShiftCount COMMA_HERE) ; - carry = leftShiftIgnoringOverflow (v, ChunkUIntBitCount - bitShiftCount) ; - } - }else{ // wordShiftCount > 0 - for (size_t i = 1 + wordShiftCount ; i <= n ; i++) { - result.mSharedArray.setChunkAtIndex (mSharedArray.chunkAtIndex (i COMMA_HERE), i - wordShiftCount COMMA_HERE) ; - } - } - result.mSharedArray.removeLeadingZeroChunks (HERE) ; - return result ; - } - }else{ - return *this ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void BigUnsigned::operator <<= (const size_t inShiftCount) { - if (inShiftCount > 0) { - *this = *this << inShiftCount ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void BigUnsigned::operator >>= (const size_t inShiftCount) { - if (inShiftCount > 0) { - *this = * this >> inShiftCount ; - } -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigUnsigned-subtract.cpp b/goil/build/libpm/big-integers/BigUnsigned-subtract.cpp deleted file mode 100644 index 775e2f698..000000000 --- a/goil/build/libpm/big-integers/BigUnsigned-subtract.cpp +++ /dev/null @@ -1,56 +0,0 @@ -//-------------------------------------------------------------------------------------------------- - -#include "BigUnsigned.h" - -//-------------------------------------------------------------------------------------------------- - -BigUnsigned BigUnsigned::operator - (const BigUnsigned inOperand) const { - if (inOperand.isZero ()) { - return *this ; - }else{ - const int compareResult = compare (inOperand) ; - if (compareResult < 0) { // Error - std::cout << "Error " << __FILE__ << ":" << __LINE__ << "\n" ; - exit (1) ; - }else if (compareResult > 0) { - BigUnsigned result ; - result.mSharedArray.insulateWithChunkCapacity (mSharedArray.chunkCount ()) ; - ChunkUInt borrow = 0 ; // 0 or 1 - for (size_t i = 1 ; i <= inOperand.mSharedArray.chunkCount () ; i++) { - const ChunkUInt left = mSharedArray.chunkAtIndex (i COMMA_HERE) ; - const ChunkUInt right = inOperand.mSharedArray.chunkAtIndex (i COMMA_HERE) ; - ChunkUInt r = left ; - ChunkUInt newBorrow = 0 ; - subtractReportingOverflow (r, right, newBorrow) ; - subtractReportingOverflow (r, borrow, newBorrow) ; - macroAssert (newBorrow <= 1, "borrow error", 0, 0) ; - result.mSharedArray.appendChunk (r COMMA_HERE) ; - borrow = newBorrow ; - } - for (size_t i = inOperand.mSharedArray.chunkCount () + 1 ; i <= mSharedArray.chunkCount () ; i++) { - const ChunkUInt left = mSharedArray.chunkAtIndex (i COMMA_HERE) ; - const ChunkUInt r = left - borrow ; // Can underflow - borrow = left < borrow ; - result.mSharedArray.appendChunk (r COMMA_HERE) ; - } - if (borrow) { - std::cout << "Error " << __FILE__ << ":" << __LINE__ << "\n" ; - exit (1) ; - } - result.mSharedArray.removeLeadingZeroChunks (HERE) ; - return result ; - }else{ // compareResult == 0 - return BigUnsigned () ; - } - } -} - -//-------------------------------------------------------------------------------------------------- - -void BigUnsigned::operator -= (const BigUnsigned inOperand) { - if (!inOperand.isZero ()) { - *this = *this - inOperand ; - } -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigUnsigned-utilities.cpp b/goil/build/libpm/big-integers/BigUnsigned-utilities.cpp deleted file mode 100644 index 0de5b2127..000000000 --- a/goil/build/libpm/big-integers/BigUnsigned-utilities.cpp +++ /dev/null @@ -1,329 +0,0 @@ -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#include "BigUnsigned.h" - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Testing value -#endif - -//-------------------------------------------------------------------------------------------------- - -bool BigUnsigned::isZero (void) const { - return mSharedArray.chunkCount () == 0 ; -} - -//-------------------------------------------------------------------------------------------------- - -bool BigUnsigned::isOne (void) const { - return (mSharedArray.chunkCount () == 1) && (mSharedArray.chunkAtIndex (1 COMMA_HERE) == 1) ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Compare -#endif - -//-------------------------------------------------------------------------------------------------- - -int BigUnsigned::compare (const BigUnsigned & inOperand) const { - int result = 0 ; - if (mSharedArray.chunkCount () < inOperand.mSharedArray.chunkCount ()) { - result = -1 ; - }else if (mSharedArray.chunkCount () > inOperand.mSharedArray.chunkCount ()) { - result = 1 ; - }else if (mSharedArray.chunkCount () > 0) { - for (size_t i = mSharedArray.chunkCount () ; (result == 0) && (i > 0) ; i--) { - if (mSharedArray.chunkAtIndex (i COMMA_HERE) < inOperand.mSharedArray.chunkAtIndex (i COMMA_HERE)) { - result = -1 ; - }else if (mSharedArray.chunkAtIndex (i COMMA_HERE) > inOperand.mSharedArray.chunkAtIndex (i COMMA_HERE)) { - result = 1 ; - } - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark u64Count, u64AtIndex, 64 bits chunks -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_64_BITS_CHUNKS - size_t BigUnsigned::u64Count (void) const { - return mSharedArray.chunkCount () ; - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_64_BITS_CHUNKS - uint64_t BigUnsigned::u64AtIndex (const size_t inU64Index) const { // 0-Based Indexing - if (inU64Index < mSharedArray.chunkCount ()) { - return mSharedArray.chunkAtIndex (inU64Index + 1 COMMA_HERE) ; // 1-Based Indexing - }else{ - return 0 ; - } - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark u8Count, u8AtIndex, 64 bits chunks -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_64_BITS_CHUNKS - size_t BigUnsigned::u8Count (void) const { - size_t n = mSharedArray.chunkCount () * 8 ; - if (n > 0) { - const uint64_t last = mSharedArray.lastChunk (HERE) ; - const size_t s = countLeadingZeros (last) ; - n -= s / 8 ; - } - return n ; - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_64_BITS_CHUNKS - uint8_t BigUnsigned::u8AtIndex (const size_t inU8Index) const { // 0-Based Indexing - const size_t u64Idx = inU8Index / 8 ; - const uint64_t v = u64AtIndex (u64Idx) ; - const size_t byteIndex = inU8Index % 8 ; - return uint8_t (v >> (byteIndex * 8)) ; - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark u64Count, u64AtIndex, 8 bits chunks -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_8_BITS_CHUNKS - size_t BigUnsigned::u64Count (void) const { - return (7 + mSharedArray.chunkCount ()) / 8 ; - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_8_BITS_CHUNKS - uint64_t BigUnsigned::u64AtIndex (const size_t inU64Index) const { // 0-Based Indexing - if (inU64Index < u64Count ()) { - uint64_t v = 0 ; - bool endReached = false ; - for (size_t i = 0 ; (i < 8) && !endReached ; i++) { - const size_t idx = inU64Index * 8 + i + 1 ; - const uint64_t w = mSharedArray.chunkAtIndex (idx COMMA_HERE) ; - v |= w << (8 * i) ; - endReached = idx == chunkCount () ; - } - return v ; - }else{ - return 0 ; - } - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark u8Count, u8AtIndex, 8 bits chunks -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_8_BITS_CHUNKS - size_t BigUnsigned::u8Count (void) const { - return mSharedArray.chunkCount () ; - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_8_BITS_CHUNKS - uint8_t BigUnsigned::u8AtIndex (const size_t inU8Index) const { // 0-Based Indexing - if (inU8Index < mSharedArray.chunkCount ()) { - return mSharedArray.chunkAtIndex (inU8Index + 1 COMMA_HERE) ; // 1-Based Indexing - }else{ - return 0 ; - } - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark u64Count, u64AtIndex, 16 bits chunks -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_16_BITS_CHUNKS - size_t BigUnsigned::u64Count (void) const { - return (3 + mSharedArray.chunkCount ()) / 4 ; - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_16_BITS_CHUNKS - uint64_t BigUnsigned::u64AtIndex (const size_t inU64Index) const { // 0-Based Indexing - if (inU64Index < u64Count ()) { - uint64_t v = 0 ; - bool endReached = false ; - for (size_t i = 0 ; (i < 4) && !endReached ; i++) { - const size_t idx = inU64Index * 4 + i + 1 ; - const uint64_t w = mSharedArray.chunkAtIndex (idx COMMA_HERE) ; - v |= w << (16 * i) ; - endReached = idx == chunkCount () ; - } - return v ; - }else{ - return 0 ; - } - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark u8Count, u8AtIndex, 16 bits chunks -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_16_BITS_CHUNKS - size_t BigUnsigned::u8Count (void) const { - size_t n = mSharedArray.chunkCount () * 2 ; - if (n > 0) { - const uint16_t last = chunkAtIndex (mSharedArray.chunkCount () - 1 COMMA_HERE) ; - if (last <= UINT8_MAX) { - n -= 1 ; - } - } - return n ; - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_16_BITS_CHUNKS - uint8_t BigUnsigned::u8AtIndex (const size_t inU8Index) const { // 0-Based Indexing - if (inU8Index < u8Count ()) { - const uint16_t v = mSharedArray.chunkAtIndex (inU8Index / 2 + 1 COMMA_HERE) ; // 1-Based Indexing - return ((inU8Index & 1) == 0) ? uint8_t (v) : uint8_t (v >> 8) ; - }else{ - return 0 ; - } - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark u64Count, u64AtIndex, 32 bits chunks -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_32_BITS_CHUNKS - size_t BigUnsigned::u64Count (void) const { - return (1 + mSharedArray.chunkCount ()) / 2 ; - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_32_BITS_CHUNKS - uint64_t BigUnsigned::u64AtIndex (const size_t inU64Index) const { // 0-Based Indexing - if (inU64Index < u64Count ()) { - uint64_t v = 0 ; - bool endReached = false ; - for (size_t i = 0 ; (i < 2) && !endReached ; i++) { - const size_t idx = inU64Index * 2 + i + 1 ; - const uint64_t w = mSharedArray.chunkAtIndex (idx COMMA_HERE) ; - v |= w << (32 * i) ; - endReached = idx == chunkCount () ; - } - return v ; - }else{ - return 0 ; - } - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark u8Count, u8AtIndex, 32 bits chunks -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_32_BITS_CHUNKS - size_t BigUnsigned::u8Count (void) const { - size_t n = mSharedArray.chunkCount () * 4 ; - if (n > 0) { - const uint32_t last = chunkAtIndex (mSharedArray.chunkCount () - 1 COMMA_HERE) ; - if (last <= UINT8_MAX) { - n -= 3 ; - }else if (last < UINT16_MAX) { - n -= 2 ; - }else if (last < UINT32_MAX) { - n -= 1 ; - } - } - return n ; - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_32_BITS_CHUNKS - uint8_t BigUnsigned::u8AtIndex (const size_t inU8Index) const { // 0-Based Indexing - if (inU8Index < u8Count ()) { - const uint32_t v = mSharedArray.chunkAtIndex (inU8Index / 4 + 1 COMMA_HERE) ; // 1-Based Indexing - switch (inU8Index & 3) { - case 0 : return uint8_t (v) ; - case 1 : return uint8_t (v >> 8) ; - case 2 : return uint8_t (v >> 16) ; - default : return uint8_t (v >> 24) ; - } - }else{ - return 0 ; - } - } -#endif - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/BigUnsigned.h b/goil/build/libpm/big-integers/BigUnsigned.h deleted file mode 100644 index 42975c0c9..000000000 --- a/goil/build/libpm/big-integers/BigUnsigned.h +++ /dev/null @@ -1,230 +0,0 @@ -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#pragma once - -//-------------------------------------------------------------------------------------------------- - -#include "ChunkSharedArray.h" -#include "String-class.h" -#include - -//-------------------------------------------------------------------------------------------------- - -class BigUnsignedQuotientU64Remainder ; -class BigUnsignedQuotientRemainder ; - -//-------------------------------------------------------------------------------------------------- - -enum class BigUnsignedBase { two, ten, sixteen } ; - -//-------------------------------------------------------------------------------------------------- - -class BigUnsigned final { - -//--- Constructors - public: explicit BigUnsigned (void) ; // Zero - - public: explicit BigUnsigned (const uint64_t inValue) ; - - public: explicit BigUnsigned (const size_t inU8Count, - const uint8_t * inSourceU8Array) ; - - public: explicit BigUnsigned (const size_t inU64Count, - const uint64_t * inSourceU64Array) ; - - public: explicit BigUnsigned (const char * inString, const uint8_t inSeparator) ; - - public: explicit BigUnsigned (const char * inString, const BigUnsignedBase inBase, bool & outOk) ; - - public: static BigUnsigned powerOfTwo (const uint32_t inPowerOfTwo) ; - - public: static BigUnsigned randomNumber (void) ; - -//--- Handle copy - public: BigUnsigned (const BigUnsigned & inSource) ; - public: BigUnsigned & operator = (const BigUnsigned & inSource) ; - -//--- Testing value - public: bool isZero (void) const ; - public: bool isOne (void) const ; - - public: size_t chunkCount (void) const { return mSharedArray.chunkCount () ; } - public: ChunkUInt chunkAtIndex (const size_t inChunkIndex COMMA_LOCATION_ARGS) const { // 0-Based Indexing - return mSharedArray.chunkAtIndex (inChunkIndex + 1 COMMA_THERE) ; // 1-Based Indexing - } - -//--- Get U64 chunks - public: size_t u64Count (void) const ; - public: uint64_t u64AtIndex (const size_t inU64Index) const ; // 0-Based Indexing - -//--- Get U8 chunks - public: size_t u8Count (void) const ; - public: uint8_t u8AtIndex (const size_t inU8Index) const ; // 0-Based Indexing - -//--- Shift operators - public: BigUnsigned operator << (const size_t inShiftCount) const ; - public: void operator <<= (const size_t inShiftCount) ; - - public: void operator >>= (const size_t inShiftCount) ; - public: BigUnsigned operator >> (const size_t inShiftCount) const ; - -//--- Operations with ChunkUInt - public: void operator += (const ChunkUInt inOperand) ; - public: void operator -= (const ChunkUInt inOperand) ; - public: void operator *= (const ChunkUInt inOperand) ; - - public: BigUnsigned operator + (const ChunkUInt inOperand) const ; - public: BigUnsigned operator - (const ChunkUInt inOperand) const ; - public: BigUnsigned operator * (const ChunkUInt inOperand) const ; - -//--- Division, returns quotient and remainder - public: BigUnsignedQuotientU64Remainder dividingByChunkUInt (const ChunkUInt inDivisor) const ; - -//--- Division, returns quotient, remainder is lost - public: void operator /= (const ChunkUInt inDivisor) ; - public: BigUnsigned operator / (const ChunkUInt inDivisor) const ; - -//--- Division, returns remainder, quotient is lost - public: void operator %= (const ChunkUInt inDivisor) ; - public: ChunkUInt operator % (const ChunkUInt inDivisor) const ; - -//--- Logical operations - public: BigUnsigned & operator |= (const ChunkUInt inOperand) ; - public: BigUnsigned operator | (const BigUnsigned inOperand) const ; - public: BigUnsigned operator ^ (const BigUnsigned inOperand) const ; - public: BigUnsigned operator & (const BigUnsigned inOperand) const ; - public: size_t countTrailingZeros (void) const ; - public: BigUnsigned complemented (const size_t inChunkCount) const ; - public: BigUnsigned subtractedOneAndComplemented (const size_t inChunkCount) const ; - public: BigUnsigned utilityForPositiveOrNegative (const BigUnsigned & inNegative) const ; - public: BigUnsigned utilityForNegativeOrNegative (const BigUnsigned & inNegative) const ; - public: BigUnsigned utilityForPositiveAndNegative (const BigUnsigned & inNegative) const ; - public: BigUnsigned utilityForNegativeAndNegative (const BigUnsigned & inNegative) const ; - public: BigUnsigned utilityForPositiveXorNegative (const BigUnsigned & inNegative) const ; - public: BigUnsigned utilityForNegativeXorNegative (const BigUnsigned & inNegative) const ; - -//--- Add - public: void operator += (const BigUnsigned inOperand) ; - public: BigUnsigned operator + (const BigUnsigned inOperand) const ; - -//--- Substract - public: void operator -= (const BigUnsigned inOperand) ; - public: BigUnsigned operator - (const BigUnsigned inOperand) const ; - -//--- Multiply - public: void operator *= (const BigUnsigned inOperand) ; - public: BigUnsigned operator * (const BigUnsigned inOperand) const ; - public: static BigUnsigned multiply (const BigUnsigned inLeft, const BigUnsigned inRight) ; - -//--- Divide, returns quotient and remainder - public: BigUnsignedQuotientRemainder divideByBigUnsigned (const BigUnsigned & inDivisor) const ; - - //--- naiveDivideByBigUnsigned can be very slow! - public: BigUnsignedQuotientRemainder naiveDivideByBigUnsigned (const BigUnsigned & inDivisor) const ; - -//--- Division, returns quotient, remainder is lost - public: void operator /= (const BigUnsigned inDivisor) ; - public: BigUnsigned operator / (const BigUnsigned inDivisor) const ; - -//--- Division, returns remainder, quotient is lost - public: void operator %= (const BigUnsigned inDivisor) ; - public: BigUnsigned operator % (const BigUnsigned inDivisor) const ; - -//--- Compare - public: int compare (const BigUnsigned & inOperand) const ; - public: bool operator == (const BigUnsigned & inOperand) const { return compare (inOperand) == 0 ; } - public: bool operator != (const BigUnsigned & inOperand) const { return compare (inOperand) != 0 ; } - public: bool operator > (const BigUnsigned & inOperand) const { return compare (inOperand) > 0 ; } - public: bool operator >= (const BigUnsigned & inOperand) const { return compare (inOperand) >= 0 ; } - public: bool operator < (const BigUnsigned & inOperand) const { return compare (inOperand) < 0 ; } - public: bool operator <= (const BigUnsigned & inOperand) const { return compare (inOperand) <= 0 ; } - -//--- Bit manipulation - public: bool bitAtIndex (const uint32_t inBitIndex) const ; - public: void setBitAtIndex (const bool inBit, const uint32_t inBitIndex) ; - public: void complementBitAtIndex (const uint32_t inBitIndex) ; - -//--- Print - public: String decimalString (void) const ; - public: String spacedDecimalString (const uint32_t inSeparation) const ; - public: String spacedDecimalStringWithDigitCount (const uint32_t inSeparation) const ; - public: String hexString (void) const ; - public: String xString (void) const ; - public: String bitString (void) const ; - public: void printHex (const char * inName) const ; - -//--- Testing value - public: bool fitsInUInt32 (void) const ; - public: bool fitsInUInt64 (void) const ; - public: uint32_t requiredBitCountForUnsignedRepresentation (void) const ; - -//--- Value access (returns invalid values if receiver does not fit) - public: uint32_t uint32 (void) const ; - public: uint64_t uint64 (void) const ; - public: void extractBytesForUnsignedRepresentation (TC_UniqueArray & outValue) const ; - -//--- Private property - private: ChunkSharedArray mSharedArray ; -} ; - -//-------------------------------------------------------------------------------------------------- - -class BigUnsignedQuotientRemainder final { - private: BigUnsigned mQuotient ; - public: BigUnsigned quotient (void) const { return mQuotient ; } - private: BigUnsigned mRemainder ; - public: BigUnsigned remainder (void) const { return mRemainder ; } - - public: explicit BigUnsignedQuotientRemainder () : - mQuotient (), - mRemainder () { - } - - public: explicit BigUnsignedQuotientRemainder (const BigUnsigned & inQuotient, - const BigUnsigned & inRemainder) : - mQuotient (inQuotient), - mRemainder (inRemainder) { - } - -} ; - -//-------------------------------------------------------------------------------------------------- - -class BigUnsignedQuotientU64Remainder final { - private: BigUnsigned mQuotient ; - public: BigUnsigned quotient (void) const { return mQuotient ; } - private: ChunkUInt mRemainder ; - public: ChunkUInt remainder (void) const { return mRemainder ; } - - public: explicit BigUnsignedQuotientU64Remainder () : - mQuotient (), - mRemainder (0) { - } - - public: explicit BigUnsignedQuotientU64Remainder (const BigUnsigned & inQuotient, - const ChunkUInt inRemainder) : - mQuotient (inQuotient), - mRemainder (inRemainder) { - } - -} ; - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/C_BigInt.cpp b/goil/build/libpm/big-integers/C_BigInt.cpp new file mode 100644 index 000000000..8c3a31253 --- /dev/null +++ b/goil/build/libpm/big-integers/C_BigInt.cpp @@ -0,0 +1,931 @@ +//---------------------------------------------------------------------------------------------------------------------- +// +// Handing signed integer of arbitrary size +// +// This file is part of libpm library +// +// Copyright (C) 2015, ..., 2023 Pierre Molinaro. +// +// e-mail : pierre@pcmolinaro.name +// +// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied +// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +//---------------------------------------------------------------------------------------------------------------------- + +#include "big-integers/C_BigInt.h" +#include "strings/C_String.h" +#include "utilities/galgas-random.h" + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Default constructor, destructor, copy +#endif + +//---------------------------------------------------------------------------------------------------------------------- +// Default Constructor: init to zero +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt::C_BigInt (void) : +mGMPint () { + mpz_init (mGMPint) ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// Destructor +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt::~C_BigInt (void) { + mpz_clear (mGMPint) ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// Handle copy +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt::C_BigInt (const C_BigInt & inOperand) : +mGMPint () { + mpz_init (mGMPint) ; + mpz_set (mGMPint, inOperand.mGMPint) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt & C_BigInt::operator = (const C_BigInt & inOperand) { + if (this != & inOperand) { + mpz_set (mGMPint, inOperand.mGMPint) ; + } + return *this ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// Normalize and tests +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Tests +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +bool C_BigInt::isZero (void) const { + return mpz_cmp_ui (mGMPint, 0) == 0 ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +bool C_BigInt::isOne (void) const { + return mpz_cmp_ui (mGMPint, 1) == 0 ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +bool C_BigInt::isMinusOne (void) const { + return mpz_cmp_si (mGMPint, -1) == 0 ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +int32_t C_BigInt::sign (void) const { + return mpz_sgn (mGMPint) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +bool C_BigInt::isNegative (void) const { + return sign () < 0 ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +bool C_BigInt::isPositive (void) const { + return sign () > 0 ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// Constructors +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Constructors +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt::C_BigInt (const uint64_t inValue, const bool inNegate) : +mGMPint () { + mpz_init (mGMPint) ; + const uint64_t high = inValue >> 32 ; + if (high == 0) { + mpz_set_ui (mGMPint, (uint32_t) inValue) ; + }else{ + mpz_set_ui (mGMPint, (uint32_t) high) ; + mpz_mul_2exp (mGMPint, mGMPint, 32) ; + mpz_add_ui (mGMPint, mGMPint, (uint32_t) (inValue & UINT32_MAX)) ; + } + if (inNegate) { + mpz_neg (mGMPint, mGMPint) ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt::C_BigInt (const uint64_t inHighValue, const uint64_t inLowValue, const bool inNegate) : +mGMPint () { + mpz_init (mGMPint) ; + mpz_set_ui (mGMPint, 0) ; + if (inHighValue != 0) { + const uint64_t high = inHighValue >> 32 ; + if (high == 0) { + mpz_set_ui (mGMPint, (uint32_t) inHighValue) ; + }else{ + mpz_set_ui (mGMPint, (uint32_t) high) ; + mpz_mul_2exp (mGMPint, mGMPint, 32) ; + mpz_add_ui (mGMPint, mGMPint, (uint32_t) (inHighValue & UINT32_MAX)) ; + } + mpz_mul_2exp (mGMPint, mGMPint, 32) ; + } + const uint64_t high = inLowValue >> 32 ; + mpz_add_ui (mGMPint, mGMPint, (uint32_t) high) ; + mpz_mul_2exp (mGMPint, mGMPint, 32) ; + mpz_add_ui (mGMPint, mGMPint, (uint32_t) (inLowValue & UINT32_MAX)) ; + if (inNegate) { + mpz_neg (mGMPint, mGMPint) ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt::C_BigInt (const int64_t inValue) : +mGMPint () { + const bool negative = inValue < 0 ; + const uint64_t v = (uint64_t) (negative ? (- inValue) : inValue) ; + mpz_init (mGMPint) ; + const uint64_t high = v >> 32 ; + if (high == 0) { + mpz_set_ui (mGMPint, (uint32_t) v) ; + }else{ + mpz_set_ui (mGMPint, (uint32_t) high) ; + mpz_mul_2exp (mGMPint, mGMPint, 32) ; + mpz_add_ui (mGMPint, mGMPint, (uint32_t) (v & UINT32_MAX)) ; + } + if (negative) { + mpz_neg (mGMPint, mGMPint) ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::setToZero (void) { + mpz_set_ui (mGMPint, 0) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::setFromU32 (const uint32_t inValue) { + mpz_set_ui (mGMPint, inValue) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt::C_BigInt (const char * inString, const int32_t inBase, bool & outOk) : +mGMPint () { + mpz_init (mGMPint) ; + const int r = mpz_set_str (mGMPint, inString, inBase) ; + outOk = r == 0 ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// increment +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Increment, decrement +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt & C_BigInt::operator ++ (void) { + mpz_add_ui (mGMPint, mGMPint, 1) ; + return *this ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt & C_BigInt::operator -- (void) { + mpz_sub_ui (mGMPint, mGMPint, 1) ; + return *this ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// String +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Convert to string +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +C_String C_BigInt::decimalString (void) const { + const size_t neededSize = mpz_sizeinbase (mGMPint, 10) + 2 ; + char * s = nullptr ; + macroMyNewPODArray (s, char, neededSize) ; + mpz_get_str (s, 10, mGMPint) ; + C_String result ; + result << s ; + macroMyDeletePODArray (s) ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_String C_BigInt::spacedDecimalString (const uint32_t inSeparation) const { + C_String result = decimalString () ; + if (inSeparation > 0) { + const bool valueIsNegative = sign () < 0 ; + const int32_t lowBound = valueIsNegative ? 1 : 0 ; + for (int32_t i = result.length () - (int32_t) inSeparation ; i > lowBound ; i -= (int32_t) inSeparation) { + result.insertCharacterAtIndex (' ', i COMMA_HERE) ; + } + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_String C_BigInt::hexString (void) const { + C_String result ; + if (sign () >= 0) { + result << "0x" << xString () ; + }else{ + result << "-0x" << abs ().xString () ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_String C_BigInt::xString (void) const { + char * s = nullptr ; + const size_t neededSize = mpz_sizeinbase (mGMPint, 16) + 2 ; + macroMyNewPODArray (s, char, neededSize) ; + mpz_get_str (s, -16, mGMPint) ; // -16 for getting 'A' to 'F' (16 provides 'a' to 'f') + C_String result ; + result << s ; + macroMyDeletePODArray (s) ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Absolute value +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt C_BigInt::abs (void) const { + C_BigInt result ; + mpz_abs (result.mGMPint, mGMPint) ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Logical operations +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::operator &= (const C_BigInt inOperand) { + mpz_and (mGMPint, mGMPint, inOperand.mGMPint) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt C_BigInt::operator & (const C_BigInt & inOperand) const { + C_BigInt result = *this ; + result &= inOperand ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::operator |= (const C_BigInt inOperand) { + mpz_ior (mGMPint, mGMPint, inOperand.mGMPint) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt C_BigInt::operator | (const C_BigInt & inOperand) const { + C_BigInt result = *this ; + result |= inOperand ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::operator ^= (const C_BigInt inOperand) { + mpz_xor (mGMPint, mGMPint, inOperand.mGMPint) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt C_BigInt::operator ^ (const C_BigInt & inOperand) const { + C_BigInt result = *this ; + result ^= inOperand ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt C_BigInt::operator ~ (void) const { + C_BigInt result ; + mpz_com (result.mGMPint, mGMPint) ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Add, subtract uint32_t +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::operator += (const uint32_t inOperand) { + mpz_add_ui (mGMPint, mGMPint, inOperand) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt C_BigInt::operator + (const uint32_t inOperand) const { + C_BigInt result = *this ; + result += inOperand ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::operator -= (const uint32_t inOperand) { + mpz_sub_ui (mGMPint, mGMPint, inOperand) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt C_BigInt::operator - (const uint32_t inOperand) const { + C_BigInt result = *this ; + result -= inOperand ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Add, subtract C_BigInt +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::operator += (const C_BigInt inOperand) { + mpz_add (mGMPint, mGMPint, inOperand.mGMPint) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::operator -= (const C_BigInt inOperand) { + mpz_sub (mGMPint, mGMPint, inOperand.mGMPint) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt C_BigInt::operator + (const C_BigInt & inOperand) const { + C_BigInt result = *this ; + result += inOperand ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt C_BigInt::operator - (const C_BigInt & inOperand) const { + C_BigInt result = *this ; + result -= inOperand ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// Negate +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Negate +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt C_BigInt::operator - (void) const { + C_BigInt result = *this ; + result.negateInPlace () ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::negateInPlace (void) { + mpz_neg (mGMPint, mGMPint) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Multiplication with uint32_t +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::operator *= (const uint32_t inMultiplicand) { + mpz_mul_ui (mGMPint, mGMPint, inMultiplicand) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt C_BigInt::operator * (const uint32_t inMultiplicand) const { + C_BigInt result = *this ; + result *= inMultiplicand ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Multiplication with C_BigInt +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::operator *= (const C_BigInt inMultiplicand) { + mpz_mul (mGMPint, mGMPint, inMultiplicand.mGMPint) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt C_BigInt::operator * (const C_BigInt & inMultiplicand) const { + C_BigInt result = *this ; + result *= inMultiplicand ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Division +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::divideBy (const uint32_t inDivisor, + C_BigInt & outQuotient, + uint32_t & outRemainder) const { + outRemainder = (uint32_t) mpz_fdiv_q_ui (outQuotient.mGMPint, mGMPint, inDivisor) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::divideInPlace (const uint32_t inDivisor, uint32_t & outRemainder) { + mpz_t quotient ; + mpz_init (quotient) ; + if (mpz_sgn (mGMPint) >= 0) { + outRemainder = (uint32_t) mpz_fdiv_q_ui (quotient, mGMPint, inDivisor) ; + }else{ + outRemainder = (uint32_t) mpz_cdiv_q_ui (quotient, mGMPint, inDivisor) ; + } + mpz_swap (quotient, mGMPint) ; + mpz_clear (quotient) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::divideBy (const C_BigInt inDivisor, + C_BigInt & outQuotient, + C_BigInt & outRemainder) const { + outQuotient = *this ; + outQuotient.divideInPlace (inDivisor, outRemainder) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::divideInPlace (const C_BigInt inDivisor, C_BigInt & outRemainder) { + mpz_t quotient ; + mpz_init (quotient) ; + mpz_tdiv_qr (quotient, outRemainder.mGMPint, mGMPint, inDivisor.mGMPint) ; + mpz_swap (quotient, mGMPint) ; + mpz_clear (quotient) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::ceilDivideInPlace (const C_BigInt inDivisor, C_BigInt & outRemainder) { + mpz_t quotient ; + mpz_init (quotient) ; + mpz_cdiv_qr (quotient, outRemainder.mGMPint, mGMPint, inDivisor.mGMPint) ; + mpz_swap (quotient, mGMPint) ; + mpz_clear (quotient) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::ceilDivideBy (const C_BigInt inDivisor, + C_BigInt & outQuotient, + C_BigInt & outRemainder) const { + outQuotient = *this ; + outQuotient.ceilDivideInPlace (inDivisor, outRemainder) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::floorDivideInPlace (const C_BigInt inDivisor, C_BigInt & outRemainder) { + mpz_t quotient ; + mpz_init (quotient) ; + mpz_fdiv_qr (quotient, outRemainder.mGMPint, mGMPint, inDivisor.mGMPint) ; + mpz_swap (quotient, mGMPint) ; + mpz_clear (quotient) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::floorDivideBy (const C_BigInt inDivisor, + C_BigInt & outQuotient, + C_BigInt & outRemainder) const { + outQuotient = *this ; + outQuotient.floorDivideInPlace (inDivisor, outRemainder) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::operator /= (const C_BigInt inDivisor) { + C_BigInt unusedRemainder ; + divideInPlace (inDivisor, unusedRemainder) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt C_BigInt::operator / (const C_BigInt & inDivisor) const { + C_BigInt result = *this ; + result /= inDivisor ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::operator %= (const C_BigInt inDivisor) { + mpz_t quotient ; + mpz_init (quotient) ; + mpz_t remainder ; + mpz_init (remainder) ; + mpz_tdiv_qr (quotient, remainder, mGMPint, inDivisor.mGMPint) ; + mpz_swap (remainder, mGMPint) ; + mpz_clear (quotient) ; + mpz_clear (remainder) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt C_BigInt::operator % (const C_BigInt & inDivisor) const { + C_BigInt result = *this ; + result %= inDivisor ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Shift left +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::operator <<= (const uint32_t inValue) { + mpz_mul_2exp (mGMPint, mGMPint, inValue) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt C_BigInt::operator << (const uint32_t inValue) const { + C_BigInt result = *this ; + result <<= inValue ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt C_BigInt::operator << (const C_BigInt inValue) const { + C_BigInt result = *this ; + if (inValue > C_BigInt (0)) { + const uint32_t v = inValue.uint32 () ; + result <<= v ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Shift right +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::operator >>= (const uint32_t inValue) { + mpz_t quotient ; + mpz_init (quotient) ; + mpz_fdiv_q_2exp (quotient, mGMPint, inValue) ; + mpz_swap (quotient, mGMPint) ; + mpz_clear (quotient) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt C_BigInt::operator >> (const uint32_t inValue) const { + C_BigInt result = *this ; + result >>= inValue ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_BigInt C_BigInt::operator >> (const C_BigInt inValue) const { + C_BigInt result = *this ; + if (inValue > C_BigInt (0)) { + const uint32_t v = inValue.uint32 () ; + result >>= v ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Compare +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +int32_t C_BigInt::compare (const C_BigInt & inValue) const { + return mpz_cmp (mGMPint, inValue.mGMPint) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +bool C_BigInt::operator == (const C_BigInt & inOperand) const { + return compare (inOperand) == 0 ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +bool C_BigInt::operator != (const C_BigInt & inOperand) const { + return compare (inOperand) != 0 ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +bool C_BigInt::operator >= (const C_BigInt & inOperand) const { + return compare (inOperand) >= 0 ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +bool C_BigInt::operator > (const C_BigInt & inOperand) const { + return compare (inOperand) > 0 ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +bool C_BigInt::operator <= (const C_BigInt & inOperand) const { + return compare (inOperand) <= 0 ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +bool C_BigInt::operator < (const C_BigInt & inOperand) const { + return compare (inOperand) < 0 ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Bit manipulation +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +bool C_BigInt::bitAtIndex (const uint32_t inIndex) const { + return mpz_tstbit (mGMPint, inIndex) != 0 ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::setBitAtIndex (const bool inBit, const uint32_t inIndex) { + if (inBit) { + mpz_setbit (mGMPint, inIndex) ; + }else{ + mpz_clrbit (mGMPint, inIndex) ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::complementBitAtIndex (const uint32_t inIndex) { + mpz_combit (mGMPint, inIndex) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Testing Value +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +bool C_BigInt::fitsInUInt32 (void) const { + return mpz_fits_uint_p (mGMPint) != 0 ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +bool C_BigInt::fitsInUInt64 (void) const { + return (mpz_sgn (mGMPint) >= 0) && (mpz_sizeinbase (mGMPint, 2) <= 64) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +bool C_BigInt::fitsInSInt32 (void) const { + return mpz_fits_sint_p (mGMPint) != 0 ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +bool C_BigInt::fitsInSInt64 (void) const { + const size_t requiredBitCount = mpz_sizeinbase (mGMPint, 2) ; + bool ok = requiredBitCount <= 63 ; + if ((requiredBitCount == 64) && (mpz_sgn (mGMPint) < 0)) { // INT64_MIN is a particular case + int64_t r ; + mpz_export (& r, nullptr, 1, sizeof (int64_t), 0, 0, mGMPint) ; + ok = r == INT64_MIN ; + } + return ok ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +uint32_t C_BigInt::requiredBitCountForSignedRepresentation (void) const { + size_t requiredBitCount = mpz_sizeinbase (mGMPint, 2) ; + if (mpz_sgn (mGMPint) > 0) { + requiredBitCount ++ ; + } + return (uint32_t) requiredBitCount ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +uint32_t C_BigInt::requiredBitCountForUnsignedRepresentation (void) const { + return (uint32_t) mpz_sizeinbase (mGMPint, 2) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Value access +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +uint32_t C_BigInt::uint32 (void) const { + return (uint32_t) mpz_get_ui (mGMPint) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +uint64_t C_BigInt::uint64 (void) const { + uint64_t result = 0 ; + if (! isZero ()) { + result = UINT64_MAX ; + if (fitsInUInt64 ()) { + mpz_export (& result, nullptr, 1, sizeof (uint64_t), 0, 0, mGMPint) ; + } + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +int32_t C_BigInt::int32 (void) const { + return (int32_t) mpz_get_si (mGMPint) ; +} + +//---------------------------------------------------------------------------------------------------------------------- +//mpz_export (void *r, size_t *countp, int order, size_t size, int endian, +// size_t nails, const mpz_t u) + + +int64_t C_BigInt::int64 (void) const { + int64_t result = 0 ; + if (! isZero ()) { + uint64_t r = UINT64_MAX ; + if (fitsInSInt64 ()) { + mpz_export (& r, nullptr, 1, sizeof (uint64_t), 0, 0, mGMPint) ; + } + result = int64_t (r) ; + if (mpz_sgn (mGMPint) < 0) { + result = - result ; + } + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BigInt::extractBytesForUnsignedRepresentation (TC_UniqueArray & outValue) const { + size_t count = 0 ; + const uint8_t * ptr = (const uint8_t *) mpz_export (nullptr, & count, -1, sizeof (uint8_t), 0, 0, mGMPint) ; + outValue.removeAllKeepingCapacity () ; + for (size_t i=0 ; i & outValue) const { + if (mpz_sgn (mGMPint) == 0) { // zero + outValue.removeAllKeepingCapacity () ; + outValue.appendObject (0) ; + }else if (mpz_sgn (mGMPint) > 0) { // > 0 + extractBytesForUnsignedRepresentation (outValue) ; + if ((outValue.lastObject (HERE) & 0x80) != 0) { + outValue.appendObject (0) ; + } + }else{ // < 0 + extractBytesForUnsignedRepresentation (outValue) ; + //--- Perform two's complement + uint8_t carry = 1 ; + for (int32_t i=0 ; i + +//---------------------------------------------------------------------------------------------------------------------- + +class C_BigInt final { +//--- Constructors + public: C_BigInt (void) ; + public: explicit C_BigInt (const uint64_t inValue, const bool inNegate) ; + public: explicit C_BigInt (const uint64_t inHighValue, const uint64_t inLowValue, const bool inNegate) ; + public: explicit C_BigInt (const int64_t inValue) ; + public: explicit C_BigInt (const char * inString, const int32_t inBase, bool & outOk) ; + public: static C_BigInt randomNumber (void) ; + +//--- Destructor + public: ~ C_BigInt (void) ; + +//--- Handle copy + public: C_BigInt (const C_BigInt & inOperand) ; + public: C_BigInt & operator = (const C_BigInt & inOperand) ; + +//--- Set to value + public: void setToZero (void) ; + public: void setFromU32 (const uint32_t inValue) ; + +//--- Sign + public: bool isZero (void) const ; + public: bool isOne (void) const ; + public: bool isMinusOne (void) const ; + public: bool isPositive (void) const ; // >0 + public: bool isNegative (void) const ; // <0 + +//--- Comparison + public: bool operator == (const C_BigInt & inValue) const ; + public: bool operator != (const C_BigInt & inValue) const ; + public: bool operator > (const C_BigInt & inOperand) const ; + public: bool operator >= (const C_BigInt & inOperand) const ; + public: bool operator < (const C_BigInt & inOperand) const ; + public: bool operator <= (const C_BigInt & inOperand) const ; + public: int32_t compare (const C_BigInt & inValue) const ; + public: int32_t sign (void) const ; + +//--- Incrementation, decrementation + public: C_BigInt & operator ++ (void) ; + public: C_BigInt & operator -- (void) ; + +//--- Shift + public: C_BigInt operator << (const uint32_t inValue) const ; + public: C_BigInt operator << (const C_BigInt inValue) const ; + public: void operator <<= (const uint32_t inValue) ; + public: C_BigInt operator >> (const uint32_t inValue) const ; + public: C_BigInt operator >> (const C_BigInt inValue) const ; + public: void operator >>= (const uint32_t inValue) ; + +//--- String + public: C_String decimalString (void) const ; + public: C_String spacedDecimalString (const uint32_t inSeparation) const ; + public: C_String hexString (void) const ; + public: C_String xString (void) const ; + +//--- Add, subtract + public: void operator += (const C_BigInt inValue) ; + public: C_BigInt operator + (const C_BigInt & inValue) const ; + + public: void operator -= (const C_BigInt inValue) ; + public: C_BigInt operator - (const C_BigInt & inValue) const ; + + public: void operator += (const uint32_t inValue) ; + public: C_BigInt operator + (const uint32_t inValue) const ; + + public: void operator -= (const uint32_t inValue) ; + public: C_BigInt operator - (const uint32_t inValue) const ; + +//--- Negate + public: C_BigInt operator - (void) const ; + public: void negateInPlace (void) ; + +//--- Multiplication + public: void operator *= (const uint32_t inMultiplicand) ; + public: C_BigInt operator * (const uint32_t inMultiplicand) const ; + + public: void operator *= (const C_BigInt inMultiplicand) ; + public: C_BigInt operator * (const C_BigInt & inMultiplicand) const ; + +//--- Division + public: void divideInPlace (const uint32_t inDivisor, uint32_t & outRemainder) ; + public: void divideBy (const uint32_t inDivisor, C_BigInt & outQuotient, uint32_t & outRemainder) const ; + + public: void divideInPlace (const C_BigInt inDivisor, C_BigInt & outRemainder) ; + public: void divideBy (const C_BigInt inDivisor, C_BigInt & outQuotient, C_BigInt & outRemainder) const ; + + public: void floorDivideInPlace (const C_BigInt inDivisor, C_BigInt & outRemainder) ; + public: void floorDivideBy (const C_BigInt inDivisor, C_BigInt & outQuotient, C_BigInt & outRemainder) const ; + + public: void ceilDivideInPlace (const C_BigInt inDivisor, C_BigInt & outRemainder) ; + public: void ceilDivideBy (const C_BigInt inDivisor, C_BigInt & outQuotient, C_BigInt & outRemainder) const ; + + public: void operator /= (const C_BigInt inDivisor) ; + public: C_BigInt operator / (const C_BigInt & inDivisor) const ; + + public: void operator %= (const C_BigInt inDivisor) ; + public: C_BigInt operator % (const C_BigInt & inDivisor) const ; + +//--- Absolute value + public: C_BigInt abs (void) const ; + +//--- Logical operators + public: void operator &= (const C_BigInt inOperand) ; + public: C_BigInt operator & (const C_BigInt & inOperand) const ; + + public: void operator |= (const C_BigInt inOperand) ; + public: C_BigInt operator | (const C_BigInt & inOperand) const ; + + public: void operator ^= (const C_BigInt inOperand) ; + public: C_BigInt operator ^ (const C_BigInt & inOperand) const ; + + public: C_BigInt operator ~ (void) const ; + +//--- Bit manipulation + public: bool bitAtIndex (const uint32_t inIndex) const ; + public: void setBitAtIndex (const bool inBit, const uint32_t inIndex) ; + public: void complementBitAtIndex (const uint32_t inIndex) ; + +//--- Value access + public: uint32_t uint32 (void) const ; + public: uint64_t uint64 (void) const ; + public: int32_t int32 (void) const ; + public: int64_t int64 (void) const ; + public: void extractBytesForUnsignedRepresentation (TC_UniqueArray & outValue) const ; + public: void extractBytesForSignedRepresentation (TC_UniqueArray & outValue) const ; + +//--- Testing value + public: bool fitsInUInt32 (void) const ; + public: bool fitsInUInt64 (void) const ; + public: bool fitsInSInt32 (void) const ; + public: bool fitsInSInt64 (void) const ; + public: uint32_t requiredBitCountForSignedRepresentation (void) const ; + public: uint32_t requiredBitCountForUnsignedRepresentation (void) const ; + +//--- Value + protected: mpz_t mGMPint ; + +//--- Friend + friend void swap (C_BigInt & ioOp1, C_BigInt & ioOp2) ; +} ; + +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/ChunkSelectSize.h b/goil/build/libpm/big-integers/ChunkSelectSize.h deleted file mode 100644 index ec5c6cefe..000000000 --- a/goil/build/libpm/big-integers/ChunkSelectSize.h +++ /dev/null @@ -1,79 +0,0 @@ -#pragma once - -//-------------------------------------------------------------------------------------------------- - -#if (!defined (USE_8_BITS_CHUNKS)) && (!defined (USE_16_BITS_CHUNKS)) && (!defined (USE_32_BITS_CHUNKS)) - #define USE_64_BITS_CHUNKS -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef USE_8_BITS_CHUNKS - #include "chunk-U8.h" -#endif - -#ifdef USE_16_BITS_CHUNKS - #include "chunk-U16.h" -#endif - -#ifdef USE_32_BITS_CHUNKS - #include "chunk-U32.h" -#endif - -#ifdef USE_64_BITS_CHUNKS - #include "chunk-U64.h" -#endif - -//-------------------------------------------------------------------------------------------------- -// addReportingOverflow -// Performs ioResult += inOperand -// If overflow occurs, 1 is added to ioOverflowReport -//-------------------------------------------------------------------------------------------------- - -inline void addReportingOverflow (ChunkUInt & ioResult, - const ChunkUInt inOperand, - ChunkUInt & ioOverflowReport) { - const bool overflow = __builtin_add_overflow (ioResult, inOperand, &ioResult) ; - ioOverflowReport += ChunkUInt (overflow) ; -} - -//-------------------------------------------------------------------------------------------------- -// subtractReportingOverflow -// Performs ioResult -= inOperand -// If overflow occurs, 1 is added to ioOverflowReport -//-------------------------------------------------------------------------------------------------- - -inline void subtractReportingOverflow (ChunkUInt & ioResult, - const ChunkUInt inOperand, - ChunkUInt & ioOverflowReport) { - const bool overflow = __builtin_sub_overflow (ioResult, inOperand, &ioResult) ; - ioOverflowReport += ChunkUInt (overflow) ; -} - -//-------------------------------------------------------------------------------------------------- -// subtractIgnoringOverflow -// Performs ioResult -= inOperand -//-------------------------------------------------------------------------------------------------- - -inline void subtractIgnoringOverflow (ChunkUInt & ioResult, - const ChunkUInt inOperand) { - __builtin_sub_overflow (ioResult, inOperand, &ioResult) ; -} - -//-------------------------------------------------------------------------------------------------- -// leftShiftIgnoringOverflow -// Performs result = inOperand << inShiftCount -//-------------------------------------------------------------------------------------------------- - -inline ChunkUInt leftShiftIgnoringOverflow (const ChunkUInt inOperand, - const size_t inShiftCount) { - const ChunkUInt ChunkUIntBitCount = sizeof (ChunkUInt) * 8 ; - ChunkUInt r = inOperand ; - if (inShiftCount > 0) { - r &= (ChunkUInt (1) << (ChunkUIntBitCount - inShiftCount)) - ChunkUInt (1) ; - r <<= inShiftCount ; - } - return r ; -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/ChunkSharedArray.cpp b/goil/build/libpm/big-integers/ChunkSharedArray.cpp deleted file mode 100644 index 5947312e8..000000000 --- a/goil/build/libpm/big-integers/ChunkSharedArray.cpp +++ /dev/null @@ -1,28 +0,0 @@ -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#include "ChunkSharedArray.h" - -//-------------------------------------------------------------------------------------------------- - -size_t ChunkSharedArray::mChunkSharedArrayAllocationCount = 0 ; -size_t ChunkSharedArray::mChunkSharedArrayCurrentlyAllocatedCount = 0 ; - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/ChunkSharedArray.h b/goil/build/libpm/big-integers/ChunkSharedArray.h deleted file mode 100644 index 5a3093fe8..000000000 --- a/goil/build/libpm/big-integers/ChunkSharedArray.h +++ /dev/null @@ -1,222 +0,0 @@ -#pragma once - -//-------------------------------------------------------------------------------------------------- - -#include "ChunkSelectSize.h" -#include - -//-------------------------------------------------------------------------------------------------- - -static const size_t ChunkUIntBitCount = sizeof (ChunkUInt) * 8 ; - -//-------------------------------------------------------------------------------------------------- - -class ChunkSharedArray final { - -//--- Private attributes - private: ChunkUInt * mChunkArray ; // Chunk 0 is reference count, data is 1-Based Indexing - private: size_t mChunkCount ; - private: size_t mChunkCapacity ; - -//--- Default Constructor - public: ChunkSharedArray (void) : - mChunkArray (nullptr), - mChunkCount (0), - mChunkCapacity (0) { - } - -//--- Constructor - public: ChunkSharedArray (const size_t inChunkCapacity) : - mChunkArray (nullptr), - mChunkCount (0), - mChunkCapacity (0) { - mChunkArray = new ChunkUInt [inChunkCapacity + 1] ; - mChunkSharedArrayAllocationCount += 1 ; - mChunkSharedArrayCurrentlyAllocatedCount += 1 ; - mChunkArray [0] = 0 ; // Index 0: reference count (minus one) - mChunkCapacity = inChunkCapacity ; - } - -//--- Destructor - public: ~ChunkSharedArray (void) { - if (mChunkArray != nullptr) { - if (mChunkArray [0] == 0) { - delete [] mChunkArray ; - macroAssert (mChunkSharedArrayCurrentlyAllocatedCount > 0, "Zero!", 0, 0) ; - mChunkSharedArrayCurrentlyAllocatedCount -= 1 ; - }else{ - mChunkArray [0] -= 1 ; - } - } - } - -//--- Copy constructor - public: ChunkSharedArray (const ChunkSharedArray & inSource) : - mChunkArray (inSource.mChunkArray), - mChunkCount (inSource.mChunkCount), - mChunkCapacity (inSource.mChunkCapacity) { - if (mChunkArray != nullptr) { - mChunkArray [0] += 1 ; // Retain - } - } - -//--- Assignment operator - public: ChunkSharedArray & operator = (const ChunkSharedArray & inSource) { - if (inSource.mChunkArray != nullptr) { - inSource.mChunkArray [0] += 1 ; // Retain - } - //--- Release - if (mChunkArray != nullptr) { - if (mChunkArray [0] == 0) { - delete [] mChunkArray ; - macroAssert (mChunkSharedArrayCurrentlyAllocatedCount > 0, "Zero!", 0, 0) ; - mChunkSharedArrayCurrentlyAllocatedCount -= 1 ; - }else{ - mChunkArray [0] -= 1 ; // Release - } - } - //--- Copy - mChunkArray = inSource.mChunkArray ; - mChunkCount = inSource.mChunkCount ; - mChunkCapacity = inSource.mChunkCapacity ; - //--- - return *this ; - } - -//--- Get Count - public: size_t chunkCount (void) const { return mChunkCount ; } - -//--- Uniquely Referenced ? - public: bool isUniquelyReferenced (void) const { - return (mChunkArray == nullptr) || (mChunkArray [0] == 0) ; - } - -//--- Insulate - public: void insulateWithChunkCapacity (const size_t inChunkCapacity) { - const size_t newChunkCapacity = std::max (mChunkCapacity, inChunkCapacity) ; - if (!isUniquelyReferenced ()) { - mChunkArray [0] -= 1 ; - ChunkUInt * newChunkArray = new ChunkUInt [newChunkCapacity + 1] ; - mChunkSharedArrayAllocationCount += 1 ; - mChunkSharedArrayCurrentlyAllocatedCount += 1 ; - newChunkArray [0] = 0 ; // Index 0: reference count (minus one) - for (size_t i = 1 ; i <= mChunkCount ; i++) { - newChunkArray [i] = mChunkArray [i] ; // 1-Based Indexing - } - mChunkArray = newChunkArray ; - mChunkCapacity = newChunkCapacity ; - }else if (mChunkCapacity < newChunkCapacity) { - if (mChunkArray == nullptr) { - mChunkArray = new ChunkUInt [newChunkCapacity + 1] ; - mChunkArray [0] = 0 ; // Index 0: reference count (minus one) - mChunkCount = 0 ; - mChunkCapacity = newChunkCapacity ; - mChunkSharedArrayAllocationCount += 1 ; - mChunkSharedArrayCurrentlyAllocatedCount += 1 ; - }else{ - mChunkArray = (ChunkUInt *) realloc (mChunkArray, sizeof (ChunkUInt) * (newChunkCapacity + 1)) ; - mChunkCapacity = newChunkCapacity ; - } - } - } - -//--- Append objects at the end of the array - public: void appendChunk (const ChunkUInt inChunkValue COMMA_LOCATION_ARGS) { - macroAssertThere (isUniquelyReferenced (), "Uniquely referenced error", 0, 0) ; - mChunkCount += 1 ; - macroAssertThere (mChunkCount <= mChunkCapacity, "append overflow", 0, 0) ; - mChunkArray [mChunkCount] = inChunkValue ; // 1-Based Indexing - } - - public: void appendChunks (const size_t inChunkCount, - const ChunkUInt inChunkValue - COMMA_LOCATION_ARGS) { - macroAssertThere (isUniquelyReferenced (), "Uniquely referenced error", 0, 0) ; - if (inChunkCount > 0) { - const size_t newChunkCount = mChunkCount + inChunkCount ; - macroAssertThere (newChunkCount <= mChunkCapacity, "append overflow", 0, 0) ; - for (size_t i = mChunkCount + 1 ; i <= newChunkCount ; i++) { - mChunkArray [i] = inChunkValue ; // 1-Based Indexing - } - mChunkCount = newChunkCount ; - } - } - - public: void appendRandomChunks (const size_t inChunkCount COMMA_LOCATION_ARGS) { - macroAssertThere (isUniquelyReferenced (), "Uniquely referenced error", 0, 0) ; - if (inChunkCount > 0) { - const size_t newChunkCount = mChunkCount + inChunkCount ; - macroAssertThere (newChunkCount <= mChunkCapacity, "append overflow", 0, 0) ; - for (size_t i = mChunkCount + 1 ; i <= newChunkCount ; i++) { - mChunkArray [i] = 0 ; - } - mChunkCount = newChunkCount ; - } - } - -//--- Remove leading zeros - public: void removeLeadingZeroChunks (LOCATION_ARGS) { - macroAssertThere (isUniquelyReferenced (), "Uniquely referenced error", 0, 0) ; - while ((mChunkCount > 0) && (mChunkArray [mChunkCount] == 0)) { // 1-Based Indexing - mChunkCount -= 1 ; - } - } - -//--- Last chunk (with index checking) - public: ChunkUInt lastChunk (LOCATION_ARGS) const { - #ifndef DO_NOT_GENERATE_CHECKINGS - checkChunkIndex (mChunkCount COMMA_THERE) ; - #endif - return mChunkArray [mChunkCount] ; // 1-Based Indexing - } - - public: ChunkUInt chunkAtIndex (const size_t inChunkIndex COMMA_LOCATION_ARGS) const { - #ifndef DO_NOT_GENERATE_CHECKINGS - checkChunkIndex (inChunkIndex COMMA_THERE) ; - #endif - return mChunkArray [inChunkIndex] ; // 1-Based Indexing - } - - public: void setChunkAtIndex (const ChunkUInt inChunkValue, - const size_t inChunkIndex - COMMA_LOCATION_ARGS) { - macroAssertThere (isUniquelyReferenced (), "Uniquely referenced error", 0, 0) ; - #ifndef DO_NOT_GENERATE_CHECKINGS - checkChunkIndex (inChunkIndex COMMA_THERE) ; - #endif - mChunkArray [inChunkIndex] = inChunkValue ; // 1-Based Indexing - } - - public: void subtractFromChunkAtIndex (const ChunkUInt inChunkValue, - const size_t inChunkIndex - COMMA_LOCATION_ARGS) { - macroAssertThere (isUniquelyReferenced (), "Uniquely referenced error", 0, 0) ; - #ifndef DO_NOT_GENERATE_CHECKINGS - checkChunkIndex (inChunkIndex COMMA_THERE) ; - #endif - subtractIgnoringOverflow (mChunkArray [inChunkIndex], inChunkValue) ; // 1-Based Indexing - } - -//--- Index checking - #ifndef DO_NOT_GENERATE_CHECKINGS - protected: void checkChunkIndex (const size_t inChunkIndex COMMA_LOCATION_ARGS) const { - macroAssertThere (inChunkIndex > 0, "inChunkIndex (%llu) < 0", int64_t (inChunkIndex), 0) ; - macroAssertThere (inChunkIndex <= mChunkCount, "inChunkIndex (%llu) >= mChunkCount (%llu)", int64_t (inChunkIndex), int64_t (mChunkCount)) ; - } - #endif - -//--- Private static attributes - private: static size_t mChunkSharedArrayAllocationCount ; - private: static size_t mChunkSharedArrayCurrentlyAllocatedCount ; - - public: static size_t chunkSharedArrayAllocationCount (void) { - return mChunkSharedArrayAllocationCount ; - } - - public: static size_t chunkSharedArrayCurrentlyAllocatedCount (void) { - return mChunkSharedArrayCurrentlyAllocatedCount ; - } - -} ; - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/UInt128.cpp b/goil/build/libpm/big-integers/PMUInt128.cpp similarity index 50% rename from goil/build/libpm/big-integers/UInt128.cpp rename to goil/build/libpm/big-integers/PMUInt128.cpp index 4808b1874..2cbd36411 100644 --- a/goil/build/libpm/big-integers/UInt128.cpp +++ b/goil/build/libpm/big-integers/PMUInt128.cpp @@ -1,62 +1,48 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// Handling 128-bits unsigned integer +// Handing unsigned integer of arbitrary size // // This file is part of libpm library // // Copyright (C) 2012, ..., 2012 Pierre Molinaro. -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: // -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. +// e-mail : pierre@pcmolinaro.name // -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- +// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied +// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +//---------------------------------------------------------------------------------------------------------------------- -#include "UInt128.h" +#include "big-integers/PMUInt128.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -UInt128::UInt128 (void) : +PMUInt128::PMUInt128 (void) : mLow (0), mHigh (0) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -UInt128::UInt128 (const uint64_t inLow) : -mLow (inLow), +PMUInt128::PMUInt128 (const uint64_t inValue) : +mLow (inValue), mHigh (0) { } -//-------------------------------------------------------------------------------------------------- - -UInt128::UInt128 (const uint64_t inHigh, const uint64_t inLow) : -mLow (inLow), -mHigh (inHigh) { -} - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool UInt128::isZero (void) const { +bool PMUInt128::isZero (void) const { return (mLow | mHigh) == 0 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool UInt128::bitAtIndex (const uint32_t inIndex) const { +bool PMUInt128::valueAtBitIndex (const uint32_t inIndex) const { bool result = false ; if (inIndex < 64) { result = ((mLow >> inIndex) & 1) != 0 ; @@ -66,9 +52,9 @@ bool UInt128::bitAtIndex (const uint32_t inIndex) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void UInt128::setBitAtIndex (const bool inValue, const uint32_t inIndex) { +void PMUInt128::setValueAtBitIndex (const bool inValue, const uint32_t inIndex) { if (inIndex < 64) { const uint64_t mask = ((uint64_t) 1) << inIndex ; if (inValue) { @@ -86,9 +72,9 @@ void UInt128::setBitAtIndex (const bool inValue, const uint32_t inIndex) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -UInt128 & UInt128::operator ++ (void) { +PMUInt128 & PMUInt128::operator ++ (void) { mLow ++ ; if (0 == mLow) { mHigh ++ ; @@ -96,9 +82,9 @@ UInt128 & UInt128::operator ++ (void) { return *this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -UInt128 & UInt128::operator -- (void) { +PMUInt128 & PMUInt128::operator -- (void) { if (0 == mLow) { mHigh -- ; } @@ -106,38 +92,38 @@ UInt128 & UInt128::operator -- (void) { return *this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void UInt128::operator += (const UInt128 & inValue) { +void PMUInt128::operator += (const PMUInt128 & inValue) { const uint64_t previousLow = mLow ; mLow += inValue.mLow ; const uint64_t carry = mLow < previousLow ; mHigh += inValue.mHigh + carry ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -UInt128 UInt128::operator + (const UInt128 & inValue) const { - UInt128 result = *this ; +PMUInt128 PMUInt128::operator + (const PMUInt128 & inValue) const { + PMUInt128 result = *this ; result += inValue ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool UInt128::operator == (const UInt128 & inValue) const { +bool PMUInt128::operator == (const PMUInt128 & inValue) const { return (mLow == inValue.mLow) && (mHigh == inValue.mHigh) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool UInt128::operator != (const UInt128 & inValue) const { +bool PMUInt128::operator != (const PMUInt128 & inValue) const { return ! (*this == inValue) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool UInt128::operator > (const uint32_t inOperand) const { +bool PMUInt128::operator > (const uint32_t inOperand) const { bool result = mHigh > 0 ; if (! result) { result = mLow > inOperand ; @@ -145,9 +131,9 @@ bool UInt128::operator > (const uint32_t inOperand) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void UInt128::operator *= (const uint32_t inMultiplicand) { +void PMUInt128::operator *= (const uint32_t inMultiplicand) { const uint64_t p0 = (mLow & UINT32_MAX) * inMultiplicand ; const uint64_t p1 = (mLow >> 32) * inMultiplicand + (p0 >> 32) ; const uint64_t p2 = (mHigh & UINT32_MAX) * inMultiplicand + (p1 >> 32) ; @@ -156,9 +142,9 @@ void UInt128::operator *= (const uint32_t inMultiplicand) { mHigh = (p2 & UINT32_MAX) + (p3 << 32) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void UInt128::divideBy (const uint32_t inDivisor, +void PMUInt128::divideBy (const uint32_t inDivisor, uint32_t & outRemainder) { const uint64_t d3 = mHigh >> 32 ; const uint64_t q3 = d3 / inDivisor ; @@ -177,76 +163,76 @@ void UInt128::divideBy (const uint32_t inDivisor, outRemainder = (uint32_t) r0 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void UInt128::operator /= (const uint32_t inDivisor) { +void PMUInt128::operator /= (const uint32_t inDivisor) { uint32_t unusedRemainder ; divideBy (inDivisor, unusedRemainder) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String UInt128::decimalString (void) const { - String result ; +C_String PMUInt128::decimalString (void) const { + C_String result ; if (isZero()) { - result.appendCString ("0") ; + result << "0" ; }else{ - UInt128 value = *this ; + PMUInt128 value = *this ; TC_UniqueArray values ; while (! value.isZero ()) { uint32_t remainder = 0 ; value.divideBy (1000, remainder) ; values.appendObject (remainder) ; } - result.appendUnsigned (values.lastObject (HERE)) ; + result = cStringWithUnsigned (values.lastObject (HERE)) ; for (int32_t i=values.count () - 2 ; i>=0 ; i--) { char s [16] ; snprintf (s, 16, " %03u", values (i COMMA_HERE)) ; - result.appendString (s) ; + result << s ; } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void UInt128::example (void) { - UInt128 v (1000000) ; - printf ("%s\n", v.decimalString ().cString ()) ; +void PMUInt128::example (void) { + PMUInt128 v (1000000) ; + printf ("%s\n", v.decimalString ().cString (HERE)) ; v *= 1000000 ; - printf ("%s\n", v.decimalString ().cString ()) ; + printf ("%s\n", v.decimalString ().cString (HERE)) ; v *= 1000000 ; - printf ("%s\n", v.decimalString ().cString ()) ; + printf ("%s\n", v.decimalString ().cString (HERE)) ; v *= 1000000 ; - printf ("%s\n", v.decimalString ().cString ()) ; + printf ("%s\n", v.decimalString ().cString (HERE)) ; v *= 1000000 ; - printf ("%s\n", v.decimalString ().cString ()) ; + printf ("%s\n", v.decimalString ().cString (HERE)) ; v *= 1000000 ; - printf ("%s\n", v.decimalString ().cString ()) ; + printf ("%s\n", v.decimalString ().cString (HERE)) ; v /= 1000 ; - printf ("%s\n", v.decimalString ().cString ()) ; + printf ("%s\n", v.decimalString ().cString (HERE)) ; v /= 1000 ; - printf ("%s\n", v.decimalString ().cString ()) ; + printf ("%s\n", v.decimalString ().cString (HERE)) ; v /= 1000 ; - printf ("%s\n", v.decimalString ().cString ()) ; + printf ("%s\n", v.decimalString ().cString (HERE)) ; v /= 1000 ; - printf ("%s\n", v.decimalString ().cString ()) ; + printf ("%s\n", v.decimalString ().cString (HERE)) ; v /= 1000 ; - printf ("%s\n", v.decimalString ().cString ()) ; + printf ("%s\n", v.decimalString ().cString (HERE)) ; v /= 1000 ; - printf ("%s\n", v.decimalString ().cString ()) ; + printf ("%s\n", v.decimalString ().cString (HERE)) ; v /= 1000 ; - printf ("%s\n", v.decimalString ().cString ()) ; + printf ("%s\n", v.decimalString ().cString (HERE)) ; v /= 1000 ; - printf ("%s\n", v.decimalString ().cString ()) ; + printf ("%s\n", v.decimalString ().cString (HERE)) ; v /= 1000 ; - printf ("%s\n", v.decimalString ().cString ()) ; + printf ("%s\n", v.decimalString ().cString (HERE)) ; v /= 1000 ; - printf ("%s\n", v.decimalString ().cString ()) ; + printf ("%s\n", v.decimalString ().cString (HERE)) ; v /= 1000 ; - printf ("%s\n", v.decimalString ().cString ()) ; + printf ("%s\n", v.decimalString ().cString (HERE)) ; v /= 1000 ; - printf ("%s\n", v.decimalString ().cString ()) ; + printf ("%s\n", v.decimalString ().cString (HERE)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/PMUInt128.h b/goil/build/libpm/big-integers/PMUInt128.h new file mode 100644 index 000000000..1689a506e --- /dev/null +++ b/goil/build/libpm/big-integers/PMUInt128.h @@ -0,0 +1,78 @@ +//---------------------------------------------------------------------------------------------------------------------- +// +// Handing unsigned integer of arbitrary size +// +// This file is part of libpm library +// +// Copyright (C) 2012, ..., 2012 Pierre Molinaro. +// +// e-mail : pierre@pcmolinaro.name +// +// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied +// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +//---------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//---------------------------------------------------------------------------------------------------------------------- + +#include "strings/C_String.h" + +//---------------------------------------------------------------------------------------------------------------------- + +class PMUInt128 final { +//--- Constructors + public: PMUInt128 (void) ; + public: PMUInt128 (const uint64_t inValue) ; + +//--- Is Zero + public: bool isZero (void) const ; + +//--- Comparison + public: bool operator == (const PMUInt128 & inValue) const ; + public: bool operator != (const PMUInt128 & inValue) const ; + public: bool operator > (const uint32_t inOperand) const ; + +//--- Incrementation, decrementation + public: PMUInt128 & operator ++ (void) ; + public: PMUInt128 & operator -- (void) ; + +//--- Addition + public: void operator += (const PMUInt128 & inValue) ; + public: PMUInt128 operator + (const PMUInt128 & inValue) const ; + +//--- Multiplication + public: void operator *= (const uint32_t inMultiplicand) ; + +//--- Division + public: void divideBy (const uint32_t inDivisor, + uint32_t & outRemainder) ; + + public: void operator /= (const uint32_t inMultiplicand) ; + +//--- Bit access + public: bool valueAtBitIndex (const uint32_t inIndex) const ; + public: void setValueAtBitIndex (const bool inValue, const uint32_t inIndex) ; + +//--- Value access + public: inline uint64_t low (void) const { return mLow ; } + public: inline uint64_t high (void) const { return mHigh ; } + +//--- Example + public: static void example (void) ; + +//--- Value as string + public: C_String decimalString (void) const ; + +//--- Attributes + private: uint64_t mLow ; + private: uint64_t mHigh ; +} ; + +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/UInt128.h b/goil/build/libpm/big-integers/UInt128.h deleted file mode 100644 index c009afd59..000000000 --- a/goil/build/libpm/big-integers/UInt128.h +++ /dev/null @@ -1,86 +0,0 @@ -//-------------------------------------------------------------------------------------------------- -// -// Handling 128-bits unsigned integer -// -// This file is part of libpm library -// -// Copyright (C) 2012, ..., 2023 Pierre Molinaro. -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#pragma once - -//-------------------------------------------------------------------------------------------------- - -#include "String-class.h" - -//-------------------------------------------------------------------------------------------------- - -class UInt128 final { -//--- Constructors - public: UInt128 (void) ; - public: UInt128 (const uint64_t inLow) ; - public: UInt128 (const uint64_t inHigh, const uint64_t inLow) ; - -//--- Is Zero - public: bool isZero (void) const ; - -//--- Comparison - public: bool operator == (const UInt128 & inValue) const ; - public: bool operator != (const UInt128 & inValue) const ; - public: bool operator > (const uint32_t inOperand) const ; - -//--- Incrementation, decrementation - public: UInt128 & operator ++ (void) ; - public: UInt128 & operator -- (void) ; - -//--- Addition - public: void operator += (const UInt128 & inValue) ; - public: UInt128 operator + (const UInt128 & inValue) const ; - -//--- Multiplication - public: void operator *= (const uint32_t inMultiplicand) ; - -//--- Division - public: void divideBy (const uint32_t inDivisor, - uint32_t & outRemainder) ; - - public: void operator /= (const uint32_t inMultiplicand) ; - -//--- Bit access - public: bool bitAtIndex (const uint32_t inIndex) const ; - public: void setBitAtIndex (const bool inValue, const uint32_t inIndex) ; - -//--- Value access - public: inline uint64_t low (void) const { return mLow ; } - public: inline uint64_t high (void) const { return mHigh ; } - -//--- Example - public: static void example (void) ; - -//--- Value as string - public: String decimalString (void) const ; - -//--- Attributes - private: uint64_t mLow ; - private: uint64_t mHigh ; -} ; - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/chunk-U16.h b/goil/build/libpm/big-integers/chunk-U16.h deleted file mode 100644 index f417e58d2..000000000 --- a/goil/build/libpm/big-integers/chunk-U16.h +++ /dev/null @@ -1,103 +0,0 @@ -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#pragma once - -//-------------------------------------------------------------------------------------------------- - -#include "macroAssert.h" -#include - -//-------------------------------------------------------------------------------------------------- - -typedef uint16_t ChunkUInt ; -static const ChunkUInt ChunkUIntMax = UINT16_MAX ; - -static const ChunkUInt greatestPowerOf10 = 10'000 ; // 10**4 -static const size_t greatestPowerOf10DigitCount = 4 ; - -//-------------------------------------------------------------------------------------------------- - -inline uint32_t countLeadingZeros (const ChunkUInt inValue) { - return uint32_t (__builtin_clz (inValue) - 16) ; -} - -//-------------------------------------------------------------------------------------------------- - -inline void baseMultiplication (const uint16_t inLeft, - const uint16_t inRight, - uint16_t & outHigh, - uint16_t & outLow) { - const uint32_t left = inLeft ; - const uint32_t right = inRight ; - const uint32_t product = left * right ; - outHigh = uint16_t (product >> 16) ; - outLow = uint16_t (product) ; -} - -//-------------------------------------------------------------------------------------------------- - -inline void divForSingleWordDivision (const uint16_t inDividendH, // inDividendH < inDivisor - const uint16_t inDividendL, - const uint16_t inDivisor, - uint16_t & outQuotient, - uint16_t & outRemainder) { - macroAssert (inDividendH < inDivisor, "inDividendH error (%llu, %llu)", int64_t (inDividendH), int64_t (inDivisor)) ; - uint32_t dividend = inDividendH ; - dividend <<= 16 ; - dividend |= inDividendL ; - outQuotient = uint16_t (dividend / inDivisor) ; - outRemainder = uint16_t (dividend % inDivisor) ; -} - -//-------------------------------------------------------------------------------------------------- - -inline uint16_t divForNaiveDivision (const uint16_t inDividendH, // inDividendH <= inDivisor - const uint16_t inDividendL, - const uint16_t inDivisor) { - if (inDividendH == inDivisor) { - return ChunkUIntMax ; - }else{ - macroAssert (inDividendH < inDivisor, "inDividendH error (%llx, %llx)", int64_t (inDividendH), int64_t (inDivisor)) ; - uint32_t dividend = inDividendH ; - dividend <<= 16 ; - dividend |= inDividendL ; - return uint16_t (dividend / inDivisor) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -inline uint16_t divForDivision (const uint16_t inDividendH, // inDividendH <= inDivisor - const uint16_t inDividendL, - const uint16_t inDivisor) { // inDivisor >= 0x8000 - macroAssert (inDivisor > (ChunkUIntMax / 2), "Indivisor error (%llx)", int64_t (inDivisor), 0) ; - if (inDividendH == inDivisor) { - return ChunkUIntMax ; - }else{ - uint32_t dividend = inDividendH ; - dividend <<= 16 ; - dividend |= inDividendL ; - const uint32_t quotient = dividend / inDivisor ; - return uint16_t (quotient) ; - } -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/chunk-U32.h b/goil/build/libpm/big-integers/chunk-U32.h deleted file mode 100644 index d9ffba89b..000000000 --- a/goil/build/libpm/big-integers/chunk-U32.h +++ /dev/null @@ -1,103 +0,0 @@ -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#pragma once - -//-------------------------------------------------------------------------------------------------- - -#include "macroAssert.h" -#include - -//-------------------------------------------------------------------------------------------------- - -typedef uint32_t ChunkUInt ; -static const ChunkUInt ChunkUIntMax = UINT32_MAX ; - -static const ChunkUInt greatestPowerOf10 = 1'000'000'000 ; // 10**9 -static const size_t greatestPowerOf10DigitCount = 9 ; - -//-------------------------------------------------------------------------------------------------- - -inline uint32_t countLeadingZeros (const ChunkUInt inValue) { - return uint32_t (__builtin_clzl (inValue) - 32) ; -} - -//-------------------------------------------------------------------------------------------------- - -inline void baseMultiplication (const uint32_t inLeft, - const uint32_t inRight, - uint32_t & outHigh, - uint32_t & outLow) { - const uint64_t left = inLeft ; - const uint64_t right = inRight ; - const uint64_t product = left * right ; - outHigh = uint32_t (product >> 32) ; - outLow = uint32_t (product) ; -} - -//-------------------------------------------------------------------------------------------------- - -inline void divForSingleWordDivision (const uint32_t inDividendH, // inDividendH < inDivisor - const uint32_t inDividendL, - const uint32_t inDivisor, - uint32_t & outQuotient, - uint32_t & outRemainder) { - macroAssert (inDividendH < inDivisor, "inDividendH error (%llu, %llu)", int64_t (inDividendH), int64_t (inDivisor)) ; - uint64_t dividend = inDividendH ; - dividend <<= 32 ; - dividend |= inDividendL ; - outQuotient = uint32_t (dividend / inDivisor) ; - outRemainder = uint32_t (dividend % inDivisor) ; -} - -//-------------------------------------------------------------------------------------------------- - -inline uint32_t divForNaiveDivision (const uint32_t inDividendH, // inDividendH <= inDivisor - const uint32_t inDividendL, - const uint32_t inDivisor) { - if (inDividendH == inDivisor) { - return ChunkUIntMax ; - }else{ - macroAssert (inDividendH < inDivisor, "inDividendH error (%llx, %llx)", int64_t (inDividendH), int64_t (inDivisor)) ; - uint64_t dividend = inDividendH ; - dividend <<= 32 ; - dividend |= inDividendL ; - return uint32_t (dividend / inDivisor) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -inline uint32_t divForDivision (const uint32_t inDividendH, // inDividendH <= inDivisor - const uint32_t inDividendL, - const uint32_t inDivisor) { // inDivisor >= 0x8000'000 - macroAssert (inDivisor > (ChunkUIntMax / 2), "Indivisor error (%llx)", int64_t (inDivisor), 0) ; - if (inDividendH == inDivisor) { - return ChunkUIntMax ; - }else{ - uint64_t dividend = inDividendH ; - dividend <<= 32 ; - dividend |= inDividendL ; - const uint64_t quotient = dividend / inDivisor ; - return uint32_t (quotient) ; - } -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/chunk-U64.h b/goil/build/libpm/big-integers/chunk-U64.h deleted file mode 100644 index 3c60d0d68..000000000 --- a/goil/build/libpm/big-integers/chunk-U64.h +++ /dev/null @@ -1,329 +0,0 @@ -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#pragma once - -//-------------------------------------------------------------------------------------------------- - -#include "macroAssert.h" -#include - -//-------------------------------------------------------------------------------------------------- - -typedef uint64_t ChunkUInt ; -static const ChunkUInt ChunkUIntMax = UINT64_MAX ; - -static const ChunkUInt greatestPowerOf10 = 10'000'000'000'000'000'000U ; // 10**19 -static const size_t greatestPowerOf10DigitCount = 19 ; - -//-------------------------------------------------------------------------------------------------- - -inline uint32_t countLeadingZeros (const ChunkUInt inValue) { - return uint32_t (__builtin_clzll (inValue)) ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifndef __SIZEOF_INT128__ - static const uint64_t HALF_MASK = 0xFFFF'FFFF ; -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef __SIZEOF_INT128__ - inline void baseMultiplication (const uint64_t inLeft, - const uint64_t inRight, - uint64_t & outHigh, - uint64_t & outLow) { - const __uint128_t left = inLeft ; - const __uint128_t right = inRight ; - const __uint128_t product = left * right ; - outHigh = uint64_t (product >> 64) ; - outLow = uint64_t (product) ; - } -#else - inline void baseMultiplication (const uint64_t inLeft, - const uint64_t inRight, - uint64_t & outHigh, - uint64_t & outLow) { - const uint64_t leftH = inLeft >> 32 ; - const uint64_t leftL = (inLeft & HALF_MASK) ; - const uint64_t rightH = inRight >> 32 ; - const uint64_t rightL = (inRight & HALF_MASK) ; - //--- Low word - outLow = leftL * rightL ; - //--- High word - outHigh = leftH * rightH ; - //--- First intermediate - const uint64_t leftH_rightL = leftH * rightL ; - const uint64_t leftH_rightL_forLowWord = leftH_rightL << 32 ; - outLow += leftH_rightL_forLowWord ; - outHigh += outLow < leftH_rightL_forLowWord ; // Propagate carry - const uint64_t leftH_rightL_forHighWord = leftH_rightL >> 32 ; - outHigh += leftH_rightL_forHighWord ; // No carry - //--- Second intermediate - const uint64_t leftL_rightH = leftL * rightH ; - const uint64_t leftL_rightH_forLowWord = leftL_rightH << 32 ; - outLow += leftL_rightH_forLowWord ; - outHigh += outLow < leftL_rightH_forLowWord ; // Propagate carry - const uint64_t leftL_rightH_forHighWord = leftL_rightH >> 32 ; - outHigh += leftL_rightH_forHighWord ; // No carry - } -#endif - -//-------------------------------------------------------------------------------------------------- -// https://copyprogramming.com/howto/mostly-portable-128-by-64-bit-division -// https://www.codeproject.com/Tips/785014/UInt-Division-Modulus -//-------------------------------------------------------------------------------------------------- - -#ifdef __SIZEOF_INT128__ - inline void divForSingleWordDivision (const uint64_t inDividendH, // inDividendH < inDivisor - const uint64_t inDividendL, - const uint64_t inDivisor, - uint64_t & outQuotient, - uint64_t & outRemainder) { - __uint128_t dividend = inDividendH ; - dividend <<= 64 ; - dividend |= inDividendL ; - outQuotient = uint64_t (dividend / inDivisor) ; - outRemainder = uint64_t (dividend % inDivisor) ; - } -#else - inline void divForSingleWordDivision (const uint64_t inDividendH, // inDividendH < inDivisor - const uint64_t inDividendL, - const uint64_t inDivisor, - uint64_t & outQuotient, - uint64_t & outRemainder) { - const uint64_t b = 1ll << 32; - uint64_t un1, un0, vn1, vn0, q1, q0, un32, un21, un10, rhat, left, right; - - const int s = __builtin_clzll (inDivisor) ; - - const uint64_t v = inDivisor << s ; - vn1 = v >> 32 ; - vn0 = v & HALF_MASK; - - if (s > 0) - { - un32 = (inDividendH << s) | (inDividendL >> (64 - s)); - un10 = inDividendL << s; - } - else - { - un32 = inDividendH; - un10 = inDividendL; - } - - un1 = un10 >> 32; - un0 = un10 & HALF_MASK; - - q1 = un32 / vn1; - rhat = un32 % vn1; - - left = q1 * vn0; - right = (rhat << 32) + un1; - again1: - if ((q1 >= b) || (left > right)) - { - --q1; - rhat += vn1; - if (rhat < b) - { - left -= vn0; - right = (rhat << 32) | un1; - goto again1; - } - } - - un21 = (un32 << 32) + (un1 - (q1 * v)); - - q0 = un21 / vn1; - rhat = un21 % vn1; - - left = q0 * vn0; - right = (rhat << 32) | un0; - again2: - if ((q0 >= b) || (left > right)) - { - --q0; - rhat += vn1; - if (rhat < b) - { - left -= vn0; - right = (rhat << 32) | un0; - goto again2; - } - } - - outRemainder = ((un21 << 32) + (un0 - (q0 * v))) >> s; - outQuotient = (q1 << 32) | q0; - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef __SIZEOF_INT128__ - inline uint64_t divForDivision (const uint64_t inDividendH, // inDividendH <= inDivisor - const uint64_t inDividendL, - const uint64_t inDivisor) { // inDivisor >= 0x'8000'0000'0000'0000 - if (inDividendH == inDivisor) { - return ChunkUIntMax ; - }else{ - __uint128_t dividend = inDividendH ; - dividend <<= 64 ; - dividend |= inDividendL ; - return uint64_t (dividend / inDivisor) ; - } - } -#else - inline uint64_t divForDivision (const uint64_t inDividendH, // inDividendH < inDivisor - const uint64_t inDividendL, - const uint64_t inDivisor) { // inDivisor >= 0x'8000'0000'0000'0000 - const uint64_t vn1 = inDivisor >> 32 ; - const uint64_t vn0 = inDivisor & HALF_MASK ; - const uint64_t un32 = inDividendH ; - - const uint64_t un1 = inDividendL >> 32; - const uint64_t un0 = inDividendL & HALF_MASK; - - uint64_t q1 = inDividendH / vn1 ; - uint64_t rhat = inDividendH % vn1 ; - - uint64_t left = q1 * vn0; - uint64_t right = (rhat << 32) + un1 ; - again1: - if ((q1 > HALF_MASK) || (left > right)) { - --q1 ; - rhat += vn1; - if (rhat <= HALF_MASK) { - left -= vn0; - right = (rhat << 32) | un1; - goto again1; - } - } - - const uint64_t un21 = (un32 << 32) + (un1 - (q1 * inDivisor)); - - uint64_t q0 = un21 / vn1; - rhat = un21 % vn1; - - left = q0 * vn0; - right = (rhat << 32) | un0; - again2: - if ((q0 > HALF_MASK) || (left > right)) { - --q0; - rhat += vn1; - if (rhat <= HALF_MASK) - { - left -= vn0; - right = (rhat << 32) | un0; - goto again2; - } - } - - return (q1 << 32) | q0; - } -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef __SIZEOF_INT128__ - inline uint64_t divForNaiveDivision (const uint64_t inDividendH, // inDividendH < inDivisor - const uint64_t inDividendL, - const uint64_t inDivisor) { - if (inDividendH == inDivisor) { - return ChunkUIntMax ; - }else{ - __uint128_t dividend = inDividendH ; - dividend <<= 64 ; - dividend |= inDividendL ; - return uint64_t (dividend / inDivisor) ; - } - } -#else - inline uint64_t divForNaiveDivision (const uint64_t inDividendH, // inDividendH < inDivisor - const uint64_t inDividendL, - const uint64_t inDivisor) { - const uint64_t b = 1ll << 32; - uint64_t un1, un0, vn1, vn0, q1, q0, un32, un21, un10, rhat, left, right; - - const int s = __builtin_clzll (inDivisor) ; - - const uint64_t v = inDivisor << s ; - vn1 = v >> 32 ; - vn0 = v & HALF_MASK; - - if (s > 0) - { - un32 = (inDividendH << s) | (inDividendL >> (64 - s)); - un10 = inDividendL << s; - } - else - { - un32 = inDividendH; - un10 = inDividendL; - } - - un1 = un10 >> 32; - un0 = un10 & HALF_MASK; - - q1 = un32 / vn1; - rhat = un32 % vn1; - - left = q1 * vn0; - right = (rhat << 32) + un1; - again1: - if ((q1 >= b) || (left > right)) - { - --q1; - rhat += vn1; - if (rhat < b) - { - left -= vn0; - right = (rhat << 32) | un1; - goto again1; - } - } - - un21 = (un32 << 32) + (un1 - (q1 * v)); - - q0 = un21 / vn1; - rhat = un21 % vn1; - - left = q0 * vn0; - right = (rhat << 32) | un0; - again2: - if ((q0 >= b) || (left > right)) - { - --q0; - rhat += vn1; - if (rhat < b) - { - left -= vn0; - right = (rhat << 32) | un0; - goto again2; - } - } - - return (q1 << 32) | q0; - } -#endif - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/chunk-U8.h b/goil/build/libpm/big-integers/chunk-U8.h deleted file mode 100644 index d2910501e..000000000 --- a/goil/build/libpm/big-integers/chunk-U8.h +++ /dev/null @@ -1,103 +0,0 @@ -// -// MIT License -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software -// and associated documentation files (the "Software"), to deal in the Software without restriction, -// including without limitation the rights to use, copy, modify, merge, publish, distribute, -// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or -// substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING -// BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -//-------------------------------------------------------------------------------------------------- - -#pragma once - -//-------------------------------------------------------------------------------------------------- - -#include "macroAssert.h" -#include - -//-------------------------------------------------------------------------------------------------- - -typedef uint8_t ChunkUInt ; -static const ChunkUInt ChunkUIntMax = UINT8_MAX ; - -static const ChunkUInt greatestPowerOf10 = 100 ; // 10**2 -static const size_t greatestPowerOf10DigitCount = 2 ; - -//-------------------------------------------------------------------------------------------------- - -inline uint32_t countLeadingZeros (const ChunkUInt inValue) { - return uint32_t (__builtin_clz (inValue)) - 24 ; -} - -//-------------------------------------------------------------------------------------------------- - -inline void baseMultiplication (const uint8_t inLeft, - const uint8_t inRight, - uint8_t & outHigh, - uint8_t & outLow) { - const uint32_t left = inLeft ; - const uint32_t right = inRight ; - const uint32_t product = left * right ; - outHigh = uint8_t (product >> 8) ; - outLow = uint8_t (product) ; -} - -//-------------------------------------------------------------------------------------------------- - -inline void divForSingleWordDivision (const uint8_t inDividendH, // inDividendH < inDivisor - const uint8_t inDividendL, - const uint8_t inDivisor, - uint8_t & outQuotient, - uint8_t & outRemainder) { - macroAssert (inDividendH < inDivisor, "inDividendH error (%llu, %llu)", int64_t (inDividendH), int64_t (inDivisor)) ; - uint32_t dividend = inDividendH ; - dividend <<= 8 ; - dividend |= inDividendL ; - outQuotient = uint8_t (dividend / inDivisor) ; - outRemainder = uint8_t (dividend % inDivisor) ; -} - -//-------------------------------------------------------------------------------------------------- - -inline uint8_t divForNaiveDivision (const uint8_t inDividendH, // inDividendH <= inDivisor - const uint8_t inDividendL, - const uint8_t inDivisor) { - if (inDividendH == inDivisor) { - return ChunkUIntMax ; - }else{ - macroAssert (inDividendH < inDivisor, "inDividendH error (%llx, %llx)", int64_t (inDividendH), int64_t (inDivisor)) ; - uint32_t dividend = inDividendH ; - dividend <<= 8 ; - dividend |= inDividendL ; - return uint8_t (dividend / inDivisor) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -inline uint8_t divForDivision (const uint8_t inDividendH, // inDividendH <= inDivisor - const uint8_t inDividendL, - const uint8_t inDivisor) { // inDivisor >= 0x80 - macroAssert (inDivisor > (ChunkUIntMax / 2), "Indivisor error (%llx)", int64_t (inDivisor), 0) ; - if (inDividendH == inDivisor) { - return ChunkUIntMax ; - }else{ - uint32_t dividend = inDividendH ; - dividend <<= 8 ; - dividend |= inDividendL ; - const uint32_t quotient = dividend / inDivisor ; - return uint8_t (quotient) ; - } -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_objc_galgas/F_CocoaWrapperForGalgas.h b/goil/build/libpm/cocoa_objc_galgas/F_CocoaWrapperForGalgas.h index e9ff55224..bbe1f8fa3 100644 --- a/goil/build/libpm/cocoa_objc_galgas/F_CocoaWrapperForGalgas.h +++ b/goil/build/libpm/cocoa_objc_galgas/F_CocoaWrapperForGalgas.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,7 +14,7 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void enterOptions (NSMutableArray * ioBoolOptionArray, NSMutableArray * ioUIntOptionArray, @@ -35,4 +35,4 @@ NSDictionary * indexingDescriptorDictionary (void) ; NSString * buildRunOption (void) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_objc_galgas/NSString+identifierRepresentation.h b/goil/build/libpm/cocoa_objc_galgas/NSString+identifierRepresentation.h index af00303f7..4d9ff7f0c 100644 --- a/goil/build/libpm/cocoa_objc_galgas/NSString+identifierRepresentation.h +++ b/goil/build/libpm/cocoa_objc_galgas/NSString+identifierRepresentation.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,11 +14,11 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @interface NSString (IdentifierRepresentation) @@ -26,4 +26,4 @@ @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_objc_galgas/NSString+identifierRepresentation.m b/goil/build/libpm/cocoa_objc_galgas/NSString+identifierRepresentation.m index eb56b4a10..36706f553 100644 --- a/goil/build/libpm/cocoa_objc_galgas/NSString+identifierRepresentation.m +++ b/goil/build/libpm/cocoa_objc_galgas/NSString+identifierRepresentation.m @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,15 +14,15 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import "NSString+identifierRepresentation.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @implementation NSString (IdentifierRepresentation) -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSString *) identifierRepresentation { NSMutableString * result = [NSMutableString new] ; @@ -39,6 +39,6 @@ - (NSString *) identifierRepresentation { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @end diff --git a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_ApplicationDelegate.h b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_ApplicationDelegate.h index ba75c8558..2e605fd95 100644 --- a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_ApplicationDelegate.h +++ b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_ApplicationDelegate.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,11 +14,11 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #define GGS_prefix_by_tool_utility @"PMPrefixByTimeUtility" #define GGS_selected_tab @"GGS_selected_tab" @@ -48,17 +48,17 @@ #define GGS_editor_background_color @"GGS_EDITOR_BACKGROUND_COLOR" #define GGS_editor_space_for_tab @"GGS_EDITOR_SPACES_FOR_TAB" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @class OC_GGS_Document ; @class OC_GGS_ApplicationDelegate ; @class PMFontButton ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern OC_GGS_ApplicationDelegate * gCocoaApplicationDelegate ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @interface OC_GGS_ApplicationDelegate : NSObject { //--- Text Macros Menu @@ -155,4 +155,4 @@ extern OC_GGS_ApplicationDelegate * gCocoaApplicationDelegate ; - (NSString *) toolUtilityPrefix ; @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_ApplicationDelegate.m b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_ApplicationDelegate.m index 6e657b5de..630875026 100644 --- a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_ApplicationDelegate.m +++ b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_ApplicationDelegate.m @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,7 +14,7 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import "OC_GGS_ColorTransformer.h" #import "OC_GGS_TextDisplayDescriptor.h" @@ -27,31 +27,31 @@ #import "F_CocoaWrapperForGalgas.h" #import "PMDebug.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PM_HANDLE_UPDATE #import "PMApplicationUpdate.h" #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //#define DEBUG_MESSAGES -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- OC_GGS_ApplicationDelegate * gCocoaApplicationDelegate ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef NS_ENUM typedef NSUInteger NSAutoresizingMaskOptions ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @implementation OC_GGS_ApplicationDelegate -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (instancetype) init { #ifdef DEBUG_MESSAGES @@ -72,11 +72,11 @@ - (instancetype) init { return self ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // S E T A P P L I C A T I O N M E N U I T E M T I T L E S // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) setApplicationMenuItemTitles { #ifdef DEBUG_MESSAGES @@ -110,7 +110,7 @@ - (void) setApplicationMenuItemTitles { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSArray *) commandLineItemArray { #ifdef DEBUG_MESSAGES @@ -119,7 +119,7 @@ - (NSArray *) commandLineItemArray { return mCommandLineItemArray ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSTabView *) preferencesTabView { #ifdef DEBUG_MESSAGES @@ -128,7 +128,7 @@ - (NSTabView *) preferencesTabView { return mPreferencesTabView ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSInteger) selectedToolIndex { #ifdef DEBUG_MESSAGES @@ -137,7 +137,7 @@ - (NSInteger) selectedToolIndex { return mToolPopUpButton.indexOfSelectedItem ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSString *) compilerToolPath: (NSInteger) inSelectedToolIndex { #ifdef DEBUG_MESSAGES @@ -152,7 +152,7 @@ - (NSString *) compilerToolPath: (NSInteger) inSelectedToolIndex { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (BOOL) prefixByToolUtility { #ifdef DEBUG_MESSAGES @@ -161,7 +161,7 @@ - (BOOL) prefixByToolUtility { return [[NSUserDefaults standardUserDefaults] boolForKey:GGS_prefix_by_tool_utility] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSString *) toolUtilityPrefix { #ifdef DEBUG_MESSAGES @@ -170,7 +170,7 @@ - (NSString *) toolUtilityPrefix { return @"/usr/bin/time" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSString *) commandLineString { #ifdef DEBUG_MESSAGES @@ -233,26 +233,26 @@ - (NSString *) commandLineString { //---- Build string for displaying NSMutableString * s = [NSMutableString new] ; if ([self prefixByToolUtility]) { - [s appendString: [self toolUtilityPrefix]] ; - [s appendString: @" "] ; + [s appendString:[self toolUtilityPrefix]] ; + [s appendString:@" "] ; } for (NSUInteger i=0 ; i<[arguments count] ; i++) { - [s appendString: [arguments objectAtIndex:i]] ; - [s appendString: @" "] ; + [s appendString:[arguments objectAtIndex:i]] ; + [s appendString:@" "] ; } //--- return s ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma mark Lexical Coloring -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // S E T T E X T C O L O R S P R E F E R E N C E S // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) setUpView: (NSView *) ioView withCurrentRectangle: (NSRect *) ioRect @@ -357,7 +357,7 @@ - (void) setUpView: (NSView *) ioView ioRect->origin.y -= 25.0 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) setTextColorsAndFontForTokenizer: (OC_Lexique *) inTokenizer atIndex: (NSUInteger) inIndex { @@ -549,7 +549,7 @@ - (void) setTextColorsAndFontForTokenizer: (OC_Lexique *) inTokenizer [sc setDocumentView:view] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) setFontAction: (id) inSender { #ifdef DEBUG_MESSAGES @@ -587,7 +587,7 @@ - (void) setFontAction: (id) inSender { [fontManager orderFrontFontPanel:self] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) changeFontAction: (id) inSender { #ifdef DEBUG_MESSAGES @@ -615,7 +615,7 @@ - (void) changeFontAction: (id) inSender { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) setTextColorsPreferences { #ifdef DEBUG_MESSAGES @@ -631,11 +631,11 @@ - (void) setTextColorsPreferences { mLexicalColoringScrollView = nil ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma mark Build Text Macros Menu -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) insertTextMacroWithIndex: (NSUInteger) inIndex titleComponents: (NSArray *) inTitleComponents @@ -682,11 +682,11 @@ - (void) insertTextMacroWithIndex: (NSUInteger) inIndex } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // B U I L D T E X T M A C R O M E N U // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) buildTextMacroMenu { #ifdef DEBUG_MESSAGES @@ -716,15 +716,15 @@ - (void) buildTextMacroMenu { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma mark Build Option Items -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // B U I L D B O O L C O M M A N D L I N E O P T I O N S // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) buildBooleanCommandLineOptionsInView: (NSView *) inView enclosingRect: (NSRect *) ioRect { @@ -762,11 +762,11 @@ - (void) buildBooleanCommandLineOptionsInView: (NSView *) inView } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // B U I L D U I N T C O M M A N D L I N E O P T I O N S // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) buildUnsignedIntegerCommandLineOptionsInView: (NSView *) inView enclosingRect: (NSRect *) ioRect { @@ -828,11 +828,11 @@ - (void) buildUnsignedIntegerCommandLineOptionsInView: (NSView *) inView } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // B U I L D U I N T C O M M A N D L I N E O P T I O N S // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) buildStringCommandLineOptionsInView: (NSView *) inView enclosingRect: (NSRect *) ioRect { @@ -889,11 +889,11 @@ - (void) buildStringCommandLineOptionsInView: (NSView *) inView } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // POPULATE TOOL POPUPBUTTON // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) populateToolPopupButtonInView: (NSView *) inView { #ifdef DEBUG_MESSAGES @@ -931,11 +931,11 @@ - (void) populateToolPopupButtonInView: (NSView *) inView { [mToolPopUpButton setAction:@selector (toolSelectionDidChange:)] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // A W A K E F R O M N I B // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) awakeFromNib { #ifdef DEBUG_MESSAGES @@ -1141,7 +1141,7 @@ - (void) awakeFromNib { #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) preferencesDidChange: (id) inUsedArgument { #ifdef DEBUG_MESSAGES @@ -1151,7 +1151,7 @@ - (void) preferencesDidChange: (id) inUsedArgument { [self didChangeValueForKey:@"commandLineString"] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSArray *) toolNameArray { #ifdef DEBUG_MESSAGES @@ -1160,11 +1160,11 @@ - (NSArray *) toolNameArray { return mToolNameArray ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma mark Preferences Change -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (IBAction) toolSelectionDidChange: (id) inSender { #ifdef DEBUG_MESSAGES @@ -1177,15 +1177,15 @@ - (IBAction) toolSelectionDidChange: (id) inSender { [self didChangeValueForKey:@"commandLineString"] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma mark Track Window Moving and Resizing -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // windowDidMove: // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) windowDidMove: (NSNotification *) inNotification { #ifdef DEBUG_MESSAGES @@ -1197,11 +1197,11 @@ - (void) windowDidMove: (NSNotification *) inNotification { [ud setObject:s forKey:GGS_preference_window_frame] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // windowDidResize: // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) windowDidResize: (NSNotification *) inNotification { #ifdef DEBUG_MESSAGES @@ -1213,25 +1213,25 @@ - (void) windowDidResize: (NSNotification *) inNotification { [ud setObject:s forKey:GGS_preference_window_frame] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma mark User Actions -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // O P E N A N U N T I T L E D D O C U M E N T A T S T A R T U P // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (BOOL) applicationShouldOpenUntitledFile: (NSApplication *) inSender { return NO ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // ALL DOCUMENT EXTENSIONS // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSSet *) allExtensionsOfCurrentApplication { #ifdef DEBUG_MESSAGES @@ -1254,11 +1254,11 @@ - (NSSet *) allExtensionsOfCurrentApplication { return extensionSet ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // A C T I O N N E W D O C U M E N T // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) changeNewDocumentTypeAction: (id) inSender { #ifdef DEBUG_MESSAGES @@ -1269,7 +1269,7 @@ - (void) changeNewDocumentTypeAction: (id) inSender { [savePanel setAllowedFileTypes: [NSArray arrayWithObject: extension]] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (IBAction) newDocument: (id) inSender { #ifdef DEBUG_MESSAGES @@ -1307,7 +1307,7 @@ - (IBAction) newDocument: (id) inSender { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (IBAction) showAllocationWindow: (id) inSender { #ifdef DEBUG_MESSAGES @@ -1316,11 +1316,11 @@ - (IBAction) showAllocationWindow: (id) inSender { showAllocationStatsWindow () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma mark Termination Handling -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSApplicationTerminateReply) applicationShouldTerminate:(NSApplication *)sender { #ifdef DEBUG_MESSAGES @@ -1341,11 +1341,11 @@ - (NSApplicationTerminateReply) applicationShouldTerminate:(NSApplication *)send return canTerminateApplication ? NSTerminateNow : NSTerminateCancel ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma mark Source text preferences -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) updateSourceTextPreferenceCount { #ifdef DEBUG_MESSAGES @@ -1377,7 +1377,7 @@ - (void) updateSourceTextPreferenceCount { [mSourcePreferenceStatsTextField setStringValue:s] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (IBAction) clearSourceDocumentPreferencesEntries: (id) inSender { #ifdef DEBUG_MESSAGES @@ -1402,6 +1402,6 @@ - (IBAction) clearSourceDocumentPreferencesEntries: (id) inSender { [self updateSourceTextPreferenceCount] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @end diff --git a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_BuildTask.h b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_BuildTask.h index 5785a429e..272843418 100644 --- a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_BuildTask.h +++ b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_BuildTask.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,15 +14,15 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @class OC_GGS_Document ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @interface OC_GGS_BuildTask : NSObject { @private NSTask * mTask ; @@ -30,7 +30,7 @@ @private BOOL mOutputBufferedDataHasBeenTransmitted ; -// @private BOOL mTaskCompleted ; + @private BOOL mTaskCompleted ; @private OC_GGS_Document * mDocument ; } @@ -43,4 +43,4 @@ @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_BuildTask.m b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_BuildTask.m index 7d819e2f2..1d39f9c26 100644 --- a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_BuildTask.m +++ b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_BuildTask.m @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,7 +14,7 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import "OC_GGS_BuildTask.h" #import "PMIssueDescriptor.h" @@ -23,20 +23,20 @@ #import "F_CocoaWrapperForGalgas.h" #import "PMDebug.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //#define DEBUG_MESSAGES -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @implementation OC_GGS_BuildTask -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (OC_GGS_BuildTask *) initWithDocument: (OC_GGS_Document *) inDocument filePath: (NSString *) inFilePath @@ -100,12 +100,12 @@ - (OC_GGS_BuildTask *) initWithDocument: (OC_GGS_Document *) inDocument ] ; [mTaskOutputPipe.fileHandleForReading readInBackgroundAndNotify] ; //--- -// [[NSNotificationCenter defaultCenter] -// addObserver: self -// selector: @selector (taskDidTerminate:) -// name: NSTaskDidTerminateNotification -// object: mTask -// ] ; + [[NSNotificationCenter defaultCenter] + addObserver: self + selector: @selector (taskDidTerminate:) + name: NSTaskDidTerminateNotification + object: mTask + ] ; //--- Start task [mTask launch] ; } @@ -113,21 +113,21 @@ - (OC_GGS_BuildTask *) initWithDocument: (OC_GGS_Document *) inDocument return self ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) dealloc { noteObjectDeallocation (self) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) getDataFromTaskOutput: (NSNotification *) inNotification { #ifdef DEBUG_MESSAGES NSLog (@"%s", __PRETTY_FUNCTION__) ; #endif - NSData * data = [inNotification.userInfo objectForKey: NSFileHandleNotificationDataItem]; + NSData * data = [inNotification.userInfo objectForKey:NSFileHandleNotificationDataItem]; if (data.length > 0) { - [mDocument appendBuildOutputData: data] ; + [mDocument appendBuildOutputData:data] ; [inNotification.object readInBackgroundAndNotify] ; }else{ [[NSNotificationCenter defaultCenter] @@ -135,11 +135,11 @@ - (void) getDataFromTaskOutput: (NSNotification *) inNotification { name: NSFileHandleReadCompletionNotification object: mTaskOutputPipe.fileHandleForReading ] ; -// [[NSNotificationCenter defaultCenter] -// removeObserver: self -// name: NSTaskDidTerminateNotification -// object: mTask -// ] ; + [[NSNotificationCenter defaultCenter] + removeObserver: self + name: NSTaskDidTerminateNotification + object: mTask + ] ; [mTaskOutputPipe.fileHandleForReading closeFile] ; const int terminationStatus = [mTask terminationStatus] ; mOutputBufferedDataHasBeenTransmitted = YES ; @@ -149,24 +149,24 @@ - (void) getDataFromTaskOutput: (NSNotification *) inNotification { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -//- (void) taskDidTerminate: (NSNotification *) inNotification { -// mTaskCompleted = YES ; -//} +- (void) taskDidTerminate: (NSNotification *) inNotification { + mTaskCompleted = YES ; +} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) terminate { [mTask terminate] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -//- (BOOL) isCompleted { -// return mTaskCompleted && mOutputBufferedDataHasBeenTransmitted ; -//} +- (BOOL) isCompleted { + return mTaskCompleted && mOutputBufferedDataHasBeenTransmitted ; +} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @end diff --git a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_ColorTransformer.h b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_ColorTransformer.h index 1c1d9bcf7..4cc47e34f 100644 --- a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_ColorTransformer.h +++ b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_ColorTransformer.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,11 +14,11 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @interface OC_GGS_ColorTransformer : NSValueTransformer { } @@ -33,4 +33,4 @@ @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_ColorTransformer.m b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_ColorTransformer.m index 45e78d421..63ceb6571 100644 --- a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_ColorTransformer.m +++ b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_ColorTransformer.m @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,11 +14,11 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import "OC_GGS_ColorTransformer.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @implementation OC_GGS_ColorTransformer @@ -42,4 +42,4 @@ - (NSColor *) transformedValue: (NSData *) inValue { @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_CommandLineOption.h b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_CommandLineOption.h index bbbc83b80..e6c481560 100644 --- a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_CommandLineOption.h +++ b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_CommandLineOption.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,11 +14,11 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @interface OC_GGS_CommandLineOption : NSObject { @private NSString * mDomainName ; @@ -47,4 +47,4 @@ @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_CommandLineOption.m b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_CommandLineOption.m index e24e54e21..1a5de39af 100644 --- a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_CommandLineOption.m +++ b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_CommandLineOption.m @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,15 +14,15 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import "OC_GGS_CommandLineOption.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @implementation OC_GGS_CommandLineOption -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (id) initWithDomainName: (NSString *) inDomainName identifier: (NSString *) inIdentifier @@ -42,25 +42,25 @@ - (id) initWithDomainName: (NSString *) inDomainName return self ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSString *) identifier { return mIdentifier ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (char) commandChar { return mCommandChar ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSString *) commandString { return mCommandString ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSString *) title { return ([mDefaultValue length] == 0) @@ -69,6 +69,6 @@ - (NSString *) title { ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @end diff --git a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_Document.h b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_Document.h index 0ebd9f4e1..d92a44525 100644 --- a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_Document.h +++ b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_Document.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,11 +14,11 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @class OC_GGS_TextView ; @class OC_GGS_DelegateForSyntaxColoring ; @@ -32,7 +32,7 @@ @class OC_GGS_DocumentData ; @class OC_GGS_RulerViewForBuildOutput ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @interface OC_GGS_Document : NSDocument %@", key, configurationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) changeSelectedSourceViewAction: (NSButton *) inSender { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif [mSourceDisplayArrayControllerHigh setSelectionIndex:(NSUInteger) inSender.tag] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (IBAction) actionGotoLine: (id) inSender { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif [NSApp beginSheet: mGotoWindow modalForWindow: self.windowForSheet @@ -426,17 +510,27 @@ - (IBAction) actionGotoLine: (id) inSender { ] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) collapseIssuesAction: (id) inSender { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif [mFirstSplitView setPosition:0.0 ofDividerAtIndex:0] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +// S H E E T D I D E N D ( G O T O L I N E ) +// +//---------------------------------------------------------------------------------------------------------------------- - (void) gotoLineSheetDidEnd: (NSWindow *) inSheet returnCode: (int) inReturnCode contextInfo: (void *) inContextInfo { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif if (inReturnCode == 1) { //--- Get selected line const NSUInteger selectedLine = (NSUInteger) [mGotoLineTextField integerValue] ; @@ -446,35 +540,47 @@ - (void) gotoLineSheetDidEnd: (NSWindow *) inSheet } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (IBAction) actionComment: (id) sender { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif OC_GGS_TextDisplayDescriptor * selectedObject = [mSourceDisplayArrayControllerHigh.selectedObjects objectAtIndex:0] ; [selectedObject commentSelection] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (IBAction) actionUncomment: (id) sender { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif OC_GGS_TextDisplayDescriptor * selectedObject = [mSourceDisplayArrayControllerHigh.selectedObjects objectAtIndex:0] ; [selectedObject uncommentSelection] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (IBAction) actionShiftLeft: (id) sender { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif OC_GGS_TextDisplayDescriptor * selectedObject = [mSourceDisplayArrayControllerHigh.selectedObjects objectAtIndex:0] ; [selectedObject shiftLeftAction] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (IBAction) actionShiftRight: (id) sender { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif OC_GGS_TextDisplayDescriptor * selectedObject = [mSourceDisplayArrayControllerHigh.selectedObjects objectAtIndex:0] ; [selectedObject shiftRightAction] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (BOOL) validateMenuItem:(NSMenuItem *) item { BOOL result = YES ; @@ -487,16 +593,22 @@ - (BOOL) validateMenuItem:(NSMenuItem *) item { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (IBAction) saveAllDocuments: (id) inSender { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif [OC_GGS_DocumentData saveAllDocuments] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) displaySourceWithURL: (NSURL *) inURL atLine: (NSUInteger) inLine { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif if (nil != inURL) { OC_GGS_TextDisplayDescriptor * tdd = [self findOrAddNewTabForFile:inURL.path] ; const NSRange r = {[tdd.documentData locationForLineInSource:inLine], 0} ; @@ -504,22 +616,24 @@ - (void) displaySourceWithURL: (NSURL *) inURL } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (IBAction) actionPathControl: (id) inSender { NSArray * cells = mSourceFilePathControl.pathComponentCells ; NSCell * clickedCell = mSourceFilePathControl.clickedPathComponentCell ; NSUInteger clickedCellIndex = [cells indexOfObject:clickedCell] ; + // NSLog (@"%lu", clickedCellIndex) ; NSMutableString * rootPath = [NSMutableString new] ; for (NSUInteger i=0 ; i 4) { issuePath = [issueLocationArray objectAtIndex:0] ; + // NSLog (@"issuePath '%@'", issuePath) ; issueLine = [[issueLocationArray objectAtIndex:1] integerValue] ; + // NSLog (@"issueLine '%ld'", issueLine) ; issueStartColumn = [[issueLocationArray objectAtIndex:2] integerValue] ; + // NSLog (@"issueStartColumn '%ld'", issueStartColumn) ; issueEndColumn = [[issueLocationArray objectAtIndex:3] integerValue] ; + // NSLog (@"issueEndColumn '%ld'", issueEndColumn) ; } } PMIssueDescriptor * issue = [[PMIssueDescriptor alloc] @@ -703,14 +889,17 @@ - (void) enterIssue: (NSString *) inIssueMessage } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static const utf32 COCOA_WARNING_ID = TO_UNICODE (3) ; static const utf32 COCOA_ERROR_ID = TO_UNICODE (4) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) enterOutputData: (NSData *) inData { + #ifdef DEBUG_MESSAGES + NSLog (@"%s, inData %@", __PRETTY_FUNCTION__, inData) ; + #endif NSString * message = [[NSString alloc] initWithData:inData encoding: NSUTF8StringEncoding] ; NSArray * messageArray = [message componentsSeparatedByString:[NSString stringWithFormat: @"%c", 0x1B]] ; //--- Enter first component with current attributes @@ -719,6 +908,7 @@ - (void) enterOutputData: (NSData *) inData { attributes: mBuildStringAttributeDictionary ] ; //--- Send other components + // NSMutableDictionary * componentAttributeDictionary = defaultDictionary.mutableCopy ; for (NSUInteger i=1 ; iright or top->bottom so we can too. // It also raises w/ array bounds exception if you use its API with dividerIndex > count of subviews. while ((dividerIndex >= 0) && [mSecondSplitView isSubviewCollapsed:[mSecondSplitView.subviews objectAtIndex: (NSUInteger) dividerIndex]]) { @@ -1197,12 +1459,15 @@ - (double) positionOfDividerAtIndex:(NSInteger)dividerIndex { return mSecondSplitView.isVertical ? NSMaxX (priorViewFrame) : NSMaxY (priorViewFrame); } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // NSPlitView delegate method - (CGFloat) splitView:(NSSplitView *) inSplitView constrainMinCoordinate: (CGFloat) inProposedMin ofSubviewAt: (NSInteger) inDividerIndex { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif CGFloat result = inProposedMin ; const CGFloat minFirstSplitViewValue = 250.0 ; const CGFloat minSecondSplitViewValue = 50.0 ; @@ -1214,12 +1479,15 @@ - (CGFloat) splitView:(NSSplitView *) inSplitView return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // NSPlitView delegate method - (CGFloat) splitView:(NSSplitView *) inSplitView constrainMaxCoordinate: (CGFloat) inProposedMax ofSubviewAt: (NSInteger) inDividerIndex { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif CGFloat result = inProposedMax ; const CGFloat minSecondSplitViewValue = 250.0 ; CGFloat max = inSplitView.bounds.size.height - minSecondSplitViewValue ; @@ -1229,12 +1497,15 @@ - (CGFloat) splitView:(NSSplitView *) inSplitView return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // http://stackoverflow.com/questions/17441877/nssplitview-fixed-splitter-on-window-resize - (void) splitView:(NSSplitView *) inSplitView resizeSubviewsWithOldSize: (NSSize) inOldSize { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif const CGFloat dividerThickness = inSplitView.dividerThickness ; const NSRect newFrame = inSplitView.frame ; if (inSplitView == mFirstSplitView) { @@ -1252,6 +1523,11 @@ - (void) splitView:(NSSplitView *) inSplitView [[inSplitView.subviews objectAtIndex:1] setFrame:newRightRect]; }else if (inSplitView == mSecondSplitView) { const NSRect bottomRect = [[inSplitView.subviews objectAtIndex:1] frame] ; + /* const NSRect topRect = [[inSplitView.subviews objectAtIndex:0] frame] ; + NSLog (@"0:%p, 1:%p, mOutputScrollView:%p, mSearchView:%p", [inSplitView.subviews objectAtIndex:0], [inSplitView.subviews objectAtIndex:1], mOutputScrollView, mSearchView) ; + NSLog (@"inSplitView.isFlipped %d", inSplitView.isFlipped) ; + NSLog (@"topRect {{%g, %g}, {%g, %g}}", topRect.origin.x, topRect.origin.y, topRect.size.width, topRect.size.height) ; + NSLog (@"bottomRect {{%g, %g}, {%g, %g}}", bottomRect.origin.x, bottomRect.origin.y, bottomRect.size.width, bottomRect.size.height) ;*/ NSRect newBottomRect = { {0.0, 0.0 /* temporary */}, {newFrame.size.width, floor (bottomRect.size.height * newFrame.size.height / inOldSize.height)} @@ -1272,9 +1548,12 @@ - (void) splitView:(NSSplitView *) inSplitView } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (IBAction) showSearchAndReplaceView: (id) inSender { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif const double position = [self positionOfDividerAtIndex:0] ; [mOutputScrollView removeFromSuperview] ; [mSecondSplitView addSubview:mSearchView] ; @@ -1283,9 +1562,12 @@ - (IBAction) showSearchAndReplaceView: (id) inSender { [mGlobalSearchTextField.window makeFirstResponder:mGlobalSearchTextField] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (IBAction) closeSearchAndReplaceView: (id) inSender { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif const double position = [self positionOfDividerAtIndex:0] ; [mSearchView removeFromSuperview] ; [mSecondSplitView addSubview:mOutputScrollView] ; @@ -1293,9 +1575,12 @@ - (IBAction) closeSearchAndReplaceView: (id) inSender { [mSecondSplitView setPosition:position ofDividerAtIndex:0] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) updateOccurrenceFoundTextField { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif NSString * s = @"No Occurrence found" ; if (mResultCount == 1) { s = @"1 Occurrence found" ; @@ -1306,9 +1591,12 @@ - (void) updateOccurrenceFoundTextField { [mOccurenceFoundCountTextField display] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (IBAction) globalFindAction: (id) inSender { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif [OC_GGS_DocumentData saveAllDocuments] ; [self willChangeValueForKey:@"mResultArray"] ; mResultArray = [NSMutableArray new] ; @@ -1318,16 +1606,20 @@ - (IBAction) globalFindAction: (id) inSender { [self findInOpenedFileDirectories] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) findInOpenedFileDirectories { -//--- Get all dir set + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif +//---------------------------------------------------------- Get all dir set NSMutableSet * directoryPathSet = [NSMutableSet new] ; for (OC_GGS_TextDisplayDescriptor * d in mSourceDisplayArrayControllerHigh.arrangedObjects) { NSString * dir = d.sourceURL.path.stringByDeletingLastPathComponent ; [directoryPathSet addObject:dir] ; } -//--- Retain only base directories, eliminate sub directories + // NSLog (@"directoryPathSet %@", directoryPathSet) ; +//---------------------------------------- Retain only base directories, eliminate sub directories NSMutableArray * directoryPathArray = [NSMutableArray new] ; for (NSString * directoryPath in directoryPathSet) { if (! [directoryPathArray containsObject:directoryPath]) { @@ -1346,7 +1638,8 @@ - (void) findInOpenedFileDirectories { } } } -//--- Explore dirs + // NSLog (@"directoryPathArray %@", directoryPathArray) ; +//------------------------- Explore dirs NSArray * extensionArray = gCocoaApplicationDelegate.allExtensionsOfCurrentApplication.allObjects ; for (NSString * directoryPath in directoryPathArray) { [self @@ -1357,17 +1650,22 @@ - (void) findInOpenedFileDirectories { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) recursiveSearchInDirectory: (NSString *) inDirectoryFullPath recursive: (BOOL) inRecursive extensionList: (NSArray *) inExtensionList { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif NSFileManager * fm = [NSFileManager new] ; NSArray * contents = [fm contentsOfDirectoryAtPath: inDirectoryFullPath error:nil] ; + // NSLog (@"inExtensionList %@", inExtensionList) ; if (nil == contents) { }else{ for (NSString * subPath in contents) { + // NSLog (@" subpath %@", subPath) ; if ('.' != [subPath characterAtIndex: 0]) { NSString * fullPath = [NSString stringWithFormat:@"%@/%@", inDirectoryFullPath, subPath] ; BOOL isDirectory ; @@ -1383,9 +1681,12 @@ - (void) recursiveSearchInDirectory: (NSString *) inDirectoryFullPath } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSUInteger) searchOptions { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif NSUInteger searchOptions = 0 ; if (! mCaseSensitiveSearchCheckbox.state) { searchOptions |= NSCaseInsensitiveSearch ; @@ -1393,9 +1694,13 @@ - (NSUInteger) searchOptions { return searchOptions ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) findInFile: (NSString *) inFilePath { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif + // NSLog (@" Find in File %@", inFilePath) ; NSMutableArray * foundEntries = [NSMutableArray new] ; NSString * sourceString = [NSString stringWithContentsOfFile:inFilePath encoding:NSUTF8StringEncoding error:nil] ; NSRange searchRange = {0, sourceString.length} ; @@ -1417,12 +1722,15 @@ - (void) findInFile: (NSString *) inFilePath { [self enterResult:foundEntries forFilePath:inFilePath] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) addFindResult:(NSString *) inSourceFilePath sourceString: (NSString *) inSourceString range: (NSRange) inFoundRange toArray: (NSMutableArray *) ioFoundEntries { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif const NSRange lineRange = [inSourceString lineRangeForRange:inFoundRange] ; PMSearchResultDescriptor * d = [[PMSearchResultDescriptor alloc] initWithLine:[inSourceString substringWithRange:lineRange] @@ -1434,10 +1742,13 @@ - (void) addFindResult:(NSString *) inSourceFilePath mResultCount ++ ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) enterResult: (NSMutableArray *) inFoundEntries forFilePath:(NSString *) inSourceFilePath { + #ifdef DEBUG_MESSAGES + NSLog (@"%s, inSourceFilePath %@", __PRETTY_FUNCTION__, inSourceFilePath) ; + #endif if (inFoundEntries.count > 0) { [self willChangeValueForKey:@"mResultArray"] ; PMSearchResultDescriptor * d = [[PMSearchResultDescriptor alloc] @@ -1451,9 +1762,12 @@ - (void) enterResult: (NSMutableArray *) inFoundEntries } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) changeSelectionInSearchResultView { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif NSArray * selectedObjects = mFoundEntryTreeController.selectedObjects ; if (selectedObjects.count > 1) { NSBeep () ; @@ -1473,11 +1787,14 @@ - (void) changeSelectionInSearchResultView { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) updateSearchResultForFile: (NSString *) inFilePath previousRange: (NSRange) inPreviousRange changeInLength: (NSInteger) inChangeInLength { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif for (PMSearchResultDescriptor * d in mResultArray) { [d updateSearchResultForFile:inFilePath @@ -1487,34 +1804,73 @@ - (void) updateSearchResultForFile: (NSString *) inFilePath } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (IBAction) globalReplaceAllAction: (id) inSender { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif NSString * replaceString = mGlobalReplaceTextField.stringValue ; for (PMSearchResultDescriptor * d in mResultArray) { NSString * filePath = d.filePath ; + // NSLog (@"filePath %@", filePath) ; NSArray * foundEntries = d.children ; OC_GGS_DocumentData * documentData = [OC_GGS_DocumentData findDocumentDataForFilePath:filePath] ; if (nil == documentData) { NSMutableString * contents = [[NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil] mutableCopy] ; if (nil != contents) { for (PMSearchResultDescriptor * entry in foundEntries.reverseObjectEnumerator) { - [contents replaceCharactersInRange: entry.range withString:replaceString] ; + const NSRange r = entry.range ; + // NSLog (@"r [%lu, %lu]", r.location, r.length) ; + [contents replaceCharactersInRange:r withString:replaceString] ; } } [contents writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil] ; }else{ for (PMSearchResultDescriptor * entry in foundEntries.reverseObjectEnumerator) { - [documentData replaceCharactersInRange: entry.range withString:replaceString] ; + const NSRange r = entry.range ; + // NSLog (@"r [%lu, %lu]", r.location, r.length) ; + [documentData replaceCharactersInRange:r withString:replaceString] ; } } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// DRAG AND DROP +//---------------------------------------------------------------------------------------------------------------------- + +#pragma mark Drag and Drop in source table View + +// http://stackoverflow.com/questions/10308008/nstableview-and-drag-and-drop-from-finder + +//#define DEBUG_MESSAGES + +//---------------------------------------------------------------------------------------------------------------------- + +//- (BOOL) tableView: (NSTableView *) inTableView +// writeRowsWithIndexes: (NSIndexSet *) inRowIndexes +// toPasteboard: (NSPasteboard*) inPasteboard { +// #ifdef DEBUG_MESSAGES +// NSLog (@"%s, inRowIndexes %@", __PRETTY_FUNCTION__, inRowIndexes) ; +// #endif +// [inPasteboard declareTypes: [NSArray arrayWithObject:(NSString *) kPasteboardTypeFileURLPromise] owner: self] ; +// OC_GGS_TextDisplayDescriptor * tdd = [mSourceDisplayArrayControllerHigh.selectedObjects objectAtIndex: 0] ; +// [inPasteboard clearContents] ; // clear pasteboard to take ownership +// [inPasteboard writeObjects: [NSArray arrayWithObject: tdd.sourceURL]] ; +// #ifdef DEBUG_MESSAGES +// NSLog (@"tdd.sourceURL %@", tdd.sourceURL) ; +// #endif +// return YES; +//} + +//---------------------------------------------------------------------------------------------------------------------- - (id ) tableView: (NSTableView *) inTableView pasteboardWriterForRow: (NSInteger) inRowIndex { + #ifdef DEBUG_MESSAGES + NSLog (@"%s, inRowIndex %ld", __PRETTY_FUNCTION__, inRowIndex) ; + #endif id result = nil ; if ((inRowIndex >= 0) && (inRowIndex < (NSInteger) mDisplayDescriptorArray.count)) { OC_GGS_TextDisplayDescriptor * tdd = [mSourceDisplayArrayControllerHigh.selectedObjects objectAtIndex:0] ; @@ -1528,21 +1884,28 @@ - (IBAction) globalReplaceAllAction: (id) inSender { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSDragOperation) tableView: (NSTableView*) tv validateDrop: (id ) info proposedRow: (NSInteger) row proposedDropOperation: (NSTableViewDropOperation) op { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif return NSDragOperationEvery ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (BOOL) tableView: (NSTableView *) inTableView acceptDrop: (id ) inDraggingInfo row: (NSInteger) inRow dropOperation: (NSTableViewDropOperation)operation { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif +//--- NSString * filePath = [inDraggingInfo.draggingPasteboard stringForType: @"source.path.molinaro.name"] ; if (filePath != nil) { OC_GGS_DocumentData * documentData = [self findOrAddDocumentWithPath: filePath] ; @@ -1551,6 +1914,7 @@ - (BOOL) tableView: (NSTableView *) inTableView initWithDocumentData: documentData displayDocument: self ] ; + // NSLog (@"Inserted %@", tdd) ; [mSourceDisplayArrayControllerHigh insertObject: tdd atArrangedObjectIndex: (NSUInteger) inRow] ; [mSourceDisplayArrayControllerHigh setSelectedObjects: [NSArray arrayWithObject:tdd]] ; [self registerConfigurationInPreferences] ; @@ -1567,6 +1931,7 @@ - (BOOL) tableView: (NSTableView *) inTableView initWithDocumentData: documentData displayDocument: self ] ; + // NSLog (@"Inserted %@", tdd) ; [mSourceDisplayArrayControllerHigh insertObject: tdd atArrangedObjectIndex: (NSUInteger) inRow] ; [mSourceDisplayArrayControllerHigh setSelectedObjects: [NSArray arrayWithObject:tdd]] ; [self registerConfigurationInPreferences] ; @@ -1583,6 +1948,7 @@ - (BOOL) tableView: (NSTableView *) inTableView initWithDocumentData: documentData displayDocument: self ] ; + // NSLog (@"Inserted %@", tdd) ; [mSourceDisplayArrayControllerHigh insertObject: tdd atArrangedObjectIndex: (NSUInteger) inRow] ; [mSourceDisplayArrayControllerHigh setSelectedObjects: [NSArray arrayWithObject: tdd]] ; [self registerConfigurationInPreferences] ; @@ -1592,6 +1958,6 @@ - (BOOL) tableView: (NSTableView *) inTableView return YES ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @end diff --git a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_DocumentData.h b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_DocumentData.h index e5b8e79e4..cf09d54ff 100644 --- a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_DocumentData.h +++ b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_DocumentData.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,17 +14,17 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @class OC_GGS_TextSyntaxColoring ; @class OC_GGS_TextDisplayDescriptor ; @class OC_GGS_Document ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @interface OC_GGS_DocumentData : NSObject { @private NSMutableArray * mIssueArray ; // Of PMIssueDescriptor @@ -64,4 +64,4 @@ @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_DocumentData.m b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_DocumentData.m index 03eee5783..bbb90bd7f 100644 --- a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_DocumentData.m +++ b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_DocumentData.m @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,7 +14,7 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import "OC_GGS_DocumentData.h" #import "OC_GGS_Document.h" @@ -24,15 +24,15 @@ #import "PMDebug.h" #import "PMIssueDescriptor.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //#define DEBUG_MESSAGES -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static NSMutableDictionary * gDocumentDataDictionary ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @implementation OC_GGS_DocumentData @@ -136,12 +136,12 @@ - (void) performCharacterConversion { if (CRcount > 0) { source = [a componentsJoinedByString:@"\n"] ; if ([s length] > 0) { - [s appendString: @"\n"] ; + [s appendString:@"\n"] ; } if (CRcount == 1) { - [s appendFormat: @"1 CR has been converted to LF."] ; + [s appendFormat:@"1 CR has been converted to LF."] ; }else if (CRcount > 1) { - [s appendFormat: @"%lu CR have been converted to LF.", CRcount] ; + [s appendFormat:@"%lu CR have been converted to LF.", CRcount] ; } } } @@ -151,7 +151,7 @@ - (void) performCharacterConversion { if (HTABcount > 0) { source = [a componentsJoinedByString:@" "] ; if ([s length] > 0) { - [s appendString: @"\n"] ; + [s appendString:@"\n"] ; } if (HTABcount == 1) { [s appendFormat:@"1 HTAB has been converted to SPACE."] ; @@ -405,4 +405,4 @@ + (NSArray *) allDocuments { @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_RulerViewForBuildOutput.h b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_RulerViewForBuildOutput.h index ea829a3be..734385c42 100644 --- a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_RulerViewForBuildOutput.h +++ b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_RulerViewForBuildOutput.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,15 +14,15 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @class OC_GGS_Document ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @interface OC_GGS_RulerViewForBuildOutput : NSRulerView { @private NSArray * mIssueArray ; @@ -36,4 +36,4 @@ - (void) detach ; @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_RulerViewForBuildOutput.m b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_RulerViewForBuildOutput.m index 7f0ce83dd..dcba6583b 100644 --- a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_RulerViewForBuildOutput.m +++ b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_RulerViewForBuildOutput.m @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,26 +14,26 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import "OC_GGS_RulerViewForBuildOutput.h" #import "PMIssueDescriptor.h" #import "OC_GGS_Document.h" #import "PMDebug.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //#define DEBUG_MESSAGES -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @implementation OC_GGS_RulerViewForBuildOutput -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // I N I T // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (id) initWithDocument: (OC_GGS_Document *) inDocument { self = [super init] ; @@ -49,20 +49,20 @@ - (id) initWithDocument: (OC_GGS_Document *) inDocument { return self; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) dealloc { noteObjectDeallocation (self) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) setIssueArray: (NSArray *) inIssueArray { mIssueArray = inIssueArray.copy ; [self setNeedsDisplay:YES] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) drawHashMarksAndLabelsInRect: (NSRect) inRect { const NSRect viewBounds = [self bounds] ; @@ -95,7 +95,7 @@ - (void) drawHashMarksAndLabelsInRect: (NSRect) inRect { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) mouseDown: (NSEvent *) inMouseDownEvent { //--- Note: ruler view and text view are both flipped @@ -120,12 +120,12 @@ - (void) mouseDown: (NSEvent *) inMouseDownEvent { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) detach { mDocument = nil ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @end diff --git a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_RulerViewForTextView.h b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_RulerViewForTextView.h index c8058e55f..c83eda48c 100644 --- a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_RulerViewForTextView.h +++ b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_RulerViewForTextView.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,11 +14,11 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @interface OC_GGS_RulerViewForTextView : NSRulerView { @private NSArray * mIssueArray ; // Array of PMIssueDescriptor @@ -30,5 +30,5 @@ @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_RulerViewForTextView.m b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_RulerViewForTextView.m index e0ae9a429..6ce216ef1 100644 --- a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_RulerViewForTextView.m +++ b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_RulerViewForTextView.m @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,7 +14,7 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import "OC_GGS_RulerViewForTextView.h" #import "OC_GGS_TextView.h" @@ -23,15 +23,15 @@ #import "OC_GGS_Document.h" #import "PMDebug.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //#define DEBUG_MESSAGES -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @implementation OC_GGS_RulerViewForTextView -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (OC_GGS_RulerViewForTextView *) init { self = [super init] ; @@ -45,31 +45,31 @@ - (OC_GGS_RulerViewForTextView *) init { return self ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) dealloc { noteObjectDeallocation (self) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) setIssueArray: (NSArray *) inIssueArray { mIssueArray = inIssueArray.copy ; [self setNeedsDisplay:YES] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static NSUInteger imax (NSUInteger a, NSUInteger b) { return (a > b) ? a : b ; } static NSUInteger imin (NSUInteger a, NSUInteger b) { return (a < b) ? a : b ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) drawRect: (NSRect) inRect { // Indispensable sous Monterey ? [self drawHashMarksAndLabelsInRect: inRect] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) drawHashMarksAndLabelsInRect: (NSRect) inRect { // [super drawHashMarksAndLabelsInRect: inRect] ; @@ -141,7 +141,7 @@ - (void) drawHashMarksAndLabelsInRect: (NSRect) inRect { NSMutableString * allMessages = [NSMutableString new] ; for (PMIssueDescriptor * issue in mIssueArray) { if (NSLocationInRange (issue.startLocationInSourceString, lineRange) && (issue.locationInSourceStringStatus == kLocationInSourceStringSolved)) { - [allMessages appendString: issue.fullMessage] ; + [allMessages appendString:issue.fullMessage] ; if (issue.isError) { hasError = YES ; }else{ @@ -188,7 +188,7 @@ - (void) drawHashMarksAndLabelsInRect: (NSRect) inRect { // NSLog (@"%f", [[NSDate date] timeIntervalSinceDate:startDate]) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) mouseDown: (NSEvent *) inMouseDownEvent { //--- Note: ruler view and text view are both flipped @@ -210,6 +210,6 @@ - (void) mouseDown: (NSEvent *) inMouseDownEvent { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @end diff --git a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_Scroller.h b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_Scroller.h index 6f509d6f3..9b915b7da 100644 --- a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_Scroller.h +++ b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_Scroller.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,11 +14,11 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @interface OC_GGS_Scroller : NSScroller { @private NSArray * mIssueArray ; // Of PMIssueDescriptor @@ -29,4 +29,4 @@ - (void) setIsSourceTextViewScroller: (BOOL) inIsSourceTextViewScroller ; @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_Scroller.m b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_Scroller.m index cb11658eb..d38b190e4 100644 --- a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_Scroller.m +++ b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_Scroller.m @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,26 +14,26 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import "OC_GGS_Scroller.h" #import "OC_GGS_TextView.h" #import "PMDebug.h" #import "PMIssueDescriptor.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //#define DEBUG_MESSAGES -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @implementation OC_GGS_Scroller -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // I N I T // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (id) initWithFrame: (NSRect) inFrame { self = [super initWithFrame:inFrame] ; @@ -46,26 +46,26 @@ - (id) initWithFrame: (NSRect) inFrame { return self; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) dealloc { noteObjectDeallocation (self) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) setIsSourceTextViewScroller: (BOOL) inIsSourceTextViewScroller { mIsSourceTextViewScroller = inIsSourceTextViewScroller ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) setIssueArray: (NSArray *) inIssueArray { mIssueArray = inIssueArray.copy ; [self setNeedsDisplay:YES] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) drawRect:(NSRect) inRect { [super drawRect: inRect] ; @@ -119,20 +119,20 @@ - (void) drawRect:(NSRect) inRect { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) setDoubleValue: (double) inValue { [super setDoubleValue: inValue] ; [self setNeedsDisplay] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) setKnobProportion: (CGFloat) inValue { [super setKnobProportion: inValue] ; [self setNeedsDisplay] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @end diff --git a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_TextDisplayDescriptor.h b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_TextDisplayDescriptor.h index 68659d201..4963bb44a 100644 --- a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_TextDisplayDescriptor.h +++ b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_TextDisplayDescriptor.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,11 +14,11 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @class OC_GGS_TextSyntaxColoring ; @class OC_GGS_DocumentData ; @@ -27,7 +27,7 @@ @class PMIssueDescriptor ; @class OC_GGS_RulerViewForTextView ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @interface OC_GGS_TextDisplayDescriptor : NSObject { @@ -86,4 +86,4 @@ @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_TextDisplayDescriptor.m b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_TextDisplayDescriptor.m index 38fc167fc..a1c0eb6fa 100644 --- a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_TextDisplayDescriptor.m +++ b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_TextDisplayDescriptor.m @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,7 +14,7 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import "OC_GGS_TextDisplayDescriptor.h" #import "OC_GGS_TextSyntaxColoring.h" @@ -29,42 +29,42 @@ #import "PMDebug.h" #import "OC_Token.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //#define DEBUG_MESSAGES -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static inline NSUInteger imin (const NSUInteger a, const NSUInteger b) { return a < b ? a : b ; } static inline NSUInteger imax (const NSUInteger a, const NSUInteger b) { return a > b ? a : b ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @implementation OC_GGS_TextDisplayDescriptor -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @synthesize documentData ; @synthesize isDirty ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSString *) description { return documentData.fileURL.path ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSImage *) imageForClosingInUserInterface { return [NSImage imageNamed:@"NSStopProgressFreestandingTemplate"] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) refreshShowInvisibleCharacters { #ifdef DEBUG_MESSAGES @@ -75,13 +75,13 @@ - (void) refreshShowInvisibleCharacters { [mTextView setNeedsDisplay: YES] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSUInteger) textSelectionStart { return mTextSelectionStart ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (OC_GGS_TextDisplayDescriptor *) initWithDocumentData: (OC_GGS_DocumentData *) inDocumentData displayDocument: (OC_GGS_Document *) inDocumentUsedForDisplaying { @@ -173,33 +173,32 @@ - (OC_GGS_TextDisplayDescriptor *) initWithDocumentData: (OC_GGS_DocumentData *) return self ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) setSelectionAndScrollToVisibleAfterInit { #ifdef DEBUG_MESSAGES NSLog (@"%s", __PRETTY_FUNCTION__) ; #endif NSString * key = [NSString stringWithFormat:@"SELECTION:%@:%@", mDocumentUsedForDisplaying.fileURL.path, documentData.fileURL.path] ; - NSString * selectionRangeString = [[NSUserDefaults standardUserDefaults] objectForKey: key] ; - if (selectionRangeString != NULL) { - const NSRange selectionRange = NSRangeFromString (selectionRangeString) ; - const NSUInteger sourceTextLength = documentData.sourceString.length ; - if (NSMaxRange (selectionRange) <= sourceTextLength) { - [self setSelectionRangeAndMakeItVisible:selectionRange] ; - } - } + NSString * selectionRangeString = [[NSUserDefaults standardUserDefaults] objectForKey:key] ; + // NSLog (@"READ '%@' -> %@", key, selectionRangeString) ; + const NSRange selectionRange = NSRangeFromString (selectionRangeString) ; + const NSUInteger sourceTextLength = documentData.sourceString.length ; + if (NSMaxRange (selectionRange) <= sourceTextLength) { + [self setSelectionRangeAndMakeItVisible:selectionRange] ; + } #ifdef DEBUG_MESSAGES NSLog (@"%s:DONE", __PRETTY_FUNCTION__) ; #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) dealloc { noteObjectDeallocation (self) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) detachTextDisplayDescriptor { NSUserDefaultsController * udc = [NSUserDefaultsController sharedUserDefaultsController] ; @@ -223,31 +222,31 @@ - (void) detachTextDisplayDescriptor { mScrollView = nil ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSTextView *) textView { return mTextView ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSView *) enclosingView { return mEnclosingView ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSURL *) sourceURL { return documentData.fileURL ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSString *) title { return documentData.fileURL.lastPathComponent ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) observeValueForKeyPath:(NSString *) inKeyPath ofObject: (id) inObject @@ -268,15 +267,15 @@ - (void) observeValueForKeyPath:(NSString *) inKeyPath } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma mark Goto Line -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // G O T O L I N E A N D C O L U M N // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) gotoLine: (NSUInteger) inLine { #ifdef DEBUG_MESSAGES @@ -301,11 +300,11 @@ - (void) gotoLine: (NSUInteger) inLine { [mTextView scrollRangeToVisible: range] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma mark Block Comment -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) commentSelection { #ifdef DEBUG_MESSAGES @@ -315,7 +314,7 @@ - (void) commentSelection { mTextView.selectedRange = newRange ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) uncommentSelection { #ifdef DEBUG_MESSAGES @@ -325,23 +324,23 @@ - (void) uncommentSelection { mTextView.selectedRange = newRange ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma mark Indentation -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSString *) spaceString { const NSUInteger spaceCount = (NSUInteger) [[NSUserDefaults standardUserDefaults] integerForKey:GGS_editor_space_for_tab] ; //NSLog (@"spaceCount %u", spaceCount) ; NSMutableString * s = [[NSMutableString alloc] init] ; for (NSUInteger i=0 ; i -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @class OC_GGS_TextDisplayDescriptor ; @class OC_Lexique ; @class OC_GGS_DocumentData ; @class PMUndoManager ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @interface OC_GGS_TextSyntaxColoring : NSObject { @private NSMutableSet * mTextDisplayDescriptorSet ; // Of OC_GGS_TextDisplayDescriptor diff --git a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_TextSyntaxColoring.m b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_TextSyntaxColoring.m index 0f87653bf..ae579e4be 100644 --- a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_TextSyntaxColoring.m +++ b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_TextSyntaxColoring.m @@ -1,8 +1,8 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // -// Copyright (C) 2011, ..., 2023 Pierre Molinaro. +// Copyright (C) 2011, ..., 2020 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -14,7 +14,7 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import "OC_GGS_ColorTransformer.h" #import "OC_GGS_TextSyntaxColoring.h" @@ -30,7 +30,7 @@ #import "OC_GGS_TextView.h" #import "F_CocoaWrapperForGalgas.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #define TAG_MASK (0xFF000000) #define TAG_FOR_FOREGROUND_COLOR (0x80000000) @@ -42,24 +42,31 @@ #define TAG_FOR_TEMPLATE_BACKGROUND_COLOR (0xE0000000) #define TAG_FOR_TEMPLATE_FONT_ATTRIBUTE (0xF0000000) -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +//#define DEBUG_MESSAGES + +//---------------------------------------------------------------------------------------------------------------------- @implementation OC_GGS_TextSyntaxColoring -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @synthesize documentData ; @synthesize isDirty ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) dealloc { noteObjectDeallocation (self) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) computeMaxLineHeight: (BOOL *) outLineHeightDidChange { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif NSFont * font = [mTemplateTextAttributeDictionary objectForKey: NSFontAttributeName] ; if (font == nil) { font = [NSFont fontWithName: @"Helvetica" size: 12.0] ; @@ -73,6 +80,9 @@ - (void) computeMaxLineHeight: (BOOL *) outLineHeightDidChange { maxLeadingMinusDescender = fmax (maxLeadingMinusDescender, [font leading] - [font descender]) ; } const BOOL maxLineHeightHasChanged = (mMaxAscender != maxAscender) || (mMaxLeadingMinusDescender != maxLeadingMinusDescender) ; + #ifdef DEBUG_MESSAGES + NSLog (@"maxLineHeightHasChanged: %@", maxLineHeightHasChanged ? @"yes" : @"no") ; + #endif if (maxLineHeightHasChanged) { // NSLog (@"Max line Height: %f", maxLineHeight) ; mMaxAscender = maxAscender ; @@ -89,14 +99,20 @@ - (void) computeMaxLineHeight: (BOOL *) outLineHeightDidChange { if (NULL != outLineHeightDidChange) { * outLineHeightDidChange = maxLineHeightHasChanged ; } + #ifdef DEBUG_MESSAGES + NSLog (@"%s DONE", __PRETTY_FUNCTION__) ; + #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (OC_GGS_TextSyntaxColoring *) initWithSourceString: (NSString *) inSource tokenizer: (OC_Lexique *) inTokenizer documentData: (OC_GGS_DocumentData *) inDocumentData issueArray: (NSArray *) inIssueArray { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif self = [super init] ; if (self) { noteObjectAllocation (self) ; @@ -288,9 +304,12 @@ - (OC_GGS_TextSyntaxColoring *) initWithSourceString: (NSString *) inSource return self ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) detach { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif [[NSNotificationCenter defaultCenter] removeObserver: self name: NSUndoManagerCheckpointNotification @@ -320,15 +339,21 @@ - (void) detach { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSString *) sourceString { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif return mSourceTextStorage.string ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) replaceSourceStringWithString: (NSString *) inString { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif if (![mSourceTextStorage.string isEqualToString: inString]) { NSArray * allDisplays = mTextDisplayDescriptorSet.allObjects ; //--- Save selection @@ -356,10 +381,14 @@ - (void) replaceSourceStringWithString: (NSString *) inString { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) replaceCharactersInRange: (NSRange) inRange withString: (NSString *) inReplaceString { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif + // NSLog (@"inRange [%lu, %lu], inReplaceString '%@'", inRange.location, inRange.length, inReplaceString) ; const NSRange replacementRange = {inRange.location, inReplaceString.length} ; NSDictionary * d = [NSDictionary dictionaryWithObjectsAndKeys: [mSourceTextStorage.string substringWithRange:inRange], @"str", @@ -376,46 +405,65 @@ - (void) replaceCharactersInRange: (NSRange) inRange [mSourceTextStorage endEditing] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) replaceUsingDictionary: (NSDictionary *) inDictionary { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif +// NSLog (@"-------- replace --------") ; [self replaceCharactersInRange: NSRangeFromString ([inDictionary objectForKey:@"range"]) withString: [inDictionary objectForKey:@"str"] ] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSUndoManager *) undoManager { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif return mUndoManager ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (OC_Lexique *) tokenizer { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif return mTokenizer ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSArray *) tokenArray { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif return mTokenArray ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (BOOL) selectionByWordSelectsAllCharactersForTokenIndex: (NSUInteger) inTokenIndex { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif return [mTokenizer atomicSelectionForToken:inTokenIndex] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma mark Text attribute did change -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) applyTextAttributeForIndex: (NSInteger) inChangedColorIndex { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif if ((mTokenizer != NULL) && ([mSourceTextStorage length] > 0)) { [mSourceTextStorage beginEditing] ; //--- Change default style ? @@ -426,7 +474,7 @@ - (void) applyTextAttributeForIndex: (NSInteger) inChangedColorIndex { range: allTextRange ] ; [mSourceTextStorage fixAttributesInRange: allTextRange] ; - for (NSUInteger i=0 ; i", i, range.location, range.length) ; + #endif if (colorIndex == -2) { [mSourceTextStorage addAttributes:mTemplateTextAttributeDictionary @@ -476,16 +527,22 @@ - (void) applyTextAttributeForIndex: (NSInteger) inChangedColorIndex { } } [mSourceTextStorage endEditing] ; + #ifdef DEBUG_MESSAGES + NSLog (@"%s DONE", __PRETTY_FUNCTION__) ; + #endif } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma mark Error and Warning Display -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSRange) rangeForLine: (NSInteger) inLineNumber { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif NSRange range = {0, 0} ; for (NSInteger i=1 ; i<=inLineNumber ; i++) { range.location += range.length ; @@ -499,21 +556,21 @@ - (NSRange) rangeForLine: (NSInteger) inLineNumber { forRange:range ] ; range = NSMakeRange (startIndex, lineEndIndex - startIndex) ; + // NSLog (@"line %d: range [%u, %u]", i, range.location, range.length) ; } return range ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) updateIssuesForEditedRange: (NSRange) inEditedRange changeInLength: (NSInteger) inChangeInLength { -// const NSRange previousRange = {inEditedRange.location, inEditedRange.length - (NSUInteger) inChangeInLength} ; - const NSRange previousRange = { - inEditedRange.location, - (inChangeInLength >= 0) - ? (inEditedRange.length - (NSUInteger) inChangeInLength) - : (inEditedRange.length + (NSUInteger) -inChangeInLength) - } ; + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif + // NSLog (@"inEditedRange %lu:%lu, inChangeInLength %ld", inEditedRange.location, inEditedRange.length, inChangeInLength) ; + const NSRange previousRange = {inEditedRange.location, inEditedRange.length - (NSUInteger) inChangeInLength} ; + // NSLog (@"mIssueArray %@", mIssueArray) ; for (PMIssueDescriptor * issue in mIssueArray) { [issue updateLocationForPreviousRange:previousRange changeInLength:inChangeInLength] ; } @@ -533,7 +590,7 @@ - (void) updateIssuesForEditedRange: (NSRange) inEditedRange } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) setIssueArray: (NSArray *) inIssueArray { mIssueArray = inIssueArray.mutableCopy ; @@ -543,16 +600,19 @@ - (void) setIssueArray: (NSArray *) inIssueArray { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma mark Syntax Coloring -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) updateSyntaxColoringForEditedRange: (NSRange) inEditedRange changeInLength: (NSInteger) inChangeInLength { const NSUInteger textLength = mSourceTextStorage.string.length ; if (textLength > 0) { + #ifdef DEBUG_MESSAGES + NSLog (@"%s, edited range [%lu, %lu], changeInLength %ld", __PRETTY_FUNCTION__, inEditedRange.location, inEditedRange.length, inChangeInLength) ; + #endif NSInteger firstIndexToRedraw = 0 ; NSInteger lastIndexToRedraw = -1 ; NSInteger eraseRangeStart = 0 ; @@ -567,6 +627,9 @@ - (void) updateSyntaxColoringForEditedRange: (NSRange) inEditedRange eraseRangeStart: & eraseRangeStart eraseRangeEnd: & eraseRangeEnd ] ; + #ifdef DEBUG_MESSAGES + NSLog (@"scanThenGetStyledRangeArray DONE (%lu)", [mFontAttributesDictionaryArray count]) ; + #endif //--- Erase text attributes if (eraseRangeEnd >= (NSInteger) textLength) { eraseRangeEnd = (NSInteger) (textLength - 1) ; @@ -574,16 +637,28 @@ - (void) updateSyntaxColoringForEditedRange: (NSRange) inEditedRange [mSourceTextStorage beginEditing] ; if (eraseRangeStart < eraseRangeEnd) { const NSRange eraseRange = {(NSUInteger) eraseRangeStart, (NSUInteger) (eraseRangeEnd - eraseRangeStart)} ; + #ifdef DEBUG_MESSAGES + NSLog (@"PERFORM REMOVE ATTRIBUTE range [%lu, %lu] text length %lu", eraseRange.location, eraseRange.length, textLength) ; + #endif [mSourceTextStorage addAttributes: [mFontAttributesDictionaryArray objectAtIndex: 0] range: eraseRange ] ; [mSourceTextStorage fixAttributesInRange: eraseRange] ; + #ifdef DEBUG_MESSAGES + NSLog (@"mSourceTextStorage setAttributes DONE") ; + #endif } //--- Perform text coloring + #ifdef DEBUG_MESSAGES + NSLog (@"COLORING from %ld to %ld", firstIndexToRedraw, lastIndexToRedraw) ; + #endif for (NSInteger i=firstIndexToRedraw ; i<=lastIndexToRedraw ; i++) { OC_Token * token = [mTokenArray objectAtIndex:(NSUInteger) i] ; const NSRange range = [token range] ; + #ifdef DEBUG_MESSAGES + NSLog (@"PERFORM COLORING '%@' range [%lu, %lu] [mSourceTextStorage length] %lu", [mSourceTextStorage.string substringWithRange:range], range.location, range.length, mSourceTextStorage.string.length) ; + #endif const NSInteger style = [token style] ; if (style == -1) { // Error [mSourceTextStorage @@ -607,11 +682,20 @@ - (void) updateSyntaxColoringForEditedRange: (NSRange) inEditedRange } [mSourceTextStorage endEditing] ; } +//--- + #ifdef DEBUG_MESSAGES + NSLog (@"%s DONE", __PRETTY_FUNCTION__) ; + #endif + //NSLog (@"%f", [[NSDate date] timeIntervalSinceDate:startDate]) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) textStorageDidProcessEditingNotification: (NSNotification *) inNotification { +// NSDate * startDate = [NSDate date] ; + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif const NSRange editedRange = mSourceTextStorage.editedRange ; const NSInteger changeInLength = mSourceTextStorage.changeInLength ; [self updateSyntaxColoringForEditedRange: editedRange changeInLength: changeInLength] ; @@ -623,6 +707,7 @@ - (void) textStorageDidProcessEditingNotification: (NSNotification *) inNotifica } //--- If there is no enabled timer, create one if (nil == mTimerForAutosaving) { + // NSLog (@"Create timer %@", self.documentData.fileURL) ; mTimerForAutosaving = [NSTimer timerWithTimeInterval: 5.0 target: self @@ -635,17 +720,19 @@ - (void) textStorageDidProcessEditingNotification: (NSNotification *) inNotifica forMode: NSDefaultRunLoopMode ] ; } +// NSLog (@"%f", [[NSDate date] timeIntervalSinceDate:startDate]) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) autosaveTimerDidFire: (NSTimer *) inTimer { + // NSLog (@"Timer did fire %@", self.documentData.fileURL) ; [mTimerForAutosaving invalidate] ; mTimerForAutosaving = nil ; [documentData save] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) breakUndoCoalescing { for (NSLayoutManager * lm in mSourceTextStorage.layoutManagers) { @@ -655,20 +742,28 @@ - (void) breakUndoCoalescing { } } -//-------------------------------------------------------------------------------------------------- -// C O M M E N T R A N G E -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +// C O M M E N T R A N G E +// +//---------------------------------------------------------------------------------------------------------------------- - (NSRange) commentRange: (NSRange) inSelectedRangeValue { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif [mSourceTextStorage beginEditing] ; //--- NSAttributedString * blockCommentString = [[NSAttributedString alloc] initWithString:[mTokenizer blockComment] attributes:nil] ; + //NSLog (@"selectedRange [%d, %d]", selectedRange.location, selectedRange.length) ; NSMutableAttributedString * mutableSourceString = mSourceTextStorage ; NSString * sourceString = [mutableSourceString string] ; const NSRange lineRange = [sourceString lineRangeForRange:inSelectedRangeValue] ; + //NSLog (@"lineRange [%d, %d]", lineRange.location, lineRange.length) ; NSInteger insertedCharsCount = 0 ; NSRange currentLineRange = [sourceString lineRangeForRange:NSMakeRange (lineRange.location + lineRange.length - 1, 1)] ; do { + //NSLog (@"currentLineRange [%d, %d]", currentLineRange.location, currentLineRange.length) ; [mutableSourceString insertAttributedString:blockCommentString atIndex:currentLineRange.location] ; insertedCharsCount += [blockCommentString length] ; if (currentLineRange.location > 0) { @@ -689,13 +784,16 @@ - (NSRange) commentRange: (NSRange) inSelectedRangeValue { return newSelectedRange ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) commentRangeForUndo: (NSValue *) inRangeValue { // An NSValue of NSRange + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif [self commentRange: inRangeValue.rangeValue] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // U N C O M M E N T R A N G E // @@ -713,14 +811,21 @@ - (void) commentRangeForUndo: (NSValue *) inRangeValue { // An NSValue of NSRang // - le nombre withinSelectionCharacterCount de caractères du commentaire supprimé qui sont à l'intérieur de la // sélection ; si ce nombre est > 0, on le retranche de la longueur de la sélection. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +// #define DEBUG_UNCOMMENTRANGE + +//---------------------------------------------------------------------------------------------------------------------- static inline NSUInteger imin (const NSUInteger a, const NSUInteger b) { return a < b ? a : b ; } static inline NSUInteger imax (const NSUInteger a, const NSUInteger b) { return a > b ? a : b ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSRange) uncommentRange: (NSRange) initialSelectedRange { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif //--- [mSourceTextStorage beginEditing] ; //--- Block comment string @@ -729,12 +834,22 @@ - (NSRange) uncommentRange: (NSRange) initialSelectedRange { //--- Get source string NSMutableAttributedString * mutableSourceString = mSourceTextStorage ; NSString * sourceString = [mutableSourceString string] ; + #ifdef DEBUG_UNCOMMENTRANGE + NSLog (@"blockCommentString '%@', text length %u", blockCommentString, [sourceString length]) ; + NSLog (@"initialSelectedRange [%d, %d]", initialSelectedRange.location, initialSelectedRange.length) ; + #endif //--- Final selection range NSRange finalSelectedRange = initialSelectedRange ; //--- Get line range that is affected by the operation const NSRange lineRange = [sourceString lineRangeForRange:initialSelectedRange] ; + #ifdef DEBUG_UNCOMMENTRANGE + NSLog (@"lineRange [%d, %d]", lineRange.location, lineRange.length) ; + #endif NSRange currentLineRange = [sourceString lineRangeForRange:NSMakeRange (lineRange.location + lineRange.length - 1, 1)] ; do { + #ifdef DEBUG_UNCOMMENTRANGE + NSLog (@"currentLineRange [%d, %d]", currentLineRange.location, currentLineRange.length) ; + #endif NSString * lineString = [sourceString substringWithRange:currentLineRange] ; if ([lineString compare:blockCommentString options:NSLiteralSearch range:NSMakeRange (0, blockCommentLength)] == NSOrderedSame) { [mutableSourceString replaceCharactersInRange:NSMakeRange (currentLineRange.location, blockCommentLength) withString:@""] ; @@ -751,6 +866,10 @@ - (NSRange) uncommentRange: (NSRange) initialSelectedRange { if (beforeSelectionCharacterCount > 0) { finalSelectedRange.location -= imin (blockCommentLength, (NSUInteger) beforeSelectionCharacterCount) ; } + #ifdef DEBUG_UNCOMMENTRANGE + NSLog (@"withinSelectionCharacterCount %d, beforeSelectionCharacterCount %d", withinSelectionCharacterCount, beforeSelectionCharacterCount) ; + NSLog (@"finalSelectedRange [%d, %d]", finalSelectedRange.location, finalSelectedRange.length) ; + #endif } if (currentLineRange.location > 0) { currentLineRange = [sourceString lineRangeForRange:NSMakeRange (currentLineRange.location - 1, 1)] ; @@ -760,45 +879,58 @@ - (NSRange) uncommentRange: (NSRange) initialSelectedRange { [mSourceTextStorage endEditing] ; //--- Register undo [mUndoManager - registerUndoWithTarget: self - selector: @selector (commentRangeForUndo:) - object: [NSValue valueWithRange: finalSelectedRange] + registerUndoWithTarget:self + selector:@selector (commentRangeForUndo:) + object:[NSValue valueWithRange:finalSelectedRange] ] ; //--- return finalSelectedRange ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) uncommentRangeForUndo: (NSValue *) inRangeValue { // An NSValue of NSRange + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif [self uncommentRange:inRangeValue.rangeValue] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) undoManagerCheckPointNotification: (NSNotification *) inNotification { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif +//--- isDirty = mTimerForAutosaving != nil ; for (OC_GGS_TextDisplayDescriptor * textDisplayDescriptor in mTextDisplayDescriptorSet) { textDisplayDescriptor.isDirty = isDirty ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) documentHasBeenSaved { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif [self undoManagerCheckPointNotification:nil] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma mark observeValueForKeyPath -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) observeValueForKeyPath: (NSString *) inKeyPath ofObject: (id) inObject change: (NSDictionary *) inChangeDictionary context: (void *) inContext { + #ifdef DEBUG_MESSAGES + NSLog (@"%s, inKeyPath '%@'", __PRETTY_FUNCTION__, inKeyPath) ; + #endif if (mTokenizer != NULL) { [mSourceTextStorage beginEditing] ; BOOL lineHeightDidChange = NO ; @@ -829,6 +961,7 @@ - (void) observeValueForKeyPath: (NSString *) inKeyPath break; case TAG_FOR_ENABLING_BACKGROUND: if (data != nil) { + // NSLog (@"DATA %@", data) ; const BOOL enableBackground = [[inObject valueForKeyPath:inKeyPath] boolValue] ; d = [mFontAttributesDictionaryArray objectAtIndex:idx] ; if (enableBackground) { @@ -857,6 +990,7 @@ - (void) observeValueForKeyPath: (NSString *) inKeyPath break; case TAG_FOR_ENABLE_TEMPLATE_BACKGROUND : if (data != nil) { + // NSLog (@"DATA %@", data) ; const BOOL enableBackground = [[inObject valueForKeyPath:inKeyPath] boolValue] ; if (enableBackground) { NSString * keyPath = [NSString stringWithFormat:@"%@_%@", @@ -873,11 +1007,10 @@ - (void) observeValueForKeyPath: (NSString *) inKeyPath } break ; case TAG_FOR_TEMPLATE_BACKGROUND_COLOR: - if (data != nil) { - color = (NSColor *) [NSUnarchiver unarchiveObjectWithData: data] ; - } - if (color == nil) { + if (data == nil) { color = [NSColor whiteColor] ; + }else{ + color = (NSColor *) [NSUnarchiver unarchiveObjectWithData:data] ; } [mTemplateTextAttributeDictionary setObject:color forKey:NSBackgroundColorAttributeName] ; [self applyTextAttributeForIndex:-2] ; @@ -900,14 +1033,17 @@ - (void) observeValueForKeyPath: (NSString *) inKeyPath } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma mark Source Indexing -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (BOOL) sourceFile:(NSString *) inFile1 newerThanFile: (NSString *) inFile2 { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif NSFileManager * fm = [NSFileManager new] ; NSDictionary * file1_dictionary = [fm attributesOfItemAtPath:inFile1 error:NULL] ; NSDate * file1_modificationDate = [file1_dictionary fileModificationDate] ; @@ -916,9 +1052,12 @@ - (BOOL) sourceFile:(NSString *) inFile1 return NSOrderedDescending == [file1_modificationDate compare:file2_modificationDate] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) parseSourceFileForBuildingIndexFile: (NSArray *) inArray { + #ifdef DEBUG_MESSAGES + NSLog (@"%s, file %@", __PRETTY_FUNCTION__, inSourceFileFullPath) ; + #endif NSString * sourceFileFullPath = [inArray objectAtIndex: 0] ; const NSInteger selectedToolIndex = [[inArray objectAtIndex: 1] integerValue] ; NSString * indexFileFullPath = [inArray objectAtIndex: 2] ; @@ -930,10 +1069,12 @@ - (void) parseSourceFileForBuildingIndexFile: (NSArray *) inArray { [arguments addObject: sourceFileFullPath] ; NSString * indexArgument = [NSString stringWithFormat: @"--mode=indexing:%@", indexFileFullPath] ; [arguments addObject: indexArgument] ; +// NSLog (@"ARGS %@ %@ %@", compilerToolPath, sourceFileFullPath, indexArgument) ; //--- Create task NSTask * task = [NSTask new] ; [task setLaunchPath: compilerToolPath] ; [task setArguments: arguments] ; + // NSLog (@"'%@' %@", [task launchPath], arguments) ; //--- Start task [task launch] ; //--- Wait the task is completed @@ -941,9 +1082,12 @@ - (void) parseSourceFileForBuildingIndexFile: (NSArray *) inArray { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSArray *) buildIndexingDictionaryArray { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif NSFileManager * fm = [NSFileManager new] ; NSMutableArray * result = nil ; //--- Save all sources @@ -962,16 +1106,20 @@ - (NSArray *) buildIndexingDictionaryArray { indexingSuffix = possibleIndexingSuffix ; } } +// NSLog (@"PROJECT %@", projectFilePath) ; //--- index directory if (projectFilePath.length > 0) { NSString * projectFileDirectory = [projectFilePath stringByDeletingLastPathComponent] ; NSString * projectFileName = [projectFilePath lastPathComponent] ; NSString * projectFileNameModified = [projectFileName stringByReplacingOccurrencesOfString: @"." withString: @"-"] ; NSString * modifiedIndexingSuffix = [indexingSuffix stringByReplacingOccurrencesOfString: @"*" withString: projectFileNameModified] ; +// NSString * indexingDirectory = [NSString stringWithFormat: @"%@/%@", projectFileDirectory, indexingPathSuffix (projectFileNameModified)] ; NSString * indexingDirectory = [NSString stringWithFormat: @"%@/%@", projectFileDirectory, modifiedIndexingSuffix] ; [fm createDirectoryAtPath: indexingDirectory withIntermediateDirectories: YES attributes: nil error: nil] ; + // NSLog (@"indexingDirectory '%@'", indexingDirectory) ; //--- Handled extensions NSSet * handledExtensions = gCocoaApplicationDelegate.allExtensionsOfCurrentApplication ; + // NSLog (@"***** handledExtensions '%@'", handledExtensions) ; //--- All files in source directory NSArray * files = [fm contentsOfDirectoryAtPath: sourceDirectory error:NULL] ; NSMutableArray * availableDictionaryPathArray = [NSMutableArray new] ; @@ -981,6 +1129,7 @@ - (NSArray *) buildIndexingDictionaryArray { if ([handledExtensions containsObject:[filePath pathExtension]]) { //--- Index file path NSString * indexFileFullPath = [NSString stringWithFormat:@"%@/%@.plist", indexingDirectory, [filePath lastPathComponent]] ; +// NSLog (@" indexFileFullPath '%@'", indexFileFullPath) ; //--- Parse source file ? if (! [fm fileExistsAtPath: indexFileFullPath]) { // Parse source file NSNumber * toolIndexNumber = [NSNumber numberWithInteger: gCocoaApplicationDelegate.selectedToolIndex] ; @@ -1020,7 +1169,7 @@ - (NSArray *) buildIndexingDictionaryArray { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static NSInteger numericSort (NSString * inOperand1, NSString * inOperand2, @@ -1028,15 +1177,18 @@ static NSInteger numericSort (NSString * inOperand1, return [inOperand1 compare:inOperand2 options:NSNumericSearch] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Every plist list is a dictionary: the key is the indexed to token; the // associated value is an NSArray of NSString that has the following format: // "kind:line:locationIndex:length:sourceFileFullPath" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) appendIndexingToMenu: (NSMenu *) inMenu forRange: (NSRange) inSelectedRange textDisplayDescriptor: (OC_GGS_TextDisplayDescriptor *) inTextDisplayDescriptor { + #ifdef DEBUG_MESSAGES + NSLog (@"%s", __PRETTY_FUNCTION__) ; + #endif //--- Check if current has atomic selection BOOL hasAtomicSelection = YES ; BOOL found = NO ; @@ -1051,15 +1203,14 @@ - (void) appendIndexingToMenu: (NSMenu *) inMenu } //--- NSString * token = [mSourceTextStorage.string substringWithRange:inSelectedRange] ; + // NSLog (@"%@", token) ; //--- NSArray * dictionaryArray = self.buildIndexingDictionaryArray ; //--- Build array of all references of given token NSMutableArray * allReferences = [NSMutableArray new] ; for (NSDictionary * currentIndexDictionary in dictionaryArray) { - NSArray * references = [currentIndexDictionary objectForKey: token] ; - if (references != nil) { - [allReferences addObjectsFromArray: references] ; - } + NSArray * references = [currentIndexDictionary objectForKey:token] ; + [allReferences addObjectsFromArray:references] ; } //--- Build dictionary for the given token, organized by Kind NSMutableDictionary * kindDictionary = [NSMutableDictionary new] ; @@ -1114,29 +1265,31 @@ - (void) appendIndexingToMenu: (NSMenu *) inMenu } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) addDisplayDescriptor: (OC_GGS_TextDisplayDescriptor *) inDisplayDescriptor { [mTextDisplayDescriptorSet addObject:inDisplayDescriptor] ; [inDisplayDescriptor.textView.layoutManager replaceTextStorage:mSourceTextStorage] ; +// NSLog (@"AFTER INSERT mTextDisplayDescriptorSet %@", mTextDisplayDescriptorSet) ; NSMenu * menu = mTokenizer.menuForEntryPopUpButton ; [inDisplayDescriptor populatePopUpButtonWithMenu:menu] ; [inDisplayDescriptor setTextDisplayIssueArray:mIssueArray] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) removeDisplayDescriptor: (OC_GGS_TextDisplayDescriptor *) inDisplayDescriptor { [mTextDisplayDescriptorSet removeObject:inDisplayDescriptor] ; [mSourceTextStorage removeLayoutManager:inDisplayDescriptor.textView.layoutManager] ; +// NSLog (@"AFTER REMOVE mTextDisplayDescriptorSet %@", mTextDisplayDescriptorSet) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSUInteger) displayDescriptorCount { return mTextDisplayDescriptorSet.count ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @end diff --git a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_TextView.h b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_TextView.h index 928064f7a..82424c445 100644 --- a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_TextView.h +++ b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_TextView.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,16 +14,16 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @class OC_GGS_TextDisplayDescriptor ; @class OC_GGS_Document ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @interface OC_GGS_TextView : NSTextView { @private OC_GGS_Document * mDocumentUsedForDisplaying ; @@ -44,4 +44,4 @@ - (void) selectAllTokenCharacters: (id) inSender ; @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_TextView.m b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_TextView.m index 739ebca23..97a826abc 100644 --- a/goil/build/libpm/cocoa_objc_galgas/OC_GGS_TextView.m +++ b/goil/build/libpm/cocoa_objc_galgas/OC_GGS_TextView.m @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,7 +14,7 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import "OC_GGS_ColorTransformer.h" #import "OC_GGS_TextView.h" @@ -29,19 +29,19 @@ #import "OC_GGS_Scroller.h" #import "PMDebug.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //#define DEBUG_MESSAGES -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @implementation OC_GGS_TextView -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // I N I T // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (id) initWithFrame: (NSRect) inFrame documentUsedForDisplaying: (OC_GGS_Document *) inDocumentUsedForDisplaying @@ -81,7 +81,7 @@ - (id) initWithFrame: (NSRect) inFrame return self; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) dealloc { NSUserDefaults * df = [NSUserDefaults standardUserDefaults] ; @@ -100,14 +100,14 @@ - (void) dealloc { noteObjectDeallocation (self) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) detachTextView { mDocumentUsedForDisplaying = nil ; mDisplayDescriptor = nil ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) updateCursorColor { NSUserDefaults * df = [NSUserDefaults standardUserDefaults] ; @@ -122,7 +122,7 @@ - (void) updateCursorColor { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) observeValueForKeyPath:(NSString *) inKeyPath ofObject:(id) inObject @@ -146,7 +146,7 @@ - (void) observeValueForKeyPath:(NSString *) inKeyPath } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) setIssueArray: (NSArray *) inIssueArray { //--- Tell ruler to refresh @@ -161,23 +161,23 @@ - (void) setIssueArray: (NSArray *) inIssueArray { [self setNeedsDisplay:YES] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSColor *) errorHiliteColor { return [NSColor colorWithCalibratedRed:1.0 green:0.0 blue:0.0 alpha:0.2F] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSColor *) warningHiliteColor { return [NSColor colorWithCalibratedRed:1.0 green:0.5 blue:0.0 alpha:0.2F] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #define BULLET_SIZE (4.0) -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) drawRect: (NSRect) inRect { // NSLog (@"%s", __PRETTY_FUNCTION__) ; @@ -189,7 +189,7 @@ - (void) drawRect: (NSRect) inRect { const NSInteger pageGuideColumn = [ud integerForKey:GGS_page_guide_column] ; NSMutableString * str = [NSMutableString new] ; for (NSInteger i=0 ; i<=pageGuideColumn ; i++) { - [str appendString: @"0"] ; + [str appendString:@"0"] ; } const NSSize s = [str sizeWithAttributes:attributes] ; const double column = rint (s.width) + 0.5 ; @@ -256,11 +256,11 @@ - (void) drawRect: (NSRect) inRect { [errorBulletBezierPath fill] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma mark Key Down -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) keyDown: (NSEvent *) inEvent { NSString * keys = inEvent.characters ; @@ -287,7 +287,7 @@ - (void) keyDown: (NSEvent *) inEvent { } NSMutableString * s = [NSMutableString new] ; for (NSInteger i=0 ; i 0) && ([s characterAtIndex:currentLineRange.location] == ' ')) { currentLineRange.location ++ ; currentLineRange.length -- ; - [stringToInsert appendString: @" "] ; + [stringToInsert appendString:@" "] ; } [self insertText:stringToInsert] ; }break ; @@ -343,11 +343,11 @@ - (void) keyDown: (NSEvent *) inEvent { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma mark Token selection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSRange) selectionRangeForProposedRange:(NSRange) inProposedSelRange granularity: (NSSelectionGranularity) inGranularity { @@ -385,18 +385,18 @@ - (NSRange) selectionRangeForProposedRange:(NSRange) inProposedSelRange return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma mark Source Indexing -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) selectAllTokenCharacters: (id) inSender { const NSRange r = [[inSender representedObject] rangeValue] ; [mDisplayDescriptor setSelectionRangeAndMakeItVisible:r] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) indexingMenuAction: (id) inSender { NSString * descriptor = [inSender representedObject] ; @@ -409,11 +409,11 @@ - (void) indexingMenuAction: (id) inSender { [tdd setSelectionRangeAndMakeItVisible:NSMakeRange (tokenLocation, tokenLength)] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma mark mouse Down (for source indexing) -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) mouseDown:(NSEvent *) inEvent { if ((inEvent.modifierFlags & NSCommandKeyMask) != 0) { @@ -442,15 +442,15 @@ - (void) mouseDown:(NSEvent *) inEvent { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma mark Autocompletion -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // http://www.cocoabuilder.com/archive/cocoa/97892-can-select-nstextview-completion-when-partial-word-length-2.html -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSRange) rangeForUserCompletion { NSRange charRange = {NSNotFound, 0} ; @@ -469,7 +469,7 @@ - (NSRange) rangeForUserCompletion { return charRange ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSArray *) completionsForPartialWordRange: (NSRange) inCharRange indexOfSelectedItem: (NSInteger *) outIndex { @@ -503,6 +503,6 @@ - (NSArray *) completionsForPartialWordRange: (NSRange) inCharRange return [completionSet.allObjects sortedArrayUsingSelector: @selector (compare:)] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @end diff --git a/goil/build/libpm/cocoa_objc_galgas/OC_Lexique.h b/goil/build/libpm/cocoa_objc_galgas/OC_Lexique.h index a9f15b5d9..35aa084a6 100644 --- a/goil/build/libpm/cocoa_objc_galgas/OC_Lexique.h +++ b/goil/build/libpm/cocoa_objc_galgas/OC_Lexique.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,16 +14,16 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import #import "unicode_character_m.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // T E M P L A T E D E L I M I T E R C L A S S // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @interface OC_GGS_TemplateDelimiter : NSObject @@ -36,11 +36,11 @@ discardStartString: (BOOL) inDiscardStartString ; @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // S C A N N I N G P O I N T S T R U C T // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typedef struct { utf32 mPreviousChar ; @@ -48,11 +48,11 @@ typedef struct { NSUInteger mCurrentLocation ; } scanningPointStructForCocoa ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // O C L E X I Q U E // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @interface OC_Lexique : NSObject { @protected NSString * mSourceString ; @@ -127,24 +127,24 @@ typedef struct { - (BOOL) atomicSelectionForToken: (NSUInteger) inTokenIndex ; @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typedef struct { const char * mEntry ; UInt32 mTokenCode ; } C_cocoa_lexique_table_entry ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- NSInteger searchStringInTable (NSString * inSearchedString, const C_cocoa_lexique_table_entry * inTable, const NSUInteger inTableSize) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // S C A N N E R A C T I O N S // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_multiplyUInt (BOOL * ioNoLexicalError, const UInt32 inFactor, @@ -303,11 +303,11 @@ void scanner_cocoa_routine_convertBinaryStringIntoBigInt (BOOL * ioScanningOk, NSString * inHexString, NSMutableString * ioString) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- utf32 scanner_cocoa_function_toLower (const utf32 inCharacter) ; utf32 scanner_cocoa_function_toUpper (const utf32 inCharacter) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_objc_galgas/OC_Lexique.m b/goil/build/libpm/cocoa_objc_galgas/OC_Lexique.m index 865107a9b..ef6b99585 100644 --- a/goil/build/libpm/cocoa_objc_galgas/OC_Lexique.m +++ b/goil/build/libpm/cocoa_objc_galgas/OC_Lexique.m @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,25 +14,25 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import "OC_Lexique.h" #import "OC_Token.h" #import "unicode_character_m.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // OC_GGS_TemplateDelimiter -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @implementation OC_GGS_TemplateDelimiter -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @synthesize startString ; @synthesize endString ; @synthesize discardStartString ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (id) initWithStartString: (NSString *) inStartString endString: (NSString *) inEndString @@ -48,21 +48,21 @@ - (id) initWithStartString: (NSString *) inStartString @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //#define DEBUG_MESSAGES -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // OC_Lexique -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @implementation OC_Lexique -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @synthesize menuForEntryPopUpButton ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (instancetype) init { self = [super init] ; @@ -72,18 +72,18 @@ - (instancetype) init { return self ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) detach { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSArray *) indexingTitles { // Array of NSString return [NSArray array] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) advance { // NSLog (@"mCurrentLocation %d, [mSourceString length] %u", mCurrentLocation, [mSourceString length]) ; @@ -98,7 +98,7 @@ - (void) advance { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) searchForReplacementPattern:(NSArray *) inReplacementPatternArray { BOOL found = NO ; @@ -120,7 +120,7 @@ - (void) searchForReplacementPattern:(NSArray *) inReplacementPatternArray { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) saveScanningPoint: (scanningPointStructForCocoa *) outScanningPoint { outScanningPoint->mPreviousChar = mPreviousChar ; @@ -128,7 +128,7 @@ - (void) saveScanningPoint: (scanningPointStructForCocoa *) outScanningPoint { outScanningPoint->mCurrentLocation = mCurrentLocation ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) restoreScanningPoint: (scanningPointStructForCocoa *) inScanningPoint { mPreviousChar = inScanningPoint->mPreviousChar ; @@ -136,7 +136,7 @@ - (void) restoreScanningPoint: (scanningPointStructForCocoa *) inScanningPoint { mCurrentLocation = inScanningPoint->mCurrentLocation ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (BOOL) testForInputChar: (utf32) inUnicodeCharacter { const BOOL result = mCurrentChar == inUnicodeCharacter ; @@ -146,7 +146,7 @@ - (BOOL) testForInputChar: (utf32) inUnicodeCharacter { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (BOOL) testForInputFromChar:(utf32) inUnicodeLowerBound toChar:(utf32) inUnicodeUpperBound { const BOOL result = (mCurrentChar >= inUnicodeLowerBound) && (mCurrentChar <= inUnicodeUpperBound) ; @@ -156,7 +156,7 @@ - (BOOL) testForInputFromChar:(utf32) inUnicodeLowerBound toChar:(utf32) inUnico return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (BOOL) testForCharWithFunction: (bool (*) (const utf32 inUnicodeCharacter)) inFunction { const BOOL ok = inFunction (mCurrentChar) ; @@ -166,7 +166,7 @@ - (BOOL) testForCharWithFunction: (bool (*) (const utf32 inUnicodeCharacter)) in return ok ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (BOOL) testForInputString: (NSString *) inTestedString advance:(BOOL) inFlag { //NSLog (@"testForInputString: mCurrentLocation %d, [mSourceString length] %u, inTestedString '%@'", mCurrentLocation, [mSourceString length], inTestedString) ; @@ -189,7 +189,7 @@ - (BOOL) testForInputString: (NSString *) inTestedString advance:(BOOL) inFlag { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (BOOL) notTestForInputString: (NSString *) inSearchString error: (BOOL *) ioScanningOk { BOOL loop = NO ; @@ -214,7 +214,7 @@ - (BOOL) notTestForInputString: (NSString *) inSearchString error: (BOOL *) ioSc return loop ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (SInt32) findTemplateDelimiterIndex: (NSArray *) inTemplateDelimiterArray { // Array of OC_GGS_TemplateDelimiter SInt32 templateIndex = 0 ; @@ -235,27 +235,27 @@ - (SInt32) findTemplateDelimiterIndex: (NSArray *) inTemplateDelimiterArray { // return templateIndex ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (const UInt16 **) popupListData { return NULL ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) parseLexicalTokenForLexicalColoring { NSLog (@"Error: OC_Lexique is abstract!") ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSUInteger) styleIndexForTerminal: (NSInteger) inTerminal { return 0 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -- (void) buildPopupMenuItemArrayWithStyleArray: (NSArray *) inTokenArray { +- (void) buildPopupMenuItemArrayWithStyleArray:(NSArray *) inTokenArray { NSDictionary * defaultAttributes = [NSDictionary dictionaryWithObjectsAndKeys: [NSFont systemFontOfSize:11.0], NSFontAttributeName, nil @@ -275,36 +275,36 @@ - (void) buildPopupMenuItemArrayWithStyleArray: (NSArray *) inTokenArray { const UInt16 ** popUpListData = [self popupListData] ; if (NULL != popUpListData) { const NSUInteger tokenCount = inTokenArray.count ; - for (NSUInteger tokenIndex = 0 ; tokenIndex < tokenCount ; tokenIndex++) { - OC_Token * token = [inTokenArray objectAtIndex: tokenIndex] ; + for (NSUInteger tokenIndex=0 ; tokenIndex 0) { - [title appendString: @" "] ; + [title appendString:@" "] ; } - [title appendString: [mSourceString substringWithRange:range]] ; + [title appendString:[mSourceString substringWithRange:range]] ; } p += 2 ; } @@ -337,14 +337,16 @@ - (void) buildPopupMenuItemArrayWithStyleArray: (NSArray *) inTokenArray { keyEquivalent:@"" ] ; if (displayFlags == 0) { - [item setAttributedTitle: - [[NSAttributedString alloc] initWithString:title attributes:defaultAttributes] - ] ; + [item setAttributedTitle:[[NSAttributedString alloc] + initWithString:title + attributes:defaultAttributes + ]] ; }else{ NSMutableAttributedString * s = prefixString.mutableCopy ; - [s appendAttributedString: - [[NSAttributedString alloc] initWithString: title attributes: specialAttributes] - ] ; + [s appendAttributedString:[[NSAttributedString alloc] + initWithString:title + attributes:specialAttributes + ]] ; [item setAttributedTitle:s] ; } [item setTag:(NSInteger) [[inTokenArray objectAtIndex:tokenIndex] range].location] ; @@ -356,7 +358,7 @@ - (void) buildPopupMenuItemArrayWithStyleArray: (NSArray *) inTokenArray { menuForEntryPopUpButton = menu ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) presentCustomSyntaxColoringErrorForKey: (NSString *) inKey forStyle: (NSString *) inStyle @@ -390,13 +392,13 @@ - (void) presentCustomSyntaxColoringErrorForKey: (NSString *) inKey [window makeKeyAndOrderFront:nil] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSString *) lexiqueIdentifier { return @"" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSDictionary *) customSyntaxColoringDictionary { if (nil == mCustomSyntaxColoringDictionary) { @@ -434,7 +436,7 @@ - (NSDictionary *) customSyntaxColoringDictionary { return mCustomSyntaxColoringDictionary ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSUInteger) styleIndexForTokenCode: (NSInteger) inTokenCode spelling: (NSString *) inSpelling { @@ -448,7 +450,7 @@ - (NSUInteger) styleIndexForTokenCode: (NSInteger) inTokenCode return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) tokenizeForSourceString: (NSString *) inSourceString tokenArray: (NSMutableArray *) ioStyledRangeArray // Array of OC_Token @@ -501,10 +503,7 @@ - (void) tokenizeForSourceString: (NSString *) inSourceString NSLog (@" Suppress affected Tokens") ; #endif search = YES ; - const NSUInteger affectedRangeEndLocation = (inChangeInLength >= 0) - ? (inEditedRange.location + inEditedRange.length - (NSUInteger) inChangeInLength) - : (inEditedRange.location + inEditedRange.length + (NSUInteger) -inChangeInLength) - ; + const NSUInteger affectedRangeEndLocation = inEditedRange.location + inEditedRange.length - (NSUInteger) inChangeInLength ; while ((*outLowerIndexToRedrawInStyleArray < (SInt32) [ioStyledRangeArray count]) && search) { OC_Token * token = [ioStyledRangeArray objectAtIndex:(NSUInteger) * outLowerIndexToRedrawInStyleArray] ; search = [token range].location < affectedRangeEndLocation ; @@ -612,78 +611,78 @@ - (void) tokenizeForSourceString: (NSString *) inSourceString #ifdef DEBUG_MESSAGES NSLog (@"build popup") ; #endif - [self buildPopupMenuItemArrayWithStyleArray: ioStyledRangeArray] ; + [self buildPopupMenuItemArrayWithStyleArray:ioStyledRangeArray] ; //--- #ifdef DEBUG_MESSAGES NSLog (@"tokenizeForSourceString:tokenArray:... DONE") ; #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSString *) blockComment { return @"" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (BOOL) isTemplateLexique { return NO ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSUInteger) styleCount { return 0 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSString *) styleIdentifierForStyleIndex: (const NSInteger) inIndex { return @"" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSString *) styleNameForStyleIndex: (const NSInteger) inIndex { return @"" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSUInteger) textMacroCount { return 0 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSString *) textMacroTitleAtIndex: (const NSUInteger) inIndex { return @"" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSString *) textMacroContentAtIndex: (const NSUInteger) inIndex { return @"" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSString *) tabItemTitle { return @"Source" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (BOOL) atomicSelectionForToken: (NSUInteger) inTokenIndex { return YES ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- NSInteger searchStringInTable (NSString * inSearchedString, const C_cocoa_lexique_table_entry * inTable, @@ -701,15 +700,15 @@ NSInteger searchStringInTable (NSString * inSearchedString, } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma mark Lexical Routines -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // P R E D E F I N E D S C A N N E R A C T I O N S // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterHexDigitIntoASCIIcharacter (BOOL * ioScanningOk, UInt32 * ioValue, @@ -733,7 +732,7 @@ void scanner_cocoa_routine_enterHexDigitIntoASCIIcharacter (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterDigitIntoASCIIcharacter (BOOL * ioScanningOk, UInt32 * ioValue, @@ -752,7 +751,7 @@ void scanner_cocoa_routine_enterDigitIntoASCIIcharacter (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterCharacterIntoString (BOOL * ioScanningOk, NSMutableString * ioString, @@ -760,7 +759,7 @@ void scanner_cocoa_routine_enterCharacterIntoString (BOOL * ioScanningOk, [ioString appendFormat:@"%C", (uint16_t) inChar] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertStringToDouble (BOOL * ioScanningOk, NSMutableString * inString, @@ -768,7 +767,7 @@ void scanner_cocoa_routine_convertStringToDouble (BOOL * ioScanningOk, * outValue = [inString doubleValue] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterCharacterIntoCharacter (BOOL * ioScanningOk, utf32 * outCharacter, @@ -776,19 +775,19 @@ void scanner_cocoa_routine_enterCharacterIntoCharacter (BOOL * ioScanningOk, * outCharacter = inCharacter ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- utf32 scanner_cocoa_function_toLower (const utf32 c) { return unicodeToLower (c) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- utf32 scanner_cocoa_function_toUpper (const utf32 c) { return unicodeToUpper (c) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_negateSInt (BOOL * ioScanningOk, SInt32 * ioValue) { @@ -799,7 +798,7 @@ void scanner_cocoa_routine_negateSInt (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_negateSInt64 (BOOL * ioScanningOk, SInt64 * ioValue) { @@ -810,7 +809,7 @@ void scanner_cocoa_routine_negateSInt64 (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertUIntToSInt (BOOL * ioScanningOk, const UInt32 inValue, @@ -822,7 +821,7 @@ void scanner_cocoa_routine_convertUIntToSInt (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertUInt64ToSInt64 (BOOL * ioScanningOk, const UInt64 inValue, @@ -833,7 +832,7 @@ void scanner_cocoa_routine_convertUInt64ToSInt64 (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterDigitIntoUInt (BOOL * ioScanningOk, const utf32 inCharacter, @@ -853,7 +852,7 @@ void scanner_cocoa_routine_enterDigitIntoUInt (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterDigitIntoUInt64 (BOOL * ioScanningOk, const utf32 inCharacter, @@ -873,7 +872,7 @@ void scanner_cocoa_routine_enterDigitIntoUInt64 (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterHexDigitIntoUInt (BOOL * ioScanningOk, const utf32 inCharacter, @@ -900,7 +899,7 @@ void scanner_cocoa_routine_enterHexDigitIntoUInt (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterHexDigitIntoUInt64 (BOOL * ioScanningOk, const utf32 inCharacter, @@ -927,7 +926,7 @@ void scanner_cocoa_routine_enterHexDigitIntoUInt64 (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertDecimalStringIntoUInt (BOOL * ioScanningOk, NSString * inDecimalString, @@ -955,7 +954,7 @@ void scanner_cocoa_routine_convertDecimalStringIntoUInt (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertDecimalStringIntoSInt (BOOL * ioScanningOk, NSString * inDecimalString, @@ -982,7 +981,7 @@ void scanner_cocoa_routine_convertDecimalStringIntoSInt (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertDecimalStringIntoUInt64 (BOOL * ioScanningOk, NSString * inDecimalString, @@ -1009,7 +1008,7 @@ void scanner_cocoa_routine_convertDecimalStringIntoUInt64 (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertDecimalStringIntoSInt64 (BOOL * ioScanningOk, NSString * inDecimalString, @@ -1036,7 +1035,7 @@ void scanner_cocoa_routine_convertDecimalStringIntoSInt64 (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterBinDigitIntoUInt (BOOL * ioScanningOk, const utf32 inCharacter, @@ -1054,7 +1053,7 @@ void scanner_cocoa_routine_enterBinDigitIntoUInt (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterBinDigitIntoUInt64 (BOOL * ioScanningOk, const utf32 inCharacter, @@ -1072,7 +1071,7 @@ void scanner_cocoa_routine_enterBinDigitIntoUInt64 (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterOctDigitIntoUInt (BOOL * ioScanningOk, const utf32 inCharacter, @@ -1090,7 +1089,7 @@ void scanner_cocoa_routine_enterOctDigitIntoUInt (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterOctDigitIntoUInt64 (BOOL * ioScanningOk, const utf32 inCharacter, @@ -1108,7 +1107,7 @@ void scanner_cocoa_routine_enterOctDigitIntoUInt64 (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_multiplyUInt (BOOL * ioScanningOk, const UInt32 inFactor, @@ -1123,7 +1122,7 @@ void scanner_cocoa_routine_multiplyUInt (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_multiplyUInt64 (BOOL * ioScanningOk, const UInt64 inFactor, @@ -1142,7 +1141,7 @@ void scanner_cocoa_routine_multiplyUInt64 (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertHexStringIntoUInt (BOOL * ioScanningOk, NSString * inHexString, @@ -1171,7 +1170,7 @@ void scanner_cocoa_routine_convertHexStringIntoUInt (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertHexStringIntoUInt64 (BOOL * ioScanningOk, NSString * inHexString, @@ -1200,7 +1199,7 @@ void scanner_cocoa_routine_convertHexStringIntoUInt64 (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertHexStringIntoSInt (BOOL * ioScanningOk, NSString * inHexString, @@ -1229,7 +1228,7 @@ void scanner_cocoa_routine_convertHexStringIntoSInt (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertHexStringIntoSInt64 (BOOL * ioScanningOk, NSString * inHexString, @@ -1258,7 +1257,7 @@ void scanner_cocoa_routine_convertHexStringIntoSInt64 (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertUnsignedNumberToUnicodeChar (BOOL * ioScanningOk, UInt32 * ioValue, @@ -1270,7 +1269,7 @@ void scanner_cocoa_routine_convertUnsignedNumberToUnicodeChar (BOOL * ioScanning *ioValue = 0 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertHTMLSequenceToUnicodeCharacter (BOOL * ioScanningOk, NSMutableString * ioStringValue, @@ -1282,7 +1281,7 @@ void scanner_cocoa_routine_convertHTMLSequenceToUnicodeCharacter (BOOL * ioScann [ioStringValue setString:@""] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_codePointToUnicode (BOOL * ioScanningOk, NSString * inElementString, @@ -1332,14 +1331,14 @@ void scanner_cocoa_routine_codePointToUnicode (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_resetString (BOOL * ioNoLexicalError, NSMutableString * ioString) { [ioString setString:@""] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterDecimalDigitIntoBigInt (BOOL * ioScanningOk, const utf32 inChar, @@ -1351,7 +1350,7 @@ void scanner_cocoa_routine_enterDecimalDigitIntoBigInt (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterHexDigitIntoBigInt (BOOL * ioScanningOk, const utf32 inChar, @@ -1367,7 +1366,7 @@ void scanner_cocoa_routine_enterHexDigitIntoBigInt (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertDecimalStringIntoBigInt (BOOL * ioScanningOk, NSString * inDecimalString, @@ -1382,7 +1381,7 @@ void scanner_cocoa_routine_convertDecimalStringIntoBigInt (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertHexStringIntoBigInt (BOOL * ioScanningOk, NSString * inHexString, @@ -1402,7 +1401,7 @@ void scanner_cocoa_routine_convertHexStringIntoBigInt (BOOL * ioScanningOk, } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterBinaryDigitIntoBigInt (BOOL * ioScanningOk, const utf32 inChar, @@ -1414,7 +1413,7 @@ void scanner_cocoa_routine_enterBinaryDigitIntoBigInt (BOOL * ioScanningOk, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertBinaryStringIntoBigInt (BOOL * ioScanningOk, NSString * inHexString, @@ -1430,4 +1429,4 @@ void scanner_cocoa_routine_convertBinaryStringIntoBigInt (BOOL * ioScanningOk, } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_objc_galgas/OC_Token.h b/goil/build/libpm/cocoa_objc_galgas/OC_Token.h index 3d1ee0551..7a8f3bfee 100644 --- a/goil/build/libpm/cocoa_objc_galgas/OC_Token.h +++ b/goil/build/libpm/cocoa_objc_galgas/OC_Token.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,11 +14,11 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @interface OC_Token : NSObject { @private NSUInteger mTokenCode ; @@ -44,4 +44,4 @@ @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_objc_galgas/OC_Token.m b/goil/build/libpm/cocoa_objc_galgas/OC_Token.m index 1150202f7..472dd3f3d 100644 --- a/goil/build/libpm/cocoa_objc_galgas/OC_Token.m +++ b/goil/build/libpm/cocoa_objc_galgas/OC_Token.m @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,16 +14,16 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import "OC_Token.h" #import "PMDebug.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @implementation OC_Token -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (id) initWithTokenCode: (NSUInteger) inTokenCode range: (NSRange) inRange @@ -40,37 +40,37 @@ - (id) initWithTokenCode: (NSUInteger) inTokenCode return self ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) dealloc { noteObjectDeallocation (self) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSUInteger) tokenCode { return mTokenCode ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSRange) range { return mRange ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSInteger) style { return mStyle ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSInteger) matchedTemplateDelimiterIndex { return mMatchedTemplateDelimiterIndex ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) translateRange: (NSInteger) inTranslation { if ((inTranslation < 0) && (mRange.location < ((NSUInteger) - inTranslation))) { @@ -80,13 +80,9 @@ - (void) translateRange: (NSInteger) inTranslation { (UInt64) mRange.length, (SInt64) inTranslation) ; } - if (inTranslation >= 0) { - mRange.location += (NSUInteger) inTranslation ; - }else{ - mRange.location -= (NSUInteger) -inTranslation ; - } + mRange.location += (NSUInteger) inTranslation ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @end diff --git a/goil/build/libpm/cocoa_objc_galgas/PMDebug.h b/goil/build/libpm/cocoa_objc_galgas/PMDebug.h index b34e84bf7..2ec1f32ac 100644 --- a/goil/build/libpm/cocoa_objc_galgas/PMDebug.h +++ b/goil/build/libpm/cocoa_objc_galgas/PMDebug.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,17 +14,17 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void showAllocationStatsWindow (void) ; void noteObjectAllocation (NSObject * inObject) ; void noteObjectDeallocation (NSObject * inObject) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @interface PMDebug : NSObject { @private IBOutlet NSButton * mAllocationStatsWindowVisibleAtLaunchCheckbox ; @@ -58,4 +58,4 @@ void noteObjectDeallocation (NSObject * inObject) ; - (void) showAllocationWindow ; @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_objc_galgas/PMDebug.m b/goil/build/libpm/cocoa_objc_galgas/PMDebug.m index 77385c8c7..52627878b 100644 --- a/goil/build/libpm/cocoa_objc_galgas/PMDebug.m +++ b/goil/build/libpm/cocoa_objc_galgas/PMDebug.m @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,15 +14,15 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import "PMDebug.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static PMDebug * gDebugObject ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void noteObjectAllocation (NSObject * inObject) { if (nil == gDebugObject) { @@ -39,31 +39,31 @@ void noteObjectAllocation (NSObject * inObject) { [gDebugObject pmNoteObjectAllocation:inObject] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void noteObjectDeallocation (NSObject * inObject) { [gDebugObject pmNoteObjectDeallocation:inObject] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @implementation PMDebug -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @synthesize mAllocationStatsWindowVisibleAtLaunch ; @synthesize mAllocatedObjectCount ; @synthesize mTotalAllocatedObjectCount ; @synthesize mDisplayFilter ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) showAllocationWindow { [mAllocationStatsWindow makeKeyAndOrderFront:nil] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void showAllocationStatsWindow (void) { if (nil == gDebugObject) { @@ -80,9 +80,9 @@ void showAllocationStatsWindow (void) { [gDebugObject showAllocationWindow] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // init -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (instancetype) init { // NSLog (@"%s %p", __PRETTY_FUNCTION__, self) ; @@ -102,9 +102,9 @@ - (instancetype) init { return self ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // awakeFromNib -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) awakeFromNib { // NSLog (@"%s %p %p", __PRETTY_FUNCTION__, self, mDebugMenu) ; @@ -152,9 +152,9 @@ - (void) awakeFromNib { #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // applicationWillTerminateAction: -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) applicationWillTerminateAction: (NSNotification *) inNotification { // NSLog (@"%s", __PRETTY_FUNCTION__) ; @@ -170,9 +170,9 @@ - (void) applicationWillTerminateAction: (NSNotification *) inNotification { ] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // triggerRefreshAllocationStatsDisplay -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) triggerRefreshAllocationStatsDisplay { [mLock lock] ; @@ -203,9 +203,9 @@ - (void) triggerRefreshAllocationStatsDisplay { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // refreshAllocationStats -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) refreshAllocationStats { // NSLog (@"%s", __PRETTY_FUNCTION__) ; @@ -236,9 +236,9 @@ - (void) refreshAllocationStats { [mStatsTableView reloadData] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // refreshTimerDidFire: -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #if ! __has_feature(objc_arc) - (void) refreshTimerDidFire: (NSTimer *) inTimer { @@ -247,9 +247,9 @@ - (void) refreshTimerDidFire: (NSTimer *) inTimer { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // collectExhaustively: -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #if ! __has_feature(objc_arc) - (void) collectExhaustively: (id) inSender { @@ -257,9 +257,9 @@ - (void) collectExhaustively: (id) inSender { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // didChangeValueForKey: -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) didChangeValueForKey: (NSString *) inKey { [super didChangeValueForKey:inKey] ; @@ -268,9 +268,9 @@ - (void) didChangeValueForKey: (NSString *) inKey { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // pmNoteObjectAllocation: -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) pmNoteObjectAllocation: (NSObject *) inObject { [mLock lock] ; @@ -283,9 +283,9 @@ - (void) pmNoteObjectAllocation: (NSObject *) inObject { [self triggerRefreshAllocationStatsDisplay] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // pmNoteObjectDeallocation: -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) pmNoteObjectDeallocation: (NSObject *) inObject { [mLock lock] ; @@ -296,9 +296,9 @@ - (void) pmNoteObjectDeallocation: (NSObject *) inObject { [self triggerRefreshAllocationStatsDisplay] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // T A B L E V I E W D A T A S O U R C E -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (id) tableView: (NSTableView *) aTableView objectValueForTableColumn: (NSTableColumn *) aTableColumn @@ -307,13 +307,13 @@ - (id) tableView: (NSTableView *) aTableView return [theRecord valueForKey:aTableColumn.identifier] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSInteger) numberOfRowsInTableView: (NSTableView *) aTableView { return (NSInteger) [mAllocationStatsDataSource count] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @end diff --git a/goil/build/libpm/cocoa_objc_galgas/PMFontButton.h b/goil/build/libpm/cocoa_objc_galgas/PMFontButton.h index ea5faea30..0f3073ead 100644 --- a/goil/build/libpm/cocoa_objc_galgas/PMFontButton.h +++ b/goil/build/libpm/cocoa_objc_galgas/PMFontButton.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,11 +14,11 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @interface PMFontButton : NSButton { @@ -39,5 +39,5 @@ @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_objc_galgas/PMFontButton.m b/goil/build/libpm/cocoa_objc_galgas/PMFontButton.m index 0199c4214..01fa517a7 100644 --- a/goil/build/libpm/cocoa_objc_galgas/PMFontButton.m +++ b/goil/build/libpm/cocoa_objc_galgas/PMFontButton.m @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,25 +14,25 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //#define DEBUG_MESSAGES #import "PMFontButton.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @implementation PMFontButton -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma mark awakeFromNib -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // awakeFromNib // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) awakeFromNib { #ifdef DEBUG_MESSAGES @@ -42,15 +42,15 @@ - (void) awakeFromNib { mFontButtonBindingEnableState = YES ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma mark General Binding Methods -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // initialize // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + (void) initialize { [PMFontButton exposeBinding:@"fontValue"] ; @@ -76,11 +76,11 @@ + (void) initialize { ] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // bind:toObject:withKeyPath:options: // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) bind:(NSString *) inBindingName toObject:(id) inObservableObject @@ -102,11 +102,11 @@ - (void) bind:(NSString *) inBindingName } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // unbind: // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) unbind:(NSString *) inBindingName { if ([inBindingName isEqualToString:@"fontValue"]) { @@ -118,11 +118,11 @@ - (void) unbind:(NSString *) inBindingName { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // observeValueForKeyPath:ofObject:change:context: * // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) observeValueForKeyPath:(NSString *) inKeyPath ofObject:(id) inObject @@ -141,15 +141,15 @@ - (void) observeValueForKeyPath:(NSString *) inKeyPath } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma mark Specific Binding Methods -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Method for 'fontValue' binding // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) applyNewFontValue: (id) inValue { #ifdef DEBUG_MESSAGES @@ -166,7 +166,7 @@ - (void) applyNewFontValue: (id) inValue { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) setValueFor_fontValue_Binding: (id) inValue { if ([inValue isKindOfClass:[NSFont class]]) { @@ -177,11 +177,11 @@ - (void) setValueFor_fontValue_Binding: (id) inValue { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma mark Methods for 'fontValue' Binding -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (instancetype) init { #ifdef DEBUG_MESSAGES @@ -196,7 +196,7 @@ - (instancetype) init { return self ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (id) initWithCoder: (NSCoder *) inCoder { #ifdef DEBUG_MESSAGES @@ -211,7 +211,7 @@ - (id) initWithCoder: (NSCoder *) inCoder { return self ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (id) initWithFrame: (NSRect) inRect { #ifdef DEBUG_MESSAGES @@ -226,7 +226,7 @@ - (id) initWithFrame: (NSRect) inRect { return self ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) setEnabled: (BOOL) flag { #ifdef DEBUG_MESSAGES @@ -237,7 +237,7 @@ - (void) setEnabled: (BOOL) flag { [super setEnabled:mInheritedEnableState && mFontButtonBindingEnableState] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) valueFor_fontValue_didChange_marker: (id) inMarker defaultPlaceholder: (id) inDefaultPlaceholder { @@ -249,7 +249,7 @@ - (void) valueFor_fontValue_didChange_marker: (id) inMarker [super setEnabled:NO] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) valueFor_fontValue_didChange_NSFont: (NSFont *) inNewValue { #ifdef DEBUG_MESSAGES @@ -262,7 +262,7 @@ - (void) valueFor_fontValue_didChange_NSFont: (NSFont *) inNewValue { [super setEnabled:mInheritedEnableState && mFontButtonBindingEnableState] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) buttonAction { #ifdef DEBUG_MESSAGES @@ -284,7 +284,7 @@ - (void) buttonAction { [fontManager orderFrontFontPanel:self] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) changeFontAction: (id) inSender { #ifdef DEBUG_MESSAGES @@ -300,7 +300,7 @@ - (void) changeFontAction: (id) inSender { [self setValueFor_fontValue_Binding:newFont] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (BOOL) sendAction:(SEL) theAction to: (id) theTarget { #ifdef DEBUG_MESSAGES @@ -311,7 +311,7 @@ - (BOOL) sendAction:(SEL) theAction to: (id) theTarget { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // http://www.cocoabuilder.com/archive/cocoa/103479-nsfontpanel-shadow-color-underline-rotation.html - (void) changeAttributes: (id) inFontEffectBox { @@ -321,6 +321,6 @@ - (void) changeAttributes: (id) inFontEffectBox { // NSLog (@"d %@", d) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @end diff --git a/goil/build/libpm/cocoa_objc_galgas/PMIssueDescriptor.h b/goil/build/libpm/cocoa_objc_galgas/PMIssueDescriptor.h index 9e30e5633..c0c3518f0 100644 --- a/goil/build/libpm/cocoa_objc_galgas/PMIssueDescriptor.h +++ b/goil/build/libpm/cocoa_objc_galgas/PMIssueDescriptor.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,16 +14,16 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @class OC_GGS_RulerViewForBuildOutput ; @class OC_GGS_TextDisplayDescriptor ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typedef enum { kLocationInSourceStringNotSolved, @@ -31,7 +31,7 @@ typedef enum { kLocationInSourceStringInvalid } enumLocationInSourceStringStatus ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @interface PMIssueDescriptor : NSObject { @private BOOL mIsError ; @@ -93,4 +93,4 @@ typedef enum { @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_objc_galgas/PMIssueDescriptor.m b/goil/build/libpm/cocoa_objc_galgas/PMIssueDescriptor.m index afb56ec8f..361c632d0 100644 --- a/goil/build/libpm/cocoa_objc_galgas/PMIssueDescriptor.m +++ b/goil/build/libpm/cocoa_objc_galgas/PMIssueDescriptor.m @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,18 +14,18 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import "PMIssueDescriptor.h" #import "PMDebug.h" #import "OC_GGS_RulerViewForBuildOutput.h" #import "OC_GGS_TextDisplayDescriptor.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @implementation PMIssueDescriptor -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) normalizeMessage { while ((mFullMessage.length > 1) && ([mFullMessage characterAtIndex:mFullMessage.length-1] == '\n')) { @@ -36,7 +36,7 @@ - (void) normalizeMessage { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (PMIssueDescriptor *) initWithMessage: (NSString *) inMessage URL: (NSURL *) inURL @@ -63,73 +63,73 @@ - (PMIssueDescriptor *) initWithMessage: (NSString *) inMessage return self ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) dealloc { noteObjectDeallocation (self) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSString *) fullMessage { return mFullMessage ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSURL *) issueStandardizedURL { return mURL ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (BOOL) isError { return mIsError ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSUInteger) issueLine { return mLine ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSUInteger) issueStartColumn { return mStartColumn ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSUInteger) issueEndColumn { return mEndColumn ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSUInteger) locationInOutputData { return mRangeInOutputData.location ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (enumLocationInSourceStringStatus) locationInSourceStringStatus { return mLocationInSourceStringStatus ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSUInteger) startLocationInSourceString { return mStartLocationInSourceString ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSUInteger) endLocationInSourceString { return mEndLocationInSourceString ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) setStartLocationInSourceString: (NSUInteger) inStartLocationInSourceString endLocation: (NSUInteger) inEndLocationInSourceString { @@ -138,36 +138,28 @@ - (void) setStartLocationInSourceString: (NSUInteger) inStartLocationInSourceStr mLocationInSourceStringStatus = kLocationInSourceStringSolved ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) updateLocationForPreviousRange: (NSRange) inEditedRange changeInLength: (NSInteger) inChangeInLength { if (mEndLocationInSourceString >= (inEditedRange.location + inEditedRange.length)) { - if (inChangeInLength >= 0) { - mEndLocationInSourceString += (NSUInteger) inChangeInLength ; - }else{ - mEndLocationInSourceString -= (NSUInteger) -inChangeInLength ; - } + mEndLocationInSourceString += (NSUInteger) inChangeInLength ; } if (mStartLocationInSourceString >= (inEditedRange.location + inEditedRange.length)) { - if (inChangeInLength >= 0) { - mStartLocationInSourceString += (NSUInteger) inChangeInLength ; - }else{ - mStartLocationInSourceString -= (NSUInteger) -inChangeInLength ; - } + mStartLocationInSourceString += (NSUInteger) inChangeInLength ; }else if (((NSUInteger) mStartLocationInSourceString) >= inEditedRange.location) { mLocationInSourceStringStatus = kLocationInSourceStringInvalid ; [mBuildOutputRuler setNeedsDisplay:YES] ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) detach { mBuildOutputRuler = nil ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) scrollAndSelectErrorMessage { NSTextView * errorMessageTextView = mBuildOutputRuler.scrollView.documentView ; @@ -175,7 +167,7 @@ - (void) scrollAndSelectErrorMessage { [errorMessageTextView scrollRangeToVisible:mRangeInOutputData] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (BOOL) intersectWithRange: (NSRange) inRange { BOOL result = mLocationInSourceStringStatus == kLocationInSourceStringSolved ; @@ -191,7 +183,7 @@ - (BOOL) intersectWithRange: (NSRange) inRange { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) storeItemsToMenu: (NSMenu *) inMenu displayDescriptor: (OC_GGS_TextDisplayDescriptor *) inDisplayDescriptor { @@ -298,7 +290,7 @@ - (void) storeItemsToMenu: (NSMenu *) inMenu } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) actionFixItReplace: (NSMenuItem *) inSender { NSArray * array = inSender.representedObject ; @@ -309,6 +301,6 @@ - (void) actionFixItReplace: (NSMenuItem *) inSender { [textViewDescriptor replaceRange:issueRange withString:replacementString] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @end diff --git a/goil/build/libpm/cocoa_objc_galgas/PMIssueInRuler.h b/goil/build/libpm/cocoa_objc_galgas/PMIssueInRuler.h index cdab6fa3d..2546f75d7 100644 --- a/goil/build/libpm/cocoa_objc_galgas/PMIssueInRuler.h +++ b/goil/build/libpm/cocoa_objc_galgas/PMIssueInRuler.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,11 +14,11 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @interface PMIssueInRuler : NSObject { @private NSRect mBulletRect ; @@ -38,4 +38,4 @@ @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_objc_galgas/PMIssueInRuler.m b/goil/build/libpm/cocoa_objc_galgas/PMIssueInRuler.m index a6d148823..0432eff58 100644 --- a/goil/build/libpm/cocoa_objc_galgas/PMIssueInRuler.m +++ b/goil/build/libpm/cocoa_objc_galgas/PMIssueInRuler.m @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,16 +14,16 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import "PMIssueInRuler.h" #import "PMDebug.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @implementation PMIssueInRuler -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (PMIssueInRuler *) initWithRect: (NSRect) inRect message: (NSString *) inMessage @@ -38,30 +38,30 @@ - (PMIssueInRuler *) initWithRect: (NSRect) inRect return self ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) dealloc { noteObjectDeallocation (self) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSRect) rect { return mBulletRect ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (BOOL) isError { return mIsError ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSString *) message { return mMessage ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @end diff --git a/goil/build/libpm/cocoa_objc_galgas/PMSearchResultDescriptor.h b/goil/build/libpm/cocoa_objc_galgas/PMSearchResultDescriptor.h index 106ad51a0..306796fcc 100644 --- a/goil/build/libpm/cocoa_objc_galgas/PMSearchResultDescriptor.h +++ b/goil/build/libpm/cocoa_objc_galgas/PMSearchResultDescriptor.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,11 +14,11 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @interface PMSearchResultDescriptor : NSObject { @private NSString * mFoundItem ; @@ -55,4 +55,4 @@ @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_objc_galgas/PMSearchResultDescriptor.m b/goil/build/libpm/cocoa_objc_galgas/PMSearchResultDescriptor.m index abdaa7a59..fc4ce99c5 100644 --- a/goil/build/libpm/cocoa_objc_galgas/PMSearchResultDescriptor.m +++ b/goil/build/libpm/cocoa_objc_galgas/PMSearchResultDescriptor.m @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,19 +14,19 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import "PMSearchResultDescriptor.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @implementation PMSearchResultDescriptor -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //#define DEBUG_MESSAGES -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (PMSearchResultDescriptor *) initWithLine: (NSString *) inLine range: (NSRange) inRange @@ -41,7 +41,7 @@ - (PMSearchResultDescriptor *) initWithLine: (NSString *) inLine return self ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (PMSearchResultDescriptor *) initWithEntries: (NSArray *) inEntryArray sourceFilePath: (NSString *) inFilePath { @@ -55,49 +55,49 @@ - (PMSearchResultDescriptor *) initWithEntries: (NSArray *) inEntryArray return self ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSRange) range { return mRange ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSString *) foundItem { return mFoundItem ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSString *) filePath { return mFilePath ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSString *) countString { return (mEntryArray.count > 0) ? [NSString stringWithFormat:@"%lu", mEntryArray.count] : nil ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (BOOL) boldDisplay { return mEntryArray.count > 0 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSArray *) children { return mEntryArray ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSColor *) color { return mColor ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) updateSearchResultForFile: (NSString *) inFilePath previousRange: (NSRange) inPreviousRange @@ -110,11 +110,7 @@ - (void) updateSearchResultForFile: (NSString *) inFilePath NSLog (@"mRange [%lu, %lu], inPreviousRange [%lu, %lu], inChangeInLength %ld", mRange.location, mRange.length, inPreviousRange.location, inPreviousRange.length, inChangeInLength) ; #endif if ((inPreviousRange.location + inPreviousRange.length) <= mRange.location) { // Change before - if (inChangeInLength >= 0) { - mRange.location += (NSUInteger) inChangeInLength ; - }else{ - mRange.location -= (NSUInteger) -inChangeInLength ; - } + mRange.location += (NSUInteger) inChangeInLength ; #ifdef DEBUG_MESSAGES NSLog (@" - Change before -> mRange [%lu, %lu]", mRange.location, mRange.length) ; #endif @@ -143,6 +139,6 @@ - (void) updateSearchResultForFile: (NSString *) inFilePath } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @end diff --git a/goil/build/libpm/cocoa_objc_galgas/PMTableViewHandlesContextualMenu.h b/goil/build/libpm/cocoa_objc_galgas/PMTableViewHandlesContextualMenu.h index a694fde60..afc8fbb90 100644 --- a/goil/build/libpm/cocoa_objc_galgas/PMTableViewHandlesContextualMenu.h +++ b/goil/build/libpm/cocoa_objc_galgas/PMTableViewHandlesContextualMenu.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,11 +14,11 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @interface PMTableViewHandlesContextualMenu : NSTableView { @private IBOutlet NSMenu * mContextualMenu ; @@ -26,4 +26,4 @@ @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_objc_galgas/PMTableViewHandlesContextualMenu.m b/goil/build/libpm/cocoa_objc_galgas/PMTableViewHandlesContextualMenu.m index aaf4cb622..6cda34798 100644 --- a/goil/build/libpm/cocoa_objc_galgas/PMTableViewHandlesContextualMenu.m +++ b/goil/build/libpm/cocoa_objc_galgas/PMTableViewHandlesContextualMenu.m @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,15 +14,15 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import "PMTableViewHandlesContextualMenu.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @implementation PMTableViewHandlesContextualMenu -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (NSMenu *) menuForEvent: (NSEvent *) inEvent { const NSPoint location = [self convertPoint:inEvent.locationInWindow fromView:nil] ; @@ -35,6 +35,6 @@ - (NSMenu *) menuForEvent: (NSEvent *) inEvent { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @end diff --git a/goil/build/libpm/cocoa_objc_galgas/PMUndoManager.h b/goil/build/libpm/cocoa_objc_galgas/PMUndoManager.h index 33a08e7aa..aaae239cf 100644 --- a/goil/build/libpm/cocoa_objc_galgas/PMUndoManager.h +++ b/goil/build/libpm/cocoa_objc_galgas/PMUndoManager.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,14 +14,14 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @interface PMUndoManager : NSUndoManager @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_objc_galgas/PMUndoManager.m b/goil/build/libpm/cocoa_objc_galgas/PMUndoManager.m index fe0191f74..18a26d6cc 100644 --- a/goil/build/libpm/cocoa_objc_galgas/PMUndoManager.m +++ b/goil/build/libpm/cocoa_objc_galgas/PMUndoManager.m @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,16 +14,16 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import "PMUndoManager.h" #import "PMDebug.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @implementation PMUndoManager -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (id) init { self = [super init] ; @@ -33,12 +33,12 @@ - (id) init { return self; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (void) dealloc { noteObjectDeallocation (self) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @end diff --git a/goil/build/libpm/cocoa_objc_galgas/enterDefaultCommandLineOptions.h b/goil/build/libpm/cocoa_objc_galgas/enterDefaultCommandLineOptions.h index 982039c22..5f29f25ca 100644 --- a/goil/build/libpm/cocoa_objc_galgas/enterDefaultCommandLineOptions.h +++ b/goil/build/libpm/cocoa_objc_galgas/enterDefaultCommandLineOptions.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,11 +14,11 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef __cplusplus extern "C" { @@ -32,4 +32,4 @@ void enterDefaultCommandLineOptions (NSMutableArray * ioBoolOptionArray, } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_objc_galgas/enterDefaultCommandLineOptions.m b/goil/build/libpm/cocoa_objc_galgas/enterDefaultCommandLineOptions.m index d50041d88..2d3d7a037 100644 --- a/goil/build/libpm/cocoa_objc_galgas/enterDefaultCommandLineOptions.m +++ b/goil/build/libpm/cocoa_objc_galgas/enterDefaultCommandLineOptions.m @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,12 +14,12 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import "enterDefaultCommandLineOptions.h" #import "OC_GGS_CommandLineOption.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void enterDefaultCommandLineOptions (NSMutableArray * ioBoolOptionArray, NSMutableArray * ioUIntOptionArray, @@ -145,4 +145,4 @@ void enterDefaultCommandLineOptions (NSMutableArray * ioBoolOptionArray, [ioStringOptionArray addObject:option] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_utilities/PMCancelButtonForPanel.h b/goil/build/libpm/cocoa_utilities/PMCancelButtonForPanel.h index 8786de556..d7b7bc9ea 100644 --- a/goil/build/libpm/cocoa_utilities/PMCancelButtonForPanel.h +++ b/goil/build/libpm/cocoa_utilities/PMCancelButtonForPanel.h @@ -4,14 +4,14 @@ // // Created by Pierre Molinaro on 06/03/05. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @interface PMCancelButtonForPanel : NSButton @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_utilities/PMCancelButtonForPanel.m b/goil/build/libpm/cocoa_utilities/PMCancelButtonForPanel.m index 52a7522db..fa4c25ebc 100644 --- a/goil/build/libpm/cocoa_utilities/PMCancelButtonForPanel.m +++ b/goil/build/libpm/cocoa_utilities/PMCancelButtonForPanel.m @@ -4,11 +4,11 @@ // // Created by Pierre Molinaro on 06/03/05. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import "PMCancelButtonForPanel.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @implementation PMCancelButtonForPanel @@ -23,4 +23,4 @@ - (BOOL) sendAction:(SEL)theAction to:(id)theTarget { @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_utilities/PMOkButtonForPanel.h b/goil/build/libpm/cocoa_utilities/PMOkButtonForPanel.h index c3f38eade..b6941acd4 100644 --- a/goil/build/libpm/cocoa_utilities/PMOkButtonForPanel.h +++ b/goil/build/libpm/cocoa_utilities/PMOkButtonForPanel.h @@ -4,14 +4,14 @@ // // Created by Pierre Molinaro on 06/03/05. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @interface PMOkButtonForPanel : NSButton @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_utilities/PMOkButtonForPanel.m b/goil/build/libpm/cocoa_utilities/PMOkButtonForPanel.m index cc5233866..b037c9725 100644 --- a/goil/build/libpm/cocoa_utilities/PMOkButtonForPanel.m +++ b/goil/build/libpm/cocoa_utilities/PMOkButtonForPanel.m @@ -4,11 +4,11 @@ // // Created by Pierre Molinaro on 06/03/05. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import "PMOkButtonForPanel.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @implementation PMOkButtonForPanel @@ -22,7 +22,7 @@ - (void) awakeFromNib { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - (BOOL) sendAction:(SEL)theAction to:(id)theTarget { NSWindow * myWindow = [self window] ; @@ -35,4 +35,4 @@ - (BOOL) sendAction:(SEL)theAction to:(id)theTarget { @end -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/cocoa_utilities/main.m b/goil/build/libpm/cocoa_utilities/main.m index d454d48b7..bcd66e4ea 100644 --- a/goil/build/libpm/cocoa_utilities/main.m +++ b/goil/build/libpm/cocoa_utilities/main.m @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // This file is part of libpm library // @@ -14,14 +14,14 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- int main (int argc, const char * argv []) { return NSApplicationMain (argc, argv) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/command_line_interface/C_BoolCommandLineOption.cpp b/goil/build/libpm/command_line_interface/C_BoolCommandLineOption.cpp index de22bd594..01a70b70d 100644 --- a/goil/build/libpm/command_line_interface/C_BoolCommandLineOption.cpp +++ b/goil/build/libpm/command_line_interface/C_BoolCommandLineOption.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Generic Boolean Command Line Interface Option // @@ -16,42 +16,48 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "C_BoolCommandLineOption.h" -#include "String-class.h" +#include "command_line_interface/C_BoolCommandLineOption.h" +#include "strings/C_String.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static C_BoolCommandLineOption * gFirstBoolCommand ; +static C_BoolCommandLineOption * gLastBoolCommand ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_BoolCommandLineOption::C_BoolCommandLineOption (const String & inDomainName, - const String & inIdentifier, +C_BoolCommandLineOption::C_BoolCommandLineOption (const char * inDomainName, + const char * inIdentifier, const char inChar, - const String & inString, - const String & inComment, + const char * inString, + const char * inComment, const bool inVisibleInGalgas) : C_CommandLineOption (inDomainName, inIdentifier, inChar, inString, inComment), -mNext (gFirstBoolCommand), +mNext (nullptr), mValue (false), mVisibleInGalgas (inVisibleInGalgas) { - gFirstBoolCommand = this ; + if (nullptr == gFirstBoolCommand) { + gFirstBoolCommand = this ; + }else{ + gLastBoolCommand->mNext = this ; + } + gLastBoolCommand = this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_BoolCommandLineOption::setBoolOptionForCommandChar (const utf32 inCommandChar, +void C_BoolCommandLineOption::setBoolOptionForCommandChar (const char inCommandChar, bool & outFound) { outFound = false ; C_BoolCommandLineOption * p = gFirstBoolCommand ; while ((p != nullptr) && ! outFound) { - if (uint32_t (p->mCommandChar) == UNICODE_VALUE (inCommandChar)) { + if (p->mCommandChar == inCommandChar) { outFound = true ; p->mValue = true ; } @@ -59,18 +65,18 @@ void C_BoolCommandLineOption::setBoolOptionForCommandChar (const utf32 inCommand } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_BoolCommandLineOption::setBoolOptionForCommandString (const String & inCommandString, +void C_BoolCommandLineOption::setBoolOptionForCommandString (const char * inCommandString, bool & outFound, bool & outCocoaOutput) { - outFound = inCommandString == "cocoa" ; + outFound = strcmp (inCommandString, "cocoa") == 0 ; if (outFound) { outCocoaOutput = true ; } C_BoolCommandLineOption * p = gFirstBoolCommand ; while ((p != nullptr) && ! outFound) { - if (p->mCommandString == inCommandString) { + if (strcmp (p->mCommandString, inCommandString) == 0) { outFound = true ; p->mValue = true ; } @@ -78,7 +84,7 @@ void C_BoolCommandLineOption::setBoolOptionForCommandString (const String & inCo } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_BoolCommandLineOption::printUsageOfBoolOptions (void) { C_BoolCommandLineOption * p = gFirstBoolCommand ; @@ -87,44 +93,41 @@ void C_BoolCommandLineOption::printUsageOfBoolOptions (void) { if (c != '\0') { printf (" [-%c]", c) ; } - if (p->mCommandString.length () > 0) { - printf (" [--%s]", p->mCommandString.cString ()) ; + const char * s = p->mCommandString ; + if (s [0] != 0) { + printf (" [--%s]", s) ; } p = p->mNext ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_BoolCommandLineOption::printBoolOptions (void) { C_BoolCommandLineOption * p = gFirstBoolCommand ; while (p != nullptr) { if (p->mCommandChar != '\0') { - gCout.setForeColor (kBlueForeColor) ; - gCout.setTextAttribute (kBoldTextAttribute) ; - gCout.appendCString ("-") ; - gCout.appendASCIIChar (p->mCommandChar) ; - gCout.setTextAttribute (kAllAttributesOff) ; - gCout.appendNewLine () ; + co.setForeColor (kBlueForeColor) ; + co.setTextAttribute (kBoldTextAttribute) ; + co << "-" << cStringWithCharacter (p->mCommandChar) ; + co.setTextAttribute (kAllAttributesOff) ; + co << "\n" ; } - if (p->mCommandString.length () > 0) { - gCout.setForeColor (kBlueForeColor) ; - gCout.setTextAttribute (kBoldTextAttribute) ; - gCout.appendCString ("--") ; - gCout.appendString (p->mCommandString) ; - gCout.setTextAttribute (kAllAttributesOff) ; - gCout.appendNewLine () ; + if (p->mCommandString [0] != '\0') { + co.setForeColor (kBlueForeColor) ; + co.setTextAttribute (kBoldTextAttribute) ; + co << "--" << p->mCommandString ; + co.setTextAttribute (kAllAttributesOff) ; + co << "\n" ; } - gCout.appendCString (" ") ; - gCout.appendString (p->mComment) ; - gCout.appendNewLine () ; + co << " " << p->mComment << "\n" ; p = p->mNext ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_BoolCommandLineOption::getBoolOptionNameList (TC_UniqueArray & outArray) { +void C_BoolCommandLineOption::getBoolOptionNameList (TC_UniqueArray & outArray) { C_BoolCommandLineOption * p = gFirstBoolCommand ; while (p != nullptr) { if (p->mVisibleInGalgas) { @@ -135,10 +138,10 @@ void C_BoolCommandLineOption::getBoolOptionNameList (TC_UniqueArray & o } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -utf32 C_BoolCommandLineOption::getBoolOptionInvocationLetter (const String & inDomainName, - const String & inIdentifier) { +utf32 C_BoolCommandLineOption::getBoolOptionInvocationLetter (const C_String & inDomainName, + const C_String & inIdentifier) { utf32 result = TO_UNICODE (0) ; C_BoolCommandLineOption * p = gFirstBoolCommand ; bool found = false ; @@ -150,11 +153,11 @@ utf32 C_BoolCommandLineOption::getBoolOptionInvocationLetter (const String & inD return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String C_BoolCommandLineOption::getBoolOptionInvocationString (const String & inDomainName, - const String & inIdentifier) { - String result ; +C_String C_BoolCommandLineOption::getBoolOptionInvocationString (const C_String & inDomainName, + const C_String & inIdentifier) { + C_String result ; C_BoolCommandLineOption * p = gFirstBoolCommand ; bool found = false ; while ((p != nullptr) && not found) { @@ -165,11 +168,11 @@ String C_BoolCommandLineOption::getBoolOptionInvocationString (const String & in return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String C_BoolCommandLineOption::getBoolOptionCommentString (const String & inDomainName, - const String & inIdentifier) { - String result ; +C_String C_BoolCommandLineOption::getBoolOptionCommentString (const C_String & inDomainName, + const C_String & inIdentifier) { + C_String result ; C_BoolCommandLineOption * p = gFirstBoolCommand ; bool found = false ; while ((p != nullptr) && not found) { @@ -180,10 +183,10 @@ String C_BoolCommandLineOption::getBoolOptionCommentString (const String & inDom return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool C_BoolCommandLineOption::getBoolOptionValue (const String & inDomainName, - const String & inIdentifier) { +bool C_BoolCommandLineOption::getBoolOptionValue (const C_String & inDomainName, + const C_String & inIdentifier) { bool result = false ; C_BoolCommandLineOption * p = gFirstBoolCommand ; bool found = false ; @@ -195,10 +198,10 @@ bool C_BoolCommandLineOption::getBoolOptionValue (const String & inDomainName, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_BoolCommandLineOption::setBoolOptionValue (const String & inDomainName, - const String & inIdentifier, +void C_BoolCommandLineOption::setBoolOptionValue (const C_String & inDomainName, + const C_String & inIdentifier, const bool inValue) { C_BoolCommandLineOption * p = gFirstBoolCommand ; bool found = false ; @@ -211,4 +214,4 @@ void C_BoolCommandLineOption::setBoolOptionValue (const String & inDomainName, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/command_line_interface/C_BoolCommandLineOption.h b/goil/build/libpm/command_line_interface/C_BoolCommandLineOption.h index 660e39ba4..6e035f6c5 100644 --- a/goil/build/libpm/command_line_interface/C_BoolCommandLineOption.h +++ b/goil/build/libpm/command_line_interface/C_BoolCommandLineOption.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Generic Boolean Command Line Interface Option // @@ -16,30 +16,30 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "C_CommandLineOption.h" -#include "M_machine.h" -#include "String-class.h" +#include "utilities/M_machine.h" +#include "strings/C_String.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class C_BoolCommandLineOption final : public C_CommandLineOption { //--- Constructor - public: C_BoolCommandLineOption (const String & inDomainName, - const String & inIdentifier, - const char inChar, - const String & inString, - const String & inComment, - const bool inVisibleInGalgas = true) ; + public: C_BoolCommandLineOption (const char * inDomainName, + const char * inIdentifier, + const char inChar, + const char * inString, + const char * inComment, + const bool inVisibleInGalgas = true) ; //--- No Copy - private: C_BoolCommandLineOption (const C_BoolCommandLineOption &) = delete ; - private: C_BoolCommandLineOption & operator = (const C_BoolCommandLineOption &) = delete ; + private: C_BoolCommandLineOption (const C_BoolCommandLineOption &) ; + private: C_BoolCommandLineOption & operator = (const C_BoolCommandLineOption &) ; //--- Attributes private: C_BoolCommandLineOption * mNext ; @@ -48,33 +48,32 @@ class C_BoolCommandLineOption final : public C_CommandLineOption { public: const bool mVisibleInGalgas ; //--- Static methods - public: static void setBoolOptionForCommandChar (const utf32 inCommandChar, - bool & outFound) ; - - public: static void setBoolOptionForCommandString (const String & inCommandString, - bool & outFound, - bool & outCocoaOutput) ; + public: static void setBoolOptionForCommandChar (const char inCommandChar, + bool & outFound) ; + public: static void setBoolOptionForCommandString (const char * inCommandString, + bool & outFound, + bool & outCocoaOutput) ; public: static void printUsageOfBoolOptions (void) ; public: static void printBoolOptions (void) ; //--- Option introspection - public: static void getBoolOptionNameList (TC_UniqueArray & outArray) ; + public: static void getBoolOptionNameList (TC_UniqueArray & outArray) ; - public: static utf32 getBoolOptionInvocationLetter (const String & inDomainName, - const String & inIdentifier) ; + public: static utf32 getBoolOptionInvocationLetter (const C_String & inDomainName, + const C_String & inIdentifier) ; - public: static String getBoolOptionInvocationString (const String & inDomainName, - const String & inIdentifier) ; + public: static C_String getBoolOptionInvocationString (const C_String & inDomainName, + const C_String & inIdentifier) ; - public: static String getBoolOptionCommentString (const String & inDomainName, - const String & inIdentifier) ; + public: static C_String getBoolOptionCommentString (const C_String & inDomainName, + const C_String & inIdentifier) ; - public: static bool getBoolOptionValue (const String & inDomainName, - const String & inIdentifier) ; + public: static bool getBoolOptionValue (const C_String & inDomainName, + const C_String & inIdentifier) ; - public: static void setBoolOptionValue (const String & inDomainName, - const String & inIdentifier, - const bool inValue) ; + public: static void setBoolOptionValue (const C_String & inDomainName, + const C_String & inIdentifier, + const bool inValue) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/command_line_interface/C_CommandLineOption.cpp b/goil/build/libpm/command_line_interface/C_CommandLineOption.cpp index b1ec2fb2c..627c59203 100644 --- a/goil/build/libpm/command_line_interface/C_CommandLineOption.cpp +++ b/goil/build/libpm/command_line_interface/C_CommandLineOption.cpp @@ -1,10 +1,10 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Generic Command Line Interface Option // // This file is part of libpm library // -// Copyright (C) 2009, ..., 2024 Pierre Molinaro. +// Copyright (C) 2009, ..., 2010 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -16,17 +16,17 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "C_CommandLineOption.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_CommandLineOption::C_CommandLineOption (const String & inDomainName, - const String & inIdentifier, +C_CommandLineOption::C_CommandLineOption (const char * inDomainName, + const char * inIdentifier, const char inChar, - const String & inString, - const String & inComment) : + const char * inString, + const char * inComment) : mDomainName (inDomainName), mIdentifier (inIdentifier), mCommandChar (inChar), @@ -34,9 +34,9 @@ mCommandString (inString), mComment (inComment) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_CommandLineOption::~C_CommandLineOption (void) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/command_line_interface/C_CommandLineOption.h b/goil/build/libpm/command_line_interface/C_CommandLineOption.h index f089299b3..fe59e64e2 100644 --- a/goil/build/libpm/command_line_interface/C_CommandLineOption.h +++ b/goil/build/libpm/command_line_interface/C_CommandLineOption.h @@ -1,10 +1,10 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Generic Command Line Interface Option // // This file is part of libpm library // -// Copyright (C) 2009, ..., 2024 Pierre Molinaro. +// Copyright (C) 2009, ..., 2021 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -16,43 +16,43 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "M_SourceLocation.h" -#include "String-class.h" +#include "utilities/M_SourceLocation.h" +#include "strings/C_String.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class C_CommandLineOption { //--- Constructor - public: C_CommandLineOption (const String & inDomainName, - const String & inIdentifier, - const char inChar, - const String & inString, - const String & inComment) ; + public: C_CommandLineOption (const char * inDomainName, + const char * inIdentifier, + const char inChar, + const char * inString, + const char * inComment) ; //--- Virtual destructor public: virtual ~ C_CommandLineOption (void) ; //--- No Copy - private: C_CommandLineOption (const C_CommandLineOption &) = delete ; - private: C_CommandLineOption & operator = (const C_CommandLineOption &) = delete ; + private: C_CommandLineOption (const C_CommandLineOption &) ; + private: C_CommandLineOption & operator = (const C_CommandLineOption &) ; //--- Attributes - public: const String mDomainName ; - public: const String mIdentifier ; + public: const char * const mDomainName ; + public: const char * const mIdentifier ; public: const char mCommandChar ; - public: const String mCommandString ; - public: const String mComment ; + public: const char * const mCommandString ; + public: const char * const mComment ; //--- Accessing option parameters from GALGAS public: inline char readProperty_char (void) const { return mCommandChar ; } - public: inline String readProperty_string (void) const { return mCommandString ; } - public: inline String readProperty_comment (void) const { return mComment ; } + public: inline C_String readProperty_string (void) const { return mCommandString ; } + public: inline C_String readProperty_comment (void) const { return mComment ; } } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/command_line_interface/C_StringCommandLineOption.cpp b/goil/build/libpm/command_line_interface/C_StringCommandLineOption.cpp index d5fa1ca8b..8ba92281c 100644 --- a/goil/build/libpm/command_line_interface/C_StringCommandLineOption.cpp +++ b/goil/build/libpm/command_line_interface/C_StringCommandLineOption.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Generic String Command Line Interface Option // @@ -16,28 +16,28 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "C_StringCommandLineOption.h" -#include "PrologueEpilogue.h" +#include "command_line_interface/C_StringCommandLineOption.h" +#include "utilities/C_PrologueEpilogue.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static C_StringCommandLineOption * gFirstStringOption ; static C_StringCommandLineOption * gLastStringOption ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_StringCommandLineOption::C_StringCommandLineOption (const String & inDomainName, - const String & inIdentifier, +C_StringCommandLineOption::C_StringCommandLineOption (const char * inDomainName, + const char * inIdentifier, const char inChar, - const String & inString, - const String & inComment, - const String & inDefaultValue) : + const char * inString, + const char * inComment, + const char * inDefaultValue) : C_CommandLineOption (inDomainName, inIdentifier, inChar, inString, inComment), mNext (nullptr), mValue (inDefaultValue), @@ -50,39 +50,39 @@ mDefaultValue (inDefaultValue) { gLastStringOption = this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_StringCommandLineOption::setStringOptionForCommandChar (const String & inCommandString, +void C_StringCommandLineOption::setStringOptionForCommandChar (const char * inCommandString, bool & outFound, bool & outCommandLineOptionStringIsValid) { - outCommandLineOptionStringIsValid = (inCommandString.length () > 2) && (inCommandString.charAtIndex (1 COMMA_HERE) == '=') ; + outCommandLineOptionStringIsValid = (strlen (inCommandString) > 2) && (inCommandString [1] == '=') ; outFound = false ; if (outCommandLineOptionStringIsValid) { C_StringCommandLineOption * p = gFirstStringOption ; while ((p != nullptr) && ! outFound) { - outFound = UNICODE_VALUE (inCommandString.charAtIndex (0 COMMA_HERE)) == uint32_t (p->mCommandChar) ; + outFound = inCommandString [0] == p->mCommandChar ; if (outFound) { - p->mValue.removeAllKeepingCapacity () ; - p->mValue.appendString (inCommandString.subStringFromIndex (2)) ; + p->mValue.setLengthToZero () ; + p->mValue << & inCommandString [2] ; } p = p->mNext ; } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_StringCommandLineOption::setStringOptionForCommandString (const String & inCommandString, +void C_StringCommandLineOption::setStringOptionForCommandString (const char * inCommandString, bool & outFound, bool & outCommandLineOptionStringIsValid) { - const int32_t optionLength = inCommandString.length () ; + const uint32_t optionLength = (uint32_t) (strlen (inCommandString) & UINT32_MAX) ; outCommandLineOptionStringIsValid = optionLength > 4 ; //--- Find '=' character - int32_t equalSignIndex = 0 ; + uint32_t equalSignIndex = 0 ; if (outCommandLineOptionStringIsValid) { outFound = false ; while ((equalSignIndex < optionLength) && outCommandLineOptionStringIsValid && ! outFound) { - outFound = UNICODE_VALUE (inCommandString.charAtIndex (equalSignIndex COMMA_HERE)) == '=' ; + outFound = inCommandString [equalSignIndex] == '=' ; if (! outFound) { equalSignIndex ++ ; } @@ -90,22 +90,22 @@ void C_StringCommandLineOption::setStringOptionForCommandString (const String & outCommandLineOptionStringIsValid = outFound && (equalSignIndex > 0) && (equalSignIndex < (optionLength - 1)) ; } //--- Search option - const String command = inCommandString.leftSubString (equalSignIndex) ; outFound = false ; if (outCommandLineOptionStringIsValid) { C_StringCommandLineOption * p = gFirstStringOption ; while ((p != nullptr) && ! outFound) { - outFound = p->mCommandString == command ; + outFound = (strlen (p->mCommandString) == equalSignIndex) && + (strncmp (p->mCommandString, inCommandString, equalSignIndex) == 0) ; if (outFound) { - p->mValue.removeAllKeepingCapacity () ; - p->mValue.appendString (inCommandString.subStringFromIndex (p->mCommandString.length () + 1)) ; + p->mValue.setLengthToZero () ; + p->mValue << & inCommandString [strlen (p->mCommandString) + 1] ; } p = p->mNext ; } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_StringCommandLineOption::printUsageOfStringOptions (void) { C_StringCommandLineOption * p = gFirstStringOption ; @@ -114,62 +114,57 @@ void C_StringCommandLineOption::printUsageOfStringOptions (void) { if (c != '\0') { printf (" [-%c=string]", c) ; } - if (p->mCommandString.length () > 0) { - printf (" [--%s=string]", p->mCommandString.cString ()) ; + const char * s = p->mCommandString ; + if (s [0] != 0) { + printf (" [--%s=string]", s) ; } p = p->mNext ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_StringCommandLineOption::printStringOptions (void) { C_StringCommandLineOption * p = gFirstStringOption ; while (p != nullptr) { if (p->mCommandChar != '\0') { - gCout.setForeColor (kBlueForeColor) ; - gCout.setTextAttribute (kBoldTextAttribute) ; - gCout.appendCString ("-") ; - gCout.appendASCIIChar (p->mCommandChar) ; - gCout.appendCString ("=string") ; - gCout.setTextAttribute (kAllAttributesOff) ; - gCout.appendNewLine () ; + co.setForeColor (kBlueForeColor) ; + co.setTextAttribute (kBoldTextAttribute) ; + co << "-" << cStringWithCharacter (p->mCommandChar) << "=string" ; + co.setTextAttribute (kAllAttributesOff) ; + co << "\n" ; } - if (p->mCommandString.length () > 0) { - gCout.setForeColor (kBlueForeColor) ; - gCout.setTextAttribute (kBoldTextAttribute) ; - gCout.appendCString ("--") ; - gCout.appendString (p->mCommandString) ; - gCout.appendCString ("=string") ; - gCout.setTextAttribute (kAllAttributesOff) ; - gCout.appendNewLine () ; + if (p->mCommandString [0] != '\0') { + co.setForeColor (kBlueForeColor) ; + co.setTextAttribute (kBoldTextAttribute) ; + co << "--" << p->mCommandString << "=string" ; + co.setTextAttribute (kAllAttributesOff) ; + co << "\n" ; } - gCout.appendCString (" ") ; - gCout.appendString (p->mComment) ; - gCout.appendCString (" (default value: '") ; - gCout.appendString (p->mDefaultValue) ; - gCout.appendCString ("')\n") ; + co << " " << p->mComment << " (default value: '" + << p->mDefaultValue + << "')\n" ; p = p->mNext ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_StringCommandLineOption::releaseStrings (void) { C_StringCommandLineOption * p = gFirstStringOption ; while (p != nullptr) { - p->mValue.removeAll () ; + p->mValue.releaseString () ; p = p->mNext ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -PrologueEpilogue gReleaseString (nullptr, C_StringCommandLineOption::releaseStrings) ; +C_PrologueEpilogue gReleaseString (nullptr, C_StringCommandLineOption::releaseStrings) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_StringCommandLineOption::getStringOptionNameList (TC_UniqueArray & outArray) { +void C_StringCommandLineOption::getStringOptionNameList (TC_UniqueArray & outArray) { C_StringCommandLineOption * p = gFirstStringOption ; while (p != nullptr) { outArray.appendObject (p->mDomainName) ; @@ -178,10 +173,10 @@ void C_StringCommandLineOption::getStringOptionNameList (TC_UniqueArray } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -utf32 C_StringCommandLineOption::getStringOptionInvocationLetter (const String & inDomainName, - const String & inIdentifier) { +utf32 C_StringCommandLineOption::getStringOptionInvocationLetter (const C_String & inDomainName, + const C_String & inIdentifier) { utf32 result = TO_UNICODE (0) ; C_StringCommandLineOption * p = gFirstStringOption ; bool found = false ; @@ -193,11 +188,11 @@ utf32 C_StringCommandLineOption::getStringOptionInvocationLetter (const String & return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String C_StringCommandLineOption::getStringOptionInvocationString (const String & inDomainName, - const String & inIdentifier) { - String result ; +C_String C_StringCommandLineOption::getStringOptionInvocationString (const C_String & inDomainName, + const C_String & inIdentifier) { + C_String result ; C_StringCommandLineOption * p = gFirstStringOption ; bool found = false ; while ((p != nullptr) && not found) { @@ -208,11 +203,11 @@ String C_StringCommandLineOption::getStringOptionInvocationString (const String return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String C_StringCommandLineOption::getStringOptionCommentString (const String & inDomainName, - const String & inIdentifier) { - String result ; +C_String C_StringCommandLineOption::getStringOptionCommentString (const C_String & inDomainName, + const C_String & inIdentifier) { + C_String result ; C_StringCommandLineOption * p = gFirstStringOption ; bool found = false ; while ((p != nullptr) && not found) { @@ -223,11 +218,11 @@ String C_StringCommandLineOption::getStringOptionCommentString (const String & i return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String C_StringCommandLineOption::getStringOptionValue (const String & inDomainName, - const String & inIdentifier) { - String result ; +C_String C_StringCommandLineOption::getStringOptionValue (const C_String & inDomainName, + const C_String & inIdentifier) { + C_String result ; C_StringCommandLineOption * p = gFirstStringOption ; bool found = false ; while ((p != nullptr) && not found) { @@ -238,11 +233,11 @@ String C_StringCommandLineOption::getStringOptionValue (const String & inDomainN return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_StringCommandLineOption::setStringOptionValue (const String & inDomainName, - const String & inIdentifier, - const String & inValue) { +void C_StringCommandLineOption::setStringOptionValue (const C_String & inDomainName, + const C_String & inIdentifier, + const C_String & inValue) { C_StringCommandLineOption * p = gFirstStringOption ; bool found = false ; while ((p != nullptr) && not found) { @@ -254,4 +249,4 @@ void C_StringCommandLineOption::setStringOptionValue (const String & inDomainNam } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/command_line_interface/C_StringCommandLineOption.h b/goil/build/libpm/command_line_interface/C_StringCommandLineOption.h index 8b29e3f1f..d17272ea1 100644 --- a/goil/build/libpm/command_line_interface/C_StringCommandLineOption.h +++ b/goil/build/libpm/command_line_interface/C_StringCommandLineOption.h @@ -1,10 +1,10 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Generic String Command Line Interface Option // // This file is part of libpm library // -// Copyright (C) 2009, ..., 2024 Pierre Molinaro. +// Copyright (C) 2009, ..., 2023 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -16,67 +16,65 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "C_CommandLineOption.h" -#include "String-class.h" +#include "strings/C_String.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class C_StringCommandLineOption final : public C_CommandLineOption { //--- Constructor - public: C_StringCommandLineOption (const String & inDomainName, - const String & inIdentifier, + public: C_StringCommandLineOption (const char * inDomainName, + const char * inIdentifier, const char inChar, - const String & inString, - const String & inComment, - const String & inDefaultValue) ; + const char * inString, + const char * inComment, + const char * inDefaultValue) ; //--- No Copy - private: C_StringCommandLineOption (const C_StringCommandLineOption &) = delete ; - private: C_StringCommandLineOption & operator = (const C_StringCommandLineOption &) = delete ; + private: C_StringCommandLineOption (const C_StringCommandLineOption &) ; + private: C_StringCommandLineOption & operator = (const C_StringCommandLineOption &) ; //--- Attributes private: C_StringCommandLineOption * mNext ; - public: String mValue ; - public: inline String readProperty_value (void) const { return mValue ; } - public: const String mDefaultValue ; + public: C_String mValue ; + public: inline C_String readProperty_value (void) const { return mValue ; } + public: const char * mDefaultValue ; //--- Static methods - public: static void setStringOptionForCommandChar (const String & inCommandCommandLineOptionString, - bool & outFound, - bool & outCommandLineOptionStringIsValid) ; - - public: static void setStringOptionForCommandString (const String & inCommandCommandLineOptionString, - bool & outFound, - bool & outCommandLineOptionStringIsValid) ; - + public: static void setStringOptionForCommandChar (const char * inCommandCommandLineOptionString, + bool & outFound, + bool & outCommandLineOptionStringIsValid) ; + public: static void setStringOptionForCommandString (const char * inCommandCommandLineOptionString, + bool & outFound, + bool & outCommandLineOptionStringIsValid) ; public: static void printUsageOfStringOptions (void) ; public: static void printStringOptions (void) ; public: static void releaseStrings (void) ; // Called at the end of main routine //--- Option introspection - public: static void getStringOptionNameList (TC_UniqueArray & outArray) ; + public: static void getStringOptionNameList (TC_UniqueArray & outArray) ; - public: static utf32 getStringOptionInvocationLetter (const String & inDomainName, - const String & inIdentifier) ; + public: static utf32 getStringOptionInvocationLetter (const C_String & inDomainName, + const C_String & inIdentifier) ; - public: static String getStringOptionInvocationString (const String & inDomainName, - const String & inIdentifier) ; + public: static C_String getStringOptionInvocationString (const C_String & inDomainName, + const C_String & inIdentifier) ; - public: static String getStringOptionCommentString (const String & inDomainName, - const String & inIdentifier) ; + public: static C_String getStringOptionCommentString (const C_String & inDomainName, + const C_String & inIdentifier) ; - public: static String getStringOptionValue (const String & inDomainName, - const String & inIdentifier) ; + public: static C_String getStringOptionValue (const C_String & inDomainName, + const C_String & inIdentifier) ; - public: static void setStringOptionValue (const String & inDomainName, - const String & inIdentifier, - const String & inValue) ; + public: static void setStringOptionValue (const C_String & inDomainName, + const C_String & inIdentifier, + const C_String & inValue) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/command_line_interface/C_StringListCommandLineOption.cpp b/goil/build/libpm/command_line_interface/C_StringListCommandLineOption.cpp index 6e9e5881d..d7d848ab0 100644 --- a/goil/build/libpm/command_line_interface/C_StringListCommandLineOption.cpp +++ b/goil/build/libpm/command_line_interface/C_StringListCommandLineOption.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Generic String Command Line Interface Option // @@ -16,27 +16,27 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "C_StringListCommandLineOption.h" -#include "PrologueEpilogue.h" +#include "command_line_interface/C_StringListCommandLineOption.h" +#include "utilities/C_PrologueEpilogue.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static C_StringListCommandLineOption * gFirstStringListOption ; static C_StringListCommandLineOption * gLastStringListOption ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_StringListCommandLineOption::C_StringListCommandLineOption (const String & inDomainName, - const String & inIdentifier, +C_StringListCommandLineOption::C_StringListCommandLineOption (const char * inDomainName, + const char * inIdentifier, const char inChar, - const String & inString, - const String & inComment) : + const char * inString, + const char * inComment) : C_CommandLineOption (inDomainName, inIdentifier, inChar, inString, inComment), mNext (nullptr), mValue () { @@ -48,38 +48,38 @@ mValue () { gLastStringListOption = this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_StringListCommandLineOption::setStringListOptionForCommandChar (const String & inCommandString, +void C_StringListCommandLineOption::setStringListOptionForCommandChar (const char * inCommandString, bool & outFound, bool & outCommandLineOptionStringIsValid) { - outCommandLineOptionStringIsValid = (inCommandString.length () > 2) && (inCommandString.charAtIndex (1 COMMA_HERE) == '=') ; + outCommandLineOptionStringIsValid = (strlen (inCommandString) > 2) && (inCommandString [1] == '=') ; outFound = false ; if (outCommandLineOptionStringIsValid) { C_StringListCommandLineOption * p = gFirstStringListOption ; while ((p != nullptr) && ! outFound) { - outFound = UNICODE_VALUE (inCommandString.charAtIndex (0 COMMA_HERE)) == uint32_t (p->mCommandChar) ; + outFound = inCommandString [0] == p->mCommandChar ; if (outFound) { - p->mValue.appendObject (inCommandString.subStringFromIndex (2)) ; + p->mValue.appendObject (& inCommandString [2]) ; } p = p->mNext ; } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_StringListCommandLineOption::setStringListOptionForCommandString (const String & inCommandString, +void C_StringListCommandLineOption::setStringListOptionForCommandString (const char * inCommandString, bool & outFound, bool & outCommandLineOptionStringIsValid) { - const int32_t optionLength = inCommandString.length () ; + const uint32_t optionLength = (uint32_t) (strlen (inCommandString) & UINT32_MAX) ; outCommandLineOptionStringIsValid = optionLength > 4 ; //--- Find '=' character - int32_t equalSignIndex = 0 ; + uint32_t equalSignIndex = 0 ; if (outCommandLineOptionStringIsValid) { outFound = false ; while ((equalSignIndex < optionLength) && outCommandLineOptionStringIsValid && ! outFound) { - outFound = UNICODE_VALUE (inCommandString.charAtIndex (equalSignIndex COMMA_HERE)) == '=' ; + outFound = inCommandString [equalSignIndex] == '=' ; if (! outFound) { equalSignIndex ++ ; } @@ -87,22 +87,21 @@ void C_StringListCommandLineOption::setStringListOptionForCommandString (const S outCommandLineOptionStringIsValid = outFound && (equalSignIndex > 0) && (equalSignIndex < (optionLength - 1)) ; } //--- Search option - const String command = inCommandString.leftSubString (equalSignIndex) ; outFound = false ; if (outCommandLineOptionStringIsValid) { C_StringListCommandLineOption * p = gFirstStringListOption ; while ((p != nullptr) && ! outFound) { - outFound = p->mCommandString == command ; + outFound = (strlen (p->mCommandString) == equalSignIndex) && + (strncmp (p->mCommandString, inCommandString, equalSignIndex) == 0) ; if (outFound) { - // p->mValue.appendObject (String (& inCommandString [p->mCommandString.length () + 1])) ; - p->mValue.appendObject (inCommandString.subStringFromIndex (p->mCommandString.length () + 1)) ; + p->mValue.appendObject (& inCommandString [strlen (p->mCommandString) + 1]) ; } p = p->mNext ; } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_StringListCommandLineOption::printUsageOfStringOptions (void) { C_StringListCommandLineOption * p = gFirstStringListOption ; @@ -111,14 +110,15 @@ void C_StringListCommandLineOption::printUsageOfStringOptions (void) { if (c != '\0') { printf (" [-%c=string]", c) ; } - if (p->mCommandString.length () > 0) { - printf (" [--%s=string]", p->mCommandString.cString ()) ; + const char * s = p->mCommandString ; + if (s [0] != 0) { + printf (" [--%s=string]", s) ; } p = p->mNext ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_StringListCommandLineOption::printStringOptions (void) { C_StringListCommandLineOption * p = gFirstStringListOption ; @@ -126,39 +126,33 @@ void C_StringListCommandLineOption::printStringOptions (void) { if (p->mCommandChar != '\0') { for (uint32_t i=0 ; i<2 ; i++) { if (i != 0) { - gCout.appendCString (" ") ; + co << " " ; } - gCout.setForeColor (kBlueForeColor) ; - gCout.setTextAttribute (kBoldTextAttribute) ; - gCout.appendCString ("-") ; - gCout.appendASCIIChar (p->mCommandChar) ; - gCout.appendCString ("=string") ; - gCout.setTextAttribute (kAllAttributesOff) ; + co.setForeColor (kBlueForeColor) ; + co.setTextAttribute (kBoldTextAttribute) ; + co << "-" << cStringWithCharacter (p->mCommandChar) << "=string" ; + co.setTextAttribute (kAllAttributesOff) ; } - gCout.appendCString (" ...\n") ; + co << " ...\n" ; } - if (p->mCommandString.length () > 0) { + if (p->mCommandString [0] != '\0') { for (uint32_t i=0 ; i<2 ; i++) { if (i != 0) { - gCout.appendCString (" ") ; + co << " " ; } - gCout.setForeColor (kBlueForeColor) ; - gCout.setTextAttribute (kBoldTextAttribute) ; - gCout.appendCString ("--") ; - gCout.appendString (p->mCommandString) ; - gCout.appendCString ("=string") ; - gCout.setTextAttribute (kAllAttributesOff) ; + co.setForeColor (kBlueForeColor) ; + co.setTextAttribute (kBoldTextAttribute) ; + co << "--" << p->mCommandString << "=string" ; + co.setTextAttribute (kAllAttributesOff) ; } - gCout.appendCString (" ...\n") ; + co << " ...\n" ; } - gCout.appendCString (" ") ; - gCout.appendString (p->mComment) ; - gCout.appendNewLine () ; + co << " " << p->mComment << "\n" ; p = p->mNext ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_StringListCommandLineOption::releaseStrings (void) { C_StringListCommandLineOption * p = gFirstStringListOption ; @@ -168,13 +162,13 @@ void C_StringListCommandLineOption::releaseStrings (void) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -PrologueEpilogue gReleaseStringList (nullptr, C_StringListCommandLineOption::releaseStrings) ; +C_PrologueEpilogue gReleaseStringList (nullptr, C_StringListCommandLineOption::releaseStrings) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_StringListCommandLineOption::getStringOptionNameList (TC_UniqueArray & outArray) { +void C_StringListCommandLineOption::getStringOptionNameList (TC_UniqueArray & outArray) { C_StringListCommandLineOption * p = gFirstStringListOption ; while (p != nullptr) { outArray.appendObject (p->mDomainName) ; @@ -183,49 +177,49 @@ void C_StringListCommandLineOption::getStringOptionNameList (TC_UniqueArray mDomainName)) && (inIdentifier == String (p->mIdentifier)) ; + found = (inDomainName == p->mDomainName) && (inIdentifier == p->mIdentifier) ; result = TO_UNICODE ((uint32_t) p->mCommandChar) ; p = p->mNext ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String C_StringListCommandLineOption::getStringOptionInvocationString (const String & inDomainName, - const String & inIdentifier) { - String result ; +C_String C_StringListCommandLineOption::getStringOptionInvocationString (const C_String & inDomainName, + const C_String & inIdentifier) { + C_String result ; C_StringListCommandLineOption * p = gFirstStringListOption ; bool found = false ; while ((p != nullptr) && not found) { - found = (inDomainName == String (p->mDomainName)) && (inIdentifier == String (p->mIdentifier)) ; + found = (inDomainName == p->mDomainName) && (inIdentifier == p->mIdentifier) ; result = p->mCommandString ; p = p->mNext ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String C_StringListCommandLineOption::getStringOptionCommentString (const String & inDomainName, - const String & inIdentifier) { - String result ; +C_String C_StringListCommandLineOption::getStringOptionCommentString (const C_String & inDomainName, + const C_String & inIdentifier) { + C_String result ; C_StringListCommandLineOption * p = gFirstStringListOption ; bool found = false ; while ((p != nullptr) && not found) { - found = (inDomainName == String (p->mDomainName)) && (inIdentifier == String (p->mIdentifier)) ; + found = (inDomainName == p->mDomainName) && (inIdentifier == p->mIdentifier) ; result = p->mComment ; p = p->mNext ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/command_line_interface/C_StringListCommandLineOption.h b/goil/build/libpm/command_line_interface/C_StringListCommandLineOption.h index 72376c414..ef3cfc765 100644 --- a/goil/build/libpm/command_line_interface/C_StringListCommandLineOption.h +++ b/goil/build/libpm/command_line_interface/C_StringListCommandLineOption.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Generic String list Command Line Interface Option // @@ -16,57 +16,56 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "C_CommandLineOption.h" -#include "String-class.h" +#include "strings/C_String.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class C_StringListCommandLineOption final : public C_CommandLineOption { //--- Constructor - public: C_StringListCommandLineOption (const String & inDomainName, - const String & inIdentifier, - const char inChar, - const String & inString, - const String & inComment) ; + public: C_StringListCommandLineOption (const char * inDomainName, + const char * inIdentifier, + const char inChar, + const char * inString, + const char * inComment) ; //--- No Copy - private: C_StringListCommandLineOption (const C_StringListCommandLineOption &) = delete ; - private: C_StringListCommandLineOption & operator = (const C_StringListCommandLineOption &) = delete ; + private: C_StringListCommandLineOption (const C_StringListCommandLineOption &) ; + private: C_StringListCommandLineOption & operator = (const C_StringListCommandLineOption &) ; //--- Attributes private: C_StringListCommandLineOption * mNext ; - public: TC_Array mValue ; - public: inline TC_Array readProperty_value (void) const { return mValue ; } + public: TC_Array mValue ; + public: inline TC_Array readProperty_value (void) const { return mValue ; } //--- Static methods - public: static void setStringListOptionForCommandChar (const String & inCommandCommandLineOptionString, - bool & outFound, - bool & outCommandLineOptionStringIsValid) ; - - public: static void setStringListOptionForCommandString (const String & inCommandCommandLineOptionString, - bool & outFound, - bool & outCommandLineOptionStringIsValid) ; + public: static void setStringListOptionForCommandChar (const char * inCommandCommandLineOptionString, + bool & outFound, + bool & outCommandLineOptionStringIsValid) ; + public: static void setStringListOptionForCommandString (const char * inCommandCommandLineOptionString, + bool & outFound, + bool & outCommandLineOptionStringIsValid) ; public: static void printUsageOfStringOptions (void) ; public: static void printStringOptions (void) ; public: static void releaseStrings (void) ; // Called at the end of main routine //--- Option introspection - public: static void getStringOptionNameList (TC_UniqueArray & outArray) ; + public: static void getStringOptionNameList (TC_UniqueArray & outArray) ; - public: static utf32 getStringOptionInvocationLetter (const String & inDomainName, - const String & inIdentifier) ; + public: static utf32 getStringOptionInvocationLetter (const C_String & inDomainName, + const C_String & inIdentifier) ; - public: static String getStringOptionInvocationString (const String & inDomainName, - const String & inIdentifier) ; + public: static C_String getStringOptionInvocationString (const C_String & inDomainName, + const C_String & inIdentifier) ; - public: static String getStringOptionCommentString (const String & inDomainName, - const String & inIdentifier) ; + public: static C_String getStringOptionCommentString (const C_String & inDomainName, + const C_String & inIdentifier) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/command_line_interface/C_UIntCommandLineOption.cpp b/goil/build/libpm/command_line_interface/C_UIntCommandLineOption.cpp index 3a715e8e2..cfdf698e0 100644 --- a/goil/build/libpm/command_line_interface/C_UIntCommandLineOption.cpp +++ b/goil/build/libpm/command_line_interface/C_UIntCommandLineOption.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Generic Unsigned Command Line Interface Option // @@ -16,27 +16,27 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "C_UIntCommandLineOption.h" -#include "String-class.h" +#include "command_line_interface/C_UIntCommandLineOption.h" +#include "strings/C_String.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static C_UIntCommandLineOption * gFirstIntOption ; static C_UIntCommandLineOption * gLastIntOption ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_UIntCommandLineOption::C_UIntCommandLineOption (const String & inDomainName, - const String & inIdentifier, +C_UIntCommandLineOption::C_UIntCommandLineOption (const char * inDomainName, + const char * inIdentifier, const char inChar, - const String & inString, - const String & inComment, + const char * inString, + const char * inComment, const uint32_t inDefaultValue) : C_CommandLineOption (inDomainName, inIdentifier, inChar, inString, inComment), mNext (nullptr), @@ -50,26 +50,25 @@ mDefaultValue (inDefaultValue) { gLastIntOption = this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_UIntCommandLineOption:: -setUIntOptionForCommandChar (const String & inCommandCommandLineOptionString, +setUIntOptionForCommandChar (const char * inCommandCommandLineOptionString, bool & outFound, bool & outCommandLineOptionStringIsValid) { - const int32_t optionLength = inCommandCommandLineOptionString.length () ; - outCommandLineOptionStringIsValid = (optionLength > 2) && (inCommandCommandLineOptionString.charAtIndex (1 COMMA_HERE) == '=') ; + const uint32_t optionLength = (uint32_t) (strlen (inCommandCommandLineOptionString) & UINT32_MAX) ; + outCommandLineOptionStringIsValid = (optionLength > 2) && (inCommandCommandLineOptionString [1] == '=') ; uint32_t optionValue = 0 ; - for (int32_t i=2 ; (i= '0') && (c <= '9') ; + for (uint32_t i=2 ; (i= '0') && (inCommandCommandLineOptionString [i] <= '9') ; optionValue *= 10 ; - optionValue += c - '0' ; + optionValue += (uint32_t) (inCommandCommandLineOptionString [i] - '0') ; } outFound = false ; C_UIntCommandLineOption * p = gFirstIntOption ; if (outCommandLineOptionStringIsValid) { while ((p != nullptr) && ! outFound) { - outFound = UNICODE_VALUE (inCommandCommandLineOptionString.charAtIndex (0 COMMA_HERE)) == uint32_t (p->mCommandChar) ; + outFound = inCommandCommandLineOptionString [0] == p->mCommandChar ; if (outFound) { p->mValue = optionValue ; } @@ -78,20 +77,20 @@ setUIntOptionForCommandChar (const String & inCommandCommandLineOptionString, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_UIntCommandLineOption:: -setUIntOptionForCommandString (const String & inCommandCommandLineOptionString, +setUIntOptionForCommandString (const char * inCommandCommandLineOptionString, bool & outFound, bool & outCommandLineOptionStringIsValid) { - const int32_t optionLength = inCommandCommandLineOptionString.length () ; + const uint32_t optionLength = (uint32_t) (strlen (inCommandCommandLineOptionString) & UINT32_MAX) ; outCommandLineOptionStringIsValid = optionLength > 2 ; //--- Find '=' character - int32_t equalSignIndex = 0 ; + uint32_t equalSignIndex = 0 ; if (outCommandLineOptionStringIsValid) { bool found = false ; while ((equalSignIndex < optionLength) && outCommandLineOptionStringIsValid && !found) { - found = inCommandCommandLineOptionString.charAtIndex (equalSignIndex COMMA_HERE) == '=' ; + found = inCommandCommandLineOptionString [equalSignIndex] == '=' ; if (! found) { equalSignIndex ++ ; } @@ -100,19 +99,18 @@ setUIntOptionForCommandString (const String & inCommandCommandLineOptionString, } //--- Compute option value uint32_t optionValue = 0 ; - for (int32_t i=equalSignIndex+1 ; (i= '0') && (c <= '9') ; + for (uint32_t i=equalSignIndex+1 ; (i= '0') && (inCommandCommandLineOptionString [i] <= '9') ; optionValue *= 10 ; - optionValue += uint32_t (c - '0') ; + optionValue += (uint32_t) (inCommandCommandLineOptionString [i] - '0') ; } //--- Search option outFound = false ; - const String command = inCommandCommandLineOptionString.leftSubString (equalSignIndex) ; if (outCommandLineOptionStringIsValid) { C_UIntCommandLineOption * p = gFirstIntOption ; while ((p != nullptr) && ! outFound) { - outFound = p->mCommandString == command ; + outFound = (strlen (p->mCommandString) == equalSignIndex) && + (strncmp (inCommandCommandLineOptionString, p->mCommandString, equalSignIndex) == 0) ; if (outFound) { p->mValue = optionValue ; } @@ -121,7 +119,7 @@ setUIntOptionForCommandString (const String & inCommandCommandLineOptionString, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_UIntCommandLineOption::printUsageOfUIntOptions (void) { C_UIntCommandLineOption * p = gFirstIntOption ; @@ -130,48 +128,43 @@ void C_UIntCommandLineOption::printUsageOfUIntOptions (void) { if (c != '\0') { printf (" [-%c=number]", c) ; } - if (p->mCommandString.length () > 0) { - printf (" [--%s=number]", p->mCommandString.cString ()) ; + const char * s = p->mCommandString ; + if (s [0] != 0) { + printf (" [--%s=number]", s) ; } p = p->mNext ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_UIntCommandLineOption::printUIntOptions (void) { C_UIntCommandLineOption * p = gFirstIntOption ; while (p != nullptr) { if (p->mCommandChar != '\0') { - gCout.setForeColor (kBlueForeColor) ; - gCout.setTextAttribute (kBoldTextAttribute) ; - gCout.appendCString ("-") ; - gCout.appendASCIIChar (p->mCommandChar) ; - gCout.appendCString ("=number") ; - gCout.setTextAttribute (kAllAttributesOff) ; - gCout.appendNewLine () ; + co.setForeColor (kBlueForeColor) ; + co.setTextAttribute (kBoldTextAttribute) ; + co << "-" << cStringWithCharacter (p->mCommandChar) << "=number" ; + co.setTextAttribute (kAllAttributesOff) ; + co << "\n" ; } - if (p->mCommandString.length () > 0) { - gCout.setForeColor (kBlueForeColor) ; - gCout.setTextAttribute (kBoldTextAttribute) ; - gCout.appendCString ("--") ; - gCout.appendString (p->mCommandString) ; - gCout.appendCString ("=number") ; - gCout.setTextAttribute (kAllAttributesOff) ; - gCout.appendNewLine () ; + if (p->mCommandString [0] != '\0') { + co.setForeColor (kBlueForeColor) ; + co.setTextAttribute (kBoldTextAttribute) ; + co << "--" << p->mCommandString << "=number" ; + co.setTextAttribute (kAllAttributesOff) ; + co << "\n" ; } - gCout.appendCString (" ") ; - gCout.appendString (p->mComment) ; - gCout.appendCString (" (default value: ") ; - gCout.appendUnsigned (p->mDefaultValue) ; - gCout.appendCString (")\n") ; + co << " " << p->mComment << " (default value: " + << cStringWithUnsigned (p->mDefaultValue) + << ")\n" ; p = p->mNext ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_UIntCommandLineOption::getUIntOptionNameList (TC_UniqueArray & outArray) { +void C_UIntCommandLineOption::getUIntOptionNameList (TC_UniqueArray & outArray) { C_UIntCommandLineOption * p = gFirstIntOption ; while (p != nullptr) { outArray.appendObject (p->mDomainName) ; @@ -180,10 +173,10 @@ void C_UIntCommandLineOption::getUIntOptionNameList (TC_UniqueArray & o } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -utf32 C_UIntCommandLineOption::getUIntOptionInvocationLetter (const String & inDomainName, - const String & inIdentifier) { +utf32 C_UIntCommandLineOption::getUIntOptionInvocationLetter (const C_String & inDomainName, + const C_String & inIdentifier) { utf32 result = TO_UNICODE (0) ; C_UIntCommandLineOption * p = gFirstIntOption ; bool found = false ; @@ -195,11 +188,11 @@ utf32 C_UIntCommandLineOption::getUIntOptionInvocationLetter (const String & inD return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String C_UIntCommandLineOption::getUIntOptionInvocationString (const String & inDomainName, - const String & inIdentifier) { - String result ; +C_String C_UIntCommandLineOption::getUIntOptionInvocationString (const C_String & inDomainName, + const C_String & inIdentifier) { + C_String result ; C_UIntCommandLineOption * p = gFirstIntOption ; bool found = false ; while ((p != nullptr) && not found) { @@ -210,11 +203,11 @@ String C_UIntCommandLineOption::getUIntOptionInvocationString (const String & in return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String C_UIntCommandLineOption::getUIntOptionCommentString (const String & inDomainName, - const String & inIdentifier) { - String result ; +C_String C_UIntCommandLineOption::getUIntOptionCommentString (const C_String & inDomainName, + const C_String & inIdentifier) { + C_String result ; C_UIntCommandLineOption * p = gFirstIntOption ; bool found = false ; while ((p != nullptr) && not found) { @@ -225,10 +218,10 @@ String C_UIntCommandLineOption::getUIntOptionCommentString (const String & inDom return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -uint32_t C_UIntCommandLineOption::getUIntOptionValue (const String & inDomainName, - const String & inIdentifier) { +uint32_t C_UIntCommandLineOption::getUIntOptionValue (const C_String & inDomainName, + const C_String & inIdentifier) { uint32_t result = 0 ; C_UIntCommandLineOption * p = gFirstIntOption ; bool found = false ; @@ -240,10 +233,10 @@ uint32_t C_UIntCommandLineOption::getUIntOptionValue (const String & inDomainNam return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_UIntCommandLineOption::setUIntOptionValue (const String & inDomainName, - const String & inIdentifier, +void C_UIntCommandLineOption::setUIntOptionValue (const C_String & inDomainName, + const C_String & inIdentifier, const uint32_t inValue) { C_UIntCommandLineOption * p = gFirstIntOption ; bool found = false ; @@ -256,4 +249,4 @@ void C_UIntCommandLineOption::setUIntOptionValue (const String & inDomainName, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/command_line_interface/C_UIntCommandLineOption.h b/goil/build/libpm/command_line_interface/C_UIntCommandLineOption.h index d79b13ee3..3a71234b3 100644 --- a/goil/build/libpm/command_line_interface/C_UIntCommandLineOption.h +++ b/goil/build/libpm/command_line_interface/C_UIntCommandLineOption.h @@ -1,10 +1,10 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Generic Unsigned Command Line Interface Option // // This file is part of libpm library // -// Copyright (C) 2009, ..., 2024 Pierre Molinaro. +// Copyright (C) 2009, ..., 2023 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -16,26 +16,26 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "C_CommandLineOption.h" -#include "M_machine.h" -#include "String-class.h" +#include "utilities/M_machine.h" +#include "strings/C_String.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class C_UIntCommandLineOption final : public C_CommandLineOption { //--- Constructor - public: C_UIntCommandLineOption (const String & inDomainName, - const String & inIdentifier, - const char inChar, - const String & inString, - const String & inComment, - const uint32_t inDefaultValue) ; + public: C_UIntCommandLineOption (const char * inDomainName, + const char * inIdentifier, + const char inChar, + const char * inString, + const char * inComment, + const uint32_t inDefaultValue) ; //--- No Copy private: C_UIntCommandLineOption (const C_UIntCommandLineOption &) ; private: C_UIntCommandLineOption & operator = (const C_UIntCommandLineOption &) ; @@ -47,33 +47,33 @@ class C_UIntCommandLineOption final : public C_CommandLineOption { public: const uint32_t mDefaultValue ; //--- Static methods - public: static void setUIntOptionForCommandChar (const String & inCommandCommandLineOptionString, - bool & outFound, - bool & outCommandLineOptionStringIsValid) ; - public: static void setUIntOptionForCommandString (const String & inCommandCommandLineOptionString, - bool & outFound, - bool & outCommandLineOptionStringIsValid) ; + public: static void setUIntOptionForCommandChar (const char * inCommandCommandLineOptionString, + bool & outFound, + bool & outCommandLineOptionStringIsValid) ; + public: static void setUIntOptionForCommandString (const char * inCommandCommandLineOptionString, + bool & outFound, + bool & outCommandLineOptionStringIsValid) ; public: static void printUsageOfUIntOptions (void) ; public: static void printUIntOptions (void) ; //--- Option introspection - public: static void getUIntOptionNameList (TC_UniqueArray & outArray) ; + public: static void getUIntOptionNameList (TC_UniqueArray & outArray) ; - public: static utf32 getUIntOptionInvocationLetter (const String & inDomainName, - const String & inIdentifier) ; + public: static utf32 getUIntOptionInvocationLetter (const C_String & inDomainName, + const C_String & inIdentifier) ; - public: static String getUIntOptionInvocationString (const String & inDomainName, - const String & inIdentifier) ; + public: static C_String getUIntOptionInvocationString (const C_String & inDomainName, + const C_String & inIdentifier) ; - public: static String getUIntOptionCommentString (const String & inDomainName, - const String & inIdentifier) ; + public: static C_String getUIntOptionCommentString (const C_String & inDomainName, + const C_String & inIdentifier) ; - public: static uint32_t getUIntOptionValue (const String & inDomainName, - const String & inIdentifier) ; + public: static uint32_t getUIntOptionValue (const C_String & inDomainName, + const C_String & inIdentifier) ; - public: static void setUIntOptionValue (const String & inDomainName, - const String & inIdentifier, + public: static void setUIntOptionValue (const C_String & inDomainName, + const C_String & inIdentifier, const uint32_t inValue) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/command_line_interface/C_builtin_CLI_Options.cpp b/goil/build/libpm/command_line_interface/C_builtin_CLI_Options.cpp index 1dcda86a3..e87ca063a 100644 --- a/goil/build/libpm/command_line_interface/C_builtin_CLI_Options.cpp +++ b/goil/build/libpm/command_line_interface/C_builtin_CLI_Options.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Generic Command Line Interface Options // --help : Display help information @@ -19,11 +19,11 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "C_builtin_CLI_Options.h" +#include "command_line_interface/C_builtin_CLI_Options.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_BoolCommandLineOption gOption_generic_5F_cli_5F_options_display_5F_help ("generic_cli_options", @@ -32,7 +32,7 @@ gOption_generic_5F_cli_5F_options_display_5F_help ("generic_cli_options", "help", "Display help information") ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_BoolCommandLineOption gOption_generic_5F_cli_5F_options_display_5F_version ("generic_cli_options", @@ -41,7 +41,7 @@ gOption_generic_5F_cli_5F_options_display_5F_version ("generic_cli_options", "version", "Display version") ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_StringCommandLineOption gOption_generic_5F_cli_5F_options_emit_5F_issue_5F_json_5F_file ("generic_cli_options", @@ -51,7 +51,7 @@ gOption_generic_5F_cli_5F_options_emit_5F_issue_5F_json_5F_file ("generic_cli_op "Emit a JSON file that contains all compilation issues", "") ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #if COMPILE_FOR_WINDOWS == 0 C_BoolCommandLineOption @@ -62,7 +62,7 @@ gOption_generic_5F_cli_5F_options_emit_5F_issue_5F_json_5F_file ("generic_cli_op "Do not issue colored messages") ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #if COMPILE_FOR_WINDOWS == 1 C_BoolCommandLineOption @@ -73,4 +73,4 @@ gOption_generic_5F_cli_5F_options_emit_5F_issue_5F_json_5F_file ("generic_cli_op "Do Not Display any dialog when no input file (Windows only)") ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/command_line_interface/C_builtin_CLI_Options.h b/goil/build/libpm/command_line_interface/C_builtin_CLI_Options.h index f5eb4fdd7..1d340d3c3 100644 --- a/goil/build/libpm/command_line_interface/C_builtin_CLI_Options.h +++ b/goil/build/libpm/command_line_interface/C_builtin_CLI_Options.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Generic Command Line Interface Options // --help : Display help information @@ -19,43 +19,43 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "C_BoolCommandLineOption.h" -#include "C_StringCommandLineOption.h" +#include "command_line_interface/C_BoolCommandLineOption.h" +#include "command_line_interface/C_StringCommandLineOption.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef COMPILE_FOR_WINDOWS #error COMPILE_FOR_WINDOWS is undefined #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern C_BoolCommandLineOption gOption_generic_5F_cli_5F_options_display_5F_help ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern C_BoolCommandLineOption gOption_generic_5F_cli_5F_options_display_5F_version ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern C_StringCommandLineOption gOption_generic_5F_cli_5F_options_emit_5F_issue_5F_json_5F_file ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #if COMPILE_FOR_WINDOWS == 0 extern C_BoolCommandLineOption gOption_generic_5F_cli_5F_options_no_5F_color ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #if COMPILE_FOR_WINDOWS == 1 extern C_BoolCommandLineOption gOption_generic_5F_cli_5F_options_nodialog ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/command_line_interface/F_Analyze_CLI_Options.cpp b/goil/build/libpm/command_line_interface/F_Analyze_CLI_Options.cpp index d3006ab25..e4773b829 100644 --- a/goil/build/libpm/command_line_interface/F_Analyze_CLI_Options.cpp +++ b/goil/build/libpm/command_line_interface/F_Analyze_CLI_Options.cpp @@ -1,10 +1,10 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Routine 'F_Analyze_CLI_Options' : a way for automatic command line options analysis for MacOS, Win32 and Unix. * // // This file is part of libpm library // -// Copyright (C) 2001, ..., 2024 Pierre Molinaro. +// Copyright (C) 2001, ..., 2017 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -16,80 +16,80 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "F_Analyze_CLI_Options.h" -#include "C_BoolCommandLineOption.h" -#include "C_UIntCommandLineOption.h" -#include "C_StringCommandLineOption.h" -#include "C_StringListCommandLineOption.h" -#include "C_builtin_CLI_Options.h" -#include "C_ConsoleOut.h" -#include "FileManager.h" +#include "command_line_interface/F_Analyze_CLI_Options.h" +#include "command_line_interface/C_BoolCommandLineOption.h" +#include "command_line_interface/C_UIntCommandLineOption.h" +#include "command_line_interface/C_StringCommandLineOption.h" +#include "command_line_interface/C_StringListCommandLineOption.h" +#include "command_line_interface/C_builtin_CLI_Options.h" +#include "streams/C_ConsoleOut.h" +#include "files/C_FileManager.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef COMPILE_FOR_WINDOWS #error COMPILE_FOR_WINDOWS is undefined #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #if COMPILE_FOR_WINDOWS == 1 #include #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // C O C O A O U T P U T // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static bool gCocoaOutput = false ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cocoaOutput (void) { return gCocoaOutput ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const char * galgasVersionString (void) { - return "GALGASBETAVERSION" ; + return "3.6.3" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // print_usage // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void print_usage (int argv, const char * argc []) { - gCout.setForeColor (kMagentaForeColor) ; - gCout.setTextAttribute (kBoldTextAttribute) ; - gCout.appendCString ("Usage:\n") ; - gCout.setTextAttribute (kAllAttributesOff) ; + co.setForeColor (kMagentaForeColor) ; + co.setTextAttribute (kBoldTextAttribute) ; + co << "Usage:\n" ; + co.setTextAttribute (kAllAttributesOff) ; if (argv > 0) { - gCout.appendCString (argc [0]) ; + co << argc [0] ; } C_BoolCommandLineOption::printUsageOfBoolOptions () ; C_UIntCommandLineOption::printUsageOfUIntOptions () ; C_StringCommandLineOption::printUsageOfStringOptions () ; C_StringListCommandLineOption::printUsageOfStringOptions () ; - gCout.appendCString (" file...\n") ; + co << " file...\n" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // print_options // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void print_option_list (void) { printf ("*** Available command line options:\n") ; @@ -99,203 +99,193 @@ static void print_option_list (void) { C_StringListCommandLineOption::printStringOptions () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // print_help // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static void print_help (const int argv, - const char* * argc, - const char* * inExtensionArray, - const char* * inHelpMessageArray, +static void print_help (int argv, + const char * argc [], + const char * inExtensions [], + const char * inHelpMessages [], void print_tool_help_message (void)) { #ifdef __LP64__ - gCout.appendCString ("Compiled in 64 bits mode") ; + co << "Compiled in 64 bits mode" ; #else - gCout.appendCString ("Compiled in 32 bits mode") ; + co << "Compiled in 32 bits mode" ; #endif #ifndef DO_NOT_GENERATE_CHECKINGS - gCout.appendCString (" (with debug code)") ; + co << " (with debug code)" ; #endif - gCout.appendCString (".\n") ; + co << ".\n" ; print_tool_help_message () ; +/* #ifndef DO_NOT_GENERATE_CHECKINGS + co << "sizeof (short)=" << ((uint32_t) sizeof (short)) + << ", sizeof (int)=" << ((uint32_t) sizeof (int)) + << ", sizeof (long)=" << ((uint32_t) sizeof (long)) + << ", sizeof (long long)=" << ((uint32_t) sizeof (long long)) + << ", sizeof (wchar_t)=" << ((uint32_t) sizeof (wchar_t)) + << "\n" ; + #endif */ print_usage (argv, argc) ; - gCout.setForeColor (kMagentaForeColor) ; - gCout.setTextAttribute (kBoldTextAttribute) ; - gCout.appendCString ("Options:\n") ; - gCout.setTextAttribute (kAllAttributesOff) ; - gCout.appendCString ("You can place options anywhere in the command line: they will be executed before the files are processed.\n") ; + co.setForeColor (kMagentaForeColor) ; + co.setTextAttribute (kBoldTextAttribute) ; + co << "Options:\n" ; + co.setTextAttribute (kAllAttributesOff) ; + co << "You can place options anywhere in the command line: they will be executed before the files are processed.\n" ; C_BoolCommandLineOption::printBoolOptions () ; C_UIntCommandLineOption::printUIntOptions () ; C_StringCommandLineOption::printStringOptions () ; C_StringListCommandLineOption::printStringOptions () ; int32_t extensionIndex = 0 ; - while (inExtensionArray [extensionIndex] != nullptr) { + while (inExtensions [extensionIndex] != nullptr) { extensionIndex ++ ; } - gCout.setForeColor (kMagentaForeColor) ; - gCout.setTextAttribute (kBoldTextAttribute) ; - gCout.appendCString ("Handled extension") ; - gCout.appendCString ((extensionIndex > 1) ? "s" : "") ; - gCout.appendCString (":\n") ; - gCout.setTextAttribute (kAllAttributesOff) ; + co.setForeColor (kMagentaForeColor) ; + co.setTextAttribute (kBoldTextAttribute) ; + co << "Handled extension" << ((extensionIndex > 1) ? "s" : "") << ":\n" ; + co.setTextAttribute (kAllAttributesOff) ; extensionIndex = 0 ; - while (inExtensionArray [extensionIndex] != nullptr) { - gCout.setForeColor (kBlueForeColor) ; - gCout.setTextAttribute (kBoldTextAttribute) ; - gCout.appendCString (".") ; - gCout.appendCString (inExtensionArray [extensionIndex]) ; - gCout.setTextAttribute (kAllAttributesOff) ; - const uint32_t extensionLength = (uint32_t) (strlen (inExtensionArray [extensionIndex]) & UINT32_MAX) ; + while (inExtensions [extensionIndex] != nullptr) { + co.setForeColor (kBlueForeColor) ; + co.setTextAttribute (kBoldTextAttribute) ; + co << "." << inExtensions [extensionIndex] ; + co.setTextAttribute (kAllAttributesOff) ; + const uint32_t extensionLength = (uint32_t) (strlen (inExtensions [extensionIndex]) & UINT32_MAX) ; const uint32_t kDisplayLength = 20 ; if (extensionLength < kDisplayLength) { for (uint32_t i=extensionLength ; i 1) { - const String command = inCommand.subStringFromIndex (1) ; + }else if (optionLength > 2) { //--- Search for an UInt option bool correctFormat = false ; - C_UIntCommandLineOption::setUIntOptionForCommandChar (command, outOk, correctFormat) ; + C_UIntCommandLineOption::setUIntOptionForCommandChar (& inCommand [1], outOk, correctFormat) ; //--- Not found : search for a string option if (! outOk) { - C_StringCommandLineOption::setStringOptionForCommandChar (command, outOk, correctFormat) ; + C_StringCommandLineOption::setStringOptionForCommandChar (& inCommand [1], outOk, correctFormat) ; } if (! outOk) { - C_StringListCommandLineOption::setStringListOptionForCommandChar (command, outOk, correctFormat) ; + C_StringListCommandLineOption::setStringListOptionForCommandChar (& inCommand [1], outOk, correctFormat) ; } if (! outOk) { - gCout.appendCString ("Error : unknown '-") ; - gCout.appendString (inCommand) ; - gCout.appendCString ("' command line option.\n") ; + co << "Error : unknown '" << inCommand << "' command line option.\n" ; }else if (! correctFormat) { outOk = false ; - gCout.appendCString ("Error : incorrect format for '-") ; - gCout.appendString (inCommand) ; - gCout.appendCString ("' command line option (correct format is : '-") ; - gCout.appendString (inCommand) ; - gCout.appendCString ("=value').\n") ; + co << "Error : incorrect format for '" + << inCommand + << "' command line option (correct format is : '-" + << inCommand + << "=value').\n" ; } }else{ - gCout.appendCString ("Error : unknown '-") ; - gCout.appendString (inCommand) ; - gCout.appendCString ("' command line option.\n") ; + co << "Error : unknown '" << inCommand << "' command line option.\n" ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Command line option beginning with '--' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static void option_beginning_with_double_minus_sign (const String & inCommand, +static void option_beginning_with_double_minus_sign (const char * inCommand, bool & outFound) { outFound = false ; bool correctFormat = true ; //--- Look for a boolean argument - C_BoolCommandLineOption::setBoolOptionForCommandString (inCommand, outFound, gCocoaOutput) ; + C_BoolCommandLineOption::setBoolOptionForCommandString (& inCommand [2], outFound, gCocoaOutput) ; //--- If not found, look for a Uint option if (! outFound) { - C_UIntCommandLineOption::setUIntOptionForCommandString (inCommand, outFound, correctFormat) ; + C_UIntCommandLineOption::setUIntOptionForCommandString (& inCommand [2], outFound, correctFormat) ; } //--- If not found, look for a String option if (! outFound) { - C_StringCommandLineOption::setStringOptionForCommandString (inCommand, outFound, correctFormat) ; + C_StringCommandLineOption::setStringOptionForCommandString (& inCommand [2], outFound, correctFormat) ; } if (! outFound) { - C_StringListCommandLineOption::setStringListOptionForCommandString (inCommand, outFound, correctFormat) ; + C_StringListCommandLineOption::setStringListOptionForCommandString (& inCommand [2], outFound, correctFormat) ; } if (! outFound) { - gCout.appendCString ("Error : unknown '--") ; - gCout.appendString (inCommand) ; - gCout.appendCString ("' command line option.\n") ; + co << "Error : unknown '" << inCommand << "' command line option.\n" ; }else if (! correctFormat) { outFound = false ; - gCout.appendCString ("Error : incorrect format for '--") ; - gCout.appendString (inCommand) ; - gCout.appendCString ("' command line option.\n") ; + co << "Error : incorrect format for '" << inCommand << "' command line option.\n" ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // analyze_one_option // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static void analyze_one_option (const String & inCommand, - TC_UniqueArray & outSourceFileArray, +static void analyze_one_option (const char * inCommand, + TC_UniqueArray & outSourceFileArray, bool & outOk) { - const int32_t optionLength = inCommand.length () ; + const int32_t optionLength = (int32_t) (strlen (inCommand) & UINT32_MAX) ; bool found = false ; //--- Begin by a '-' character ? - if ((optionLength > 1) && (inCommand.charAtIndex (0 COMMA_HERE) == '-')) { + if ((optionLength > 1) && (inCommand [0] == '-')) { //--- Second character is also a '-' ? - if ((optionLength > 2) && (inCommand.charAtIndex (1 COMMA_HERE) == '-')) { + if ((optionLength > 2) && (inCommand [1] == '-')) { //--- two minus signs '--' at beginning - const String command = inCommand.subStringFromIndex (2) ; - option_beginning_with_double_minus_sign (command, found) ; + option_beginning_with_double_minus_sign (inCommand, found) ; }else{ //--- Single '-' at beginning - const String command = inCommand.subStringFromIndex (1) ; - option_beginning_with_single_minus_sign (command, found) ; + option_beginning_with_single_minus_sign (inCommand, found) ; } } //--- Look for a file if (! found) { - if (UNICODE_VALUE (inCommand.charAtIndex (0 COMMA_HERE)) != '-') { - String fileName ; + if (inCommand [0] != '-') { + C_String fileName ; #if COMPILE_FOR_WINDOWS == 1 - const int32_t fileLength = inCommand.length () ; + const int32_t fileLength = (int32_t) strlen (inCommand) ; int32_t firstChar = 0 ; if ((fileLength > 3) - && isalpha (int (UNICODE_VALUE (inCommand.charAtIndex (0 COMMA_HERE)))) - && (inCommand.charAtIndex (1 COMMA_HERE) == ':') - && (inCommand.charAtIndex (2 COMMA_HERE) == '\\')) { - fileName.appendCString ("/") ; - fileName.appendChar (inCommand.charAtIndex (0 COMMA_HERE)) ; - fileName.appendCString ("/") ; + && isalpha (inCommand [0]) + && (inCommand [1] == ':') + && (inCommand [2] == '\\')) { + fileName << "/" ; + fileName.appendUnicodeCharacter (TO_UNICODE (inCommand [0]) COMMA_HERE) ; + fileName << "/" ; firstChar = 3 ; } for (int32_t i=firstChar ; i & outSourceFileArray, - const char * * inExtensionArray) { + static void getSourceFileFromWin32OpenDialog (TC_UniqueArray & outSourceFileArray, + const char * inExtensions []) { char szFile[260] ; // buffer for file name OPENFILENAME ofn ; //--- Initialize OPENFILENAME @@ -323,12 +313,12 @@ static void analyze_one_option (const String & inCommand, ofn.nMaxFile = sizeof (szFile) ; char filterString [1000] = ""; int32_t filterIndex = 0 ; - while (inExtensionArray [filterIndex] != nullptr) { + while (inExtensions [filterIndex] != nullptr) { if (filterIndex != 0) { strcat (filterString, ";") ; } strcat (filterString, "*.") ; - strcat (filterString, inExtensionArray [filterIndex]) ; + strcat (filterString, inExtensions [filterIndex]) ; filterIndex ++ ; } char filter [1000] ; @@ -343,20 +333,20 @@ static void analyze_one_option (const String & inCommand, ofn.lpstrTitle = nullptr ; ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY ; if (GetOpenFileName (& ofn)) { - String fileName ; + C_String fileName ; const int32_t fileLength = (int32_t) strlen (szFile) ; int32_t firstChar = 0 ; if ((fileLength > 3) && isalpha (szFile [0]) && (szFile [1] == ':') && (szFile [2] == '\\')) { - fileName.appendCString ("/") ; - fileName.appendChar (TO_UNICODE (szFile [0])) ; - fileName.appendCString ("/") ; + fileName << "/" ; + fileName.appendUnicodeCharacter (TO_UNICODE (szFile [0]) COMMA_HERE) ; + fileName << "/" ; firstChar = 3 ; } for (int32_t i=firstChar ; i & outSourceFileArray, - const char* * inExtensionArray, - const char* * inHelpMessageArray, + const char * argc [], + TC_UniqueArray & outSourceFileArray, + const char * inExtensions [], + const char * inHelpMessages [], void print_tool_help_message (void)) { //--- Analyze command bool errorFound = false ; - for (int i = 1 ; i < argv ; i++) { + for (int32_t i=1 ; i & outSourceFileArray, - const char* * inExtensions, - const char* * inHelpMessages, + const char * argc [], + TC_UniqueArray & outSourceFileArray, + const char * inExtensions [], + const char * inHelpMessages [], void print_tool_help_message (void)) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const char * projectVersionString (void) ; const char * galgasVersionString (void) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t commandLineArgumentCount (void) ; -String commandLineArgumentAtIndex (const uint32_t inIndex) ; +C_String commandLineArgumentAtIndex (const uint32_t inIndex) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cocoaOutput (void) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/command_line_interface/F_mainForLIBPM.cpp b/goil/build/libpm/command_line_interface/F_mainForLIBPM.cpp index 4971589ea..166068ee8 100644 --- a/goil/build/libpm/command_line_interface/F_mainForLIBPM.cpp +++ b/goil/build/libpm/command_line_interface/F_mainForLIBPM.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Routine 'main' (call user supplied 'mainForLIBPM' routine). // @@ -16,40 +16,40 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "C_BDD.h" -#include "F_mainForLIBPM.h" -#include "MF_MemoryControl.h" -#include "F_DisplayException.h" -#include "C_ConsoleOut.h" -#include "DateTime.h" -#include "SharedObject.h" -#include "cpp-allocation.h" -#include "basic-allocation.h" -#include "PrologueEpilogue.h" -#include "F_Analyze_CLI_Options.h" -#include "unicode_character_base.h" -#include "acStrongPtr_class.h" +#include "bdd/C_BDD.h" +#include "command_line_interface/F_mainForLIBPM.h" +#include "utilities/MF_MemoryControl.h" +#include "utilities/F_DisplayException.h" +#include "streams/C_ConsoleOut.h" +#include "time/C_DateTime.h" +#include "utilities/C_SharedObject.h" +#include "utilities/cpp-allocation.h" +#include "utilities/basic-allocation.h" +#include "utilities/C_PrologueEpilogue.h" +#include "command_line_interface/F_Analyze_CLI_Options.h" +#include "strings/unicode_character_base.h" +#include "galgas2/acStrongPtr_class.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static uint32_t gArgc = 0 ; static const char ** gArgv ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t commandLineArgumentCount (void) { return gArgc ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String commandLineArgumentAtIndex (const uint32_t inIndex) { +C_String commandLineArgumentAtIndex (const uint32_t inIndex) { const char * result = "" ; if (inIndex < gArgc) { result = gArgv [inIndex] ; @@ -57,23 +57,23 @@ String commandLineArgumentAtIndex (const uint32_t inIndex) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- int main (int argc, const char * argv []) { gArgc = (uint32_t) argc ; gArgv = argv ; - DateTime::enterCurrentToolModificationTime (argv [0]) ; + C_DateTime::enterCurrentToolModificationTime (argv [0]) ; int returnCode = 0 ; // No error //--- if (returnCode == 0) { try{ - PrologueEpilogue::runPrologueActions () ; + C_PrologueEpilogue::runPrologueActions () ; returnCode = mainForLIBPM (argc, argv) ; - PrologueEpilogue::runEpilogueActions () ; + C_PrologueEpilogue::runEpilogueActions () ; C_BDD::freeBDDStataStructures () ; #ifndef DO_NOT_GENERATE_CHECKINGS acStrongPtr_class::printExistingClassInstances () ; - SharedObject::checkAllObjectsHaveBeenReleased () ; + C_SharedObject::checkAllObjectsHaveBeenReleased () ; displayAllocationStats () ; displayAllocatedBlockSizeStats () ; displayAllocatedBlocksInfo () ; @@ -82,21 +82,21 @@ int main (int argc, const char * argv []) { F_default_display_exception (e) ; #ifndef DO_NOT_GENERATE_CHECKINGS acStrongPtr_class::printExistingClassInstances () ; - SharedObject::checkAllObjectsHaveBeenReleased () ; + C_SharedObject::checkAllObjectsHaveBeenReleased () ; #endif returnCode = 1 ; // Error code }catch (char * inExceptionString) { printf ("*** Exception: '%s' ***\n", inExceptionString) ; #ifndef DO_NOT_GENERATE_CHECKINGS acStrongPtr_class::printExistingClassInstances () ; - SharedObject::checkAllObjectsHaveBeenReleased () ; + C_SharedObject::checkAllObjectsHaveBeenReleased () ; #endif returnCode = 1 ; // Error code }catch (...) { F_default_display_unknown_exception () ; #ifndef DO_NOT_GENERATE_CHECKINGS acStrongPtr_class::printExistingClassInstances () ; - SharedObject::checkAllObjectsHaveBeenReleased () ; + C_SharedObject::checkAllObjectsHaveBeenReleased () ; #endif returnCode = 2 ; // Error code } @@ -104,4 +104,4 @@ int main (int argc, const char * argv []) { return returnCode ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/command_line_interface/F_mainForLIBPM.h b/goil/build/libpm/command_line_interface/F_mainForLIBPM.h index 0485df6e5..047633447 100644 --- a/goil/build/libpm/command_line_interface/F_mainForLIBPM.h +++ b/goil/build/libpm/command_line_interface/F_mainForLIBPM.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Declaration of 'mainForLIBPM' routine prototype. // @@ -16,12 +16,12 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -int mainForLIBPM (int argc, const char* * argv) ; +int mainForLIBPM (int argc, const char * argv []) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/files/AC_FileHandle.cpp b/goil/build/libpm/files/AC_FileHandle.cpp new file mode 100644 index 000000000..30251abce --- /dev/null +++ b/goil/build/libpm/files/AC_FileHandle.cpp @@ -0,0 +1,43 @@ +//---------------------------------------------------------------------------------------------------------------------- +// +// 'AC_FileHandle' : an abstract class for handling files handles +// +// This file is part of libpm library +// +// Copyright (C) 2012, ..., 2012 Pierre Molinaro. +// +// e-mail : pierre@pcmolinaro.name +// +// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied +// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +//---------------------------------------------------------------------------------------------------------------------- + +#include "files/AC_FileHandle.h" + +//---------------------------------------------------------------------------------------------------------------------- + +AC_FileHandle::AC_FileHandle (const C_String & inFilePath, + const char * inMode) : +mFilePtr ((inFilePath.length () == 0) + ? nullptr : + ::fopen (C_FileManager::nativePathWithUnixPath (inFilePath).cString (HERE), inMode) +), +mFilePath (inFilePath) { +} + +//---------------------------------------------------------------------------------------------------------------------- + +AC_FileHandle::~AC_FileHandle (void) { + if (nullptr != mFilePtr) { + fclose (mFilePtr) ; + mFilePtr = nullptr ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/files/AbstractFileHandle.h b/goil/build/libpm/files/AC_FileHandle.h similarity index 50% rename from goil/build/libpm/files/AbstractFileHandle.h rename to goil/build/libpm/files/AC_FileHandle.h index 6c9293373..1ce7a7e42 100644 --- a/goil/build/libpm/files/AbstractFileHandle.h +++ b/goil/build/libpm/files/AC_FileHandle.h @@ -1,10 +1,10 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// 'AbstractFileHandle' : an abstract class for handling files handles +// 'AC_FileHandle' : an abstract class for handling files handles // // This file is part of libpm library // -// Copyright (C) 2012, ..., 2024 Pierre Molinaro. +// Copyright (C) 2012, ..., 2012 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -16,43 +16,36 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "FileManager.h" +#include "files/C_FileManager.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class AbstractFileHandle { -//--- Private attribute - private: FILE * mFilePtr ; - private: String mFilePath ; +class AC_FileHandle { +//--- + protected: FILE * mFilePtr ; + protected: C_String mFilePath ; //--- Protected constructor - protected: AbstractFileHandle (const String & inFilePath, - const char * inMode) ; + protected: AC_FileHandle (const C_String & inFilePath, + const char * inMode) ; //--- No copy - private: AbstractFileHandle (const AbstractFileHandle &) = delete ; - private: AbstractFileHandle & operator = (const AbstractFileHandle &) = delete ; + private: AC_FileHandle (const AC_FileHandle &) ; + private: AC_FileHandle & operator = (const AC_FileHandle &) ; //--- Virtual destructor - public: virtual ~ AbstractFileHandle (void) ; - - public: virtual bool close (void) ; - public: virtual void flush (void) ; + public: virtual ~ AC_FileHandle (void) ; //--- public: inline bool isOpened (void) const { return nullptr != mFilePtr ; } - public: inline String filePath (void) const { return mFilePath ; } - -//--- - public: void appendBinaryData (const size_t inByteCount, const uint8_t * inByteArray) ; - public: void appendUTF8String (const int inByteCount, const char * inByteArray) ; + public: inline C_String filePath (void) const { return mFilePath ; } } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/files/AbstractFileHandle.cpp b/goil/build/libpm/files/AbstractFileHandle.cpp deleted file mode 100644 index aba5892de..000000000 --- a/goil/build/libpm/files/AbstractFileHandle.cpp +++ /dev/null @@ -1,90 +0,0 @@ -//-------------------------------------------------------------------------------------------------- -// -// 'AbstractFileHandle' : an abstract class for handling files handles -// -// This file is part of libpm library -// -// Copyright (C) 2012, ..., 2023 Pierre Molinaro. -// -// e-mail : pierre@pcmolinaro.name -// -// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General -// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) -// any later version. -// -// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied -// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -// more details. -// -//-------------------------------------------------------------------------------------------------- - -#include "AbstractFileHandle.h" - -//-------------------------------------------------------------------------------------------------- - -AbstractFileHandle::AbstractFileHandle (const String & inFilePath, - const char * inMode) : -mFilePtr ((inFilePath.length () == 0) - ? nullptr : - ::fopen (FileManager::nativePathWithUnixPath (inFilePath).cString (), inMode) -), -mFilePath (inFilePath) { -} - -//-------------------------------------------------------------------------------------------------- - -AbstractFileHandle::~AbstractFileHandle (void) { - if (nullptr != mFilePtr) { - fclose (mFilePtr) ; - mFilePtr = nullptr ; - } -} - -//-------------------------------------------------------------------------------------------------- -// Flush -//-------------------------------------------------------------------------------------------------- - -void AbstractFileHandle::flush (void) { - if (nullptr != mFilePtr) { - ::fflush (mFilePtr) ; - } -} - -//-------------------------------------------------------------------------------------------------- -// Close -//-------------------------------------------------------------------------------------------------- - -bool AbstractFileHandle::close (void) { - flush () ; - bool ok = true ; - if (mFilePtr != nullptr) { - ok = ::fclose (mFilePtr) == 0 ; // Flushes the file, then closes it - mFilePtr = nullptr ; - } - return ok ; -} - -//-------------------------------------------------------------------------------------------------- -// appendBinaryData -//-------------------------------------------------------------------------------------------------- - -void AbstractFileHandle::appendBinaryData (const size_t inByteCount, - const uint8_t * inByteArray) { - if ((mFilePtr != nullptr) && (inByteCount > 0)) { - macroCheckPointerIsNotNull (inByteArray) ; - ::fwrite (inByteArray, sizeof (uint8_t), inByteCount, mFilePtr) ; - } -} - -//-------------------------------------------------------------------------------------------------- -// appendUTF8String -//-------------------------------------------------------------------------------------------------- - -void AbstractFileHandle::appendUTF8String (const int inByteCount, const char * inByteArray) { - if ((mFilePtr != nullptr) && (inByteCount > 0)) { - macroCheckPointerIsNotNull (inByteArray) ; - ::fprintf (mFilePtr, "%.*s", inByteCount, inByteArray) ; - } -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/files/BinaryFileWrite.cpp b/goil/build/libpm/files/BinaryFileWrite.cpp deleted file mode 100644 index 3942f81be..000000000 --- a/goil/build/libpm/files/BinaryFileWrite.cpp +++ /dev/null @@ -1,37 +0,0 @@ -//-------------------------------------------------------------------------------------------------- -// -// 'BinaryFileWrite' : a class for stream writing text files -// -// This file is part of libpm library -// -// Copyright (C) 1999, ..., 2023 Pierre Molinaro. -// -// e-mail : pierre@pcmolinaro.name -// -// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General -// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) -// any later version. -// -// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied -// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -// more details. -// -//-------------------------------------------------------------------------------------------------- - -#include "BinaryFileWrite.h" -#include "DateTime.h" -#include "FileManager.h" - -//-------------------------------------------------------------------------------------------------- - -BinaryFileWrite::BinaryFileWrite (const String & inFileName) : -AbstractFileHandle (inFileName, "wb") { -} - -//-------------------------------------------------------------------------------------------------- - -void BinaryFileWrite::appendData (const U8Data & inData) { - appendBinaryData (size_t (inData.count ()), inData.unsafeDataPointer ()) ; -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/files/C_BinaryFileWrite.cpp b/goil/build/libpm/files/C_BinaryFileWrite.cpp new file mode 100644 index 000000000..e05fbf3b1 --- /dev/null +++ b/goil/build/libpm/files/C_BinaryFileWrite.cpp @@ -0,0 +1,70 @@ +//---------------------------------------------------------------------------------------------------------------------- +// +// 'C_BinaryFileWrite' : a class for stream writing text files +// +// This file is part of libpm library +// +// Copyright (C) 1999, ..., 2023 Pierre Molinaro. +// +// e-mail : pierre@pcmolinaro.name +// +// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied +// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +//---------------------------------------------------------------------------------------------------------------------- + +#include "files/C_BinaryFileWrite.h" +#include "time/C_DateTime.h" +#include "files/C_FileManager.h" + +//---------------------------------------------------------------------------------------------------------------------- + +C_BinaryFileWrite::C_BinaryFileWrite (const C_String & inFileName) : +AC_FileHandle (inFileName, "wb") { +} + +//---------------------------------------------------------------------------------------------------------------------- +// Close +//---------------------------------------------------------------------------------------------------------------------- + +bool C_BinaryFileWrite::close (void) { + bool ok = true ; + if (mFilePtr != nullptr) { + ok = ::fclose (mFilePtr) == 0 ; // Flushes the file, then closes it + mFilePtr = nullptr ; + } + return ok ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BinaryFileWrite::flush (void) { + if (nullptr != mFilePtr) { + ::fflush (mFilePtr) ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- +// Destructor (cannot call the virtual 'close' method in destructor) +//---------------------------------------------------------------------------------------------------------------------- + +C_BinaryFileWrite::~C_BinaryFileWrite (void) { + if (nullptr != mFilePtr) { + ::fflush (mFilePtr) ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_BinaryFileWrite::appendData (const C_Data & inData) { + if (nullptr != mFilePtr) { + ::fwrite (inData.unsafeDataPointer (), 1, size_t (inData.count ()), mFilePtr) ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/files/BinaryFileWrite.h b/goil/build/libpm/files/C_BinaryFileWrite.h similarity index 52% rename from goil/build/libpm/files/BinaryFileWrite.h rename to goil/build/libpm/files/C_BinaryFileWrite.h index 5dc1bb873..3ae29b607 100644 --- a/goil/build/libpm/files/BinaryFileWrite.h +++ b/goil/build/libpm/files/C_BinaryFileWrite.h @@ -1,6 +1,6 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// 'BinaryFileWrite' : a class for stream writing binary files +// 'C_BinaryFileWrite' : a class for stream writing binary files // // This file is part of libpm library // @@ -16,33 +16,44 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "String-class.h" -#include "AbstractFileHandle.h" +#include "strings/C_String.h" +#include "files/AC_FileHandle.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class BinaryFileWrite final : public AbstractFileHandle { +class C_BinaryFileWrite final : public AC_FileHandle { //--- Constructor : if inFileName is the empty string, no file is opened. // Otherwise, it tries to open the file for writing; +// outSuccessfullyOpened is returned true is inFileName is empty or if file is successfully opened +// outSuccessfullyOpened is returned false is inFileName is not empty and file cannot be successfully opened // The destructor will close the file (is successfully opened) - public: BinaryFileWrite (const String & inFilePath) ; + public: C_BinaryFileWrite (const C_String & inFilePath) ; + +//--- Destructor closes the file + public: virtual ~ C_BinaryFileWrite (void) ; //--- No copy - private: BinaryFileWrite (BinaryFileWrite &) = delete ; - private: BinaryFileWrite & operator = (BinaryFileWrite &) = delete ; + private: C_BinaryFileWrite (C_BinaryFileWrite &) ; + private: C_BinaryFileWrite & operator = (C_BinaryFileWrite &) ; //--- - public: void appendData (const U8Data & inData) ; + public: void appendData (const C_Data & inData) ; + +//--- Flush print + public: virtual void flush (void) ; + +//--- Close file (does nothing is file is not open) + public: virtual bool close (void) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/files/FileManager.cpp b/goil/build/libpm/files/C_FileManager.cpp similarity index 62% rename from goil/build/libpm/files/FileManager.cpp rename to goil/build/libpm/files/C_FileManager.cpp index 2b42654f4..c105e6175 100644 --- a/goil/build/libpm/files/FileManager.cpp +++ b/goil/build/libpm/files/C_FileManager.cpp @@ -1,6 +1,6 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// 'FileManager' : a class for handling files, independantly from platform +// 'C_FileManager' : a class for handling files, independantly from platform // // This file is part of libpm library // @@ -16,161 +16,161 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "FileManager.h" -#include "TextFileWrite.h" -#include "BinaryFileWrite.h" -#include "unicode_character_base.h" +#include "files/C_FileManager.h" +#include "files/C_TextFileWrite.h" +#include "files/C_BinaryFileWrite.h" +#include "strings/unicode_character_base.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include #include #include #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef COMPILE_FOR_WINDOWS #error COMPILE_FOR_WINDOWS is undefined #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #if COMPILE_FOR_WINDOWS == 1 #include #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Converting into Unix Path #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Converting into Unix Path // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //--- On Unix: do nothing #if COMPILE_FOR_WINDOWS == 0 - String FileManager::unixPathWithNativePath (const String & inFilePath) { + C_String C_FileManager::unixPathWithNativePath (const C_String & inFilePath) { return inFilePath ; } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //--- On Windows: translate #if COMPILE_FOR_WINDOWS == 1 - String FileManager::unixPathWithNativePath (const String & inFilePath) { - String result ; + C_String C_FileManager::unixPathWithNativePath (const C_String & inFilePath) { + C_String result ; const int32_t pathLength = inFilePath.length () ; int32_t firstChar = 0 ; if ((pathLength > 3) - && isalpha ((int) UNICODE_VALUE (inFilePath.charAtIndex (0 COMMA_HERE))) - && (UNICODE_VALUE (inFilePath.charAtIndex (1 COMMA_HERE)) == ':') - && (UNICODE_VALUE (inFilePath.charAtIndex (2 COMMA_HERE)) == '\\')) { - result.appendCString ("/") ; - result.appendChar (inFilePath.charAtIndex (0 COMMA_HERE)) ; - result.appendCString ("/") ; + && isalpha ((int) UNICODE_VALUE (inFilePath (0 COMMA_HERE))) + && (UNICODE_VALUE (inFilePath (1 COMMA_HERE)) == ':') + && (UNICODE_VALUE (inFilePath (2 COMMA_HERE)) == '\\')) { + result << "/" ; + result.appendUnicodeCharacter (inFilePath (0 COMMA_HERE) COMMA_HERE) ; + result << "/" ; firstChar = 3 ; } for (int32_t i=firstChar ; i 3) - && (UNICODE_VALUE (inFilePath.charAtIndex (0 COMMA_HERE)) == '/') - && isalpha ((int) UNICODE_VALUE (inFilePath.charAtIndex (1 COMMA_HERE))) - && (UNICODE_VALUE (inFilePath.charAtIndex (2 COMMA_HERE)) == '/')) { - winPath.appendChar (inFilePath.charAtIndex (1 COMMA_HERE)) ; - winPath.appendCString (":\\") ; + && (UNICODE_VALUE (inFilePath (0 COMMA_HERE)) == '/') + && isalpha ((int) UNICODE_VALUE (inFilePath (1 COMMA_HERE))) + && (UNICODE_VALUE (inFilePath (2 COMMA_HERE)) == '/')) { + winPath.appendUnicodeCharacter (inFilePath (1 COMMA_HERE) COMMA_HERE) ; + winPath << ":\\" ; firstChar = 3 ; } for (int32_t i=firstChar ; i= 4) && (inDataString (0 COMMA_HERE) == 0) && (inDataString (1 COMMA_HERE) == 0) && (inDataString (2 COMMA_HERE) == 0xFE) && (inDataString (3 COMMA_HERE) == 0xFF)) { @@ -345,7 +345,7 @@ static bool searchBOMandParse (const U8Data & inDataString, #endif //--- UTF-8 BOM ? }else if ((inLength >= 3) && (inDataString (0 COMMA_HERE) == 0xEF) && (inDataString (1 COMMA_HERE) == 0xBB) && (inDataString (2 COMMA_HERE) == 0x3F)) { - ok = String::parseUTF8 (inDataString, 3, outResultString) ; + ok = C_String::parseUTF8 (inDataString, 3, outResultString) ; outTextFileEncoding = kUTF_8_FileEncoding ; #ifdef PRINT_SNIFF_ENCODING printf ("found UTF-8 BOM **\n") ; @@ -368,13 +368,13 @@ static bool searchBOMandParse (const U8Data & inDataString, return ok ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static bool sniffUTFEncodingAndParse (const U8Data & inDataString, +static bool sniffUTFEncodingAndParse (const C_Data & inDataString, PMTextFileEncoding & outTextFileEncoding, - String & outResultString) { + C_String & outResultString) { //--- Try UTF-8 - bool ok = String::parseUTF8 (inDataString, 0, outResultString) ; + bool ok = C_String::parseUTF8 (inDataString, 0, outResultString) ; if (ok) { outTextFileEncoding = kUTF_8_FileEncoding ; #ifdef PRINT_SNIFF_ENCODING @@ -425,7 +425,7 @@ static bool sniffUTFEncodingAndParse (const U8Data & inDataString, return ok ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class encodingStruct { public: const char * mEncodingName ; @@ -433,7 +433,7 @@ class encodingStruct { public: const PMStringEncoding mStringEncoding ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static const int32_t kEncodingCount = 18 ; @@ -458,11 +458,11 @@ static const encodingStruct kEncodings [kEncodingCount] = { {"MacRoman", kMacRoman_FileEncoding, kMacRoman_encoding} } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static bool parseWithEncoding (const U8Data & inDataString, +static bool parseWithEncoding (const C_Data & inDataString, const PMStringEncoding inTextFileEncoding, - String & outString) { + C_String & outString) { bool foundCR = false ; bool ok = true ; int32_t idx = 0 ; @@ -470,32 +470,32 @@ static bool parseWithEncoding (const U8Data & inDataString, const uint8_t c = inDataString (idx COMMA_HERE) ; if (c == 0x0A) { // LF if (! foundCR) { - outString.appendChar (TO_UNICODE ('\n')) ; + outString.appendUnicodeCharacter (TO_UNICODE ('\n') COMMA_HERE) ; } foundCR = false ; }else if (c == 0x0D) { // CR - outString.appendChar (TO_UNICODE ('\n')) ; + outString.appendUnicodeCharacter (TO_UNICODE ('\n') COMMA_HERE) ; foundCR = true ; }else if ((c & 0x80) == 0) { // ASCII Character - outString.appendChar (TO_UNICODE (c)) ; + outString.appendUnicodeCharacter (TO_UNICODE (c) COMMA_HERE) ; foundCR = false ; }else{ const utf32 uc = unicodeCharacterForSingleByteCharacter ((char) c, inTextFileEncoding) ; - outString.appendChar (uc) ; + outString.appendUnicodeCharacter (uc COMMA_HERE) ; foundCR = false ; } } if (foundCR) { - outString.appendChar (TO_UNICODE ('\n')) ; + outString.appendUnicodeCharacter (TO_UNICODE ('\n') COMMA_HERE) ; } return ok ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static bool searchForEncodingTagAndParse (const U8Data & inDataString, +static bool searchForEncodingTagAndParse (const C_Data & inDataString, PMTextFileEncoding & outTextFileEncoding, - String & outResultString) { + C_String & outResultString) { //--- Copy first line char firstLine [1000] ; int32_t index = 0 ; @@ -516,7 +516,7 @@ static bool searchForEncodingTagAndParse (const U8Data & inDataString, //--- Search for Tag bool tagFound = false ; if (strstr (firstLine, "UTF-8") != nullptr) { - ok = String::parseUTF8 (inDataString, 0, outResultString) ; + ok = C_String::parseUTF8 (inDataString, 0, outResultString) ; outTextFileEncoding = kUTF_8_FileEncoding ; tagFound = true ; #ifdef PRINT_SNIFF_ENCODING @@ -536,10 +536,10 @@ static bool searchForEncodingTagAndParse (const U8Data & inDataString, return ok ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static void parseASCIIWithReplacementCharacter (const U8Data & inDataString, - String & outString) { +static void parseASCIIWithReplacementCharacter (const C_Data & inDataString, + C_String & outString) { bool foundCR = false ; int32_t index = 0 ; while (index < inDataString.count ()) { @@ -547,38 +547,38 @@ static void parseASCIIWithReplacementCharacter (const U8Data & inDataString, index ++ ; if (c == 0x0A) { // LF if (! foundCR) { - outString.appendChar (TO_UNICODE ('\n')) ; + outString.appendUnicodeCharacter (TO_UNICODE ('\n') COMMA_HERE) ; } foundCR = false ; }else if (c == 0x0D) { // CR - outString.appendChar (TO_UNICODE ('\n')) ; + outString.appendUnicodeCharacter (TO_UNICODE ('\n') COMMA_HERE) ; foundCR = true ; }else if ((c != 0) && (c & 0x80) == 0) { // ASCII Character (not NUL) - outString.appendChar (TO_UNICODE (c)) ; + outString.appendUnicodeCharacter (TO_UNICODE (c) COMMA_HERE) ; foundCR = false ; }else{ - outString.appendChar (UNICODE_REPLACEMENT_CHARACTER) ; + outString.appendUnicodeCharacter (UNICODE_REPLACEMENT_CHARACTER COMMA_HERE) ; foundCR = false ; } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String FileManager::stringWithContentOfFile (const String & inFilePath, - PMTextFileEncoding & outTextFileEncoding, - bool & outOk) { +C_String C_FileManager::stringWithContentOfFile (const C_String & inFilePath, + PMTextFileEncoding & outTextFileEncoding, + bool & outOk) { #ifdef PRINT_SNIFF_ENCODING - printf ("** SNIFF ENCODING for '%s': ", inFilePath.cString ()) ; + printf ("** SNIFF ENCODING for '%s': ", inFilePath.cString (HERE)) ; #endif //--- Read file - U8Data stringData ; + C_Data stringData ; outOk = binaryDataWithContentOfFile (inFilePath, stringData) ; const int32_t length = stringData.count () ; -//--- Assign C string to String - String result_string ; +//--- Assign C string to C_String + C_String result_string ; if (outOk) { - result_string.setCapacity (length + 2) ; + result_string.setCapacity ((uint32_t) (length + 2)) ; //------------ 1- Search for BOM outOk = searchBOMandParse (stringData, length, outTextFileEncoding, result_string) ; //------------ 2- Try UTF-32BE, UTF-32LE, UTF-16BE, UTF-16LE, UTF-8 encodings @@ -602,65 +602,65 @@ String FileManager::stringWithContentOfFile (const String & inFilePath, return result_string ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String FileManager::stringWithContentOfFile (const String & inFilePath) { +C_String C_FileManager::stringWithContentOfFile (const C_String & inFilePath) { bool ok = false ; PMTextFileEncoding textFileEncoding ; - String result_string = stringWithContentOfFile (inFilePath, textFileEncoding, ok) ; -//--- Assign C string to String + C_String result_string = stringWithContentOfFile (inFilePath, textFileEncoding, ok) ; +//--- Assign C string to C_String if (! ok) { - throw C_TextReadException (inFilePath.cString ()) ; + throw C_TextReadException (inFilePath.cString (HERE)) ; } return result_string ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Write to File #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool FileManager::writeStringToFile (const String & inString, - const String & inFilePath) { +bool C_FileManager::writeStringToFile (const C_String & inString, + const C_String & inFilePath) { makeDirectoryIfDoesNotExist (inFilePath.stringByDeletingLastPathComponent ()) ; - TextFileWrite file (inFilePath) ; + C_TextFileWrite file (inFilePath) ; bool success = file.isOpened () ; - file.appendString (inString) ; + file << inString ; if (success) { success = file.close () ; } return success ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool FileManager::writeStringToExecutableFile (const String & inString, - const String & inFilePath) { +bool C_FileManager::writeStringToExecutableFile (const C_String & inString, + const C_String & inFilePath) { makeDirectoryIfDoesNotExist (inFilePath.stringByDeletingLastPathComponent()) ; - TextFileWrite file (inFilePath) ; - file.appendString (inString) ; + C_TextFileWrite file (inFilePath) ; + file << inString ; bool success = file.isOpened () ; if (success) { success = file.close () ; #if COMPILE_FOR_WINDOWS == 0 struct stat fileStat ; - ::stat (inFilePath.cString (), & fileStat) ; - ::chmod (inFilePath.cString (), fileStat.st_mode | S_IXUSR | S_IXGRP | S_IXOTH) ; + ::stat (inFilePath.cString (HERE), & fileStat) ; + ::chmod (inFilePath.cString (HERE), fileStat.st_mode | S_IXUSR | S_IXGRP | S_IXOTH) ; #endif } return success ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool FileManager::writeBinaryDataToFile (const U8Data & inBinaryData, - const String & inFilePath) { +bool C_FileManager::writeBinaryDataToFile (const C_Data & inBinaryData, + const C_String & inFilePath) { makeDirectoryIfDoesNotExist (inFilePath.stringByDeletingLastPathComponent()) ; //--- - BinaryFileWrite binaryFile (inFilePath) ; + C_BinaryFileWrite binaryFile (inFilePath) ; bool success = binaryFile.isOpened () ; binaryFile.appendData (inBinaryData) ; //--- Close file @@ -671,13 +671,13 @@ bool FileManager::writeBinaryDataToFile (const U8Data & inBinaryData, return success ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool FileManager::writeBinaryDataToExecutableFile (const U8Data & inBinaryData, - const String & inFilePath) { +bool C_FileManager::writeBinaryDataToExecutableFile (const C_Data & inBinaryData, + const C_String & inFilePath) { makeDirectoryIfDoesNotExist (inFilePath.stringByDeletingLastPathComponent()) ; //--- - BinaryFileWrite binaryFile (inFilePath) ; + C_BinaryFileWrite binaryFile (inFilePath) ; bool success = binaryFile.isOpened () ; binaryFile.appendData (inBinaryData) ; //--- Close file @@ -685,72 +685,72 @@ bool FileManager::writeBinaryDataToExecutableFile (const U8Data & inBinaryData, success = binaryFile.close () ; #if COMPILE_FOR_WINDOWS == 0 struct stat fileStat ; - ::stat (inFilePath.cString (), & fileStat) ; - ::chmod (inFilePath.cString (), fileStat.st_mode | S_IXUSR | S_IXGRP | S_IXOTH) ; + ::stat (inFilePath.cString (HERE), & fileStat) ; + ::chmod (inFilePath.cString (HERE), fileStat.st_mode | S_IXUSR | S_IXGRP | S_IXOTH) ; #endif } //--- return success ; } - //-------------------------------------------------------------------------------------------------- + //---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Make File Executable #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool FileManager::makeFileExecutable (const String & inFilePath) { +bool C_FileManager::makeFileExecutable (const C_String & inFilePath) { const bool result = fileExistsAtPath (inFilePath) ; #if COMPILE_FOR_WINDOWS == 0 if (result) { struct stat fileStat ; - ::stat (inFilePath.cString (), & fileStat) ; - ::chmod (inFilePath.cString (), fileStat.st_mode | S_IXUSR | S_IXGRP | S_IXOTH) ; + ::stat (inFilePath.cString (HERE), & fileStat) ; + ::chmod (inFilePath.cString (HERE), fileStat.st_mode | S_IXUSR | S_IXGRP | S_IXOTH) ; } #endif return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Directory Handling #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool FileManager::directoryExists (const String & inDirectoryPath) { +bool C_FileManager::directoryExists (const C_String & inDirectoryPath) { return directoryExistsWithNativePath (nativePathWithUnixPath (inDirectoryPath)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool FileManager::directoryExistsWithNativePath (const String & inDirectoryNativePath) { +bool C_FileManager::directoryExistsWithNativePath (const C_String & inDirectoryNativePath) { #if COMPILE_FOR_WINDOWS == 1 const char dirSep = '\\' ; #else const char dirSep = '/' ; #endif - String directoryNativePath = inDirectoryNativePath ; - while ((directoryNativePath.length () > 0) && (directoryNativePath.lastChar(HERE) == dirSep)) { + C_String directoryNativePath = inDirectoryNativePath ; + while ((directoryNativePath.length () > 0) && (directoryNativePath.lastCharacter(HERE) == dirSep)) { directoryNativePath = directoryNativePath.subString (0, directoryNativePath.length () - 1) ; } //--- Get file properties bool exists = directoryNativePath.length () > 0 ; if (exists) { struct stat fileProperties ; - const int err = ::stat (directoryNativePath.cString (), & fileProperties) ; + const int err = ::stat (directoryNativePath.cString (HERE), & fileProperties) ; exists = (err == 0) && ((fileProperties.st_mode & S_IFDIR) != 0) ; } //--- Return result return exists ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String FileManager::currentDirectory (void) { +C_String C_FileManager::currentDirectory (void) { char * cwd = getcwd (nullptr, 0) ; #if COMPILE_FOR_WINDOWS == 1 const int32_t fileLength = (int32_t) strlen (cwd) ; @@ -767,25 +767,25 @@ String FileManager::currentDirectory (void) { } } #endif - const String result (cwd) ; + const C_String result (cwd) ; ::free (cwd) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool FileManager::makeDirectoryIfDoesNotExist (const String & inDirectoryPath) { - const String directoryPath = absolutePathFromCurrentDirectory (inDirectoryPath) ; +bool C_FileManager::makeDirectoryIfDoesNotExist (const C_String & inDirectoryPath) { + const C_String directoryPath = absolutePathFromCurrentDirectory (inDirectoryPath) ; bool ok = directoryExists (directoryPath) ; if (! ok) { ok = makeDirectoryIfDoesNotExist (directoryPath.stringByDeletingLastPathComponent ()) ; if (ok && !directoryExists (directoryPath)) { // Special case when the path contains ../ - const String nativePath = nativePathWithUnixPath (directoryPath) ; + const C_String nativePath = nativePathWithUnixPath (directoryPath) ; //--- Create directory (mkdir returns 0 if creation is ok) #if COMPILE_FOR_WINDOWS == 1 - const int result = ::mkdir (nativePath.cString ()) ; + const int result = ::mkdir (nativePath.cString (HERE)) ; #else - const int result = ::mkdir (nativePath.cString (), 0770) ; + const int result = ::mkdir (nativePath.cString (HERE), 0770) ; #endif ok = result == 0 ; } @@ -793,36 +793,36 @@ bool FileManager::makeDirectoryIfDoesNotExist (const String & inDirectoryPath) { return ok ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String FileManager::removeDirectory (const String & inDirectoryPath) { - String errorString ; - const String nativePath = nativePathWithUnixPath (inDirectoryPath) ; - const int result = rmdir (nativePath.cString ()) ; +C_String C_FileManager::removeDirectory (const C_String & inDirectoryPath) { + C_String errorString ; + const C_String nativePath = nativePathWithUnixPath (inDirectoryPath) ; + const int result = rmdir (nativePath.cString (HERE)) ; if (result < 0) { - errorString.appendString (::strerror (errno)) ; + errorString << ::strerror (errno) ; } return errorString ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Path Handling #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool FileManager::isAbsolutePath (const String & inPath) { - return (inPath.length () > 0) && (UNICODE_VALUE (inPath.charAtIndex (0 COMMA_HERE)) == '/') ; +bool C_FileManager::isAbsolutePath (const C_String & inPath) { + return (inPath.length () > 0) && (UNICODE_VALUE (inPath (0 COMMA_HERE)) == '/') ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String FileManager::absolutePathFromCurrentDirectory (const String & inPath) { +C_String C_FileManager::absolutePathFromCurrentDirectory (const C_String & inPath) { const int32_t stringLength = inPath.length () ; - String result ; - if ((stringLength > 0) && (UNICODE_VALUE (inPath.charAtIndex (0 COMMA_HERE)) == '/')) { + C_String result ; + if ((stringLength > 0) && (UNICODE_VALUE (inPath (0 COMMA_HERE)) == '/')) { result = inPath ; }else{ result = currentDirectory () + "/" + inPath ; @@ -830,36 +830,36 @@ String FileManager::absolutePathFromCurrentDirectory (const String & inPath) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //--- If receiver is an absolute path, returns it // Otherwise, prepend path argument // if path argument it self is relative, current directory is prepended -String FileManager::absolutePathFromPath (const String & inPath, - const String & inFromPath) { +C_String C_FileManager::absolutePathFromPath (const C_String & inPath, + const C_String & inFromPath) { const int32_t pathLength = inPath.length () ; - String result ; - if ((pathLength > 0) && (UNICODE_VALUE (inPath.charAtIndex (0 COMMA_HERE)) == '/')) { + C_String result ; + if ((pathLength > 0) && (UNICODE_VALUE (inPath (0 COMMA_HERE)) == '/')) { result = inPath ; }else{ result = absolutePathFromCurrentDirectory (inFromPath) ; - if (UNICODE_VALUE (result.lastChar (HERE)) != '/') { - result.appendChar (TO_UNICODE ('/')) ; + if (UNICODE_VALUE (result.lastCharacter (HERE)) != '/') { + result.appendUnicodeCharacter (TO_UNICODE ('/') COMMA_HERE) ; } result.appendString (inPath) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String FileManager::relativePathFromPath (const String & inPath, - const String & inFromPath) { - TC_UniqueArray absoluteReferencePathComponents ; +C_String C_FileManager::relativePathFromPath (const C_String & inPath, + const C_String & inFromPath) { + TC_UniqueArray absoluteReferencePathComponents ; absolutePathFromCurrentDirectory (inFromPath.stringByStandardizingPath ()).componentsSeparatedByString("/", absoluteReferencePathComponents) ; - TC_UniqueArray absoluteReceiverPathComponents ; + TC_UniqueArray absoluteReceiverPathComponents ; absolutePathFromCurrentDirectory (inPath.stringByStandardizingPath ()).componentsSeparatedByString("/", absoluteReceiverPathComponents) ; - String result ; + C_String result ; int32_t idx = 0 ; while ((idx < absoluteReferencePathComponents.count ()) && (idx < absoluteReceiverPathComponents.count ()) @@ -867,83 +867,83 @@ String FileManager::relativePathFromPath (const String & inPath, idx ++ ; } for (int32_t i=idx ; i idx) { - result.appendCString ("/") ; + result << "/" ; } - result.appendString (absoluteReceiverPathComponents (i COMMA_HERE)) ; + result << absoluteReceiverPathComponents (i COMMA_HERE) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Symbolic Link #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #if (COMPILE_FOR_WINDOWS == 1) || defined (__CYGWIN__) - bool FileManager::makeSymbolicLinkWithPath (const String & /* inPath */, - const String & /* inLinkPath */) { + bool C_FileManager::makeSymbolicLinkWithPath (const C_String & /* inPath */, + const C_String & /* inLinkPath */) { return true ; // Symbolic links are not supported on Windows } #else - bool FileManager::makeSymbolicLinkWithPath (const String & inPath, - const String & inLinkPath) { - const int r = symlink (inPath.cString (), inLinkPath.cString ()) ; + bool C_FileManager::makeSymbolicLinkWithPath (const C_String & inPath, + const C_String & inLinkPath) { + const int r = symlink (inPath.cString (HERE), inLinkPath.cString (HERE)) ; return r >= 0 ; } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // See http://www.gnu.org/s/libc/manual/html_node/Symbolic-Links.html //--- Symbolic links and Windows: // See http://answers.google.com/answers/threadview/id/341355.html -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #if (COMPILE_FOR_WINDOWS == 1) || defined (__CYGWIN__) - bool FileManager::isSymbolicLink (const String & /* inLinkPath */) { + bool C_FileManager::isSymbolicLink (const C_String & /* inLinkPath */) { return false ; // Symbolic links are not supported on Windows } #else - bool FileManager::isSymbolicLink (const String & inLinkPath) { + bool C_FileManager::isSymbolicLink (const C_String & inLinkPath) { char buffer [8] ; // Any value - return readlink (inLinkPath.cString (), buffer, 8) >= 0 ; + return readlink (inLinkPath.cString (HERE), buffer, 8) >= 0 ; } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #if (COMPILE_FOR_WINDOWS == 1) || defined (__CYGWIN__) - String FileManager::stringWithSymbolicLinkContents (const String & /* inLinkPath */, + C_String C_FileManager::stringWithSymbolicLinkContents (const C_String & /* inLinkPath */, bool & outOk) { outOk = false ; // Symbolic links are not supported on Windows - return String () ; + return C_String () ; } #else - String FileManager::stringWithSymbolicLinkContents (const String & inLinkPath, + C_String C_FileManager::stringWithSymbolicLinkContents (const C_String & inLinkPath, bool & outOk) { - String result ; + C_String result ; bool loop = true ; outOk = true ; char * buffer = nullptr ; size_t bufferSize = 128 ; while (loop) { macroMyReallocPODArray (buffer, char, bufferSize) ; - const int64_t r = readlink (inLinkPath.cString (), buffer, bufferSize) ; + const int64_t r = readlink (inLinkPath.cString (HERE), buffer, bufferSize) ; if (r < 0) { // Error outOk = false ; loop = false ; }else if (r < (int64_t) bufferSize) { // ok buffer [r] = '\0' ; - result.appendString (buffer) ; + result << buffer ; loop = false ; }else{ // Buffer too small bufferSize *= 2 ; @@ -954,60 +954,59 @@ String FileManager::relativePathFromPath (const String & inPath, } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Delete File #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Delete file // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String FileManager::deleteFile (const String & inFilePath) { - String returnValue ; - const String nativePath = nativePathWithUnixPath (inFilePath) ; - const int result = unlink (nativePath.cString ()) ; +C_String C_FileManager::deleteFile (const C_String & inFilePath) { + C_String returnValue ; + const C_String nativePath = nativePathWithUnixPath (inFilePath) ; + const int result = unlink (nativePath.cString (HERE)) ; if (result < 0) { - returnValue.appendString (::strerror (errno)) ; + returnValue << ::strerror (errno) ; } return returnValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Search a file in a directory #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static String recursiveSearchInDirectory (const String & inStartSearchPath, - const String & inFileName, +static C_String recursiveSearchInDirectory (const C_String & inStartSearchPath, + const C_String & inFileName, const int32_t inDirectoriesToExcludeCount, - const TC_UniqueArray & inDirectoriesToExclude) { - String result ; - const String nativeStartSearchPath = FileManager::nativePathWithUnixPath (inStartSearchPath) ; - DIR * dir = ::opendir (nativeStartSearchPath.cString ()) ; + const TC_UniqueArray & inDirectoriesToExclude) { + C_String result ; + const C_String nativeStartSearchPath = C_FileManager::nativePathWithUnixPath (inStartSearchPath) ; + DIR * dir = ::opendir (nativeStartSearchPath.cString (HERE)) ; if (dir != nullptr) { - String fileName = inStartSearchPath ; - fileName.appendCString ("/") ; - fileName.appendString (inFileName) ; - if (FileManager::fileExistsAtPath (fileName)) { + C_String fileName = inStartSearchPath ; + fileName << "/" << inFileName ; + if (C_FileManager::fileExistsAtPath (fileName)) { result = fileName ; }else{ struct dirent * current = readdir (dir) ; while ((current != nullptr) && (result.length () == 0)) { if (current->d_name [0] != '.') { - String name = inStartSearchPath ; + C_String name = inStartSearchPath ; name.appendCString ("/") ; - name.appendString (current->d_name) ; - if (FileManager::directoryExistsWithNativePath (name)) { + name.appendCString (current->d_name) ; + if (C_FileManager::directoryExistsWithNativePath (name)) { bool dirOk = true ; for (int32_t i=0 ; (id_name, '.') ; dirOk = (dotPtr == nullptr) || (inDirectoriesToExclude (i COMMA_HERE).compare (dotPtr) != 0) ; }else{ @@ -1027,39 +1026,39 @@ static String recursiveSearchInDirectory (const String & inStartSearchPath, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String FileManager::findFileInDirectory (const String & inDirectoryPath, - const String & inFileName, - const TC_UniqueArray & inDirectoriesToExclude) { +C_String C_FileManager::findFileInDirectory (const C_String & inDirectoryPath, + const C_String & inFileName, + const TC_UniqueArray & inDirectoriesToExclude) { const int32_t directoriesToExcludeCount = inDirectoriesToExclude.count () ; return recursiveSearchInDirectory (inDirectoryPath, inFileName, directoriesToExcludeCount, inDirectoriesToExclude) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Find all files in a directory #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static void recursiveFindAllFilesInDirectory (const String & inStartSearchPath, - const String & inExtension, - TC_UniqueArray & outFoundFilePathes) { +static void recursiveFindAllFilesInDirectory (const C_String & inStartSearchPath, + const C_String & inExtension, + TC_UniqueArray & outFoundFilePathes) { //--- Iterate throught directory - const String nativeStartSearchPath = FileManager::nativePathWithUnixPath (inStartSearchPath) ; - DIR * dir = ::opendir (nativeStartSearchPath.cString ()) ; + const C_String nativeStartSearchPath = C_FileManager::nativePathWithUnixPath (inStartSearchPath) ; + DIR * dir = ::opendir (nativeStartSearchPath.cString (HERE)) ; if (dir != nullptr) { struct dirent * current = readdir (dir) ; while (current != nullptr) { if (current->d_name [0] != '.') { - String name = inStartSearchPath ; + C_String name = inStartSearchPath ; name.appendCString ("/") ; - name.appendString (current->d_name) ; - if (FileManager::directoryExistsWithNativePath (name)) { + name.appendCString (current->d_name) ; + if (C_FileManager::directoryExistsWithNativePath (name)) { recursiveFindAllFilesInDirectory (name, inExtension, outFoundFilePathes) ; - }else if (FileManager::fileExistsAtPath (name) && (name.pathExtension () == inExtension)) { + }else if (C_FileManager::fileExistsAtPath (name) && (name.pathExtension () == inExtension)) { outFoundFilePathes.appendObject (name) ; } } @@ -1069,54 +1068,54 @@ static void recursiveFindAllFilesInDirectory (const String & inStartSearchPath, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void FileManager::findAllFilesInDirectoryFromExtension (const String & inDirectoryPath, - const String & inExtension, - TC_UniqueArray & outFoundFilePathes) { +void C_FileManager::findAllFilesInDirectoryFromExtension (const C_String & inDirectoryPath, + const C_String & inExtension, + TC_UniqueArray & outFoundFilePathes) { if (directoryExists (inDirectoryPath)) { recursiveFindAllFilesInDirectory (inDirectoryPath, inExtension, outFoundFilePathes) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Files Modification Time #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -DateTime FileManager::fileModificationTime (const String & inFilePath) { - const String nativePath = nativePathWithUnixPath (inFilePath) ; +C_DateTime C_FileManager::fileModificationTime (const C_String & inFilePath) { + const C_String nativePath = nativePathWithUnixPath (inFilePath) ; //--- Get file properties time_t modificationTime = 0 ; if (nativePath.length () > 0) { struct stat fileProperties ; - const int err = ::stat (nativePath.cString (), & fileProperties) ; + const int err = ::stat (nativePath.cString (HERE), & fileProperties) ; if ((err == 0) && ((fileProperties.st_mode & S_IFREG) != 0)) { modificationTime = fileProperties.st_mtime ; } } //--- Return modification date - return DateTime (modificationTime) ; + return C_DateTime (modificationTime) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Files Modification Time #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -uint64_t FileManager::fileSize (const String & inFilePath) { +uint64_t C_FileManager::fileSize (const C_String & inFilePath) { uint64_t result = 0 ; - const String nativePath = nativePathWithUnixPath (inFilePath) ; + const C_String nativePath = nativePathWithUnixPath (inFilePath) ; if (nativePath.length () > 0) { struct stat fileProperties ; - const int err = ::stat (nativePath.cString (), & fileProperties) ; + const int err = ::stat (nativePath.cString (HERE), & fileProperties) ; if ((err == 0) && ((fileProperties.st_mode & S_IFREG) != 0)) { result = (uint64_t) fileProperties.st_size ; } @@ -1124,20 +1123,20 @@ uint64_t FileManager::fileSize (const String & inFilePath) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Files permissions #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -int32_t FileManager::filePosixPermissions (const String & inFilePath) { - const String nativePath = nativePathWithUnixPath (inFilePath) ; +int32_t C_FileManager::filePosixPermissions (const C_String & inFilePath) { + const C_String nativePath = nativePathWithUnixPath (inFilePath) ; //--- Get file properties int32_t permissions = -1 ; struct stat fileProperties ; - const int err = ::stat (nativePath.cString (), & fileProperties) ; + const int err = ::stat (nativePath.cString (HERE), & fileProperties) ; if (err == 0) { permissions = ((int32_t) fileProperties.st_mode) & 0xFFF ; } @@ -1145,39 +1144,39 @@ int32_t FileManager::filePosixPermissions (const String & inFilePath) { return permissions ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -int32_t FileManager::setFilePosixPermissions (const String & inFilePath, +int32_t C_FileManager::setFilePosixPermissions (const C_String & inFilePath, const int32_t inNewFilePosixPermissions) { int32_t newMode = -1 ; // Error Code const int32_t v = inNewFilePosixPermissions & (int32_t) 0xFFFFF000 ; if (v == 0) { - const String nativePath = nativePathWithUnixPath (inFilePath) ; - newMode = ::chmod (nativePath.cString (), (uint16_t) (inNewFilePosixPermissions & UINT16_MAX)) ; + const C_String nativePath = nativePathWithUnixPath (inFilePath) ; + newMode = ::chmod (nativePath.cString (HERE), (uint16_t) (inNewFilePosixPermissions & UINT16_MAX)) ; } return newMode ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Files exists at path #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool FileManager::fileExistsAtPath (const String & inFilePath) { - const String nativePath = nativePathWithUnixPath (inFilePath) ; +bool C_FileManager::fileExistsAtPath (const C_String & inFilePath) { + const C_String nativePath = nativePathWithUnixPath (inFilePath) ; //--- Get file properties bool exists = nativePath.length () > 0 ; if (exists) { struct stat fileProperties ; - const int err = ::stat (nativePath.cString (), & fileProperties) ; + const int err = ::stat (nativePath.cString (HERE), & fileProperties) ; exists = (err == 0) && ((fileProperties.st_mode & S_IFREG) != 0) ; } //--- Return result return exists ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/files/C_FileManager.h b/goil/build/libpm/files/C_FileManager.h new file mode 100644 index 000000000..1d0e1fd82 --- /dev/null +++ b/goil/build/libpm/files/C_FileManager.h @@ -0,0 +1,123 @@ +//---------------------------------------------------------------------------------------------------------------------- +// +// 'C_FileManager' : a class for handling files, independantly from platform +// +// This file is part of libpm library +// +// Copyright (C) 2012, ..., 2023 Pierre Molinaro. +// +// e-mail : pierre@pcmolinaro.name +// +// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied +// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +//---------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//---------------------------------------------------------------------------------------------------------------------- + +#include "strings/C_String.h" +#include "utilities/C_Data.h" + +//---------------------------------------------------------------------------------------------------------------------- + +class C_FileManager final { +//--- File path conversions + public: static C_String unixPathWithNativePath (const C_String & inFilePath) ; + public: static C_String nativePathWithUnixPath (const C_String & inFilePath) ; + +//--- File exists + public: static bool fileExistsAtPath (const C_String & inFilePath) ; + +//--- File exists + public: static bool makeFileExecutable (const C_String & inFilePath) ; + +//--- Open file for reading + public: static FILE * openTextFileForReading (const C_String & inFilePath) ; + + public: static FILE * openBinaryFileForReading (const C_String & inFilePath) ; + +//--- Read binary file at once + public: static bool binaryDataWithContentOfFile (const C_String & inFilePath, + C_Data & outBinaryData) ; + +//--- Read text file at once + public: static C_String stringWithContentOfFile (const C_String & inFilePath) ; + + public: static C_String stringWithContentOfFile (const C_String & inFilePath, + PMTextFileEncoding & outTextFileEncoding, + bool & outOk) ; + +//--- Write string to file + public: static bool writeStringToFile (const C_String & inString, + const C_String & inFilePath) ; + + public: static bool writeStringToExecutableFile (const C_String & inString, + const C_String & inFilePath) ; + +//--- Write data to file + public: static bool writeBinaryDataToFile (const C_Data & inBinaryData, + const C_String & inFilePath) ; + + public: static bool writeBinaryDataToExecutableFile (const C_Data & inBinaryData, + const C_String & inFilePath) ; + +//--- Delete file (returns an empty string on success, or a string describing the error) + public: static C_String deleteFile (const C_String & inFilePath) ; + +//--- Directory handling + public: static C_String currentDirectory (void) ; + public: static bool directoryExists (const C_String & inDirectoryPath) ; + public: static bool directoryExistsWithNativePath (const C_String & inDirectoryNativePath) ; + public: static bool makeDirectoryIfDoesNotExist (const C_String & inDirectoryPath) ; + +//--- Remove directory (returns an empty string on success, or a string describing the error) + public: static C_String removeDirectory (const C_String & inDirectoryPath) ; + + public: static C_String findFileInDirectory (const C_String & inDirectoryPath, + const C_String & inFileName, + const TC_UniqueArray & inDirectoriesToExclude) ; + +//--- Find all files in directory and subdirectories that respond to a given extension +// Initial directory is got from receiver value. If it is not a directory, this method does nothing. +// Found files are appended to outFoundFilePathes. + public: static void findAllFilesInDirectoryFromExtension (const C_String & inDirectoryPath, + const C_String & inExtension, + TC_UniqueArray & outFoundFilePathes) ; + +//--- Path handling + public: static bool isAbsolutePath (const C_String & inPath) ; + public: static C_String absolutePathFromCurrentDirectory (const C_String & inPath) ; + public: static C_String absolutePathFromPath (const C_String & inPath, + const C_String & inFromPath) ; + public: static C_String relativePathFromPath (const C_String & inPath, + const C_String & inFromPath) ; + + +//--- Symbolic Link + public: static bool makeSymbolicLinkWithPath (const C_String & inPath, + const C_String & inLinkPath) ; + public: static bool isSymbolicLink (const C_String & inLinkPath) ; + public: static C_String stringWithSymbolicLinkContents (const C_String & inLinkPath, + bool & outOk) ; + +//--- File permissions + public: static int32_t filePosixPermissions (const C_String & inFilePath) ; + + public: static int32_t setFilePosixPermissions (const C_String & inFilePath, + const int32_t inNewFilePosixPermissions) ; + +//--- File modification time + public: static C_DateTime fileModificationTime (const C_String & inFilePath) ; + +//--- File size + public: static uint64_t fileSize (const C_String & inFilePath) ; +} ; + +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/files/C_HTML_FileWrite.cpp b/goil/build/libpm/files/C_HTML_FileWrite.cpp new file mode 100644 index 000000000..cacb57605 --- /dev/null +++ b/goil/build/libpm/files/C_HTML_FileWrite.cpp @@ -0,0 +1,149 @@ +//---------------------------------------------------------------------------------------------------------------------- +// +// 'C_HTML_FileWrite' : a class for stream writing html text files +// (with facility for outputing C++ code) +// +// This file is part of libpm library +// +// Copyright (C) 2003, ..., 2014 Pierre Molinaro. +// +// e-mail : pierre@pcmolinaro.name +// +// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied +// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +//---------------------------------------------------------------------------------------------------------------------- + +#include "files/C_HTML_FileWrite.h" +#include "strings/C_String.h" +#include "time/C_DateTime.h" + +//---------------------------------------------------------------------------------------------------------------------- + +#include + +//---------------------------------------------------------------------------------------------------------------------- + +C_HTML_FileWrite::C_HTML_FileWrite (const C_String & inFileName, + const C_String & inWindowTitle, + const C_String & inCSSFileName, + const C_String & inCSSContents) : +C_TextFileWrite (inFileName) { + outputRawData ("\n" + "" + "\n" + "\n" + "\n") ; + *this << inWindowTitle ; + outputRawData ("") ; + if (inCSSFileName.length () > 0) { + outputRawData ("") ; + } + if (inCSSContents.length () > 0) { + outputRawData ("") ; + } + outputRawData ("" + "
\n") ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// Close +//---------------------------------------------------------------------------------------------------------------------- + +bool C_HTML_FileWrite::close (void) { + outputRawData ("
\n") ; + return inherited::close () ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// Destructor writes html ending code, the closes the file * +//---------------------------------------------------------------------------------------------------------------------- + +C_HTML_FileWrite::~C_HTML_FileWrite (void) { + outputRawData ("\n") ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// Write a character string into the file WITHOUT any translation * +//---------------------------------------------------------------------------------------------------------------------- + +void C_HTML_FileWrite::outputRawData (const char * in_Cstring) { + inherited::performActualCharArrayOutput (in_Cstring, (int32_t) (strlen (in_Cstring) & UINT32_MAX)) ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// Write a character string into the file * +// Performs HTML character translation (i.e. '<' --> '<', ...) * +//---------------------------------------------------------------------------------------------------------------------- + +void C_HTML_FileWrite::performActualCharArrayOutput (const char * inCharArray, + const int32_t inArrayCount) { + for (int32_t i=0 ; i' : + inherited::performActualCharArrayOutput (">", 4) ; + break ; + case '&' : + inherited::performActualCharArrayOutput ("&", 5) ; + break ; + default : + inherited::performActualCharArrayOutput (& c, 1) ; + break ; + } + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_HTML_FileWrite::performActualUnicodeArrayOutput (const utf32 * inCharArray, + const int32_t inArrayCount) { + for (int32_t i=0 ; i' : + inherited::performActualCharArrayOutput (">", 4) ; + break ; + case '&' : + inherited::performActualCharArrayOutput ("&", 5) ; + break ; + default : + inherited::performActualUnicodeArrayOutput (& codePoint, 1) ; + break ; + } + } +} + +//---------------------------------------------------------------------------------------------------------------------- +// Comments as a table +//---------------------------------------------------------------------------------------------------------------------- + +void C_HTML_FileWrite::appendCppTitleComment (const C_String & inCommentString, + const C_String & inTableStyleClass) { + outputRawData (" 0) { + outputRawData (" class=\"") ; + outputRawData (inTableStyleClass.cString (HERE)) ; + outputRawData ("\"") ; + } + outputRawData (">\n") ; + *this << inCommentString ; + outputRawData ("\n\n") ; +} + +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/files/HTMLFileWrite.h b/goil/build/libpm/files/C_HTML_FileWrite.h similarity index 51% rename from goil/build/libpm/files/HTMLFileWrite.h rename to goil/build/libpm/files/C_HTML_FileWrite.h index 85321beba..d8e4ee2ff 100644 --- a/goil/build/libpm/files/HTMLFileWrite.h +++ b/goil/build/libpm/files/C_HTML_FileWrite.h @@ -1,6 +1,6 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// 'HTMLFileWrite' : a class for stream writing html text files +// 'C_HTML_FileWrite' : a class for stream writing html text files // (with facility for outputing C++ code) // // This file is part of libpm library @@ -17,54 +17,55 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "TextFileWrite.h" +#include "files/C_TextFileWrite.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class String ; +class C_String ; -//-------------------------------------------------------------------------------------------------- - -class HTMLFileWrite final : public TextFileWrite { -//--- Private attributes - private: typedef TextFileWrite Super ; +//---------------------------------------------------------------------------------------------------------------------- +class C_HTML_FileWrite final : public C_TextFileWrite { //--- Constructor : if inFileName is the empty string, no file is opened. // Otherwise, it tries to open the file for writing; // The destructor will close the file (is successfully opened) - public: HTMLFileWrite (const String & inFileName, - const String & inWindowTitle, - const String & inCSSFileName, - const String & inCSSContents) ; + public: C_HTML_FileWrite (const C_String & inFileName, + const C_String & inWindowTitle, + const C_String & inCSSFileName, + const C_String & inCSSContents) ; //--- Destructor - public: virtual ~ HTMLFileWrite (void) ; + public: virtual ~C_HTML_FileWrite (void) ; //--- No copy - private: HTMLFileWrite & operator = (HTMLFileWrite &) = delete ; - private: HTMLFileWrite (HTMLFileWrite &) = delete ; + private: C_HTML_FileWrite & operator = (C_HTML_FileWrite &) ; + private: C_HTML_FileWrite (C_HTML_FileWrite &) ; //--- Output data, without HTML formatting - public: void appendRawData (const char * inCString) ; + public: void outputRawData (const char * in_Cstring) ; //--- General stream methods - protected: virtual void handleAppendUTF8Array (const char * inCharArray, - const int32_t inArrayCount) ; + protected: virtual void performActualCharArrayOutput (const char * inCharArray, + const int32_t inArrayCount) ; - protected: virtual void handleAppendCharacter (const utf32 inCharacter) ; + protected: virtual void performActualUnicodeArrayOutput (const utf32 * inCharArray, + const int32_t inArrayCount) ; //--- Method for writing a HTML table - public: void appendCppTitleComment (const String & inCommentString, - const String & inTableStyleClass) ; + public: void appendCppTitleComment (const C_String & inCommentString, + const C_String & inTableStyleClass) ; //--- Close file (does nothing is file is not open) public: virtual bool close (void) ; + +//--- Private attributes + private: typedef C_TextFileWrite inherited ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/files/C_TextFileWrite.cpp b/goil/build/libpm/files/C_TextFileWrite.cpp new file mode 100644 index 000000000..0d8ee7ee8 --- /dev/null +++ b/goil/build/libpm/files/C_TextFileWrite.cpp @@ -0,0 +1,118 @@ +//---------------------------------------------------------------------------------------------------------------------- +// +// 'C_TextFileWrite' : a class for stream writing text files +// +// This file is part of libpm library +// +// Copyright (C) 1999, ..., 2011 Pierre Molinaro. +// +// e-mail : pierre@pcmolinaro.name +// +// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied +// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +//---------------------------------------------------------------------------------------------------------------------- + +#include "files/C_TextFileWrite.h" +#include "time/C_DateTime.h" +#include "strings/unicode_character_cpp.h" +#include "files/C_FileManager.h" + +//---------------------------------------------------------------------------------------------------------------------- + +#include + +//---------------------------------------------------------------------------------------------------------------------- + +C_TextFileWrite::C_TextFileWrite (const C_String & inFileName) : +AC_FileHandle (inFileName, "wt"), +mBufferLength (0) { +} + +//---------------------------------------------------------------------------------------------------------------------- +// Close +//---------------------------------------------------------------------------------------------------------------------- + +bool C_TextFileWrite::close (void) { + bool ok = true ; + if (mFilePtr != nullptr) { + if (mBufferLength > 0) { + ::fprintf (mFilePtr, "%.*s", (int) mBufferLength, mBuffer) ; + mBufferLength = 0 ; + } + ok = ::fclose (mFilePtr) == 0 ; // Flushes the file, then closes it + mFilePtr = nullptr ; + } + return ok ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// Destructor +// Cannot call the virtual 'close' method in destructor +//---------------------------------------------------------------------------------------------------------------------- + +C_TextFileWrite::~C_TextFileWrite (void) { + if ((mFilePtr != nullptr) && (mBufferLength > 0)) { + ::fprintf (mFilePtr, "%.*s", (int) mBufferLength, mBuffer) ; + mBufferLength = 0 ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- +// Write a character string into the file +//---------------------------------------------------------------------------------------------------------------------- + +void C_TextFileWrite::performActualCharArrayOutput (const char * inCharArray, + const int32_t inArrayCount) { + if ((mFilePtr != nullptr) && (inArrayCount > 0)) { + if ((mBufferLength + inArrayCount) < kFileBufferSize) { + ::memcpy (& mBuffer [mBufferLength], inCharArray, (size_t) inArrayCount) ; + mBufferLength += inArrayCount ; + }else{ + if (mBufferLength > 0) { + ::fprintf (mFilePtr, "%.*s", (int) mBufferLength, mBuffer) ; + mBufferLength = 0 ; + } + ::fprintf (mFilePtr, "%.*s", (int) inArrayCount, inCharArray) ; + } + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_TextFileWrite::performActualUnicodeArrayOutput (const utf32 * inCharArray, + const int32_t inArrayCount) { + if ((mFilePtr != nullptr) && (inArrayCount > 0)) { + for (int32_t i=0 ; i kFileBufferSize) { + ::fprintf (mFilePtr, "%.*s", (int) mBufferLength, mBuffer) ; + mBufferLength = 0 ; + } + ::memcpy (& mBuffer [mBufferLength], buffer, (size_t) length) ; + mBufferLength += length ; + } + } +} + +//---------------------------------------------------------------------------------------------------------------------- +// Flush print +//---------------------------------------------------------------------------------------------------------------------- + +void C_TextFileWrite::flush (void) { + if (mFilePtr != nullptr) { + if (mBufferLength > 0) { + ::fprintf (mFilePtr, "%.*s", (int) mBufferLength, mBuffer) ; + mBufferLength = 0 ; + } + ::fflush (mFilePtr) ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/files/C_TextFileWrite.h b/goil/build/libpm/files/C_TextFileWrite.h new file mode 100644 index 000000000..da336fe50 --- /dev/null +++ b/goil/build/libpm/files/C_TextFileWrite.h @@ -0,0 +1,70 @@ +//---------------------------------------------------------------------------------------------------------------------- +// +// 'C_TextFileWrite' : a class for stream writing text files +// +// This file is part of libpm library +// +// Copyright (C) 1999, ..., 2023 Pierre Molinaro. +// +// e-mail : pierre@pcmolinaro.name +// +// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied +// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +//---------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//---------------------------------------------------------------------------------------------------------------------- + +#include "strings/C_String.h" +#include "streams/AC_OutputStream.h" +#include "files/AC_FileHandle.h" + +//---------------------------------------------------------------------------------------------------------------------- + +#include + +//---------------------------------------------------------------------------------------------------------------------- + +const int32_t kFileBufferSize = 10000 ; + +//---------------------------------------------------------------------------------------------------------------------- + +class C_TextFileWrite : public AC_OutputStream, public AC_FileHandle { +//--- Constructor : if inFileName is the empty string, no file is opened. +// Otherwise, it tries to open the file for writing; +// The destructor will close the file (is successfully opened) + public: C_TextFileWrite (const C_String & inFileName) ; + +//--- Destructor closes the file + public: virtual ~C_TextFileWrite (void) ; + +//--- No copy + private: C_TextFileWrite (C_TextFileWrite &) ; + private: C_TextFileWrite & operator = (C_TextFileWrite &) ; + +//--- General stream methods + protected: virtual void performActualCharArrayOutput (const char * inCharArray, + const int32_t inArrayCount) ; + + protected: virtual void performActualUnicodeArrayOutput (const utf32 * inCharArray, + const int32_t inArrayCount) ; + +//--- Flush print + public: virtual void flush (void) ; + +//--- Close file (does nothing is file is not open) + public: virtual bool close (void) ; + +//--- Private attributes + private: int32_t mBufferLength ; + private: char mBuffer [kFileBufferSize + 1] ; +} ; + +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/files/FileManager.h b/goil/build/libpm/files/FileManager.h deleted file mode 100644 index ce93d4176..000000000 --- a/goil/build/libpm/files/FileManager.h +++ /dev/null @@ -1,123 +0,0 @@ -//-------------------------------------------------------------------------------------------------- -// -// 'FileManager' : a class for handling files, independantly from platform -// -// This file is part of libpm library -// -// Copyright (C) 2012, ..., 2023 Pierre Molinaro. -// -// e-mail : pierre@pcmolinaro.name -// -// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General -// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) -// any later version. -// -// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied -// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -// more details. -// -//-------------------------------------------------------------------------------------------------- - -#pragma once - -//-------------------------------------------------------------------------------------------------- - -#include "String-class.h" -#include "U8Data.h" - -//-------------------------------------------------------------------------------------------------- - -class FileManager final { -//--- File path conversions - public: static String unixPathWithNativePath (const String & inFilePath) ; - public: static String nativePathWithUnixPath (const String & inFilePath) ; - -//--- File exists - public: static bool fileExistsAtPath (const String & inFilePath) ; - -//--- File exists - public: static bool makeFileExecutable (const String & inFilePath) ; - -//--- Open file for reading - public: static FILE * openTextFileForReading (const String & inFilePath) ; - - public: static FILE * openBinaryFileForReading (const String & inFilePath) ; - -//--- Read binary file at once - public: static bool binaryDataWithContentOfFile (const String & inFilePath, - U8Data & outBinaryData) ; - -//--- Read text file at once - public: static String stringWithContentOfFile (const String & inFilePath) ; - - public: static String stringWithContentOfFile (const String & inFilePath, - PMTextFileEncoding & outTextFileEncoding, - bool & outOk) ; - -//--- Write string to file - public: static bool writeStringToFile (const String & inString, - const String & inFilePath) ; - - public: static bool writeStringToExecutableFile (const String & inString, - const String & inFilePath) ; - -//--- Write data to file - public: static bool writeBinaryDataToFile (const U8Data & inBinaryData, - const String & inFilePath) ; - - public: static bool writeBinaryDataToExecutableFile (const U8Data & inBinaryData, - const String & inFilePath) ; - -//--- Delete file (returns an empty string on success, or a string describing the error) - public: static String deleteFile (const String & inFilePath) ; - -//--- Directory handling - public: static String currentDirectory (void) ; - public: static bool directoryExists (const String & inDirectoryPath) ; - public: static bool directoryExistsWithNativePath (const String & inDirectoryNativePath) ; - public: static bool makeDirectoryIfDoesNotExist (const String & inDirectoryPath) ; - -//--- Remove directory (returns an empty string on success, or a string describing the error) - public: static String removeDirectory (const String & inDirectoryPath) ; - - public: static String findFileInDirectory (const String & inDirectoryPath, - const String & inFileName, - const TC_UniqueArray & inDirectoriesToExclude) ; - -//--- Find all files in directory and subdirectories that respond to a given extension -// Initial directory is got from receiver value. If it is not a directory, this method does nothing. -// Found files are appended to outFoundFilePathes. - public: static void findAllFilesInDirectoryFromExtension (const String & inDirectoryPath, - const String & inExtension, - TC_UniqueArray & outFoundFilePathes) ; - -//--- Path handling - public: static bool isAbsolutePath (const String & inPath) ; - public: static String absolutePathFromCurrentDirectory (const String & inPath) ; - public: static String absolutePathFromPath (const String & inPath, - const String & inFromPath) ; - public: static String relativePathFromPath (const String & inPath, - const String & inFromPath) ; - - -//--- Symbolic Link - public: static bool makeSymbolicLinkWithPath (const String & inPath, - const String & inLinkPath) ; - public: static bool isSymbolicLink (const String & inLinkPath) ; - public: static String stringWithSymbolicLinkContents (const String & inLinkPath, - bool & outOk) ; - -//--- File permissions - public: static int32_t filePosixPermissions (const String & inFilePath) ; - - public: static int32_t setFilePosixPermissions (const String & inFilePath, - const int32_t inNewFilePosixPermissions) ; - -//--- File modification time - public: static DateTime fileModificationTime (const String & inFilePath) ; - -//--- File size - public: static uint64_t fileSize (const String & inFilePath) ; -} ; - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/files/HTMLFileWrite.cpp b/goil/build/libpm/files/HTMLFileWrite.cpp deleted file mode 100644 index d0d9fe881..000000000 --- a/goil/build/libpm/files/HTMLFileWrite.cpp +++ /dev/null @@ -1,146 +0,0 @@ -//-------------------------------------------------------------------------------------------------- -// -// 'HTMLFileWrite' : a class for stream writing html text files -// (with facility for outputing C++ code) -// -// This file is part of libpm library -// -// Copyright (C) 2003, ..., 2014 Pierre Molinaro. -// -// e-mail : pierre@pcmolinaro.name -// -// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General -// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) -// any later version. -// -// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied -// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -// more details. -// -//-------------------------------------------------------------------------------------------------- - -#include "HTMLFileWrite.h" -#include "String-class.h" -#include "DateTime.h" - -//-------------------------------------------------------------------------------------------------- - -#include - -//-------------------------------------------------------------------------------------------------- - -HTMLFileWrite::HTMLFileWrite (const String & inFileName, - const String & inWindowTitle, - const String & inCSSFileName, - const String & inCSSContents) : -TextFileWrite (inFileName) { - appendRawData ("\n" - "" - "\n" - "\n" - "\n") ; - appendString (inWindowTitle) ; - appendRawData ("") ; - if (inCSSFileName.length () > 0) { - appendRawData ("") ; - } - if (inCSSContents.length () > 0) { - appendRawData ("") ; - } - appendRawData ("\n
\n") ; -} - -//-------------------------------------------------------------------------------------------------- -// Close -//-------------------------------------------------------------------------------------------------- - -bool HTMLFileWrite::close (void) { - appendRawData ("
\n") ; - return Super::close () ; -} - -//-------------------------------------------------------------------------------------------------- -// Destructor writes html ending code, the closes the file -//-------------------------------------------------------------------------------------------------- - -HTMLFileWrite::~HTMLFileWrite (void) { - appendRawData ("\n") ; -} - -//-------------------------------------------------------------------------------------------------- -// Write a character string into the file WITHOUT any translation -//-------------------------------------------------------------------------------------------------- - -void HTMLFileWrite::appendRawData (const char * in_Cstring) { - if (nullptr != in_Cstring) { - Super::handleAppendUTF8Array (in_Cstring, int32_t (strlen (in_Cstring))) ; - } -} - -//-------------------------------------------------------------------------------------------------- -// Write a character string into the file -// Performs HTML character translation (i.e. '<' --> '<', ...) -//-------------------------------------------------------------------------------------------------- - -void HTMLFileWrite::handleAppendUTF8Array (const char * inCharArray, - const int32_t inArrayCount) { - for (int32_t i=0 ; i' : - Super::handleAppendUTF8Array (">", 4) ; - break ; - case '&' : - Super::handleAppendUTF8Array ("&", 5) ; - break ; - default : - Super::handleAppendUTF8Array (& c, 1) ; - break ; - } - } -} - -//-------------------------------------------------------------------------------------------------- - -void HTMLFileWrite::handleAppendCharacter (const utf32 inCharacter) { - switch (UNICODE_VALUE (inCharacter)) { - case '<' : - Super::handleAppendUTF8Array ("<", 4) ; - break ; - case '>' : - Super::handleAppendUTF8Array (">", 4) ; - break ; - case '&' : - Super::handleAppendUTF8Array ("&", 5) ; - break ; - default : - Super::handleAppendCharacter (inCharacter) ; - break ; - } -} - -//-------------------------------------------------------------------------------------------------- -// Comments as a table -//-------------------------------------------------------------------------------------------------- - -void HTMLFileWrite::appendCppTitleComment (const String & inCommentString, - const String & inTableStyleClass) { - appendRawData (" 0) { - appendRawData (" class=\"") ; - appendRawData (inTableStyleClass.cString ()) ; - appendRawData ("\"") ; - } - appendRawData (">\n") ; - appendString (inCommentString) ; - appendRawData ("\n\n") ; -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/files/TextFileWrite.cpp b/goil/build/libpm/files/TextFileWrite.cpp deleted file mode 100644 index 65db39e6b..000000000 --- a/goil/build/libpm/files/TextFileWrite.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//-------------------------------------------------------------------------------------------------- -// -// 'TextFileWrite' : a class for stream writing text files -// -// This file is part of libpm library -// -// Copyright (C) 1999, ..., 2011 Pierre Molinaro. -// -// e-mail : pierre@pcmolinaro.name -// -// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General -// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) -// any later version. -// -// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied -// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -// more details. -// -//-------------------------------------------------------------------------------------------------- - -#include "TextFileWrite.h" -#include "DateTime.h" -#include "unicode_character_cpp.h" -#include "FileManager.h" - -//-------------------------------------------------------------------------------------------------- - -#include - -//-------------------------------------------------------------------------------------------------- - -TextFileWrite::TextFileWrite (const String & inFileName) : -AbstractFileHandle (inFileName, "wt") { -} - -//-------------------------------------------------------------------------------------------------- -// Write a character string into the file -//-------------------------------------------------------------------------------------------------- - -void TextFileWrite::handleAppendUTF8Array (const char * inCharArray, - const int32_t inArrayCount) { - if (isOpened () && (inCharArray != nullptr) && (inArrayCount > 0)) { - appendUTF8String (int (inArrayCount), inCharArray) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void TextFileWrite::handleAppendCharacter (const utf32 inCharacter) { - if (isOpened ()) { - char buffer [8] ; - const int32_t length = UTF8StringFromUTF32Character (inCharacter, buffer) ; - appendUTF8String (int (length), buffer) ; - } -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/files/TextFileWrite.h b/goil/build/libpm/files/TextFileWrite.h deleted file mode 100644 index 543c0cdfb..000000000 --- a/goil/build/libpm/files/TextFileWrite.h +++ /dev/null @@ -1,52 +0,0 @@ -//-------------------------------------------------------------------------------------------------- -// -// 'TextFileWrite' : a class for stream writing text files -// -// This file is part of libpm library -// -// Copyright (C) 1999, ..., 2023 Pierre Molinaro. -// -// e-mail : pierre@pcmolinaro.name -// -// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General -// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) -// any later version. -// -// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied -// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -// more details. -// -//-------------------------------------------------------------------------------------------------- - -#pragma once - -//-------------------------------------------------------------------------------------------------- - -#include "String-class.h" -#include "AbstractOutputStream.h" -#include "AbstractFileHandle.h" - -//-------------------------------------------------------------------------------------------------- - -#include - -//-------------------------------------------------------------------------------------------------- - -class TextFileWrite : public AbstractOutputStream, public AbstractFileHandle { -//--- Constructor : if inFileName is the empty string, no file is opened. -// Otherwise, it tries to open the file for writing; -// The destructor will close the file (is successfully opened) - public: TextFileWrite (const String & inFileName) ; - -//--- No copy - private: TextFileWrite (TextFileWrite &) = delete ; - private: TextFileWrite & operator = (TextFileWrite &) = delete ; - -//--- General stream methods - protected: virtual void handleAppendUTF8Array (const char * inCharArray, - const int32_t inArrayCount) override ; - - protected: virtual void handleAppendCharacter (const utf32 inCharacter) override ; -} ; - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/AC_GALGAS_enumAssociatedValues.cpp b/goil/build/libpm/galgas2/AC_GALGAS_enumAssociatedValues.cpp index a6e00d135..9e6430c0e 100644 --- a/goil/build/libpm/galgas2/AC_GALGAS_enumAssociatedValues.cpp +++ b/goil/build/libpm/galgas2/AC_GALGAS_enumAssociatedValues.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // AC_GALGAS_enumAssociatedValues : class for enum associated values // @@ -16,36 +16,36 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "AC_GALGAS_enumAssociatedValues.h" +#include "galgas2/AC_GALGAS_enumAssociatedValues.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumAssociatedValues::cEnumAssociatedValues (LOCATION_ARGS) : -SharedObject (THERE) { +C_SharedObject (THERE) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_enumAssociatedValues::AC_GALGAS_enumAssociatedValues (void) : mSharedPtr (nullptr) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_enumAssociatedValues::setPointer (const cEnumAssociatedValues * inUniquePtr) { macroAssignSharedObject (mSharedPtr, inUniquePtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_enumAssociatedValues::AC_GALGAS_enumAssociatedValues (const AC_GALGAS_enumAssociatedValues & inSource) : mSharedPtr (nullptr) { macroAssignSharedObject (mSharedPtr, inSource.mSharedPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_enumAssociatedValues & AC_GALGAS_enumAssociatedValues::operator = (const AC_GALGAS_enumAssociatedValues & inSource) { if (mSharedPtr != inSource.mSharedPtr) { @@ -54,15 +54,15 @@ AC_GALGAS_enumAssociatedValues & AC_GALGAS_enumAssociatedValues::operator = (con return *this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_enumAssociatedValues::~ AC_GALGAS_enumAssociatedValues (void) { macroDetachSharedObject (mSharedPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void AC_GALGAS_enumAssociatedValues::description (String & ioString, +void AC_GALGAS_enumAssociatedValues::description (C_String & ioString, const int32_t inIndentation) const { if (nullptr != mSharedPtr) { macroValidSharedObject (mSharedPtr, cEnumAssociatedValues) ; @@ -70,7 +70,7 @@ void AC_GALGAS_enumAssociatedValues::description (String & ioString, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult AC_GALGAS_enumAssociatedValues::objectCompare (const AC_GALGAS_enumAssociatedValues & inOperand) const { typeComparisonResult result = kOperandEqual ; @@ -81,4 +81,4 @@ typeComparisonResult AC_GALGAS_enumAssociatedValues::objectCompare (const AC_GAL return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/AC_GALGAS_enumAssociatedValues.h b/goil/build/libpm/galgas2/AC_GALGAS_enumAssociatedValues.h index aecabc92e..669618127 100644 --- a/goil/build/libpm/galgas2/AC_GALGAS_enumAssociatedValues.h +++ b/goil/build/libpm/galgas2/AC_GALGAS_enumAssociatedValues.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // AC_GALGAS_enumAssociatedValues : class for enum associated values // @@ -16,29 +16,29 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "SharedObject.h" -#include "AC_GALGAS_root.h" -#include "typeComparisonResult.h" +#include "utilities/C_SharedObject.h" +#include "galgas2/AC_GALGAS_root.h" +#include "galgas2/typeComparisonResult.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class cEnumAssociatedValues : public SharedObject { +class cEnumAssociatedValues : public C_SharedObject { public: cEnumAssociatedValues (LOCATION_ARGS) ; - public: virtual void description (class String & ioString, + public: virtual void description (class C_String & ioString, const int32_t inIndentation) const = 0 ; public: virtual typeComparisonResult compare (const cEnumAssociatedValues * inOperand) const = 0 ; public: virtual ~ cEnumAssociatedValues (void) {} } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class AC_GALGAS_enumAssociatedValues { private: const cEnumAssociatedValues * mSharedPtr ; @@ -57,7 +57,7 @@ class AC_GALGAS_enumAssociatedValues { public: virtual ~ AC_GALGAS_enumAssociatedValues (void) ; //--- - public: VIRTUAL_IN_DEBUG void description (String & ioString, const int32_t inIndentation) const ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, const int32_t inIndentation) const ; public: VIRTUAL_IN_DEBUG typeComparisonResult objectCompare (const AC_GALGAS_enumAssociatedValues & inOperand) const ; @@ -67,4 +67,4 @@ class AC_GALGAS_enumAssociatedValues { } } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/AC_GALGAS_graph.cpp b/goil/build/libpm/galgas2/AC_GALGAS_graph.cpp index ac3f27db6..89b4d99e9 100644 --- a/goil/build/libpm/galgas2/AC_GALGAS_graph.cpp +++ b/goil/build/libpm/galgas2/AC_GALGAS_graph.cpp @@ -1,10 +1,10 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // AC_GALGAS_graph : Base class for GALGAS graph // // This file is part of libpm library // -// Copyright (C) 2008, ..., 2024 Pierre Molinaro. +// Copyright (C) 2008, ..., 2023 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -16,20 +16,20 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -#include "MF_MemoryControl.h" -#include "Compiler.h" -#include "DirectedGraph.h" +#include "utilities/MF_MemoryControl.h" +#include "galgas2/C_Compiler.h" +#include "utilities/C_DirectedGraph.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cGraphNode { public: cGraphNode * mInfPtr ; public: cGraphNode * mSupPtr ; public: int32_t mBalance ; - public: const String mKey ; + public: const C_String mKey ; public: const uint32_t mNodeID ; public: capCollectionElement mAttributes ; public: GALGAS_location mDefinitionLocation ; @@ -37,7 +37,7 @@ class cGraphNode { public: bool mIsDefined ; //--- Constructors - public: cGraphNode (const String & inKey, + public: cGraphNode (const C_String & inKey, const uint32_t inNodeID) ; public: cGraphNode (cGraphNode * inNode) ; @@ -52,20 +52,20 @@ class cGraphNode { private: cGraphNode & operator = (const cGraphNode &) = delete ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cGraphNode::~ cGraphNode (void) { macroMyDelete (mInfPtr) ; macroMyDelete (mSupPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class cSharedGraph : public SharedObject { +class cSharedGraph : public C_SharedObject { //--------------------------------- Attributes private: cGraphNode * mRoot ; public: inline const cGraphNode * root (void) const { return mRoot ; } - private: DirectedGraph mDirectedGraph ; + private: C_DirectedGraph mDirectedGraph ; private: TC_UniqueArray mNodeArray ; //--- Constructor @@ -78,16 +78,16 @@ class cSharedGraph : public SharedObject { public: inline uint32_t allNodeCount (void) const { return (uint32_t) mNodeArray.count () ; } //--- isNodeDefined - public: bool isNodeDefined (const String & inKey) const ; + public: bool isNodeDefined (const C_String & inKey) const ; //--- locationForKey - public: GALGAS_location locationForKey (const String & inKey, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const ; + public: GALGAS_location locationForKey (const C_String & inKey, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const ; //--- Internal methods - public: void description (String & ioString, - const int32_t inIndentation) const ; + public: void description (C_String & ioString, + const int32_t inIndentation) const ; public: void copyFrom (const cSharedGraph * inSource) ; @@ -95,54 +95,54 @@ class cSharedGraph : public SharedObject { public: int32_t graphCompare (const cSharedGraph * inOperand) const ; - public: cGraphNode * findOrAddNodeForKey (const String & inKey) ; + public: cGraphNode * findOrAddNodeForKey (const C_String & inKey) ; protected: cGraphNode * internalInsert (cGraphNode * & ioRootPtr, - const String & inKey, - bool & ioExtension) ; + const C_String & inKey, + bool & ioExtension) ; public: void internalAddNode (const GALGAS_lstring & inKey, - const char * inErrorMessage, - const capCollectionElement & inAttributes, - Compiler * inCompiler - COMMA_LOCATION_ARGS) ; + const char * inErrorMessage, + const capCollectionElement & inAttributes, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; - public: void addEdge (const String & inSourceNodeKey, - const GALGAS_location & inSourceNodeLocation, - const String & inTargetNodeKey, - const GALGAS_location & inTargetNodeLocation) ; + public: void addEdge (const C_String & inSourceNodeKey, + const GALGAS_location & inSourceNodeLocation, + const C_String & inTargetNodeKey, + const GALGAS_location & inTargetNodeLocation) ; public: void removeEdgesToDominators (LOCATION_ARGS) ; - public: void removeEdgesToNode (const String & inNodeName, - Compiler * inCompiler - COMMA_LOCATION_ARGS) ; + public: void removeEdgesToNode (const C_String & inNodeName, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; public: void internalTopologicalSort (capCollectionElementArray & outSortedList, - GALGAS_lstringlist & outSortedNodeKeyList, - capCollectionElementArray & outUnsortedList, - GALGAS_lstringlist & outUnsortedNodeKeyList) const ; + GALGAS_lstringlist & outSortedNodeKeyList, + capCollectionElementArray & outUnsortedList, + GALGAS_lstringlist & outUnsortedNodeKeyList) const ; public: void internalFindCircularities (capCollectionElementArray & outInfoList, - GALGAS_lstringlist & outNodeKeyList) const ; + GALGAS_lstringlist & outNodeKeyList) const ; public: void internalNodesWithNoPredecessor (capCollectionElementArray & outInfoList, - GALGAS_lstringlist & outNodeKeyList) const ; + GALGAS_lstringlist & outNodeKeyList) const ; public: void internalNodesWithNoSuccessor (capCollectionElementArray & outInfoList, - GALGAS_lstringlist & outNodeKeyList) const ; + GALGAS_lstringlist & outNodeKeyList) const ; public: void internalDepthFirstTopologicalSort (capCollectionElementArray & outSortedList, - GALGAS_lstringlist & outSortedNodeKeyList, - capCollectionElementArray & outUnsortedList, - GALGAS_lstringlist & outUnsortedNodeKeyList) const ; + GALGAS_lstringlist & outSortedNodeKeyList, + capCollectionElementArray & outUnsortedList, + GALGAS_lstringlist & outUnsortedNodeKeyList) const ; public: void subGraph (AC_GALGAS_graph & outResultingGraph, - const GALGAS_lstringlist & inStartNodes, - const GALGAS_stringset & inNodesToExclude, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const ; + const GALGAS_lstringlist & inStartNodes, + const GALGAS_stringset & inNodesToExclude, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const ; public: void graph (capCollectionElementArray & outNodeList) const ; @@ -150,7 +150,7 @@ class cSharedGraph : public SharedObject { public: GALGAS_lstringlist lkeyList (void) const ; - public: String getter_graphviz (void) const ; + public: C_String getter_graphviz (void) const ; public: void edges (GALGAS__32_stringlist & ioList) const ; @@ -159,32 +159,32 @@ class cSharedGraph : public SharedObject { #endif //--- No copy - private: cSharedGraph (const cSharedGraph &) = delete ; - private: cSharedGraph & operator = (const cSharedGraph &) = delete ; + private: cSharedGraph (const cSharedGraph &) ; + private: cSharedGraph & operator = (const cSharedGraph &) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cSharedGraph::cSharedGraph (LOCATION_ARGS) : -SharedObject (THERE), +C_SharedObject (THERE), mRoot (nullptr), mDirectedGraph (), mNodeArray () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cSharedGraph::~ cSharedGraph (void) { macroMyDelete (mRoot) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Copy #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cGraphNode::cGraphNode (cGraphNode * inNode) : mInfPtr (nullptr), @@ -208,19 +208,19 @@ mIsDefined (inNode->mIsDefined) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void buildNodeArray (cGraphNode * inNode, TC_UniqueArray & ioNodeArray) { if (nullptr != inNode) { - macroAssert (ioNodeArray ((int32_t) inNode->mNodeID COMMA_HERE) == nullptr, "ioNodeArray (%lld COMMA_HERE) != nullptr", inNode->mNodeID, 0) ; + MF_Assert (ioNodeArray ((int32_t) inNode->mNodeID COMMA_HERE) == nullptr, "ioNodeArray (%lld COMMA_HERE) != nullptr", inNode->mNodeID, 0) ; ioNodeArray ((int32_t) inNode->mNodeID COMMA_HERE) = inNode ; buildNodeArray (inNode->mInfPtr, ioNodeArray) ; buildNodeArray (inNode->mSupPtr, ioNodeArray) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedGraph::copyFrom (const cSharedGraph * inSource) { macroUniqueSharedObject (this) ; @@ -234,52 +234,49 @@ void cSharedGraph::copyFrom (const cSharedGraph * inSource) { checkGraph (HERE) ; #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cSharedGraph::description (String & ioString, +void cSharedGraph::description (C_String & ioString, const int32_t /* inIndentation */) const { - ioString.appendCString (" (") ; - ioString.appendUnsigned (mDirectedGraph.nodeCount ()) ; - ioString.appendCString (" node") ; - ioString.appendCString ((mDirectedGraph.nodeCount () > 1) ? "s" : "") ; - ioString.appendCString (", ") ; - ioString.appendUnsigned (mDirectedGraph.edgeCount ()) ; - ioString.appendCString (" edge") ; - ioString.appendCString ((mDirectedGraph.edgeCount () > 1) ? "s" : "") ; - ioString.appendCString (")") ; + ioString << " (" + << cStringWithUnsigned (mDirectedGraph.nodeCount ()) + << " node" << ((mDirectedGraph.nodeCount () > 1) ? "s" : "") + << ", " << cStringWithUnsigned (mDirectedGraph.edgeCount ()) + << " edge" << ((mDirectedGraph.edgeCount () > 1) ? "s" : "") + << ")" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void cSharedGraph::checkGraph (LOCATION_ARGS) const { TC_UniqueArray nodeArray (mNodeArray.count () COMMA_HERE) ; nodeArray.appendObjects (mNodeArray.count (), nullptr) ; buildNodeArray (mRoot, nodeArray) ; - macroAssertThere (nodeArray.count() == mNodeArray.count (), "nodeArray.count() == %lld != mNodeArray.count () %lld", nodeArray.count(), mNodeArray.count ()) ; + MF_AssertThere (nodeArray.count() == mNodeArray.count (), "nodeArray.count() == %lld != mNodeArray.count () %lld", nodeArray.count(), mNodeArray.count ()) ; for (int32_t i=0 ; imGalgasTypeName) ; +void AC_GALGAS_graph::description (C_String & ioString, + const int32_t inIndentation) const { + ioString << "mGalgasTypeName ; if (isValid ()) { mSharedGraph->description (ioString, inIndentation) ; }else{ - ioString.appendCString (" not built") ; + ioString << " not built" ; } - ioString.appendCString (">") ; + ioString << ">" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t AC_GALGAS_graph::count () const { uint32_t result = 0 ; @@ -324,19 +321,19 @@ uint32_t AC_GALGAS_graph::count () const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint AC_GALGAS_graph::getter_count (UNUSED_LOCATION_ARGS) const { return GALGAS_uint (count ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_graph::drop (void) { macroDetachSharedObject (mSharedGraph) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_graph::insulateGraph (LOCATION_ARGS) { if ((mSharedGraph != nullptr) && !mSharedGraph->isUniquelyReferenced ()) { @@ -351,13 +348,13 @@ void AC_GALGAS_graph::insulateGraph (LOCATION_ARGS) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark getter_hasKey #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool AC_GALGAS_graph::getter_isNodeDefined (const GALGAS_string & inKey COMMA_UNUSED_LOCATION_ARGS) const { @@ -368,9 +365,9 @@ GALGAS_bool AC_GALGAS_graph::getter_isNodeDefined (const GALGAS_string & inKey return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool cSharedGraph::isNodeDefined (const String & inKey) const { +bool cSharedGraph::isNodeDefined (const C_String & inKey) const { bool result = false ; for (int32_t i=0 ; (iemitSemanticError (GALGAS_location (), - String ("graph locationForKey: node '") + inKey + String ("' is undefined"), + C_String ("graph locationForKey: node '") + inKey + "' is undefined", TC_Array () COMMA_THERE) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark getter_keyList #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_stringlist cSharedGraph::keyList (void) const { - GALGAS_stringlist result = GALGAS_stringlist::class_func_emptyList (HERE) ; + GALGAS_stringlist result = GALGAS_stringlist::constructor_emptyList (HERE) ; for (int32_t i=0 ; imKey COMMA_HERE) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_stringlist AC_GALGAS_graph::getter_keyList (UNUSED_LOCATION_ARGS) const { GALGAS_stringlist result ; @@ -448,28 +445,28 @@ GALGAS_stringlist AC_GALGAS_graph::getter_keyList (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark getter_lkeyList #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lstringlist cSharedGraph::lkeyList (void) const { - GALGAS_lstringlist result = GALGAS_lstringlist::class_func_emptyList (HERE) ; + GALGAS_lstringlist result = GALGAS_lstringlist::constructor_emptyList (HERE) ; for (int32_t i=0 ; imDefinitionLocation ; if (! loc.isValid ()) { - loc = GALGAS_location::class_func_nowhere (HERE) ; + loc = GALGAS_location::constructor_nowhere (HERE) ; } result.addAssign_operation (GALGAS_lstring (p->mKey, loc) COMMA_HERE) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lstringlist AC_GALGAS_graph::getter_lkeyList (UNUSED_LOCATION_ARGS) const { GALGAS_lstringlist result ; @@ -479,15 +476,15 @@ GALGAS_lstringlist AC_GALGAS_graph::getter_lkeyList (UNUSED_LOCATION_ARGS) const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark internalFindNode #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const cGraphNode * findNode (const String & inKey, +static const cGraphNode * findNode (const C_String & inKey, const cGraphNode * inNode) { const cGraphNode * result = nullptr ; while ((nullptr != inNode) && (result == nullptr)) { @@ -503,13 +500,13 @@ static const cGraphNode * findNode (const String & inKey, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark graph #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cGraphNode::accumulateNodes (capCollectionElementArray & outNodeList) const { outNodeList.appendObject (mAttributes) ; @@ -521,7 +518,7 @@ void cGraphNode::accumulateNodes (capCollectionElementArray & outNodeList) const } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedGraph::graph (capCollectionElementArray & outNodeList) const { if (mRoot != nullptr) { @@ -529,7 +526,7 @@ void cSharedGraph::graph (capCollectionElementArray & outNodeList) const { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- capCollectionElementArray AC_GALGAS_graph::graph (void) const { capCollectionElementArray result ; @@ -539,28 +536,28 @@ capCollectionElementArray AC_GALGAS_graph::graph (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark subGraph #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedGraph::subGraph (AC_GALGAS_graph & outResultingGraph, const GALGAS_lstringlist & inStartNodes, const GALGAS_stringset & inNodesToExclude, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { //--- Build start node set - UInt32Set startNodeSet ; + C_UIntSet startNodeSet ; cEnumerator_lstringlist enumerator1 (inStartNodes, kENUMERATION_UP) ; while (enumerator1.hasCurrentObject ()) { const cGraphNode * nodePtr = findNode (enumerator1.current_mValue (THERE).mProperty_string.stringValue(), root()) ; if (nullptr == nodePtr) { - String message ("subgraphFromNodes: '") ; - message.appendString (enumerator1.current_mValue (THERE).mProperty_string.stringValue()) ; - message.appendCString ("' is not a declared node, cannot start from it") ; + C_String message = "subgraphFromNodes: '" ; + message << enumerator1.current_mValue (THERE).mProperty_string.stringValue() ; + message << "' is not a declared node, cannot start from it" ; inCompiler->emitSemanticError (enumerator1.current_mValue (THERE).mProperty_location, message, TC_Array () @@ -571,14 +568,14 @@ void cSharedGraph::subGraph (AC_GALGAS_graph & outResultingGraph, enumerator1.gotoNextObject () ; } //--- Build node to exclude set - UInt32Set nodesToExcludeSet ; + C_UIntSet nodesToExcludeSet ; cEnumerator_stringset enumerator2 (inNodesToExclude, kENUMERATION_UP) ; while (enumerator2.hasCurrentObject ()) { const cGraphNode * nodePtr = findNode (enumerator2.current_key (THERE).stringValue(), root()) ; if (nullptr == nodePtr) { - String message ("subgraphFromNodes: '") ; - message.appendString (enumerator2.current_key (THERE).stringValue()) ; - message.appendCString ("' is not a declared node, cannot be excluded") ; + C_String message = "subgraphFromNodes: '" ; + message << enumerator2.current_key (THERE).stringValue() ; + message << "' is not a declared node, cannot be excluded" ; inCompiler->onTheFlySemanticError (message COMMA_THERE) ; }else{ nodesToExcludeSet.add (nodePtr->mNodeID) ; @@ -586,7 +583,7 @@ void cSharedGraph::subGraph (AC_GALGAS_graph & outResultingGraph, enumerator2.gotoNextObject () ; } //--- Build sub graph - const DirectedGraph theSubGraph = mDirectedGraph.subGraphFromNodes ( + const C_DirectedGraph theSubGraph = mDirectedGraph.subGraphFromNodes ( startNodeSet, nodesToExcludeSet ) ; @@ -621,12 +618,12 @@ void cSharedGraph::subGraph (AC_GALGAS_graph & outResultingGraph, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_graph::subGraph (AC_GALGAS_graph & outResultingGraph, const GALGAS_lstringlist & inStartNodes, const GALGAS_stringset & inNodesToExclude, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (isValid () && inStartNodes.isValid () && inNodesToExclude.isValid ()) { outResultingGraph.makeNewEmptyGraph (THERE) ; @@ -638,13 +635,13 @@ void AC_GALGAS_graph::subGraph (AC_GALGAS_graph & outResultingGraph, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Reversed Graph #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedGraph::copyReversedGraphFrom (const cSharedGraph * inSource) { macroUniqueSharedObject (this) ; @@ -659,7 +656,7 @@ void cSharedGraph::copyReversedGraphFrom (const cSharedGraph * inSource) { #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_graph::reversedGraphFromGraph (const AC_GALGAS_graph & inGraph COMMA_LOCATION_ARGS) { @@ -670,20 +667,23 @@ void AC_GALGAS_graph::reversedGraphFromGraph (const AC_GALGAS_graph & inGraph } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Object Compare #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- int32_t cSharedGraph::graphCompare (const cSharedGraph * inOperand) const { - const int32_t r = int32_t (allNodeCount ()) - int32_t (inOperand->allNodeCount ()) ; + int32_t r = ((int32_t) allNodeCount ()) - ((int32_t) inOperand->allNodeCount ()) ; + if (r == 0) { + // TODO + } return r ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult AC_GALGAS_graph::objectCompare (const AC_GALGAS_graph & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -700,13 +700,13 @@ typeComparisonResult AC_GALGAS_graph::objectCompare (const AC_GALGAS_graph & inO return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Node Insertion #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void rotateLeft (cGraphNode * & ioRootPtr) { cGraphNode * b = ioRootPtr->mSupPtr ; @@ -727,7 +727,7 @@ static void rotateLeft (cGraphNode * & ioRootPtr) { ioRootPtr = b ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void rotateRight (cGraphNode * & ioRootPtr) { cGraphNode * b = ioRootPtr->mInfPtr ; @@ -747,9 +747,9 @@ static void rotateRight (cGraphNode * & ioRootPtr) { ioRootPtr = b ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cGraphNode::cGraphNode (const String & inKey, +cGraphNode::cGraphNode (const C_String & inKey, const uint32_t inNodeID) : mInfPtr (nullptr), mSupPtr (nullptr), @@ -762,10 +762,10 @@ mReferenceLocationArray (), mIsDefined (false) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cGraphNode * cSharedGraph::internalInsert (cGraphNode * & ioRootPtr, - const String & inKey, + const C_String & inKey, bool & ioExtension) { cGraphNode * matchingEntry = nullptr ; if (ioRootPtr == nullptr) { @@ -813,25 +813,25 @@ cGraphNode * cSharedGraph::internalInsert (cGraphNode * & ioRootPtr, return matchingEntry ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark internalAddNode #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cGraphNode * cSharedGraph::findOrAddNodeForKey (const String & inKey) { +cGraphNode * cSharedGraph::findOrAddNodeForKey (const C_String & inKey) { bool extension = false ; // Unused here return internalInsert (mRoot, inKey, extension) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedGraph::internalAddNode (const GALGAS_lstring & inKey, const char * inErrorMessage, const capCollectionElement & inAttributes, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cGraphNode * node = findOrAddNodeForKey (inKey.mProperty_string.stringValue ()) ; if (node->mAttributes.ptr () == nullptr) { // Node exists, but is undefined @@ -846,16 +846,16 @@ void cSharedGraph::internalAddNode (const GALGAS_lstring & inKey, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_graph::internalAddNode (const GALGAS_lstring & inKey, const char * inErrorMessage, const capCollectionElement & inAttributes, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inKey.isValid () && inAttributes.isValid ()) { insulateGraph (THERE) ; - macroAssert (nullptr != mSharedGraph, "mSharedGraph == nullptr", 0, 0) ; + MF_Assert (nullptr != mSharedGraph, "mSharedGraph == nullptr", 0, 0) ; if (nullptr != mSharedGraph) { mSharedGraph->internalAddNode (inKey, inErrorMessage, inAttributes, inCompiler COMMA_THERE) ; } @@ -866,19 +866,19 @@ void AC_GALGAS_graph::internalAddNode (const GALGAS_lstring & inKey, } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark modifier noteNode #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_graph::setter_noteNode (const GALGAS_lstring & inKey - COMMA_LOCATION_ARGS) { + COMMA_LOCATION_ARGS) { if (isValid () && inKey.isValid ()) { insulateGraph (THERE) ; - macroAssert (nullptr != mSharedGraph, "mSharedGraph == nullptr", 0, 0) ; + MF_Assert (nullptr != mSharedGraph, "mSharedGraph == nullptr", 0, 0) ; cGraphNode * node = (nullptr == mSharedGraph) ? nullptr : mSharedGraph->findOrAddNodeForKey (inKey.mProperty_string.stringValue ()) @@ -892,17 +892,17 @@ void AC_GALGAS_graph::setter_noteNode (const GALGAS_lstring & inKey } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Modifier addEdge #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cSharedGraph::addEdge (const String & inSourceNodeKey, +void cSharedGraph::addEdge (const C_String & inSourceNodeKey, const GALGAS_location & inSourceNodeLocation, - const String & inTargetNodeKey, + const C_String & inTargetNodeKey, const GALGAS_location & inTargetNodeLocation) { cGraphNode * sourceNode = findOrAddNodeForKey (inSourceNodeKey) ; macroValidPointer (sourceNode) ; @@ -913,14 +913,14 @@ void cSharedGraph::addEdge (const String & inSourceNodeKey, mDirectedGraph.addEdge (sourceNode->mNodeID, targetNode->mNodeID) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_graph::setter_addEdge (const GALGAS_lstring & inSourceNodeKey, const GALGAS_lstring & inTargetNodeKey COMMA_UNUSED_LOCATION_ARGS) { if (isValid () && inSourceNodeKey.isValid () && inTargetNodeKey.isValid ()) { insulateGraph (HERE) ; - macroAssert (nullptr != mSharedGraph, "mSharedGraph == nullptr", 0, 0) ; + MF_Assert (nullptr != mSharedGraph, "mSharedGraph == nullptr", 0, 0) ; if (nullptr != mSharedGraph) { mSharedGraph->addEdge (inSourceNodeKey.mProperty_string.stringValue (), inSourceNodeKey.mProperty_location, @@ -933,23 +933,23 @@ void AC_GALGAS_graph::setter_addEdge (const GALGAS_lstring & inSourceNodeKey, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Output graphviz text #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String cSharedGraph::getter_graphviz (void) const { - TC_UniqueArray nodeNameArray ; +C_String cSharedGraph::getter_graphviz (void) const { + TC_UniqueArray nodeNameArray ; for (int32_t i=0 ; imKey) ; } return mDirectedGraph.graphvizString (nodeNameArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string AC_GALGAS_graph::getter_graphviz (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; @@ -960,13 +960,13 @@ GALGAS_string AC_GALGAS_graph::getter_graphviz (UNUSED_LOCATION_ARGS) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Output arc list #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedGraph::edges (GALGAS__32_stringlist & ioList) const { TC_UniqueArray edgeArray ; mDirectedGraph.getEdges (edgeArray) ; @@ -978,24 +978,24 @@ void cSharedGraph::edges (GALGAS__32_stringlist & ioList) const { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS__32_stringlist AC_GALGAS_graph::getter_edges (LOCATION_ARGS) const { GALGAS__32_stringlist result ; if (isValid ()) { - result = GALGAS__32_stringlist::class_func_emptyList (THERE) ; + result = GALGAS__32_stringlist::constructor_emptyList (THERE) ; mSharedGraph->edges (result) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark getter_undefinedNodeCount #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void countUndefinedNodeCount (const cGraphNode * inNode, uint32_t & ioCount) { if (nullptr != inNode) { @@ -1007,7 +1007,7 @@ static void countUndefinedNodeCount (const cGraphNode * inNode, uint32_t & ioCou } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint AC_GALGAS_graph::getter_undefinedNodeCount (UNUSED_LOCATION_ARGS) const { GALGAS_uint result ; @@ -1019,13 +1019,13 @@ GALGAS_uint AC_GALGAS_graph::getter_undefinedNodeCount (UNUSED_LOCATION_ARGS) co return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark getter_undefinedNodeKeyList #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void buildUndefinedNodeKeyList (const cGraphNode * inNode, GALGAS_stringlist & ioResult) { if (nullptr != inNode) { @@ -1037,31 +1037,31 @@ static void buildUndefinedNodeKeyList (const cGraphNode * inNode, GALGAS_stringl } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_stringlist AC_GALGAS_graph::getter_undefinedNodeKeyList (LOCATION_ARGS) const { GALGAS_stringlist result ; if (isValid ()) { - result = GALGAS_stringlist::class_func_emptyList (THERE) ; + result = GALGAS_stringlist::constructor_emptyList (THERE) ; buildUndefinedNodeKeyList (mSharedGraph->root (), result) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Find circularities #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedGraph::internalFindCircularities (capCollectionElementArray & outInfoList, GALGAS_lstringlist & outNodeKeyList) const { TC_UniqueArray nodeArray ; mDirectedGraph.getNodesInvolvedInCircularities (nodeArray) ; //--- Add nodes outInfoList.removeAllObjects() ; - outNodeKeyList = GALGAS_lstringlist::class_func_emptyList (HERE) ; + outNodeKeyList = GALGAS_lstringlist::constructor_emptyList (HERE) ; for (int32_t i=0 ; i nodeArray ; mDirectedGraph.getNodesWithNoPredecessor (nodeArray) ; //--- Add nodes outInfoList.removeAllObjects() ; - outNodeKeyList = GALGAS_lstringlist::class_func_emptyList (HERE) ; + outNodeKeyList = GALGAS_lstringlist::constructor_emptyList (HERE) ; for (int32_t i=0 ; i nodeArray ; mDirectedGraph.getNodesWithNoSuccessor (nodeArray) ; //--- Add nodes outInfoList.removeAllObjects() ; - outNodeKeyList = GALGAS_lstringlist::class_func_emptyList (HERE) ; + outNodeKeyList = GALGAS_lstringlist::constructor_emptyList (HERE) ; for (int32_t i=0 ; iroot (), undefinedNodeCount) ; if (0 != undefinedNodeCount) { - String s ("Cannot apply graph topologicalSort: there ") ; + C_String s ; + s << "Cannot apply graph topologicalSort: there " ; if (undefinedNodeCount > 1) { - s.appendCString ("are ") ; - s.appendUnsigned (undefinedNodeCount) ; - s.appendCString (" undefined nodes") ; + s << "are " << cStringWithUnsigned (undefinedNodeCount) << " undefined nodes" ; }else{ - s.appendCString ("is 1 undefined node") ; + s << "is 1 undefined node" ; } inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ @@ -1226,13 +1225,13 @@ void AC_GALGAS_graph::internalTopologicalSort (capCollectionElementArray & outSo } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Depth First Topological sort #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedGraph::internalDepthFirstTopologicalSort (capCollectionElementArray & outSortedList, GALGAS_lstringlist & outSortedNodeKeyList, @@ -1243,7 +1242,7 @@ void cSharedGraph::internalDepthFirstTopologicalSort (capCollectionElementArray mDirectedGraph.depthFirstTopologicalSort (sortedNodes, unsortedNodes) ; //--- Add sorted nodes outSortedList.removeAllObjects() ; - outSortedNodeKeyList = GALGAS_lstringlist::class_func_emptyList (HERE) ; + outSortedNodeKeyList = GALGAS_lstringlist::constructor_emptyList (HERE) ; for (int32_t i=0 ; iroot (), undefinedNodeCount) ; if (0 != undefinedNodeCount) { - String s ("Cannot apply graph topologicalSort: there ") ; + C_String s ; + s << "Cannot apply graph topologicalSort: there " ; if (undefinedNodeCount > 1) { - s.appendCString ("are ") ; - s.appendUnsigned (undefinedNodeCount) ; - s.appendCString (" undefined nodes") ; + s << "are " << cStringWithUnsigned (undefinedNodeCount) << " undefined nodes" ; }else{ - s.appendCString ("is 1 undefined node") ; + s << "is 1 undefined node" ; } inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ @@ -1296,13 +1294,13 @@ void AC_GALGAS_graph::internalDepthFirstTopologicalSort (capCollectionElementArr } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark getter_undefinedNodeReferenceList #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void buildUndefinedNodeReferenceList (const cGraphNode * inNode, GALGAS_lstringlist & ioResult) { @@ -1320,48 +1318,47 @@ static void buildUndefinedNodeReferenceList (const cGraphNode * inNode, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lstringlist AC_GALGAS_graph::getter_undefinedNodeReferenceList (LOCATION_ARGS) const { GALGAS_lstringlist result ; if (isValid ()) { - result = GALGAS_lstringlist::class_func_emptyList (THERE) ; + result = GALGAS_lstringlist::constructor_emptyList (THERE) ; buildUndefinedNodeReferenceList (mSharedGraph->root (), result) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Modifier removeEdgesToNode #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_graph::setter_removeEdgesToNode (const GALGAS_string & inNodeName, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { if (isValid () && inNodeName.isValid ()) { insulateGraph (HERE) ; - macroAssert (nullptr != mSharedGraph, "mSharedGraph == nullptr", 0, 0) ; + MF_Assert (nullptr != mSharedGraph, "mSharedGraph == nullptr", 0, 0) ; if (nullptr != mSharedGraph) { mSharedGraph->removeEdgesToNode (inNodeName.stringValue (), inCompiler COMMA_THERE) ; } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cSharedGraph::removeEdgesToNode (const String & inNodeName, - Compiler * inCompiler +void cSharedGraph::removeEdgesToNode (const C_String & inNodeName, + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { //--- Find node const cGraphNode * node = findNode (inNodeName, mRoot) ; if (nullptr == node) { - String s ("graph removeEdgesToNode: node '") ; - s.appendString (inNodeName) ; - s.appendCString ("' does not exist") ; + C_String s = "graph removeEdgesToNode: node '" ; + s << inNodeName << "' does not exist" ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ const uint32_t nodeIndex = node->mNodeID ; @@ -1369,25 +1366,25 @@ void cSharedGraph::removeEdgesToNode (const String & inNodeName, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Modifier removeEdgesToDominators #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_graph::setter_removeEdgesToDominators (LOCATION_ARGS) { if (isValid ()) { insulateGraph (HERE) ; - macroAssert (nullptr != mSharedGraph, "mSharedGraph == nullptr", 0, 0) ; + MF_Assert (nullptr != mSharedGraph, "mSharedGraph == nullptr", 0, 0) ; if (nullptr != mSharedGraph) { mSharedGraph->removeEdgesToDominators (THERE) ; } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedGraph::removeEdgesToDominators (LOCATION_ARGS) { //--- Find start nodes @@ -1404,4 +1401,4 @@ void cSharedGraph::removeEdgesToDominators (LOCATION_ARGS) { mDirectedGraph.removeNode (dummyNodeIndex) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/AC_GALGAS_graph.h b/goil/build/libpm/galgas2/AC_GALGAS_graph.h index a2b260f68..bddd1311d 100644 --- a/goil/build/libpm/galgas2/AC_GALGAS_graph.h +++ b/goil/build/libpm/galgas2/AC_GALGAS_graph.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // AC_GALGAS_graph : Base class for GALGAS graph // @@ -16,21 +16,21 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "AC_GALGAS_root.h" -#include "typeComparisonResult.h" -#include "cCollectionElement.h" +#include "galgas2/AC_GALGAS_root.h" +#include "galgas2/typeComparisonResult.h" +#include "galgas2/cCollectionElement.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // A C _ G A L G A S _ g r a p h // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class AC_GALGAS_graph : public AC_GALGAS_root { //--- Private Data member @@ -72,7 +72,7 @@ class AC_GALGAS_graph : public AC_GALGAS_root { public: VIRTUAL_IN_DEBUG GALGAS_stringlist getter_undefinedNodeKeyList (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG GALGAS_location getter_locationForKey (const GALGAS_string & inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters @@ -81,7 +81,7 @@ class AC_GALGAS_graph : public AC_GALGAS_root { COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeEdgesToNode (const GALGAS_string & inNodeName, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeEdgesToDominators (LOCATION_ARGS) ; @@ -93,7 +93,7 @@ class AC_GALGAS_graph : public AC_GALGAS_root { public: virtual const C_galgas_type_descriptor * staticTypeDescriptor (void) const override = 0 ; //--- Description - public: VIRTUAL_IN_DEBUG void description (String & ioString, const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, const int32_t inIndentation) const override ; //--- Internal methods for handling graph protected: VIRTUAL_IN_DEBUG void reversedGraphFromGraph (const AC_GALGAS_graph & inGraph @@ -102,7 +102,7 @@ class AC_GALGAS_graph : public AC_GALGAS_root { protected: VIRTUAL_IN_DEBUG void subGraph (AC_GALGAS_graph & outResultingGraph, const GALGAS_lstringlist & inStartNodes, const GALGAS_stringset & inNodesToExclude, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -113,7 +113,7 @@ class AC_GALGAS_graph : public AC_GALGAS_root { protected: VIRTUAL_IN_DEBUG void internalAddNode (const GALGAS_lstring & inKey, const char * inErrorMessage, const capCollectionElement & inAttributes, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_noteNode (const GALGAS_lstring & inKey @@ -125,7 +125,7 @@ class AC_GALGAS_graph : public AC_GALGAS_root { GALGAS_lstringlist & outSortedNodeKeyList, capCollectionElementArray & outUnsortedList, GALGAS_lstringlist & outUnsortedNodeKeyList, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; protected: VIRTUAL_IN_DEBUG void internalFindCircularities (capCollectionElementArray & outInfoList, @@ -145,7 +145,7 @@ class AC_GALGAS_graph : public AC_GALGAS_root { GALGAS_lstringlist & outSortedNodeKeyList, capCollectionElementArray & outUnsortedList, GALGAS_lstringlist & outUnsortedNodeKeyList, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG GALGAS_string getter_graphviz (UNUSED_LOCATION_ARGS) const ; @@ -155,5 +155,5 @@ class AC_GALGAS_graph : public AC_GALGAS_root { friend class cSharedGraph ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once diff --git a/goil/build/libpm/galgas2/AC_GALGAS_list.cpp b/goil/build/libpm/galgas2/AC_GALGAS_list.cpp index 6a3274587..93d8ddc71 100644 --- a/goil/build/libpm/galgas2/AC_GALGAS_list.cpp +++ b/goil/build/libpm/galgas2/AC_GALGAS_list.cpp @@ -1,10 +1,10 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // AC_GALGAS_list : Base class for GALGAS list // // This file is part of libpm library // -// Copyright (C) 2008, ..., 2023 Pierre Molinaro. +// Copyright (C) 2008, ..., 2016 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -16,58 +16,58 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -#include "MF_MemoryControl.h" -#include "Compiler.h" +#include "utilities/MF_MemoryControl.h" +#include "galgas2/C_Compiler.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark removeObjectAtIndex #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_list::removeObjectAtIndex (capCollectionElement & outAttributes, const uint32_t inRemoveIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { mSharedArray.removeObjectAtIndex (outAttributes, inRemoveIndex, inCompiler COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark removeFirstObject #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_list::removeFirstObject (capCollectionElement & outAttributes, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { mSharedArray.removeFirstObject (outAttributes, inCompiler COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark removeLastObject #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_list::removeLastObject (capCollectionElement & outAttributes, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { mSharedArray.removeLastObject (outAttributes, inCompiler COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // AC_GALGAS_list -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_list::AC_GALGAS_list (void) : AC_GALGAS_root (), @@ -75,7 +75,7 @@ mSharedArray (), mIsValid (false) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_list::AC_GALGAS_list (const capCollectionElementArray & inSharedArray) : AC_GALGAS_root (), @@ -83,31 +83,27 @@ mSharedArray (inSharedArray), mIsValid (true) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_list::~ AC_GALGAS_list (void) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void AC_GALGAS_list::description (String & ioString, +void AC_GALGAS_list::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("mGalgasTypeName) ; - ioString.appendCString (" (") ; - ioString.appendUnsigned (count()) ; - ioString.appendCString (" object") ; - ioString.appendString ((count() > 1) ? "s" : "") ; - ioString.appendCString ("):") ; + ioString << "mGalgasTypeName + << " (" << cStringWithUnsigned (count()) << " object" + << ((count() > 1) ? "s" : "") << "):" ; if (isValid ()) { mSharedArray.description (ioString, inIndentation) ; }else{ - ioString.appendCString (" not built") ; + ioString << " not built" ; } - ioString.appendCString (">") ; + ioString << ">" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_list::populateEnumerationArray (capCollectionElementArray & outEnumerationArray) const { if (isValid ()) { @@ -115,7 +111,7 @@ void AC_GALGAS_list::populateEnumerationArray (capCollectionElementArray & outEn } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t AC_GALGAS_list::count () const { uint32_t result = 0 ; @@ -125,7 +121,7 @@ uint32_t AC_GALGAS_list::count () const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint AC_GALGAS_list::getter_count (UNUSED_LOCATION_ARGS) const { GALGAS_uint result ; @@ -135,7 +131,7 @@ GALGAS_uint AC_GALGAS_list::getter_count (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_range AC_GALGAS_list::getter_range (UNUSED_LOCATION_ARGS) const { GALGAS_range result ; @@ -145,49 +141,49 @@ GALGAS_range AC_GALGAS_list::getter_range (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_list::drop (void) { mIsValid = false ; mSharedArray.removeAllObjects () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_list::appendObject (const capCollectionElement & inElementToAdd) { mSharedArray.appendObject (inElementToAdd) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_list::insertObjectAtIndex (const capCollectionElement & inElementToAdd, const uint32_t inInsertionIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { mSharedArray.insertObjectAtIndex (inElementToAdd, inInsertionIndex, inCompiler COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_list::readFirst (capCollectionElement & outAttributes, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { mSharedArray.readFirstObject (outAttributes, inCompiler COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_list::readLast (capCollectionElement & outAttributes, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { mSharedArray.readLastObject (outAttributes, inCompiler COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_list::subListWithRange (AC_GALGAS_list & outList, const GALGAS_range & inRange, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (isValid () && inRange.isValid ()) { bool ok = false ; @@ -202,11 +198,11 @@ void AC_GALGAS_list::subListWithRange (AC_GALGAS_list & outList, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_list::subListFromIndex (AC_GALGAS_list & outList, const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (isValid () && inIndex.isValid ()) { bool ok = false ; @@ -217,11 +213,11 @@ void AC_GALGAS_list::subListFromIndex (AC_GALGAS_list & outList, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_list::subListToIndex (AC_GALGAS_list & outList, const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (isValid () && inIndex.isValid ()) { bool ok = false ; @@ -232,7 +228,7 @@ void AC_GALGAS_list::subListToIndex (AC_GALGAS_list & outList, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_list::appendList (const AC_GALGAS_list & inList) { if (isValid () && inList.isValid ()) { @@ -240,10 +236,10 @@ void AC_GALGAS_list::appendList (const AC_GALGAS_list & inList) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- capCollectionElement AC_GALGAS_list::readObjectAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement result ; if (isValid () && inIndex.isValid ()) { @@ -251,21 +247,18 @@ capCollectionElement AC_GALGAS_list::readObjectAtIndex (const GALGAS_uint & inIn if (index < mSharedArray.count ()) { result = mSharedArray.objectAtIndex (index COMMA_THERE) ; }else{ - String s = "objectAtIndex: index (" ; - s.appendUnsigned (index) ; - s.appendCString (") >= length (") ; - s.appendUnsigned (count ()) ; - s.appendCString (")") ; + C_String s = "objectAtIndex: index (" ; + s << cStringWithUnsigned (index) << ") >= length (" << cStringWithUnsigned (count ()) << ")" ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement * AC_GALGAS_list::uniquelyReferencedPointerAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement * result = nullptr ; if (isValid ()) { @@ -275,11 +268,8 @@ cCollectionElement * AC_GALGAS_list::uniquelyReferencedPointerAtIndex (const GAL result = mSharedArray.uniquelyReferencedPointerAtIndex (index COMMA_THERE) ; macroUniqueSharedObject (result) ; }else{ - String s = "objectAtIndex: index (" ; - s.appendUnsigned (index) ; - s.appendCString (") >= length (") ; - s.appendUnsigned (count ()) ; - s.appendCString (")") ; + C_String s = "objectAtIndex: index (" ; + s << cStringWithUnsigned (index) << ") >= length (" << cStringWithUnsigned (count ()) << ")" ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; } }else{ @@ -289,13 +279,13 @@ cCollectionElement * AC_GALGAS_list::uniquelyReferencedPointerAtIndex (const GAL return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Object Compare #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult AC_GALGAS_list::objectCompare (const AC_GALGAS_list & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -305,21 +295,21 @@ typeComparisonResult AC_GALGAS_list::objectCompare (const AC_GALGAS_list & inOpe return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // c L i s t M a p N o d e // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cListMapNode { public: cListMapNode * mInfPtr ; public: cListMapNode * mSupPtr ; public: int32_t mBalance ; - public: String mKey ; + public: C_String mKey ; public: capCollectionElementArray myList ; //--- Constructors - public: cListMapNode (const String & inKey) ; + public: cListMapNode (const C_String & inKey) ; public: cListMapNode (const cListMapNode * inNode) ; //--- Destructor @@ -330,9 +320,9 @@ class cListMapNode { private: cListMapNode & operator = (const cListMapNode &) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cListMapNode::cListMapNode (const String & inKey) : +cListMapNode::cListMapNode (const C_String & inKey) : mInfPtr (nullptr), mSupPtr (nullptr), mBalance (0), @@ -340,20 +330,20 @@ mKey (inKey), myList () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cListMapNode::~ cListMapNode (void) { macroMyDelete (mInfPtr) ; macroMyDelete (mSupPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // cSharedListMapRoot // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class cSharedListMapRoot : public SharedObject { +class cSharedListMapRoot : public C_SharedObject { //--- Attributes private: cListMapNode * mRoot ; public: const cListMapNode * root (void) const { return mRoot ; } @@ -376,23 +366,23 @@ class cSharedListMapRoot : public SharedObject { public: VIRTUAL_IN_DEBUG uint32_t count (void) const { return mCount ; } //--- Description - public: VIRTUAL_IN_DEBUG void description (String & ioString, const int32_t inIndentation) const ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, const int32_t inIndentation) const ; public: static void internalDescription (cListMapNode * inNode, - String & ioString, + C_String & ioString, const int32_t inIndentation, uint32_t & ioIdx) ; //--- Find or add entry public: VIRTUAL_IN_DEBUG void findOrAddEntry (cListMapNode * & ioRootPtr, - const String & inKey, + const C_String & inKey, cListMapNode * & outEntry, bool & ioExtension) ; - public: VIRTUAL_IN_DEBUG void addObjectInListMap (const String & inKey, + public: VIRTUAL_IN_DEBUG void addObjectInListMap (const C_String & inKey, capCollectionElement & inAttributeArray) ; //--------------------------------- Support for 'listForKey' reader - public: VIRTUAL_IN_DEBUG capCollectionElementArray listForKey (const String & inKey) const ; + public: VIRTUAL_IN_DEBUG capCollectionElementArray listForKey (const C_String & inKey) const ; //--------------------------------- Support for enumeration public: VIRTUAL_IN_DEBUG void populateEnumerationArray (capCollectionElementArray & ioEnumerationArray) const ; @@ -400,46 +390,46 @@ class cSharedListMapRoot : public SharedObject { public: typeComparisonResult listmapCompare (const cSharedListMapRoot * inOperand) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cSharedListMapRoot::cSharedListMapRoot (LOCATION_ARGS) : -SharedObject (THERE), +C_SharedObject (THERE), mRoot (nullptr), mCount (0) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cSharedListMapRoot::~cSharedListMapRoot (void) { macroMyDelete (mRoot) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark AC_GALGAS_listmap #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_listmap::AC_GALGAS_listmap (void) : AC_GALGAS_root (), mSharedListMap (nullptr) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_listmap::~ AC_GALGAS_listmap (void) { macroDetachSharedObject (mSharedListMap) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_listmap::drop (void) { macroDetachSharedObject (mSharedListMap) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_listmap::AC_GALGAS_listmap (const AC_GALGAS_listmap & inSource) : AC_GALGAS_root (), @@ -447,14 +437,14 @@ mSharedListMap (nullptr) { macroAssignSharedObject (mSharedListMap, inSource.mSharedListMap) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_listmap & AC_GALGAS_listmap::operator = (const AC_GALGAS_listmap & inSource) { macroAssignSharedObject (mSharedListMap, inSource.mSharedListMap) ; return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t AC_GALGAS_listmap::count (void) const { uint32_t result = 0 ; @@ -464,19 +454,19 @@ uint32_t AC_GALGAS_listmap::count (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint AC_GALGAS_listmap::getter_count (UNUSED_LOCATION_ARGS) const { return GALGAS_uint (count ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark reader allKeys #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void enterAllKeys (const cListMapNode * inNode, GALGAS_stringset & ioResult) { if (inNode != nullptr) { @@ -486,18 +476,18 @@ static void enterAllKeys (const cListMapNode * inNode, GALGAS_stringset & ioResu } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_stringset AC_GALGAS_listmap::getter_allKeys (LOCATION_ARGS) const { GALGAS_stringset result ; if (isValid ()) { - result = GALGAS_stringset::class_func_emptySet (THERE) ; + result = GALGAS_stringset::constructor_emptySet (THERE) ; enterAllKeys (mSharedListMap->root (), result) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void enterKeyList (const cListMapNode * inNode, GALGAS_stringlist & ioResult) { if (inNode != nullptr) { @@ -507,24 +497,24 @@ static void enterKeyList (const cListMapNode * inNode, GALGAS_stringlist & ioRes } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_stringlist AC_GALGAS_listmap::getter_keyList (LOCATION_ARGS) const { GALGAS_stringlist result ; if (isValid ()) { - result = GALGAS_stringlist::class_func_emptyList (THERE) ; + result = GALGAS_stringlist::constructor_emptyList (THERE) ; enterKeyList (mSharedListMap->root (), result) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Object Compare #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cSharedListMapRoot::listmapCompare (const cSharedListMapRoot * inOperand) const { typeComparisonResult result = kOperandEqual ; @@ -542,7 +532,7 @@ typeComparisonResult cSharedListMapRoot::listmapCompare (const cSharedListMapRoo return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult AC_GALGAS_listmap::objectCompare (const AC_GALGAS_listmap & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -552,72 +542,65 @@ typeComparisonResult AC_GALGAS_listmap::objectCompare (const AC_GALGAS_listmap & return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Description #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedListMapRoot::internalDescription (cListMapNode * inNode, - String & ioString, + C_String & ioString, const int32_t inIndentation, uint32_t & ioIdx) { if (nullptr != inNode) { internalDescription (inNode->mInfPtr, ioString, inIndentation, ioIdx) ; - ioString.appendCString ("\n") ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("|-at ") ; - ioString.appendUnsigned (ioIdx) ; - ioString.appendCString (": key '") ; - ioString.appendString (inNode->mKey) ; - ioString.appendCString ("' ") ; + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "|-at " << cStringWithUnsigned (ioIdx) + << ": key '" << inNode->mKey << "' " ; inNode->myList.description (ioString, inIndentation + 1) ; ioIdx ++ ; internalDescription (inNode->mSupPtr, ioString, inIndentation, ioIdx) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cSharedListMapRoot::description (String & ioString, +void cSharedListMapRoot::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString (" (") ; - ioString.appendUnsigned (count ()) ; - ioString.appendCString (" object") ; - ioString.appendString ((count () > 1) ? "s" : "") ; - ioString.appendCString ("): ") ; + ioString << " (" + << cStringWithUnsigned (count ()) + << " object" << ((count () > 1) ? "s" : "") + << "): " ; uint32_t idx = 0 ; internalDescription (mRoot, ioString, inIndentation, idx) ; - ioString.appendCString (">") ; + ioString << ">" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void AC_GALGAS_listmap::description (String & ioString, +void AC_GALGAS_listmap::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("<@") ; - ioString.appendString (staticTypeDescriptor ()->mGalgasTypeName) ; + ioString << "<@" << staticTypeDescriptor ()->mGalgasTypeName ; if (isValid ()) { - ioString.appendCString (": ") ; - ioString.appendUnsigned (count()) ; - ioString.appendCString (" object") ; - ioString.appendString ((count() > 1) ? "s" : "") ; + ioString << ": " << cStringWithUnsigned (count()) << " object" + << ((count() > 1) ? "s" : "") ; mSharedListMap->description (ioString, inIndentation) ; }else{ - ioString.appendCString (": not built") ; + ioString << ": not built" ; } - ioString.appendCString (">") ; + ioString << ">" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark List map Node #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cListMapNode::cListMapNode (const cListMapNode * inNode) : mInfPtr (nullptr), @@ -637,7 +620,7 @@ myList () { myList = inNode->myList ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedListMapRoot::copyFrom (const cSharedListMapRoot * inSource) { macroValidSharedObject (inSource, cSharedListMapRoot) ; @@ -647,7 +630,7 @@ void cSharedListMapRoot::copyFrom (const cSharedListMapRoot * inSource) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_listmap::insulateListMap (LOCATION_ARGS) { if ((mSharedListMap != nullptr) && !mSharedListMap->isUniquelyReferenced ()) { @@ -659,25 +642,25 @@ void AC_GALGAS_listmap::insulateListMap (LOCATION_ARGS) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Create a new list map #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_listmap::makeNewEmptyListMap (LOCATION_ARGS) { macroMyNew (mSharedListMap, cSharedListMapRoot (THERE)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Adding an object #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void rotateLeft (cListMapNode * & ioRootPtr) { cListMapNode * b = ioRootPtr->mSupPtr ; @@ -718,10 +701,10 @@ static void rotateRight (cListMapNode * & ioRootPtr) { ioRootPtr = b ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedListMapRoot::findOrAddEntry (cListMapNode * & ioRootPtr, - const String & inKey, + const C_String & inKey, cListMapNode * & outEntry, bool & ioExtension) { if (ioRootPtr == nullptr) { @@ -767,9 +750,9 @@ void cSharedListMapRoot::findOrAddEntry (cListMapNode * & ioRootPtr, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cSharedListMapRoot::addObjectInListMap (const String & inKey, +void cSharedListMapRoot::addObjectInListMap (const C_String & inKey, capCollectionElement & inAttributeArray) { macroUniqueSharedObject (this) ; cListMapNode * entry = nullptr ; @@ -779,7 +762,7 @@ void cSharedListMapRoot::addObjectInListMap (const String & inKey, entry->myList.appendObject (inAttributeArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_listmap::addObjectInListMap (const GALGAS_string & inKey, capCollectionElement & inAttributeArray) { @@ -791,15 +774,15 @@ void AC_GALGAS_listmap::addObjectInListMap (const GALGAS_string & inKey, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark listForKey support #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -capCollectionElementArray cSharedListMapRoot::listForKey (const String & inKey) const { +capCollectionElementArray cSharedListMapRoot::listForKey (const C_String & inKey) const { capCollectionElementArray result ; bool found = false ; const cListMapNode * p = mRoot ; @@ -817,7 +800,7 @@ capCollectionElementArray cSharedListMapRoot::listForKey (const String & inKey) return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- capCollectionElementArray AC_GALGAS_listmap::listForKey (const GALGAS_string & inKey) const { capCollectionElementArray result ; @@ -827,15 +810,15 @@ capCollectionElementArray AC_GALGAS_listmap::listForKey (const GALGAS_string & i return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark cListMapElement #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cListMapElement::cListMapElement (const String & inKey, +cListMapElement::cListMapElement (const C_String & inKey, const capCollectionElementArray & inSharedList COMMA_LOCATION_ARGS) : cCollectionElement (THERE), @@ -843,47 +826,47 @@ mKey (inKey), mSharedListMapList (inSharedList) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cListMapElement::~ cListMapElement (void) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cListMapElement::isValid (void) const { return true ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cListMapElement::compare (const cCollectionElement * /* inOperand */) const { return kOperandNotValid ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement * cListMapElement::copy (void) { return nullptr ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cListMapElement::description (String & /* ioString */, +void cListMapElement::description (C_String & /* ioString */, const int32_t /* inIndentation */) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark listmap cEnumerator #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'GALGAS_stringset::cEnumerator' class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void enterAscendingEnumeration (const cListMapNode * inNode, capCollectionElementArray & ioEnumerationArray) { @@ -899,15 +882,15 @@ static void enterAscendingEnumeration (const cListMapNode * inNode, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedListMapRoot::populateEnumerationArray (capCollectionElementArray & ioEnumerationArray) const { ioEnumerationArray.setCapacity (mCount) ; enterAscendingEnumeration (mRoot, ioEnumerationArray) ; - macroAssert (mCount == ioEnumerationArray.count (), "mCount (%lld) != ioEnumerationArray.count () (%lld)", mCount, ioEnumerationArray.count ()) ; + MF_Assert (mCount == ioEnumerationArray.count (), "mCount (%lld) != ioEnumerationArray.count () (%lld)", mCount, ioEnumerationArray.count ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_listmap::populateEnumerationArray (capCollectionElementArray & ioEnumerationArray) const { if (isValid ()) { @@ -915,4 +898,4 @@ void AC_GALGAS_listmap::populateEnumerationArray (capCollectionElementArray & io } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/AC_GALGAS_list.h b/goil/build/libpm/galgas2/AC_GALGAS_list.h index 26ddcf90b..23b3c61a4 100644 --- a/goil/build/libpm/galgas2/AC_GALGAS_list.h +++ b/goil/build/libpm/galgas2/AC_GALGAS_list.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // AC_GALGAS_list : Base class for GALGAS list // @@ -16,17 +16,17 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "AC_GALGAS_root.h" -#include "typeComparisonResult.h" -#include "cCollectionElement.h" +#include "galgas2/AC_GALGAS_root.h" +#include "galgas2/typeComparisonResult.h" +#include "galgas2/cCollectionElement.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class AC_GALGAS_list : public AC_GALGAS_root { //--- Private properties @@ -62,7 +62,7 @@ class AC_GALGAS_list : public AC_GALGAS_root { public: VIRTUAL_IN_DEBUG GALGAS_range getter_range (LOCATION_ARGS) const ; //--- Description - public: VIRTUAL_IN_DEBUG void description (String & ioString, const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, const int32_t inIndentation) const override ; //--- introspection public: virtual const C_galgas_type_descriptor * staticTypeDescriptor (void) const override = 0 ; @@ -72,71 +72,71 @@ class AC_GALGAS_list : public AC_GALGAS_root { protected: VIRTUAL_IN_DEBUG void insertObjectAtIndex (const capCollectionElement & inElementToAdd, const uint32_t inInsertionIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; protected: VIRTUAL_IN_DEBUG void removeObjectAtIndex (capCollectionElement & outAttributes, const uint32_t inRemoveIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; protected: VIRTUAL_IN_DEBUG void removeFirstObject (capCollectionElement & outAttributes, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; protected: VIRTUAL_IN_DEBUG void removeLastObject (capCollectionElement & outAttributes, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; protected: VIRTUAL_IN_DEBUG void readFirst (capCollectionElement & outAttributes, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; protected: VIRTUAL_IN_DEBUG void readLast (capCollectionElement & outAttributes, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; protected: VIRTUAL_IN_DEBUG void appendList (const AC_GALGAS_list & inList) ; protected: VIRTUAL_IN_DEBUG void subListWithRange (AC_GALGAS_list & outList, const GALGAS_range & inRange, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; protected: VIRTUAL_IN_DEBUG void subListFromIndex (AC_GALGAS_list & outList, const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; protected: VIRTUAL_IN_DEBUG void subListToIndex (AC_GALGAS_list & outList, const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; protected: VIRTUAL_IN_DEBUG capCollectionElement readObjectAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; protected: VIRTUAL_IN_DEBUG cCollectionElement * uniquelyReferencedPointerAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // cListMapElement // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cListMapElement : public cCollectionElement { //--- Attributes - public: String mKey ; + public: C_String mKey ; public: capCollectionElementArray mSharedListMapList ; //--- Default constructor - public: cListMapElement (const String & inKey, + public: cListMapElement (const C_String & inKey, const capCollectionElementArray & inSharedList COMMA_LOCATION_ARGS) ; @@ -157,14 +157,14 @@ class cListMapElement : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // AC_GALGAS_listmap // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class AC_GALGAS_listmap : public AC_GALGAS_root { //--- Constructor @@ -196,7 +196,7 @@ class AC_GALGAS_listmap : public AC_GALGAS_root { public: virtual const C_galgas_type_descriptor * staticTypeDescriptor (void) const override = 0 ; //--------------------------------- Implementation of reader 'description' - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; //--- Internal methods for enumeration @@ -222,4 +222,4 @@ class AC_GALGAS_listmap : public AC_GALGAS_root { private: class cSharedListMapRoot * mSharedListMap ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/AC_GALGAS_map.cpp b/goil/build/libpm/galgas2/AC_GALGAS_map.cpp index bc7edf847..b1ef2788f 100644 --- a/goil/build/libpm/galgas2/AC_GALGAS_map.cpp +++ b/goil/build/libpm/galgas2/AC_GALGAS_map.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // AC_GALGAS_map : Base class for GALGAS map // @@ -16,44 +16,47 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -#include "capCollectionElement.h" -#include "C_galgas_type_descriptor.h" -#include "MF_MemoryControl.h" -#include "Compiler.h" -#include "C_galgas_CLI_Options.h" +#include "galgas2/capCollectionElement.h" +#include "galgas2/C_galgas_type_descriptor.h" +#include "utilities/MF_MemoryControl.h" +#include "galgas2/C_Compiler.h" +#include "strings/unicode_string_routines.h" +#include "galgas2/C_galgas_CLI_Options.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cMapNode ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // c S h a r e d M a p R o o t // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class cSharedMapRoot : public SharedObject { +class cSharedMapRoot : public C_SharedObject { //--------------------------------- Attributes private: cMapNode * mRoot ; private: uint32_t mCount ; protected: cSharedMapRoot * mOverridenMap ; + private: bool mActivateReplacementSuggestions ; + //--------------------------------- Accessors public: inline const cMapNode * root (void) const { return mRoot ; } public: inline uint32_t count (void) const { return mCount ; } //--------------------------------- Constructor - protected: cSharedMapRoot (LOCATION_ARGS) ; + protected: cSharedMapRoot (const bool inActivateReplacementSuggestions COMMA_LOCATION_ARGS) ; //--------------------------------- Virtual destructor public: virtual ~ cSharedMapRoot (void) ; //--------------------------------- No copy - private: cSharedMapRoot (const cSharedMapRoot &) = delete ; - private: cSharedMapRoot & operator = (const cSharedMapRoot &) = delete ; + private: cSharedMapRoot (const cSharedMapRoot &) ; + private: cSharedMapRoot & operator = (const cSharedMapRoot &) ; //--------------------------------- Copy a map protected: VIRTUAL_IN_DEBUG void copyFrom (const cSharedMapRoot * inSource) ; @@ -61,7 +64,7 @@ class cSharedMapRoot : public SharedObject { //--------------------------------- Attribute read access private: VIRTUAL_IN_DEBUG const cMapNode * findNodeForKeyInMapOrInOverridenMaps (const GALGAS_string & inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Insert or Replace @@ -69,47 +72,47 @@ class cSharedMapRoot : public SharedObject { //--------------------------------- Insert protected: VIRTUAL_IN_DEBUG cMapNode * performInsert (const capCollectionElement & inAttributes, - Compiler * inCompiler, + C_Compiler * inCompiler, const char * inInsertErrorMessage, const char * inShadowErrorMessage COMMA_LOCATION_ARGS) ; //--------------------------------- Search - private: VIRTUAL_IN_DEBUG cMapNode * findEntryInMap (const String & inKey, + private: VIRTUAL_IN_DEBUG cMapNode * findEntryInMap (const C_String & inKey, const cSharedMapRoot * inFirstMap) const ; - private: VIRTUAL_IN_DEBUG cMapNode * findEntryInMapAtLevel (const String & inKey, + private: VIRTUAL_IN_DEBUG cMapNode * findEntryInMapAtLevel (const C_String & inKey, const uint32_t inLevel, const cSharedMapRoot * inFirstMap) const ; - public: VIRTUAL_IN_DEBUG void findNearestKey (const String & inKey, - TC_UniqueArray & ioNearestKeyArray) const ; + public: VIRTUAL_IN_DEBUG void findNearestKey (const C_String & inKey, + TC_UniqueArray & ioNearestKeyArray) const ; protected: VIRTUAL_IN_DEBUG cMapNode * performSearch (const GALGAS_lstring & inKey, - Compiler * inCompiler, + C_Compiler * inCompiler, const char * inSearchErrorMessage COMMA_LOCATION_ARGS) const ; protected: VIRTUAL_IN_DEBUG const cMapElement * searchForKey (const GALGAS_string & inKey) const ; protected: VIRTUAL_IN_DEBUG const cMapElement * searchForReadingAttribute (const GALGAS_string & inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; protected: VIRTUAL_IN_DEBUG cMapElement * searchForReadWriteAttribute (const GALGAS_string & inKey, const bool inErrorOnUnknownKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; protected: VIRTUAL_IN_DEBUG cMapElement * searchForReadWriteAttribute (const GALGAS_lstring & inKey, - Compiler * inCompiler, + C_Compiler * inCompiler, const char * inSearchErrorMessage COMMA_LOCATION_ARGS) ; //--------------------------------- Remove protected: VIRTUAL_IN_DEBUG void performRemove (GALGAS_lstring & inKey, capCollectionElement & outResult, - Compiler * inCompiler, + C_Compiler * inCompiler, const char * inRemoveErrorMessage COMMA_LOCATION_ARGS) ; @@ -124,7 +127,7 @@ class cSharedMapRoot : public SharedObject { COMMA_LOCATION_ARGS) const ; protected: VIRTUAL_IN_DEBUG GALGAS_location locationForKey (const GALGAS_string & inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; protected: VIRTUAL_IN_DEBUG GALGAS_stringset keySet (LOCATION_ARGS) const ; @@ -132,7 +135,7 @@ class cSharedMapRoot : public SharedObject { protected: VIRTUAL_IN_DEBUG GALGAS_lstringlist keyList (LOCATION_ARGS) const ; //--------------------------------- Implementation of reader 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, const int32_t inIndentation, const uint32_t inLevel) const ; @@ -152,21 +155,21 @@ class cSharedMapRoot : public SharedObject { friend class AC_GALGAS_map ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // c M a p N o d e // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cMapNode { public: cMapNode * mInfPtr ; public: cMapNode * mSupPtr ; public: int32_t mBalance ; - public: const String mKey ; + public: const C_String mKey ; public: capCollectionElement mAttributes ; //--- Constructors - public: cMapNode (const String & inKey, + public: cMapNode (const C_String & inKey, const capCollectionElement & inAttributes) ; public: cMapNode (cMapNode * inNode) ; @@ -179,25 +182,26 @@ class cMapNode { private: cMapNode & operator = (const cMapNode &) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cSharedMapRoot::cSharedMapRoot (LOCATION_ARGS) : -SharedObject (THERE), +cSharedMapRoot::cSharedMapRoot (const bool inActivateReplacementSuggestions COMMA_LOCATION_ARGS) : +C_SharedObject (THERE), mRoot (nullptr), mCount (0), -mOverridenMap (nullptr) { +mOverridenMap (nullptr), +mActivateReplacementSuggestions (inActivateReplacementSuggestions) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cSharedMapRoot::~ cSharedMapRoot (void) { macroMyDelete (mRoot) ; macroDetachSharedObject (mOverridenMap) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapNode::cMapNode (const String & inKey, +cMapNode::cMapNode (const C_String & inKey, const capCollectionElement & inAttributes) : mInfPtr (nullptr), mSupPtr (nullptr), @@ -206,20 +210,20 @@ mKey (inKey), mAttributes (inAttributes) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cMapNode::~cMapNode (void) { macroMyDelete (mInfPtr) ; macroMyDelete (mSupPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Check Map #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS static void checkNode (const cMapNode * inNode, @@ -234,125 +238,122 @@ cMapNode::~cMapNode (void) { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void cSharedMapRoot::checkMap (LOCATION_ARGS) const { uint32_t n = 0 ; checkNode (mRoot, n) ; - macroAssertThere (n == mCount, "n (%lld) != mCount (%lld)", n, mCount) ; + MF_AssertThere (n == mCount, "n (%lld) != mCount (%lld)", n, mCount) ; } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Constructor, destructor and copy #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -AC_GALGAS_map::AC_GALGAS_map (void) : +AC_GALGAS_map::AC_GALGAS_map (const bool inActivateReplacementSuggestions) : AC_GALGAS_root (), -mSharedMap (nullptr) { +mSharedMap (nullptr), +mActivateReplacementSuggestions (inActivateReplacementSuggestions) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_map::AC_GALGAS_map (const AC_GALGAS_map & inSource) : AC_GALGAS_root (), -mSharedMap (nullptr) { +mSharedMap (nullptr), +mActivateReplacementSuggestions (inSource.mActivateReplacementSuggestions) { macroAssignSharedObject (mSharedMap, inSource.mSharedMap) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_map & AC_GALGAS_map::operator = (const AC_GALGAS_map & inSource) { macroAssignSharedObject (mSharedMap, inSource.mSharedMap) ; return *this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_map::~AC_GALGAS_map (void) { macroDetachSharedObject (mSharedMap) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_map::drop (void) { macroDetachSharedObject (mSharedMap) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_map::makeNewEmptyMap (LOCATION_ARGS) { - macroMyNew (mSharedMap, cSharedMapRoot (THERE)) ; + macroMyNew (mSharedMap, cSharedMapRoot (mActivateReplacementSuggestions COMMA_THERE)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_map::makeNewEmptyMapWithMapToOverride (const AC_GALGAS_map & inMapToOverride COMMA_LOCATION_ARGS) { if (inMapToOverride.isValid ()) { - macroMyNew (mSharedMap, cSharedMapRoot (THERE)) ; + macroMyNew (mSharedMap, cSharedMapRoot (mActivateReplacementSuggestions COMMA_THERE)) ; macroAssignSharedObject (mSharedMap->mOverridenMap, inMapToOverride.mSharedMap) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Description, log #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void internalDescription (cMapNode * inNode, - String & ioString, + C_String & ioString, const int32_t inIndentation, uint32_t & ioIdx) { if (nullptr != inNode) { internalDescription (inNode->mInfPtr, ioString, inIndentation, ioIdx) ; - ioString.appendCString ("\n") ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("|-at ") ; - ioString.appendUnsigned (ioIdx) ; - ioString.appendCString (": key '") ; - ioString.appendString (inNode->mKey) ; - ioString.appendCString ("' ") ; + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "|-at " << cStringWithUnsigned (ioIdx) + << ": key '" << inNode->mKey << "' " ; inNode->mAttributes.description (ioString, inIndentation + 2) ; ioIdx ++ ; internalDescription (inNode->mSupPtr, ioString, inIndentation, ioIdx) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cSharedMapRoot::description (String & ioString, +void cSharedMapRoot::description (C_String & ioString, const int32_t inIndentation, const uint32_t inLevel) const { if (inLevel > 0) { - ioString.appendCString ("\n") ; - ioString.appendStringMultiple ("| ", inIndentation + 1) ; - ioString.appendCString ("override #") ; - ioString.appendUnsigned (inLevel) ; - } - ioString.appendCString (" (") ; - ioString.appendUnsigned (count ()) ; - ioString.appendCString (" object") ; - ioString.appendString ((count () > 1) ? "s" : "") ; - ioString.appendCString ("): ") ; + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation + 1) ; + ioString << "override #" << cStringWithUnsigned (inLevel) ; + } + ioString << " (" + << cStringWithUnsigned (count ()) + << " object" << ((count () > 1) ? "s" : "") + << "): " ; uint32_t idx = 0 ; internalDescription (mRoot, ioString, inIndentation, idx) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void AC_GALGAS_map::description (String & ioString, +void AC_GALGAS_map::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("mGalgasTypeName) ; + ioString << "mGalgasTypeName ; if (isValid ()) { const cSharedMapRoot * currentMap = mSharedMap ; uint32_t level = 0 ; @@ -362,20 +363,20 @@ void AC_GALGAS_map::description (String & ioString, currentMap = currentMap->mOverridenMap ; } }else{ - ioString.appendCString (" not built") ; + ioString << " not built" ; } - ioString.appendCString (">") ; + ioString << ">" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Search in map and overridden maps #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapNode * cSharedMapRoot::findEntryInMapAtLevel (const String & inKey, +cMapNode * cSharedMapRoot::findEntryInMapAtLevel (const C_String & inKey, const uint32_t inLevel, const cSharedMapRoot * inFirstMap) const { cMapNode * result = nullptr ; @@ -402,9 +403,9 @@ cMapNode * cSharedMapRoot::findEntryInMapAtLevel (const String & inKey, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapNode * cSharedMapRoot::findEntryInMap (const String & inKey, +cMapNode * cSharedMapRoot::findEntryInMap (const C_String & inKey, const cSharedMapRoot * inFirstMap) const { cMapNode * result = nullptr ; const cSharedMapRoot * currentMap = inFirstMap ; @@ -426,29 +427,27 @@ cMapNode * cSharedMapRoot::findEntryInMap (const String & inKey, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const cMapNode * cSharedMapRoot::findNodeForKeyInMapOrInOverridenMaps (const GALGAS_string & inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cMapNode * result = nullptr ; if (inKey.isValid ()) { - const String key = inKey.stringValue () ; + const C_String key = inKey.stringValue () ; result = findEntryInMap (key, this) ; if (nullptr == result) { - String errorMessage ; - errorMessage.appendCString ("the '") ; - errorMessage.appendString (key) ; - errorMessage.appendCString ("' key is not defined in map") ; + C_String errorMessage ; + errorMessage << "the '" << key << "' key is not defined in map" ; inCompiler->onTheFlyRunTimeError (errorMessage COMMA_THERE) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapNode * AC_GALGAS_map::searchEntryInMap (const String & inKey) const { +cMapNode * AC_GALGAS_map::searchEntryInMap (const C_String & inKey) const { cMapNode * result = nullptr ; if (isValid ()) { result = mSharedMap->findEntryInMap (inKey, mSharedMap) ; @@ -456,13 +455,13 @@ cMapNode * AC_GALGAS_map::searchEntryInMap (const String & inKey) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Search for "with instruction" read only access #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const cCollectionElement * AC_GALGAS_map::readAccessForWithInstruction (const GALGAS_string & inKey) const { const cCollectionElement * result = nullptr ; @@ -475,20 +474,22 @@ const cCollectionElement * AC_GALGAS_map::readAccessForWithInstruction (const GA return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cCollectionElement * AC_GALGAS_map::readWriteAccessForWithInstructionWithErrorMessage (Compiler * inCompiler, +cCollectionElement * AC_GALGAS_map::readWriteAccessForWithInstructionWithErrorMessage (C_Compiler * inCompiler, const GALGAS_lstring & inKey, const char * inSearchErrorMessage COMMA_LOCATION_ARGS) { cCollectionElement * result = nullptr ; if (isValid () && inKey.isValid ()) { insulate (HERE) ; - const String key = inKey.mProperty_string.stringValue () ; + const C_String key = inKey.mProperty_string.stringValue () ; cMapNode * node = mSharedMap->findEntryInMap (key, mSharedMap) ; if (nullptr == node) { - TC_UniqueArray nearestKeyArray ; - mSharedMap->findNearestKey (key, nearestKeyArray) ; + TC_UniqueArray nearestKeyArray ; + if (mActivateReplacementSuggestions) { + mSharedMap->findNearestKey (key, nearestKeyArray) ; + } inCompiler->semanticErrorWith_K_message (inKey, nearestKeyArray, inSearchErrorMessage COMMA_THERE) ; }else{ result = node->mAttributes.ptr () ; @@ -497,13 +498,13 @@ cCollectionElement * AC_GALGAS_map::readWriteAccessForWithInstructionWithErrorMe return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Insert Or Replace #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void rotateLeft (cMapNode * & ioRootPtr) { cMapNode * b = ioRootPtr->mSupPtr ; @@ -524,7 +525,7 @@ static void rotateLeft (cMapNode * & ioRootPtr) { ioRootPtr = b ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void rotateRight (cMapNode * & ioRootPtr) { cMapNode * b = ioRootPtr->mInfPtr ; @@ -544,10 +545,10 @@ static void rotateRight (cMapNode * & ioRootPtr) { ioRootPtr = b ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static bool internalInsertOrReplace (cMapNode * & ioRootPtr, - const String & inKey, + const C_String & inKey, const capCollectionElement & ioAttributeArray, bool & ioExtension) { bool anObjectHasBeenAdded = false ; @@ -594,7 +595,7 @@ static bool internalInsertOrReplace (cMapNode * & ioRootPtr, return anObjectHasBeenAdded ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedMapRoot::performInsertOrReplace (const capCollectionElement & inAttributes) { macroUniqueSharedObject (this) ; @@ -603,7 +604,7 @@ void cSharedMapRoot::performInsertOrReplace (const capCollectionElement & inAttr const cMapElement * p = (cMapElement *) inAttributes.ptr () ; macroValidSharedObject (p, cMapElement) ; const GALGAS_string string_key = p->mProperty_lkey.mProperty_string ; - const String key = string_key.stringValue () ; + const C_String key = string_key.stringValue () ; //--- Insert or replace bool extension ; // Unused here const bool anObjectHasBeenAdded = internalInsertOrReplace (mRoot, key, inAttributes, extension) ; @@ -616,7 +617,7 @@ void cSharedMapRoot::performInsertOrReplace (const capCollectionElement & inAttr #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_map::performInsertOrReplace (const capCollectionElement & inAttributes) { if (isValid ()) { @@ -627,13 +628,13 @@ void AC_GALGAS_map::performInsertOrReplace (const capCollectionElement & inAttri } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Insulate #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cMapNode::cMapNode (cMapNode * inNode) : mInfPtr (nullptr), @@ -649,7 +650,7 @@ mAttributes (inNode->mAttributes) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedMapRoot::copyFrom (const cSharedMapRoot * inSource) { macroUniqueSharedObject (this) ; @@ -667,19 +668,19 @@ void cSharedMapRoot::copyFrom (const cSharedMapRoot * inSource) { #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_map::insulate (LOCATION_ARGS) { if ((nullptr != mSharedMap) && !mSharedMap->isUniquelyReferenced ()) { cSharedMapRoot * p = nullptr ; - macroMyNew (p, cSharedMapRoot (THERE)) ; + macroMyNew (p, cSharedMapRoot (mActivateReplacementSuggestions COMMA_THERE)) ; p->copyFrom (mSharedMap) ; macroAssignSharedObject (mSharedMap, p) ; macroDetachSharedObject (p) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedMapRoot::copyCurrentAndOverridenMapsFrom (const cSharedMapRoot * inSource) { macroUniqueSharedObject (this) ; @@ -692,7 +693,7 @@ void cSharedMapRoot::copyCurrentAndOverridenMapsFrom (const cSharedMapRoot * inS macroMyNew (mRoot, cMapNode (inSource->mRoot)) ; } if (nullptr != inSource->mOverridenMap) { - macroMyNew (mOverridenMap, cSharedMapRoot (HERE)) ; + macroMyNew (mOverridenMap, cSharedMapRoot (mActivateReplacementSuggestions COMMA_HERE)) ; mOverridenMap->copyCurrentAndOverridenMapsFrom (inSource->mOverridenMap) ; } #ifndef DO_NOT_GENERATE_CHECKINGS @@ -700,7 +701,7 @@ void cSharedMapRoot::copyCurrentAndOverridenMapsFrom (const cSharedMapRoot * inS #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_map::insulateCurrentAndOverridenMaps (LOCATION_ARGS) { if (nullptr != mSharedMap) { @@ -713,7 +714,7 @@ void AC_GALGAS_map::insulateCurrentAndOverridenMaps (LOCATION_ARGS) { } if (performDeepCopy) { cSharedMapRoot * p = nullptr ; - macroMyNew (p, cSharedMapRoot (THERE)) ; + macroMyNew (p, cSharedMapRoot (mActivateReplacementSuggestions COMMA_THERE)) ; p->copyCurrentAndOverridenMapsFrom (mSharedMap) ; macroAssignSharedObject (mSharedMap, p) ; macroDetachSharedObject (p) ; @@ -721,16 +722,16 @@ void AC_GALGAS_map::insulateCurrentAndOverridenMaps (LOCATION_ARGS) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Insert #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static cMapNode * internalInsert (cMapNode * & ioRootPtr, - const String & inKey, + const C_String & inKey, const capCollectionElement & inAttributes, bool & outEntryAlreadyExists, bool & ioExtension) { @@ -782,10 +783,10 @@ static cMapNode * internalInsert (cMapNode * & ioRootPtr, return matchingEntry ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cMapNode * cSharedMapRoot::performInsert (const capCollectionElement & inAttributes, - Compiler * inCompiler, + C_Compiler * inCompiler, const char * inInsertErrorMessage, const char * inShadowErrorMessage COMMA_LOCATION_ARGS) { @@ -795,7 +796,7 @@ cMapNode * cSharedMapRoot::performInsert (const capCollectionElement & inAttribu if (inAttributes.isValid ()) { cMapElement * p = (cMapElement *) inAttributes.ptr () ; macroValidSharedObject (p, cMapElement) ; - const String key = p->mProperty_lkey.mProperty_string.stringValue () ; + const C_String key = p->mProperty_lkey.mProperty_string.stringValue () ; //--- Insert or replace bool extension = false ; // Unused here bool entryAlreadyExists = false ; @@ -803,7 +804,7 @@ cMapNode * cSharedMapRoot::performInsert (const capCollectionElement & inAttribu if (! entryAlreadyExists) { result = matchingEntry ; mCount ++ ; - const String shadowErrorMessage (inShadowErrorMessage) ; + const C_String shadowErrorMessage (inShadowErrorMessage) ; const int32_t shadowErrorMessageLength = shadowErrorMessage.length () ; if (shadowErrorMessageLength > 0) { matchingEntry = findEntryInMap (key, mOverridenMap) ; @@ -847,10 +848,10 @@ cMapNode * cSharedMapRoot::performInsert (const capCollectionElement & inAttribu return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_map::performInsert (const capCollectionElement & inAttributes, - Compiler * inCompiler, + C_Compiler * inCompiler, const char * inInsertErrorMessage, const char * inShadowErrorMessage COMMA_LOCATION_ARGS) { @@ -863,13 +864,13 @@ void AC_GALGAS_map::performInsert (const capCollectionElement & inAttributes, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Reader count #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint AC_GALGAS_map::getter_count (UNUSED_LOCATION_ARGS) const { GALGAS_uint result ; @@ -879,7 +880,7 @@ GALGAS_uint AC_GALGAS_map::getter_count (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t AC_GALGAS_map::count (void) const { uint32_t result = 0 ; @@ -889,13 +890,13 @@ uint32_t AC_GALGAS_map::count (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Reader "keySet" #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void enterKeyInStringSet (const cMapNode * inNode, GALGAS_stringset & ioResult) { @@ -907,15 +908,15 @@ static void enterKeyInStringSet (const cMapNode * inNode, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_stringset cSharedMapRoot::keySet (LOCATION_ARGS) const { - GALGAS_stringset result = GALGAS_stringset::class_func_emptySet (THERE) ; + GALGAS_stringset result = GALGAS_stringset::constructor_emptySet (THERE) ; enterKeyInStringSet (mRoot, result) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_stringset AC_GALGAS_map::getter_keySet (LOCATION_ARGS) const { GALGAS_stringset result ; @@ -925,13 +926,13 @@ GALGAS_stringset AC_GALGAS_map::getter_keySet (LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Reader "keyList" #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void enterKeyInLStringList (cMapNode * inNode, GALGAS_lstringlist & ioResult) { @@ -946,15 +947,15 @@ static void enterKeyInLStringList (cMapNode * inNode, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lstringlist cSharedMapRoot::keyList (LOCATION_ARGS) const { - GALGAS_lstringlist result = GALGAS_lstringlist::class_func_emptyList (THERE) ; + GALGAS_lstringlist result = GALGAS_lstringlist::constructor_emptyList (THERE) ; enterKeyInLStringList (mRoot, result) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lstringlist AC_GALGAS_map::getter_keyList (LOCATION_ARGS) const { GALGAS_lstringlist result ; @@ -964,25 +965,24 @@ GALGAS_lstringlist AC_GALGAS_map::getter_keyList (LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Reader locationForKey #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_location cSharedMapRoot::locationForKey (const GALGAS_string & inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_location result ; if (inKey.isValid ()) { - const String key = inKey.stringValue () ; + const C_String key = inKey.stringValue () ; cMapNode * node = findEntryInMap (key, this) ; if (nullptr == node) { - String message = "'locationForKey' map reader run-time error: the '" ; - message.appendString (key) ; - message.appendCString ("' does not exist in map") ; + C_String message ; + message << "'locationForKey' map reader run-time error: the '" << key << "' does not exist in map" ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; }else{ cMapElement * p = (cMapElement *) node->mAttributes.ptr () ; @@ -998,10 +998,10 @@ GALGAS_location cSharedMapRoot::locationForKey (const GALGAS_string & inKey, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_location AC_GALGAS_map::getter_locationForKey (const GALGAS_string & inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_location result ; if (isValid ()) { @@ -1010,13 +1010,13 @@ GALGAS_location AC_GALGAS_map::getter_locationForKey (const GALGAS_string & inKe return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Reader levels #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint cSharedMapRoot::levels (UNUSED_LOCATION_ARGS) const { uint32_t levelCount = 0 ; @@ -1028,7 +1028,7 @@ GALGAS_uint cSharedMapRoot::levels (UNUSED_LOCATION_ARGS) const { return GALGAS_uint (levelCount) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint AC_GALGAS_map::getter_levels (LOCATION_ARGS) const { GALGAS_uint result ; @@ -1038,27 +1038,27 @@ GALGAS_uint AC_GALGAS_map::getter_levels (LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Reader hasKeyAtLevel #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool cSharedMapRoot::hasKeyAtLevel (const GALGAS_string & inKey, const GALGAS_uint & inLevel COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; if (inKey.isValid () && inLevel.isValid ()) { - const String key = inKey.stringValue () ; + const C_String key = inKey.stringValue () ; const cMapNode * node = findEntryInMapAtLevel (key, inLevel.uintValue (), this) ; result = GALGAS_bool (nullptr != node) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool AC_GALGAS_map::getter_hasKeyAtLevel (const GALGAS_string & inKey, const GALGAS_uint & inLevel @@ -1070,26 +1070,26 @@ GALGAS_bool AC_GALGAS_map::getter_hasKeyAtLevel (const GALGAS_string & inKey, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Reader hasKey #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool cSharedMapRoot::hasKey (const GALGAS_string & inKey COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; if (inKey.isValid ()) { - const String key = inKey.stringValue () ; + const C_String key = inKey.stringValue () ; const cMapNode * node = findEntryInMap (key, this) ; result = GALGAS_bool (nullptr != node) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool AC_GALGAS_map::getter_hasKey (const GALGAS_string & inKey COMMA_LOCATION_ARGS) const { @@ -1100,18 +1100,18 @@ GALGAS_bool AC_GALGAS_map::getter_hasKey (const GALGAS_string & inKey return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Search #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static void findNearestKeyForNode (const String & inKey, +static void findNearestKeyForNode (const C_String & inKey, const cMapNode * inCurrentNode, uint32_t & ioBestDistance, - TC_UniqueArray & ioNearestKeyArray) { + TC_UniqueArray & ioNearestKeyArray) { if (nullptr != inCurrentNode) { macroValidPointer (inCurrentNode) ; const uint32_t distance = inCurrentNode->mKey.LevenshteinDistanceFromString (inKey) ; @@ -1127,10 +1127,10 @@ static void findNearestKeyForNode (const String & inKey, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cSharedMapRoot::findNearestKey (const String & inKey, - TC_UniqueArray & ioNearestKeyArray) const { +void cSharedMapRoot::findNearestKey (const C_String & inKey, + TC_UniqueArray & ioNearestKeyArray) const { ioNearestKeyArray.removeAllKeepingCapacity () ; uint32_t bestDistance = UINT32_MAX ; const cSharedMapRoot * currentMap = this ; @@ -1140,29 +1140,31 @@ void cSharedMapRoot::findNearestKey (const String & inKey, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cMapNode * cSharedMapRoot::performSearch (const GALGAS_lstring & inKey, - Compiler * inCompiler, + C_Compiler * inCompiler, const char * inSearchErrorMessage COMMA_LOCATION_ARGS) const { cMapNode * result = nullptr ; if (inKey.isValid ()) { - const String key = inKey.mProperty_string.stringValue () ; + const C_String key = inKey.mProperty_string.stringValue () ; result = findEntryInMap (key, this) ; if (nullptr == result) { - TC_UniqueArray nearestKeyArray ; - findNearestKey (key, nearestKeyArray) ; + TC_UniqueArray nearestKeyArray ; + if (mActivateReplacementSuggestions) { + findNearestKey (key, nearestKeyArray) ; + } inCompiler->semanticErrorWith_K_message (inKey, nearestKeyArray, inSearchErrorMessage COMMA_THERE) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const cCollectionElement * AC_GALGAS_map::performSearch (const GALGAS_lstring & inKey, - Compiler * inCompiler, + C_Compiler * inCompiler, const char * inSearchErrorMessage COMMA_LOCATION_ARGS) const { const cCollectionElement * result = nullptr ; @@ -1175,18 +1177,18 @@ const cCollectionElement * AC_GALGAS_map::performSearch (const GALGAS_lstring & return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark searchForKey #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const cMapElement * cSharedMapRoot::searchForKey (const GALGAS_string & inKey) const { const cMapElement * result = nullptr ; if (inKey.isValid ()) { - const String key = inKey.stringValue () ; + const C_String key = inKey.stringValue () ; cMapNode * node = findEntryInMap (key, this) ; if (nullptr != node) { result = (const cMapElement *) node->mAttributes.ptr () ; @@ -1196,7 +1198,7 @@ const cMapElement * cSharedMapRoot::searchForKey (const GALGAS_string & inKey) c return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const cMapElement * AC_GALGAS_map::searchForKey (const GALGAS_string & inKey) const { const cMapElement * result = nullptr ; @@ -1206,29 +1208,28 @@ const cMapElement * AC_GALGAS_map::searchForKey (const GALGAS_string & inKey) co return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark searchForReadingAttribute #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const cMapElement * cSharedMapRoot::searchForReadingAttribute (const GALGAS_string & inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cMapElement * result = nullptr ; if (inKey.isValid ()) { - const String key = inKey.stringValue () ; + const C_String key = inKey.stringValue () ; cMapNode * node = findEntryInMap (key, this) ; if (nullptr != node) { result = (const cMapElement *) node->mAttributes.ptr () ; macroValidSharedObject (result, cMapElement) ; }else{ //--- Build error message - String message = "cannot read attribute in map: the '" ; - message.appendString (key) ; - message.appendCString ("' key does not exist") ; + C_String message ; + message << "cannot read attribute in map: the '" << key << "' key does not exist" ; //--- Emit error message inCompiler->onTheFlySemanticError (message COMMA_THERE) ; } @@ -1236,10 +1237,10 @@ const cMapElement * cSharedMapRoot::searchForReadingAttribute (const GALGAS_stri return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const cMapElement * AC_GALGAS_map::searchForReadingAttribute (const GALGAS_string & inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cMapElement * result = nullptr ; if (isValid ()) { @@ -1248,22 +1249,22 @@ const cMapElement * AC_GALGAS_map::searchForReadingAttribute (const GALGAS_strin return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark searchForReadWriteAttribute (string) #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cMapElement * cSharedMapRoot::searchForReadWriteAttribute (const GALGAS_string & inKey, const bool inErrorOnUnknownKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { macroUniqueSharedObject (this) ; cMapElement * result = nullptr ; if (inKey.isValid ()) { - const String key = inKey.stringValue () ; + const C_String key = inKey.stringValue () ; cMapNode * node = findEntryInMap (key, this) ; if (nullptr != node) { node->mAttributes.insulate () ; @@ -1272,9 +1273,8 @@ cMapElement * cSharedMapRoot::searchForReadWriteAttribute (const GALGAS_string & macroUniqueSharedObject (result) ; }else if (inErrorOnUnknownKey) { //--- Build error message - String message = "cannot read attribute in map: the '" ; - message.appendString (key) ; - message.appendCString ("' key does not exist") ; + C_String message ; + message << "cannot read attribute in map: the '" << key << "' key does not exist" ; //--- Emit error message inCompiler->onTheFlySemanticError (message COMMA_THERE) ; } @@ -1282,11 +1282,11 @@ cMapElement * cSharedMapRoot::searchForReadWriteAttribute (const GALGAS_string & return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cMapElement * AC_GALGAS_map::searchForReadWriteAttribute (const GALGAS_string & inKey, const bool inErrorOnUnknownKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement * result = nullptr ; if (isValid ()) { @@ -1298,22 +1298,22 @@ cMapElement * AC_GALGAS_map::searchForReadWriteAttribute (const GALGAS_string & return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark searchForReadWriteAttribute (lstring) #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cMapElement * cSharedMapRoot::searchForReadWriteAttribute (const GALGAS_lstring & inKey, - Compiler * inCompiler, + C_Compiler * inCompiler, const char * inSearchErrorMessage COMMA_LOCATION_ARGS) { macroUniqueSharedObject (this) ; cMapElement * result = nullptr ; if (inKey.isValid ()) { - const String key = inKey.mProperty_string.stringValue () ; + const C_String key = inKey.mProperty_string.stringValue () ; cMapNode * node = findEntryInMap (key, this) ; if (nullptr != node) { node->mAttributes.insulate () ; @@ -1321,18 +1321,20 @@ cMapElement * cSharedMapRoot::searchForReadWriteAttribute (const GALGAS_lstring macroValidSharedObject (result, cMapElement) ; macroUniqueSharedObject (result) ; }else{ - TC_UniqueArray nearestKeyArray ; - findNearestKey (key, nearestKeyArray) ; + TC_UniqueArray nearestKeyArray ; + if (mActivateReplacementSuggestions) { + findNearestKey (key, nearestKeyArray) ; + } inCompiler->semanticErrorWith_K_message (inKey, nearestKeyArray, inSearchErrorMessage COMMA_THERE) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cMapElement * AC_GALGAS_map::searchForReadWriteAttribute (const GALGAS_lstring & inKey, - Compiler * inCompiler, + C_Compiler * inCompiler, const char * inSearchErrorMessage COMMA_LOCATION_ARGS) { cMapElement * result = nullptr ; @@ -1345,13 +1347,13 @@ cMapElement * AC_GALGAS_map::searchForReadWriteAttribute (const GALGAS_lstring & return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Remove #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void supBranchDecreased (cMapNode * & ioRoot, bool & ioBranchHasBeenRemoved) { @@ -1380,7 +1382,7 @@ static void supBranchDecreased (cMapNode * & ioRoot, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void infBranchDecreased (cMapNode * & ioRoot, bool & ioBranchHasBeenRemoved) { @@ -1409,7 +1411,7 @@ static void infBranchDecreased (cMapNode * & ioRoot, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void getPreviousElement (cMapNode * & ioRoot, cMapNode * & ioElement, @@ -1426,9 +1428,9 @@ static void getPreviousElement (cMapNode * & ioRoot, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static cMapNode * internalRemoveEntry (const String & inKeyToRemove, +static cMapNode * internalRemoveEntry (const C_String & inKeyToRemove, cMapNode * & ioRoot, bool & ioBranchHasBeenRemoved) { cMapNode * removedNode = nullptr ; @@ -1472,35 +1474,35 @@ static cMapNode * internalRemoveEntry (const String & inKeyToRemove, return removedNode ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedMapRoot::performRemove (GALGAS_lstring & inKey, capCollectionElement & outResult, - Compiler * inCompiler, + C_Compiler * inCompiler, const char * inRemoveErrorMessage COMMA_LOCATION_ARGS) { macroUniqueSharedObject (this) ; if (inKey.isValid ()) { - const String key = inKey.mProperty_string.stringValue () ; + const C_String key = inKey.mProperty_string.stringValue () ; bool branchHasBeenRemoved = false ; cMapNode * node = internalRemoveEntry (key, mRoot, branchHasBeenRemoved) ; if (nullptr == node) { //--- Build error message - String message ; + C_String message ; bool perCentFound = false ; - const String removeErrorMessage (inRemoveErrorMessage) ; + const C_String removeErrorMessage (inRemoveErrorMessage) ; const int32_t errorMessageLength = removeErrorMessage.length () ; for (int32_t i=0 ; i -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * AC_GALGAS_reference_class::dynamicTypeDescriptor (void) const { const C_galgas_type_descriptor * result = nullptr ; @@ -37,14 +37,14 @@ const C_galgas_type_descriptor * AC_GALGAS_reference_class::dynamicTypeDescripto return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_reference_class::AC_GALGAS_reference_class (void) : AC_GALGAS_root (), mObjectPtr (nullptr) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_reference_class::AC_GALGAS_reference_class (const acStrongPtr_class * inPointer) : AC_GALGAS_root (), @@ -52,19 +52,19 @@ mObjectPtr (nullptr) { macroAssignSharedObject (mObjectPtr, (acStrongPtr_class *) inPointer) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_reference_class::~AC_GALGAS_reference_class (void) { macroDetachSharedObject (mObjectPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_reference_class::drop (void) { macroDetachSharedObject (mObjectPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_reference_class::AC_GALGAS_reference_class (const AC_GALGAS_reference_class & inSource) : AC_GALGAS_root (), @@ -72,29 +72,29 @@ mObjectPtr (nullptr) { macroAssignSharedObject (mObjectPtr, inSource.mObjectPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_reference_class & AC_GALGAS_reference_class::operator = (const AC_GALGAS_reference_class & inSource) { macroAssignSharedObject (mObjectPtr, inSource.mObjectPtr) ; return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void AC_GALGAS_reference_class::description (String & ioString, +void AC_GALGAS_reference_class::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("<@") ; - ioString.appendString (staticTypeDescriptor ()->mGalgasTypeName) ; - ioString.appendCString (":") ; + ioString << "<@" + << staticTypeDescriptor ()->mGalgasTypeName + << ":" ; if (isValid ()) { mObjectPtr->description (ioString, inIndentation) ; }else{ - ioString.appendCString ("not built") ; + ioString << "not built" ; } - ioString.appendCString (">") ; + ioString << ">" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void AC_GALGAS_reference_class::printNonNullClassInstanceProperties (const char * inPropertyName) const { @@ -104,4 +104,4 @@ void AC_GALGAS_reference_class::description (String & ioString, } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/AC_GALGAS_reference_class.h b/goil/build/libpm/galgas2/AC_GALGAS_reference_class.h index 41a5a32f2..c027ac5dd 100644 --- a/goil/build/libpm/galgas2/AC_GALGAS_reference_class.h +++ b/goil/build/libpm/galgas2/AC_GALGAS_reference_class.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // AC_GALGAS_reference_class : base class for reference class objects // @@ -16,21 +16,21 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "AC_GALGAS_root.h" +#include "galgas2/AC_GALGAS_root.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class String ; +class C_String ; class C_galgas_type_descriptor ; class acStrongPtr_class ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class AC_GALGAS_reference_class : public AC_GALGAS_root { // AC_GALGAS_reference_class est une classe abstraite //--- Properties @@ -59,7 +59,7 @@ class AC_GALGAS_reference_class : public AC_GALGAS_root { // AC_GALGAS_reference //--- Dynamic Type Descriptor public: virtual const C_galgas_type_descriptor * dynamicTypeDescriptor (void) const ; - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; #ifndef DO_NOT_GENERATE_CHECKINGS @@ -67,4 +67,4 @@ class AC_GALGAS_reference_class : public AC_GALGAS_root { // AC_GALGAS_reference #endif } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/AC_GALGAS_root.cpp b/goil/build/libpm/galgas2/AC_GALGAS_root.cpp index 7aad9d12b..8e6ceaab4 100644 --- a/goil/build/libpm/galgas2/AC_GALGAS_root.cpp +++ b/goil/build/libpm/galgas2/AC_GALGAS_root.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // AC_GALGAS_root : root type for all GALGAS types // @@ -16,71 +16,70 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -#include "C_galgas_io.h" +#include "galgas2/C_galgas_io.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_root::log (const char * inMessage COMMA_LOCATION_ARGS) const { - String s = "LOGGING " ; - s.appendString (inMessage) ; - s.appendCString (": ") ; + C_String s ; + s << "LOGGING " << inMessage << ": " ; description (s, 0) ; - s.appendCString ("\n") ; + s << "\n" ; ggs_printMessage (s COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string AC_GALGAS_root::getter_description (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { - String s ; + C_String s ; description (s, 0) ; result = GALGAS_string (s) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * AC_GALGAS_root::dynamicTypeDescriptor (void) const { return staticTypeDescriptor () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_type AC_GALGAS_root::getter_staticType (UNUSED_LOCATION_ARGS) const { return GALGAS_type (staticTypeDescriptor ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_type AC_GALGAS_root::getter_dynamicType (UNUSED_LOCATION_ARGS) const { return GALGAS_type (dynamicTypeDescriptor ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_object AC_GALGAS_root::getter_object (LOCATION_ARGS) const { return GALGAS_object (clonedObject () COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void AC_GALGAS_root::checkIsValid (LOCATION_ARGS) const { - macroAssertThere (isValid (), "Object not valid", 0, 0) ; + MF_AssertThere (isValid (), "Object not valid", 0, 0) ; } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void AC_GALGAS_root::printNonNullClassInstanceProperties (const char * /* inPropertyName */) const { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/AC_GALGAS_root.h b/goil/build/libpm/galgas2/AC_GALGAS_root.h index 64178f7e4..4bf5c60a1 100644 --- a/goil/build/libpm/galgas2/AC_GALGAS_root.h +++ b/goil/build/libpm/galgas2/AC_GALGAS_root.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // AC_GALGAS_root : root type for all GALGAS types (on debug mode only) // @@ -16,25 +16,25 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "M_SourceLocation.h" +#include "utilities/M_SourceLocation.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_object ; class GALGAS_type ; class GALGAS_string ; -class String ; +class C_String ; class C_galgas_type_descriptor ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // SOURCE FILE -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define SOURCE_FILE(file,line) file, line @@ -44,9 +44,9 @@ class C_galgas_type_descriptor ; #define COMMA_SOURCE_FILE(file,line) #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // VIRTUAL_IN_DEBUG -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define VIRTUAL_IN_DEBUG virtual @@ -54,9 +54,9 @@ class C_galgas_type_descriptor ; #define VIRTUAL_IN_DEBUG #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // AC_GALGAS_root -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class AC_GALGAS_root { //--- Default constructor @@ -77,7 +77,7 @@ class AC_GALGAS_root { //--- Log instruction public: VIRTUAL_IN_DEBUG void log (const char * inMessage COMMA_LOCATION_ARGS) const ; - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const = 0 ; //--- Readers implemented in this class @@ -97,4 +97,4 @@ class AC_GALGAS_root { #endif } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/AC_GALGAS_sortedlist.cpp b/goil/build/libpm/galgas2/AC_GALGAS_sortedlist.cpp index cc18f00a2..833731579 100644 --- a/goil/build/libpm/galgas2/AC_GALGAS_sortedlist.cpp +++ b/goil/build/libpm/galgas2/AC_GALGAS_sortedlist.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // AC_GALGAS_sortedlist // @@ -16,20 +16,20 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "AC_GALGAS_sortedlist.h" -#include "capSortedListElement.h" -#include "cSortedListElement.h" +#include "galgas2/AC_GALGAS_sortedlist.h" +#include "galgas2/capSortedListElement.h" +#include "galgas2/cSortedListElement.h" #include "all-predefined-types.h" -#include "MF_MemoryControl.h" -#include "Compiler.h" +#include "utilities/MF_MemoryControl.h" +#include "galgas2/C_Compiler.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // c S t r i n g s e t N o d e // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cSortedListNode { public: cSortedListNode * mInfPtr ; @@ -49,7 +49,7 @@ class cSortedListNode { private: cSortedListNode & operator = (const cSortedListNode &) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cSortedListNode::cSortedListNode (const capSortedListElement & inAttributes) : mInfPtr (nullptr), @@ -60,7 +60,7 @@ mPreviousPtr (nullptr), mProperties (inAttributes) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cSortedListNode::cSortedListNode (cSortedListNode * inNode) : mInfPtr (nullptr), @@ -80,7 +80,7 @@ mProperties () { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void disposeNodes (cSortedListNode * inNode) { if (nullptr != inNode) { @@ -90,19 +90,19 @@ static void disposeNodes (cSortedListNode * inNode) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark cSharedSortedListRoot #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // cSharedSortedListRoot // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class cSharedSortedListRoot : public SharedObject { +class cSharedSortedListRoot : public C_SharedObject { //--------------------------------- Private data members private: cSortedListNode * mRoot ; // For AVL tree private: cSortedListNode * mFirst ; @@ -123,7 +123,7 @@ class cSharedSortedListRoot : public SharedObject { protected: inline uint32_t count (void) const { return mCount ; } //--------------------------------- Implementation of reader 'description' - protected: virtual void description (String & ioString, + protected: virtual void description (C_String & ioString, const int32_t inIndentation) const ; //--- Enumeration handling @@ -145,20 +145,20 @@ class cSharedSortedListRoot : public SharedObject { //--------------------------------- Method Implementation protected: void smallestObjectAttributeList (capSortedListElement & outAttributes, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; protected: void greatestObjectAttributeList (capSortedListElement & outAttributes, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Modifier Implementation protected: void removeSmallestObject (capSortedListElement & outAttributes, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; protected: void removeGreatestObject (capSortedListElement & outAttributes, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Copy from a other list @@ -168,29 +168,29 @@ class cSharedSortedListRoot : public SharedObject { friend class AC_GALGAS_sortedlist ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cSharedSortedListRoot::cSharedSortedListRoot (LOCATION_ARGS) : -SharedObject (THERE), +C_SharedObject (THERE), mRoot (nullptr), mFirst (nullptr), mLast (nullptr), mCount (0) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cSharedSortedListRoot::~ cSharedSortedListRoot (void) { disposeNodes (mRoot) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Checking sorted lists #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS static void populateCheckArray (const cSortedListNode * inNode, @@ -206,7 +206,7 @@ cSharedSortedListRoot::~ cSharedSortedListRoot (void) { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS static void checkSortedList (const cSortedListNode * inRoot, @@ -218,36 +218,36 @@ cSharedSortedListRoot::~ cSharedSortedListRoot (void) { macroMyNewPODArray (array, const cSortedListNode *, inCount) ; uint32_t idx = 0 ; populateCheckArray (inRoot, idx, array) ; - macroAssertThere (idx == inCount, "a: idx (%lld) != inCount (%lld)", idx, inCount) ; + MF_AssertThere (idx == inCount, "a: idx (%lld) != inCount (%lld)", idx, inCount) ; const cSortedListNode * p = inFirst ; idx = 0 ; while (p != nullptr) { - macroAssertThere (p == array [idx], "b: p (%p) != array [idx] (%p)", (int64_t) p, (int64_t) array [idx]) ; + MF_AssertThere (p == array [idx], "b: p (%p) != array [idx] (%p)", (int64_t) p, (int64_t) array [idx]) ; idx ++ ; p = p->mNextPtr ; } - macroAssertThere (idx == inCount, "c: idx (%lld) != inCount (%lld)", idx, inCount) ; + MF_AssertThere (idx == inCount, "c: idx (%lld) != inCount (%lld)", idx, inCount) ; p = inLast ; idx = inCount ; while (p != nullptr) { idx -- ; - macroAssertThere (p == array [idx], "d: p (%p) != array [idx] (%p)", (int64_t) p, (int64_t) array [idx]) ; + MF_AssertThere (p == array [idx], "d: p (%p) != array [idx] (%p)", (int64_t) p, (int64_t) array [idx]) ; p = p->mPreviousPtr ; } - macroAssertThere (idx == 0, "idx (%lld) != 0", idx, 0) ; + MF_AssertThere (idx == 0, "idx (%lld) != 0", idx, 0) ; macroMyDeletePODArray (array) ; } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Insulate #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_sortedlist::insulate (LOCATION_ARGS) { if ((mSharedRoot != nullptr) && !mSharedRoot->isUniquelyReferenced ()) { @@ -259,7 +259,7 @@ void AC_GALGAS_sortedlist::insulate (LOCATION_ARGS) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void buildDirectLinksOnCopy (cSortedListNode * inNode, cSortedListNode * & ioFirst) { @@ -271,7 +271,7 @@ static void buildDirectLinksOnCopy (cSortedListNode * inNode, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void buildReverseLinksOnCopy (cSortedListNode * inNode, cSortedListNode * & ioLast) { @@ -283,20 +283,20 @@ static void buildReverseLinksOnCopy (cSortedListNode * inNode, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedSortedListRoot::copyFrom (const cSharedSortedListRoot * inList) { if ((inList != nullptr) && (inList->mRoot != nullptr)) { #ifndef DO_NOT_GENERATE_CHECKINGS checkSortedList (inList->mRoot, inList->mCount, inList->mFirst, inList->mLast COMMA_HERE) ; #endif - macroAssert (mCount == 0, "mCount (%lld) != 0", mCount, 0) ; + MF_Assert (mCount == 0, "mCount (%lld) != 0", mCount, 0) ; macroValidSharedObject (inList, cSharedSortedListRoot) ; mCount = inList->mCount ; macroMyNew (mRoot, cSortedListNode (inList->mRoot)) ; - macroAssert (mFirst == nullptr, "mFirst (%p) != nullptr", (int64_t) mFirst, 0) ; + MF_Assert (mFirst == nullptr, "mFirst (%p) != nullptr", (int64_t) mFirst, 0) ; buildDirectLinksOnCopy (mRoot, mFirst) ; - macroAssert (mLast == nullptr, "mLast (%p) != nullptr", (int64_t) mLast, 0) ; + MF_Assert (mLast == nullptr, "mLast (%p) != nullptr", (int64_t) mLast, 0) ; buildReverseLinksOnCopy (mRoot, mLast) ; } #ifndef DO_NOT_GENERATE_CHECKINGS @@ -304,13 +304,13 @@ void cSharedSortedListRoot::copyFrom (const cSharedSortedListRoot * inList) { #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Comparison #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cSharedSortedListRoot::objectCompare (const cSharedSortedListRoot * inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -333,7 +333,7 @@ typeComparisonResult cSharedSortedListRoot::objectCompare (const cSharedSortedLi return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult AC_GALGAS_sortedlist::objectCompare (const AC_GALGAS_sortedlist & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -343,13 +343,13 @@ typeComparisonResult AC_GALGAS_sortedlist::objectCompare (const AC_GALGAS_sorted return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Insertion Implementation #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void rotateLeft (cSortedListNode * & ioRootPtr) { cSortedListNode * b = ioRootPtr->mSupPtr ; @@ -390,7 +390,7 @@ static void rotateRight (cSortedListNode * & ioRootPtr) { ioRootPtr = b ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedSortedListRoot::addEntry (cSortedListNode * & ioRootPtr, cSortedListNode * inBeforeNode, @@ -454,7 +454,7 @@ void cSharedSortedListRoot::addEntry (cSortedListNode * & ioRootPtr, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedSortedListRoot::appendObject (capSortedListElement & inAttributes) { if (inAttributes.isValid ()) { @@ -466,7 +466,7 @@ void cSharedSortedListRoot::appendObject (capSortedListElement & inAttributes) { #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_sortedlist::appendObject (capSortedListElement & inAttributes) { if (isValid ()) { @@ -477,13 +477,13 @@ void AC_GALGAS_sortedlist::appendObject (capSortedListElement & inAttributes) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Insertion Implementation #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedSortedListRoot::appendSortedList (const cSharedSortedListRoot * inList) { macroValidPointer (inList) ; @@ -498,7 +498,7 @@ void cSharedSortedListRoot::appendSortedList (const cSharedSortedListRoot * inLi #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_sortedlist::appendSortedList (const AC_GALGAS_sortedlist & inList) { if ((nullptr != mSharedRoot) && (nullptr != inList.mSharedRoot)) { @@ -508,13 +508,13 @@ void AC_GALGAS_sortedlist::appendSortedList (const AC_GALGAS_sortedlist & inList } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Remove Smallest #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void supBranchDecreased (cSortedListNode * & ioRoot, bool & ioBranchHasBeenRemoved) { @@ -543,7 +543,7 @@ static void supBranchDecreased (cSortedListNode * & ioRoot, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void infBranchDecreased (cSortedListNode * & ioRoot, bool & ioBranchHasBeenRemoved) { @@ -572,7 +572,7 @@ static void infBranchDecreased (cSortedListNode * & ioRoot, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void internalRemoveLowestElement (cSortedListNode * & ioRoot, bool & ioBranchHasBeenRemoved) { @@ -590,10 +590,10 @@ static void internalRemoveLowestElement (cSortedListNode * & ioRoot, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedSortedListRoot::removeSmallestObject (capSortedListElement & outAttributes, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { #ifndef DO_NOT_GENERATE_CHECKINGS checkSortedList (mRoot, mCount, mFirst, mLast COMMA_HERE) ; @@ -621,23 +621,23 @@ void cSharedSortedListRoot::removeSmallestObject (capSortedListElement & outAttr #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_sortedlist::removeSmallestObject (capSortedListElement & outAttributes, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { if (nullptr != mSharedRoot) { mSharedRoot->removeSmallestObject (outAttributes, inCompiler COMMA_HERE) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Remove Greatest #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void internalRemoveGreatestElement (cSortedListNode * & ioRoot, bool & ioBranchHasBeenRemoved) { @@ -655,10 +655,10 @@ static void internalRemoveGreatestElement (cSortedListNode * & ioRoot, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedSortedListRoot::removeGreatestObject (capSortedListElement & outAttributes, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { #ifndef DO_NOT_GENERATE_CHECKINGS checkSortedList (mRoot, mCount, mFirst, mLast COMMA_HERE) ; @@ -686,29 +686,29 @@ void cSharedSortedListRoot::removeGreatestObject (capSortedListElement & outAttr #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_sortedlist::removeGreatestObject (capSortedListElement & outAttributes, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { if (nullptr != mSharedRoot) { mSharedRoot->removeGreatestObject (outAttributes, inCompiler COMMA_HERE) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark AC_GALGAS_sortedlist #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_sortedlist::AC_GALGAS_sortedlist (void) : mSharedRoot (nullptr) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_sortedlist::AC_GALGAS_sortedlist (const AC_GALGAS_sortedlist & inSource) : AC_GALGAS_root (), @@ -716,81 +716,78 @@ mSharedRoot (nullptr) { macroAssignSharedObject (mSharedRoot, inSource.mSharedRoot) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_sortedlist & AC_GALGAS_sortedlist::operator = (const AC_GALGAS_sortedlist & inSource) { macroAssignSharedObject (mSharedRoot, inSource.mSharedRoot) ; return *this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_sortedlist::~ AC_GALGAS_sortedlist (void) { macroDetachSharedObject (mSharedRoot) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_sortedlist::drop (void) { macroDetachSharedObject (mSharedRoot) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_sortedlist::createNewEmptySortedList (LOCATION_ARGS) { macroMyNew (mSharedRoot, cSharedSortedListRoot (THERE)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark description #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cSharedSortedListRoot::description (String & ioString, +void cSharedSortedListRoot::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString (" (") ; - ioString.appendUnsigned (mCount) ; - ioString.appendCString (" object") ; - ioString.appendString ((mCount > 1) ? "s" : "") ; - ioString.appendCString ("): ") ; + ioString << " (" + << cStringWithUnsigned (mCount) + << " object" << ((mCount > 1) ? "s" : "") + << "): " ; const cSortedListNode * p = mFirst ; uint32_t idx = 0 ; while (p != nullptr) { - ioString.appendCString ("\n") ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("|-at ") ; - ioString.appendUnsigned (idx) ; + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "|-at " << cStringWithUnsigned (idx) ; p->mProperties.description (ioString, inIndentation + 1) ; p = p->mNextPtr ; idx ++ ; } - ioString.appendCString (">") ; + ioString << ">" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void AC_GALGAS_sortedlist::description (String & ioString, +void AC_GALGAS_sortedlist::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("<@") ; - ioString.appendString (staticTypeDescriptor ()->mGalgasTypeName) ; + ioString << "<@"<< staticTypeDescriptor ()->mGalgasTypeName ; if (nullptr == mSharedRoot) { - ioString.appendCString (" not built") ; + ioString << " not built" ; }else{ mSharedRoot->description (ioString, inIndentation) ; } - ioString.appendCString (">") ; + ioString << ">" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Readers #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint AC_GALGAS_sortedlist::getter_count (UNUSED_LOCATION_ARGS) const { GALGAS_uint result ; @@ -800,7 +797,7 @@ GALGAS_uint AC_GALGAS_sortedlist::getter_count (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t AC_GALGAS_sortedlist::count () const { uint32_t result = 0 ; @@ -810,16 +807,16 @@ uint32_t AC_GALGAS_sortedlist::count () const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Methods #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedSortedListRoot::smallestObjectAttributeList (capSortedListElement & outAttributes, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (mFirst == nullptr) { inCompiler->onTheFlyRunTimeError ("'smallest' method invoked on an empty list" COMMA_THERE) ; @@ -828,20 +825,20 @@ void cSharedSortedListRoot::smallestObjectAttributeList (capSortedListElement & } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_sortedlist::smallestObjectAttributeList (capSortedListElement & outAttributes, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (mSharedRoot != nullptr) { mSharedRoot->smallestObjectAttributeList (outAttributes, inCompiler COMMA_THERE) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedSortedListRoot::greatestObjectAttributeList (capSortedListElement & outAttributes, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (mLast == nullptr) { inCompiler->onTheFlyRunTimeError ("'greatest' method invoked on an empty list" COMMA_THERE) ; @@ -850,27 +847,27 @@ void cSharedSortedListRoot::greatestObjectAttributeList (capSortedListElement & } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_sortedlist::greatestObjectAttributeList (capSortedListElement & outAttributes, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (mSharedRoot != nullptr) { mSharedRoot->greatestObjectAttributeList (outAttributes, inCompiler COMMA_THERE) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Enumerator #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'AC_GALGAS_sortedlist::cEnumerator' class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedSortedListRoot::populateEnumerationArray (capCollectionElementArray & inEnumerationArray) const { inEnumerationArray.setCapacity (mCount) ; @@ -881,13 +878,13 @@ void cSharedSortedListRoot::populateEnumerationArray (capCollectionElementArray inEnumerationArray.appendObject (object) ; p = p->mNextPtr ; } - macroAssert (mCount == inEnumerationArray.count (), "mCount %lld != inEnumerationArray.count () %lld", mCount, inEnumerationArray.count ()) ; + MF_Assert (mCount == inEnumerationArray.count (), "mCount %lld != inEnumerationArray.count () %lld", mCount, inEnumerationArray.count ()) ; #ifndef DO_NOT_GENERATE_CHECKINGS checkSortedList (mRoot, mCount, mFirst, mLast COMMA_HERE) ; #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_sortedlist::populateEnumerationArray (capCollectionElementArray & inEnumerationArray) const { if (mSharedRoot != nullptr) { @@ -895,5 +892,5 @@ void AC_GALGAS_sortedlist::populateEnumerationArray (capCollectionElementArray & } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/AC_GALGAS_sortedlist.h b/goil/build/libpm/galgas2/AC_GALGAS_sortedlist.h index 61e1e0c01..b8b5e6541 100644 --- a/goil/build/libpm/galgas2/AC_GALGAS_sortedlist.h +++ b/goil/build/libpm/galgas2/AC_GALGAS_sortedlist.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // AC_GALGAS_sortedlist : base class for GALGAS sorted list // @@ -16,27 +16,27 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "AC_GALGAS_root.h" -#include "typeComparisonResult.h" +#include "galgas2/AC_GALGAS_root.h" +#include "galgas2/typeComparisonResult.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_uint ; -class Compiler ; +class C_Compiler ; class cSharedSortedListRoot ; -class String ; +class C_String ; class C_galgas_type_descriptor ; class capSortedListElement ; class cSortedListNode ; class capCollectionElementArray ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class AC_GALGAS_sortedlist : public AC_GALGAS_root { //--------------------------------- Private data member @@ -65,7 +65,7 @@ class AC_GALGAS_sortedlist : public AC_GALGAS_root { public: VIRTUAL_IN_DEBUG void drop (void) override ; //--------------------------------- Implementation of reader 'description' - public: virtual void description (String & ioString, const int32_t inIndentation) const override ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; //--- Enumeration handling protected: void populateEnumerationArray (capCollectionElementArray & inEnumerationArray) const ; @@ -78,11 +78,11 @@ class AC_GALGAS_sortedlist : public AC_GALGAS_root { //--------------------------------- Method Implementation protected: void smallestObjectAttributeList (capSortedListElement & outAttributeArray, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; protected: void greatestObjectAttributeList (capSortedListElement & outAttributeArray, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Insulate @@ -90,11 +90,11 @@ class AC_GALGAS_sortedlist : public AC_GALGAS_root { //--------------------------------- Modifier Implementation protected: void removeSmallestObject (capSortedListElement & outAttributeArray, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; protected: void removeGreatestObject (capSortedListElement & outAttributeArray, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Compare @@ -108,4 +108,4 @@ class AC_GALGAS_sortedlist : public AC_GALGAS_root { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/AC_GALGAS_value_class.cpp b/goil/build/libpm/galgas2/AC_GALGAS_value_class.cpp index 93952c816..9c6f7d4d0 100644 --- a/goil/build/libpm/galgas2/AC_GALGAS_value_class.cpp +++ b/goil/build/libpm/galgas2/AC_GALGAS_value_class.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // AC_GALGAS_value_class : Base class for value class objects // @@ -16,14 +16,14 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "AC_GALGAS_value_class.h" -#include "acPtr_class.h" -#include "C_galgas_type_descriptor.h" -#include "String-class.h" +#include "galgas2/AC_GALGAS_value_class.h" +#include "galgas2/acPtr_class.h" +#include "galgas2/C_galgas_type_descriptor.h" +#include "strings/C_String.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * AC_GALGAS_value_class::dynamicTypeDescriptor (void) const { const C_galgas_type_descriptor * result = nullptr ; @@ -33,14 +33,14 @@ const C_galgas_type_descriptor * AC_GALGAS_value_class::dynamicTypeDescriptor (v return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_value_class::AC_GALGAS_value_class (void) : AC_GALGAS_root (), mObjectPtr (nullptr) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_value_class::AC_GALGAS_value_class (const acPtr_class * inPointer) : AC_GALGAS_root (), @@ -48,19 +48,19 @@ mObjectPtr (nullptr) { macroAssignSharedObject (mObjectPtr, (acPtr_class *) inPointer) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_value_class::~AC_GALGAS_value_class (void) { macroDetachSharedObject (mObjectPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_value_class::drop (void) { macroDetachSharedObject (mObjectPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_value_class::AC_GALGAS_value_class (const AC_GALGAS_value_class & inSource) : AC_GALGAS_root (), @@ -68,29 +68,29 @@ mObjectPtr (nullptr) { macroAssignSharedObject (mObjectPtr, inSource.mObjectPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_value_class & AC_GALGAS_value_class::operator = (const AC_GALGAS_value_class & inSource) { macroAssignSharedObject (mObjectPtr, inSource.mObjectPtr) ; return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void AC_GALGAS_value_class::description (String & ioString, +void AC_GALGAS_value_class::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("<@") ; - ioString.appendString (staticTypeDescriptor ()->mGalgasTypeName) ; - ioString.appendCString (":") ; + ioString << "<@" + << staticTypeDescriptor ()->mGalgasTypeName + << ":" ; if (isValid ()) { mObjectPtr->description (ioString, inIndentation) ; }else{ - ioString.appendCString ("not built") ; + ioString << "not built" ; } - ioString.appendCString (">") ; + ioString << ">" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_value_class::insulate (LOCATION_ARGS) { if (isValid () && !mObjectPtr->isUniquelyReferenced ()) { @@ -100,4 +100,4 @@ void AC_GALGAS_value_class::insulate (LOCATION_ARGS) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/AC_GALGAS_value_class.h b/goil/build/libpm/galgas2/AC_GALGAS_value_class.h index 32442ecf3..fb4bbbb09 100644 --- a/goil/build/libpm/galgas2/AC_GALGAS_value_class.h +++ b/goil/build/libpm/galgas2/AC_GALGAS_value_class.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // AC_GALGAS_value_class : Base class for value class objects // @@ -16,21 +16,21 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "AC_GALGAS_root.h" +#include "galgas2/AC_GALGAS_root.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class String ; +class C_String ; class C_galgas_type_descriptor ; class acPtr_class ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class AC_GALGAS_value_class : public AC_GALGAS_root { // AC_GALGAS_value_class est une classe abstraite //--- Properties @@ -59,11 +59,11 @@ class AC_GALGAS_value_class : public AC_GALGAS_root { // AC_GALGAS_value_class e //--- Dynamic Type Descriptor public: virtual const C_galgas_type_descriptor * dynamicTypeDescriptor (void) const ; - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; //--- Insulate public: VIRTUAL_IN_DEBUG void insulate (LOCATION_ARGS) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/AC_GALGAS_weak_reference.cpp b/goil/build/libpm/galgas2/AC_GALGAS_weak_reference.cpp index 19acc542b..7753bdc24 100644 --- a/goil/build/libpm/galgas2/AC_GALGAS_weak_reference.cpp +++ b/goil/build/libpm/galgas2/AC_GALGAS_weak_reference.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // AC_GALGAS_weak_reference : base class for reference class objects // @@ -16,16 +16,16 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "AC_GALGAS_weak_reference.h" -#include "cPtr_weakReference_proxy.h" -#include "AC_GALGAS_reference_class.h" -#include "acStrongPtr_class.h" -#include "C_galgas_type_descriptor.h" -#include "String-class.h" +#include "galgas2/AC_GALGAS_weak_reference.h" +#include "galgas2/cPtr_weakReference_proxy.h" +#include "galgas2/AC_GALGAS_reference_class.h" +#include "galgas2/acStrongPtr_class.h" +#include "galgas2/C_galgas_type_descriptor.h" +#include "strings/C_String.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * AC_GALGAS_weak_reference::dynamicTypeDescriptor (void) const { const C_galgas_type_descriptor * result = nullptr ; @@ -35,26 +35,26 @@ const C_galgas_type_descriptor * AC_GALGAS_weak_reference::dynamicTypeDescriptor return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Default constructor -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_weak_reference::AC_GALGAS_weak_reference (void) : AC_GALGAS_root (), mProxyPtr (nullptr) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Destructor -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_weak_reference::~AC_GALGAS_weak_reference (void) { macroDetachSharedObject (mProxyPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Constructor, copy from strong reference -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_weak_reference::AC_GALGAS_weak_reference (const AC_GALGAS_reference_class & inSource) : AC_GALGAS_root (), @@ -66,9 +66,9 @@ mProxyPtr (nullptr) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Constructor, copy from weak reference -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_weak_reference::AC_GALGAS_weak_reference (const AC_GALGAS_weak_reference & inSource) : AC_GALGAS_root (), @@ -76,20 +76,20 @@ mProxyPtr (nullptr) { macroAssignSharedObject (mProxyPtr, inSource.mProxyPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_weak_reference & AC_GALGAS_weak_reference::operator = (const AC_GALGAS_weak_reference & inSource) { macroAssignSharedObject (mProxyPtr, inSource.mProxyPtr) ; return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void AC_GALGAS_weak_reference::drop (void) { macroDetachSharedObject (mProxyPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acStrongPtr_class * AC_GALGAS_weak_reference::ptr (void) const { acStrongPtr_class * result = nullptr ; @@ -99,27 +99,26 @@ acStrongPtr_class * AC_GALGAS_weak_reference::ptr (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void AC_GALGAS_weak_reference::description (String & ioString, +void AC_GALGAS_weak_reference::description (C_String & ioString, const int32_t /* inIndentation */) const { - ioString.appendCString ("<@") ; - ioString.appendString (staticTypeDescriptor ()->mGalgasTypeName) ; - ioString.appendCString (":") ; + ioString << "<@" + << staticTypeDescriptor ()->mGalgasTypeName + << ":" ; acStrongPtr_class * ptr = (acStrongPtr_class *) mProxyPtr ; if (ptr == nullptr) { - ioString.appendCString ("not built") ; + ioString << "not built" ; }else{ cPtr_weakReference_proxy * proxy = ptr->getProxy () ; if (proxy == nullptr) { - ioString.appendCString ("nil") ; + ioString << "nil" ; }else{ const C_galgas_type_descriptor * descriptor = proxy->classDescriptor () ; - ioString.appendCString ("instance of @") ; - ioString.appendString (descriptor->mGalgasTypeName) ; + ioString << "instance of @" << descriptor->mGalgasTypeName ; } } - ioString.appendCString (">") ; + ioString << ">" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/AC_GALGAS_weak_reference.h b/goil/build/libpm/galgas2/AC_GALGAS_weak_reference.h index baa46f790..1023e6b23 100644 --- a/goil/build/libpm/galgas2/AC_GALGAS_weak_reference.h +++ b/goil/build/libpm/galgas2/AC_GALGAS_weak_reference.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // AC_GALGAS_weak_reference : base class for reference class objects // @@ -16,23 +16,23 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "AC_GALGAS_root.h" +#include "galgas2/AC_GALGAS_root.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class String ; +class C_String ; class C_galgas_type_descriptor ; class AC_GALGAS_reference_class ; class cPtr_weakReference_proxy ; class acStrongPtr_class ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class AC_GALGAS_weak_reference : public AC_GALGAS_root { // AC_GALGAS_weak_reference est une classe abstraite //--- Properties @@ -62,8 +62,8 @@ class AC_GALGAS_weak_reference : public AC_GALGAS_root { // AC_GALGAS_weak_refer //--- Dynamic Type Descriptor public: virtual const C_galgas_type_descriptor * dynamicTypeDescriptor (void) const ; - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/Compiler.cpp b/goil/build/libpm/galgas2/C_Compiler.cpp similarity index 58% rename from goil/build/libpm/galgas2/Compiler.cpp rename to goil/build/libpm/galgas2/C_Compiler.cpp index b3b7ec31a..f360ed8e7 100644 --- a/goil/build/libpm/galgas2/Compiler.cpp +++ b/goil/build/libpm/galgas2/C_Compiler.cpp @@ -1,6 +1,6 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// 'Compiler' : the compiler base class ; +// 'C_Compiler' : the compiler base class ; // // This file is part of libpm library // @@ -16,54 +16,54 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- - -#include "F_Analyze_CLI_Options.h" -#include "TextFileWrite.h" -#include "FileManager.h" -#include "Compiler.h" -#include "C_galgas_io.h" -#include "C_galgas_CLI_Options.h" +//---------------------------------------------------------------------------------------------------------------------- + +#include "command_line_interface/F_Analyze_CLI_Options.h" +#include "files/C_TextFileWrite.h" +#include "files/C_FileManager.h" +#include "galgas2/C_Compiler.h" +#include "galgas2/C_galgas_io.h" +#include "galgas2/C_galgas_CLI_Options.h" #include "all-predefined-types.h" -#include "MF_MemoryControl.h" -#include "F_verbose_output.h" +#include "utilities/MF_MemoryControl.h" +#include "galgas2/F_verbose_output.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Syntax error message for 'end of source': // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const char * Compiler::kEndOfSourceLexicalErrorMessage = "end of source" ; +const char * C_Compiler::kEndOfSourceLexicalErrorMessage = "end of source" ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool Compiler::performGeneration (void) { +bool C_Compiler::performGeneration (void) { return (! gOption_galgas_5F_builtin_5F_options_do_5F_not_5F_generate_5F_any_5F_file.mValue) && (executionMode () == kExecutionModeNormal) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool Compiler::performLogFileRead (void) { +bool C_Compiler::performLogFileRead (void) { return gOption_galgas_5F_builtin_5F_options_log_5F_file_5F_read.mValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Constructor and destructor #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Constructor and destructor // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -Compiler::Compiler (Compiler * inCallerCompiler +C_Compiler::C_Compiler (C_Compiler * inCallerCompiler COMMA_LOCATION_ARGS) : -SharedObject (THERE), +C_SharedObject (THERE), mCallerCompiler (nullptr), mIssueArray (), mSentString (), @@ -79,27 +79,27 @@ mEndLocationForNext () { macroAssignSharedObject (mCallerCompiler, inCallerCompiler) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -Compiler::~Compiler (void) { +C_Compiler::~C_Compiler (void) { macroDetachSharedObject (mCallerCompiler) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String Compiler::sourceFilePath (void) const { +C_String C_Compiler::sourceFilePath (void) const { return mSourceText.sourceFilePath () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Issue #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void Compiler::appendIssue (const cIssueDescriptor & inIssue) { +void C_Compiler::appendIssue (const cIssueDescriptor & inIssue) { if (nullptr == mCallerCompiler) { mIssueArray.appendObject (inIssue) ; }else{ @@ -107,36 +107,36 @@ void Compiler::appendIssue (const cIssueDescriptor & inIssue) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void Compiler::writeIssueJSONFile (const String & inFile) { +void C_Compiler::writeIssueJSONFile (const C_String & inFile) { if (performGeneration ()) { - String s ("[\n") ; + C_String s ("[\n") ; bool isFirst = true ; for (int32_t i=0 ; imGalgasTypeName) ; - m.appendCString (" to an @") ; - m.appendString (inTargetTypeName) ; + C_String m ; + m << "cannot cast an @" << inObjectDynamicTypeDescriptor->mGalgasTypeName << " to an @" << inTargetTypeName ; onTheFlyRunTimeError (m COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark GALGAS Error #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void Compiler::semanticErrorAtLocation (const GALGAS_location & inErrorLocation, - const String & inErrorMessage, +void C_Compiler::semanticErrorAtLocation (const GALGAS_location & inErrorLocation, + const C_String & inErrorMessage, const TC_Array & inFixItArray COMMA_LOCATION_ARGS) { if (inErrorLocation.isValid ()) { // No error raised if not built @@ -302,14 +302,14 @@ void Compiler::semanticErrorAtLocation (const GALGAS_location & inErrorLocation, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void Compiler::emitSemanticError (const GALGAS_location & inErrorLocation, +void C_Compiler::emitSemanticError (const GALGAS_location & inErrorLocation, const GALGAS_string & inErrorMessage, const TC_Array & inFixItArray COMMA_LOCATION_ARGS) { if (inErrorLocation.isValid () && inErrorMessage.isValid ()) { - const String errorMessage = inErrorMessage.stringValue () ; + const C_String errorMessage = inErrorMessage.stringValue () ; if (!inErrorLocation.sourceText ().isValid ()) { onTheFlyRunTimeError (errorMessage COMMA_THERE) ; }else{ @@ -322,29 +322,29 @@ void Compiler::emitSemanticError (const GALGAS_location & inErrorLocation, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void Compiler::semanticErrorWith_K_message (const GALGAS_lstring & inKey, - TC_UniqueArray & ioNearestKeyArray, +void C_Compiler::semanticErrorWith_K_message (const GALGAS_lstring & inKey, + TC_UniqueArray & ioNearestKeyArray, const char * in_K_ErrorMessage COMMA_LOCATION_ARGS) { - const String key = inKey.mProperty_string.stringValue () ; + const C_String key = inKey.mProperty_string.stringValue () ; //--- Build error message - String message ; + C_String message ; bool perCentFound = false ; - const String searchErrorMessage (in_K_ErrorMessage) ; + const C_String searchErrorMessage (in_K_ErrorMessage) ; const int32_t errorMessageLength = searchErrorMessage.length () ; for (int32_t i=0 ; i>") ; + message << "<>" ; }else if (inExistingKeyLocation.getter_isNowhere (HERE).boolEnum () == kBoolTrue) { - message.appendCString ("<>") ; + message << "<>" ; }else{ - message.appendString (inExistingKeyLocation.getter_startLocationString (this COMMA_THERE).stringValue ()) ; + message << inExistingKeyLocation.getter_startLocationString (this COMMA_THERE) ; } } perCentFound = false ; }else if (UNICODE_VALUE (c) == '%') { perCentFound = true ; }else{ - message.appendChar (c) ; + message.appendUnicodeCharacter (c COMMA_HERE) ; } } //--- Emit error message @@ -395,31 +395,31 @@ void Compiler::semanticErrorWith_K_L_message (const GALGAS_lstring & inKey, semanticErrorAtLocation (key_location, message, TC_Array () COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void Compiler::semanticWarningWith_K_L_message (const GALGAS_lstring & inKey, +void C_Compiler::semanticWarningWith_K_L_message (const GALGAS_lstring & inKey, const char * in_K_L_ErrorMessage, const GALGAS_location & inExistingKeyLocation COMMA_LOCATION_ARGS) { - const String key = inKey.mProperty_string.stringValue () ; + const C_String key = inKey.mProperty_string.stringValue () ; //--- Build error message - String message ; + C_String message ; bool perCentFound = false ; - const String searchErrorMessage (in_K_L_ErrorMessage) ; + const C_String searchErrorMessage (in_K_L_ErrorMessage) ; const int32_t errorMessageLength = searchErrorMessage.length () ; for (int32_t i=0 ; i & inFixItArray COMMA_LOCATION_ARGS) { if (inWarningLocation.isValid () && inWarningMessage.isValid ()) { - const String warningMessage = inWarningMessage.stringValue () ; + const C_String warningMessage = inWarningMessage.stringValue () ; if (!inWarningLocation.sourceText ().isValid ()) { signalRunTimeWarning (this, warningMessage COMMA_THERE) ; }else{ @@ -471,70 +471,70 @@ void Compiler::emitSemanticWarning (const GALGAS_location & inWarningLocation, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Run Time Error #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void Compiler::onTheFlyRunTimeError (const String & inRunTimeErrorMessage +void C_Compiler::onTheFlyRunTimeError (const C_String & inRunTimeErrorMessage COMMA_LOCATION_ARGS) { signalRunTimeError (this, inRunTimeErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark here, next #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_location Compiler::here (void) const { +GALGAS_location C_Compiler::here (void) const { return GALGAS_location (mStartLocationForHere, mEndLocationForHere, mSourceText) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_location Compiler::separator (void) const { +GALGAS_location C_Compiler::separator (void) const { return GALGAS_location (mEndLocationForHere, mStartLocationForNext, mSourceText) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_location Compiler::next (void) const { +GALGAS_location C_Compiler::next (void) const { return GALGAS_location (mStartLocationForNext, mEndLocationForNext, mSourceText) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Check And Generate File #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // C H E C K A N D G E N E R A T E F I L E // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static const char START_OF_USER_ZONE_1 [] = "--- START OF USER ZONE 1\n" ; static const char END_OF_USER_ZONE_1 [] = "--- END OF USER ZONE 1\n" ; static const char START_OF_USER_ZONE_2 [] = "--- START OF USER ZONE 2\n" ; static const char END_OF_USER_ZONE_2 [] = "--- END OF USER ZONE 2\n" ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void Compiler::generateFile (const String & inLineCommentPrefix, - const TC_UniqueArray & inDirectoriesToExclude, - const String & inFileName, - const String & inHeader, - const String & inDefaultUserZone1, - const String & inGeneratedZone2, - const String & inDefaultUserZone2, - const String & inGeneratedZone3, +void C_Compiler::generateFile (const C_String & inLineCommentPrefix, + const TC_UniqueArray & inDirectoriesToExclude, + const C_String & inFileName, + const C_String & inHeader, + const C_String & inDefaultUserZone1, + const C_String & inGeneratedZone2, + const C_String & inDefaultUserZone2, + const C_String & inGeneratedZone3, const bool inMakeExecutable) { generateFileWithPatternFromPathes (sourceFilePath ().stringByDeletingLastPathComponent (), inDirectoriesToExclude, @@ -548,145 +548,136 @@ void Compiler::generateFile (const String & inLineCommentPrefix, inMakeExecutable) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void Compiler::generateFileFromPathes (const String & inStartPath, - const TC_UniqueArray & inDirectoriesToExclude, - const String & inFileName, - const String & inContents) { +void C_Compiler::generateFileFromPathes (const C_String & inStartPath, + const TC_UniqueArray & inDirectoriesToExclude, + const C_String & inFileName, + const C_String & inContents) { //--- Verbose option ? const bool verboseOptionOn = verboseOutput () ; //--- Start path : by default, use source file directory - const String startPath = (inStartPath.length () == 0) + const C_String startPath = (inStartPath.length () == 0) ? sourceFilePath ().stringByDeletingLastPathComponent () : inStartPath ; //--- Search file in directory - const String fullPathName = FileManager::findFileInDirectory (startPath, inFileName, inDirectoriesToExclude) ; + const C_String fullPathName = C_FileManager::findFileInDirectory (startPath, inFileName, inDirectoriesToExclude) ; if (fullPathName.length () == 0) { //--- File does not exist : create it - String fileName = startPath ; - fileName.appendCString ("/") ; + C_String fileName = startPath ; + fileName.appendString ("/") ; fileName.appendString (inFileName) ; - const String directory = fileName.stringByDeletingLastPathComponent () ; - FileManager::makeDirectoryIfDoesNotExist (directory) ; + const C_String directory = fileName.stringByDeletingLastPathComponent () ; + C_FileManager::makeDirectoryIfDoesNotExist (directory) ; if (performGeneration ()) { - TextFileWrite f (fileName) ; + C_TextFileWrite f (fileName) ; bool ok = f.isOpened () ; if (! ok) { - String message = "Cannot open '" ; - message.appendString (fileName) ; - message.appendCString ("' file in write mode.") ; + C_String message ; + message << "Cannot open '" << fileName << "' file in write mode." ; onTheFlySemanticError (message COMMA_HERE) ; } - f.appendString (inContents) ; + f << inContents ; if (verboseOptionOn) { - ggs_printFileOperationSuccess (String ("Created '") + fileName + "'.\n") ; + ggs_printFileOperationSuccess (C_String ("Created '") + fileName + "'.\n") ; } }else{ - ggs_printWarning (this, SourceTextInString(), C_IssueWithFixIt (), String ("Need to create '") + fileName + "'.\n" COMMA_HERE) ; + ggs_printWarning (this, C_SourceTextInString(), C_IssueWithFixIt (), C_String ("Need to create '") + fileName + "'.\n" COMMA_HERE) ; } }else{ - const String previousContents = FileManager::stringWithContentOfFile (fullPathName) ; + const C_String previousContents = C_FileManager::stringWithContentOfFile (fullPathName) ; const bool same = previousContents == inContents ; if (! same) { if (performGeneration ()) { - TextFileWrite f (fullPathName) ; + C_TextFileWrite f (fullPathName) ; if (! f.isOpened ()) { - String message = "Cannot open '" ; - message.appendString (fullPathName) ; - message.appendCString ("' file in write mode.") ; + C_String message ; + message << "Cannot open '" << fullPathName << "' file in write mode." ; onTheFlySemanticError (message COMMA_HERE) ; }else{ - f.appendString (inContents) ; + f << inContents ; if (verboseOptionOn) { - ggs_printFileOperationSuccess (String ("Replaced '") + fullPathName + "'.\n") ; + ggs_printFileOperationSuccess (C_String ("Replaced '") + fullPathName + "'.\n") ; } } }else{ - ggs_printWarning (this, SourceTextInString (), C_IssueWithFixIt (), String ("Need to replace '") + fullPathName + "'.\n" COMMA_HERE) ; + ggs_printWarning (this, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("Need to replace '") + fullPathName + "'.\n" COMMA_HERE) ; } } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void Compiler::generateFileWithPatternFromPathes ( - const String & inStartPath, - const TC_UniqueArray & inDirectoriesToExclude, - const String & inLineCommentPrefix, - const String & inFileName, - const String & inHeader, - const String & inDefaultUserZone1, - const String & inGeneratedZone2, - const String & inDefaultUserZone2, - const String & inGeneratedZone3, +void C_Compiler::generateFileWithPatternFromPathes ( + const C_String & inStartPath, + const TC_UniqueArray & inDirectoriesToExclude, + const C_String & inLineCommentPrefix, + const C_String & inFileName, + const C_String & inHeader, + const C_String & inDefaultUserZone1, + const C_String & inGeneratedZone2, + const C_String & inDefaultUserZone2, + const C_String & inGeneratedZone3, const bool inMakeExecutable ) { //--- Verbose option ? const bool verboseOptionOn = verboseOutput () ; //--- User zones - const String kSTART_OF_USER_ZONE_1 = String (inLineCommentPrefix) + START_OF_USER_ZONE_1 ; - const String kEND_OF_USER_ZONE_1 = String (inLineCommentPrefix) + END_OF_USER_ZONE_1 ; - const String kSTART_OF_USER_ZONE_2 = String (inLineCommentPrefix) + START_OF_USER_ZONE_2 ; - const String kEND_OF_USER_ZONE_2 = String (inLineCommentPrefix) + END_OF_USER_ZONE_2 ; + const C_String kSTART_OF_USER_ZONE_1 = C_String (inLineCommentPrefix) + START_OF_USER_ZONE_1 ; + const C_String kEND_OF_USER_ZONE_1 = C_String (inLineCommentPrefix) + END_OF_USER_ZONE_1 ; + const C_String kSTART_OF_USER_ZONE_2 = C_String (inLineCommentPrefix) + START_OF_USER_ZONE_2 ; + const C_String kEND_OF_USER_ZONE_2 = C_String (inLineCommentPrefix) + END_OF_USER_ZONE_2 ; //--- Start path : by default, use source file directory - const String startPath = (inStartPath.length () == 0) + const C_String startPath = (inStartPath.length () == 0) ? sourceFilePath ().stringByDeletingLastPathComponent () : inStartPath ; //--- Search file in directory - const String fullPathName = FileManager::findFileInDirectory (startPath, inFileName, inDirectoriesToExclude) ; + const C_String fullPathName = C_FileManager::findFileInDirectory (startPath, inFileName, inDirectoriesToExclude) ; if (fullPathName.length () == 0) { //--- File does not exist : create it - String fileName = startPath ; - fileName.appendCString ("/") ; + C_String fileName = startPath ; + fileName.appendString ("/") ; fileName.appendString (inFileName) ; - const String directory = fileName.stringByDeletingLastPathComponent () ; - FileManager::makeDirectoryIfDoesNotExist (directory) ; + const C_String directory = fileName.stringByDeletingLastPathComponent () ; + C_FileManager::makeDirectoryIfDoesNotExist (directory) ; if (performGeneration ()) { - TextFileWrite f (fileName) ; + C_TextFileWrite f (fileName) ; bool ok = f.isOpened () ; if (! ok) { - String message = "Cannot open '" ; - message.appendString (fileName) ; - message.appendCString ("' file in write mode.") ; + C_String message ; + message << "Cannot open '" << fileName << "' file in write mode." ; onTheFlySemanticError (message COMMA_HERE) ; } - f.appendString (inHeader) ; - f.appendString (kSTART_OF_USER_ZONE_1) ; - f.appendString (inDefaultUserZone1) ; - f.appendString (kEND_OF_USER_ZONE_1) ; - f.appendString (inGeneratedZone2) ; - f.appendString (kSTART_OF_USER_ZONE_2) ; - f.appendString (inDefaultUserZone2) ; - f.appendString (kEND_OF_USER_ZONE_2) ; - f.appendString (inGeneratedZone3) ; + f << inHeader << kSTART_OF_USER_ZONE_1 << inDefaultUserZone1 << kEND_OF_USER_ZONE_1 + << inGeneratedZone2 << kSTART_OF_USER_ZONE_2 << inDefaultUserZone2 << kEND_OF_USER_ZONE_2 + << inGeneratedZone3 ; if (verboseOptionOn) { - ggs_printFileCreationSuccess (String ("Created '") + fileName + "'.\n") ; + ggs_printFileCreationSuccess (C_String ("Created '") + fileName + "'.\n") ; } f.close () ; if (inMakeExecutable) { #if COMPILE_FOR_WINDOWS == 0 struct stat fileStat ; - ::stat (fileName.cString (), & fileStat) ; - ::chmod (fileName.cString (), fileStat.st_mode | S_IXUSR | S_IXGRP | S_IXOTH) ; + ::stat (fileName.cString (HERE), & fileStat) ; + ::chmod (fileName.cString (HERE), fileStat.st_mode | S_IXUSR | S_IXGRP | S_IXOTH) ; #endif } }else{ - ggs_printWarning (this, SourceTextInString (), C_IssueWithFixIt (), String ("Need to create '") + fileName + "'.\n" COMMA_HERE) ; + ggs_printWarning (this, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("Need to create '") + fileName + "'.\n" COMMA_HERE) ; } }else{ - String firstUserPart ; - String secondUserPart ; - String firstGeneratedPart ; - String secondGeneratedPart ; + C_String firstUserPart ; + C_String secondUserPart ; + C_String firstGeneratedPart ; + C_String secondGeneratedPart ; logFileRead (fullPathName) ; - String s = FileManager::stringWithContentOfFile (fullPathName) ; - TC_UniqueArray stringArray ; + C_String s = C_FileManager::stringWithContentOfFile (fullPathName) ; + TC_UniqueArray stringArray ; s.componentsSeparatedByString (kSTART_OF_USER_ZONE_1, stringArray) ; - String header ; + C_String header ; bool ok = stringArray.count () == 2 ; if (ok) { header = stringArray (0 COMMA_HERE) ; @@ -711,41 +702,36 @@ void Compiler::generateFileWithPatternFromPathes ( secondGeneratedPart = stringArray (1 COMMA_HERE) ; } if (! ok) { - ggs_printError (this, SourceTextInString (), C_IssueWithFixIt (), String ("BAD FILE '") + fullPathName + "'.\n" COMMA_HERE) ; + ggs_printError (this, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("BAD FILE '") + fullPathName + "'.\n" COMMA_HERE) ; }else if ((header == inHeader) && (firstGeneratedPart == inGeneratedZone2) && (secondGeneratedPart == inGeneratedZone3)) { }else if (performGeneration ()) { - TextFileWrite f (fullPathName) ; + C_TextFileWrite f (fullPathName) ; ok = f.isOpened () ; if (! ok) { - String message = "Cannot open '" ; - message.appendString (fullPathName) ; - message.appendCString ("' file in write mode.") ; + C_String message ; + message << "Cannot open '" << fullPathName << "' file in write mode." ; onTheFlySemanticError (message COMMA_HERE) ; } - f.appendString (inHeader) ; - f.appendString (kSTART_OF_USER_ZONE_1) ; - f.appendString (firstUserPart) ; - f.appendString (kEND_OF_USER_ZONE_1) ; - f.appendString (inGeneratedZone2) ; - f.appendString (kSTART_OF_USER_ZONE_2) ; - f.appendString (secondUserPart) ; - f.appendString (kEND_OF_USER_ZONE_2) ; - f.appendString (inGeneratedZone3) ; + f << inHeader + << kSTART_OF_USER_ZONE_1 << firstUserPart << kEND_OF_USER_ZONE_1 + << inGeneratedZone2 + << kSTART_OF_USER_ZONE_2 << secondUserPart << kEND_OF_USER_ZONE_2 + << inGeneratedZone3 ; if (verboseOptionOn) { - ggs_printFileOperationSuccess (String ("Replaced '") + fullPathName + "'.\n") ; + ggs_printFileOperationSuccess (C_String ("Replaced '") + fullPathName + "'.\n") ; } f.close () ; if (inMakeExecutable) { #if COMPILE_FOR_WINDOWS == 0 struct stat fileStat ; - ::stat (fullPathName.cString (), & fileStat) ; - ::chmod (fullPathName.cString (), fileStat.st_mode | S_IXUSR | S_IXGRP | S_IXOTH) ; + ::stat (fullPathName.cString (HERE), & fileStat) ; + ::chmod (fullPathName.cString (HERE), fileStat.st_mode | S_IXUSR | S_IXGRP | S_IXOTH) ; #endif } }else{ - ggs_printWarning (this, SourceTextInString (), C_IssueWithFixIt (), String ("Need to replace '") + fullPathName + "'.\n" COMMA_HERE) ; + ggs_printWarning (this, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("Need to replace '") + fullPathName + "'.\n" COMMA_HERE) ; } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/Compiler.h b/goil/build/libpm/galgas2/C_Compiler.h similarity index 58% rename from goil/build/libpm/galgas2/Compiler.h rename to goil/build/libpm/galgas2/C_Compiler.h index d47327f0e..a7226fcd5 100644 --- a/goil/build/libpm/galgas2/Compiler.h +++ b/goil/build/libpm/galgas2/C_Compiler.h @@ -1,6 +1,6 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// 'Compiler' : the compiler base class ; +// 'C_Compiler' : the compiler base class ; // // This file is part of libpm library // @@ -16,71 +16,71 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "TC_UniqueArray.h" -#include "String-class.h" -#include "SharedObject.h" -#include "LocationInSource.h" -#include "SourceTextInString.h" -#include "C_IssueWithFixIt.h" -#include "cIssueDescriptor.h" +#include "generic-arraies/TC_UniqueArray.h" +#include "strings/C_String.h" +#include "utilities/C_SharedObject.h" +#include "galgas2/C_LocationInSource.h" +#include "galgas2/C_SourceTextInString.h" +#include "galgas2/C_IssueWithFixIt.h" +#include "galgas2/cIssueDescriptor.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_location ; class GALGAS_string ; class GALGAS_lstring ; class C_galgas_type_descriptor ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Compiler class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class Compiler : public SharedObject { +class C_Compiler : public C_SharedObject { //--- Constructor and destructor - public: Compiler (Compiler * inCallerCompiler + public: C_Compiler (C_Compiler * inCallerCompiler COMMA_LOCATION_ARGS) ; - public: virtual ~ Compiler (void) ; + public: virtual ~ C_Compiler (void) ; //--- No copy - private: Compiler (const Compiler &) = delete ; - private: Compiler & operator = (const Compiler &) = delete ; + private: C_Compiler (const C_Compiler &) = delete ; + private: C_Compiler & operator = (const C_Compiler &) = delete ; //--- Caller compiler (is nullptr for top compiler) - protected: Compiler * mCallerCompiler ; + protected: C_Compiler * mCallerCompiler ; //--- Issue array private: TC_UniqueArray mIssueArray ; public: void appendIssue (const cIssueDescriptor & inIssue) ; - public: void writeIssueJSONFile (const String & inFile) ; + public: void writeIssueJSONFile (const C_String & inFile) ; //--- Sent string - private: String mSentString ; + private: C_String mSentString ; private: bool mSentStringIsValid ; public: GALGAS_string sentString (void) const ; //--- Template String - protected: String mTemplateString ; - protected: LocationInSource mTemplateStringLocation ; + protected: C_String mTemplateString ; + protected: C_LocationInSource mTemplateStringLocation ; public: GALGAS_string retrieveAndResetTemplateString (void) ; public: void resetTemplateString (void) ; //--- Handling current character and its location - private: SourceTextInString mSourceText ; - protected: LocationInSource mCurrentLocation ; + private: C_SourceTextInString mSourceText ; + protected: C_LocationInSource mCurrentLocation ; - public: inline SourceTextInString sourceText (void) const { + public: inline C_SourceTextInString sourceText (void) const { return mSourceText ; } @@ -88,26 +88,26 @@ class Compiler : public SharedObject { public: void loopRunTimeVariantError (LOCATION_ARGS) ; //--- Handle 'here' in GALGAS - protected: LocationInSource mStartLocationForHere ; // Set by lexique - protected: LocationInSource mEndLocationForHere ; // Set by lexique + protected: C_LocationInSource mStartLocationForHere ; // Set by lexique + protected: C_LocationInSource mEndLocationForHere ; // Set by lexique public: GALGAS_location here (void) const ; //--- Handle 'separator' in GALGAS public: GALGAS_location separator (void) const ; //--- Handle 'next' in GALGAS - protected: LocationInSource mStartLocationForNext ; // Set by lexique - protected: LocationInSource mEndLocationForNext ; // Set by lexique + protected: C_LocationInSource mStartLocationForNext ; // Set by lexique + protected: C_LocationInSource mEndLocationForNext ; // Set by lexique public: GALGAS_location next (void) const ; //--- Source file name - public: String sourceFilePath (void) const ; + public: C_String sourceFilePath (void) const ; //--- Syntax error message for 'end of source': protected: static const char * kEndOfSourceLexicalErrorMessage ; //--- Location in source - public: inline LocationInSource currentLocationInSource (void) const { + public: inline C_LocationInSource currentLocationInSource (void) const { return mCurrentLocation ; } @@ -124,34 +124,34 @@ class Compiler : public SharedObject { } //--- Get separator string - public: virtual String separatorString (void) const { return String () ; } + public: virtual C_String separatorString (void) const { return "" ; } //--- Init scanner from source file (for Cocoa GALGAS) - public: void resetAndLoadSourceFromText (const SourceTextInString & inSourceText) ; + public: void resetAndLoadSourceFromText (const C_SourceTextInString & inSourceText) ; //--- Print a message public: void printMessage (const GALGAS_string & inMessage COMMA_LOCATION_ARGS) ; - public: void printMessage (const String & inMessage COMMA_LOCATION_ARGS) ; + public: void printMessage (const C_String & inMessage COMMA_LOCATION_ARGS) ; //--- Print semantic error public: void semanticErrorAtLocation (const GALGAS_location & inErrorLocation, - const String & inErrorMessage, + const C_String & inErrorMessage, const TC_Array & inFixItArray COMMA_LOCATION_ARGS) ; //--- Print semantic warning public: void semanticWarningAtLocation (const GALGAS_location & inErrorLocation, - const String & inWarningMessage + const C_String & inWarningMessage COMMA_LOCATION_ARGS) ; //--- Signal a run-time error - public: void onTheFlyRunTimeError (const String & inRunTimeErrorMessage COMMA_LOCATION_ARGS) ; + public: void onTheFlyRunTimeError (const C_String & inRunTimeErrorMessage COMMA_LOCATION_ARGS) ; //--- Signal a semantic error - public: void onTheFlySemanticError (const String & inMessage COMMA_LOCATION_ARGS) ; + public: void onTheFlySemanticError (const C_String & inMessage COMMA_LOCATION_ARGS) ; //--- Signal a semantic warning - public: void onTheFlySemanticWarning (const String & inMessage COMMA_LOCATION_ARGS) ; + public: void onTheFlySemanticWarning (const C_String & inMessage COMMA_LOCATION_ARGS) ; //--- Emit a warning public: void emitSemanticWarning (const GALGAS_location & inWarningLocation, @@ -167,7 +167,7 @@ class Compiler : public SharedObject { //--- Emit an error message with an error message that contains %K espace sequence public: void semanticErrorWith_K_message (const GALGAS_lstring & inKey, - TC_UniqueArray & ioNearestKeyArray, + TC_UniqueArray & ioNearestKeyArray, const char * in_K_ErrorMessage COMMA_LOCATION_ARGS) ; @@ -184,44 +184,44 @@ class Compiler : public SharedObject { COMMA_LOCATION_ARGS) ; //--- Cast error - public: void castError (const String & inTargetTypeName, + public: void castError (const C_String & inTargetTypeName, const C_galgas_type_descriptor * inObjectDynamicTypeDescriptor COMMA_LOCATION_ARGS) ; //--- File read logging public: static bool performLogFileRead (void) ; - public: void logFileRead (const String & inFilePath) ; + public: void logFileRead (const C_String & inFilePath) ; //--- File generation public: static bool performGeneration (void) ; //--- Generate file in directory - public: void generateFile (const String & inLineCommentPrefix, - const TC_UniqueArray & inDirectoriesToExclude, - const String & inFileName, - const String & inHeader, - const String & inDefaultUserZone1, - const String & inGeneratedZone2, - const String & inDefaultUserZone2, - const String & inGeneratedZone3, + public: void generateFile (const C_String & inLineCommentPrefix, + const TC_UniqueArray & inDirectoriesToExclude, + const C_String & inFileName, + const C_String & inHeader, + const C_String & inDefaultUserZone1, + const C_String & inGeneratedZone2, + const C_String & inDefaultUserZone2, + const C_String & inGeneratedZone3, const bool inMakeExecutable) ; - public: void generateFileWithPatternFromPathes (const String & inStartPath, - const TC_UniqueArray & inDirectoriesToExclude, - const String & inLineCommentPrefix, - const String & inFileName, - const String & inHeader, - const String & inDefaultUserZone1, - const String & inGeneratedZone2, - const String & inDefaultUserZone2, - const String & inGeneratedZone3, + public: void generateFileWithPatternFromPathes (const C_String & inStartPath, + const TC_UniqueArray & inDirectoriesToExclude, + const C_String & inLineCommentPrefix, + const C_String & inFileName, + const C_String & inHeader, + const C_String & inDefaultUserZone1, + const C_String & inGeneratedZone2, + const C_String & inDefaultUserZone2, + const C_String & inGeneratedZone3, const bool inMakeExecutable) ; - public: void generateFileFromPathes (const String & inStartPath, - const TC_UniqueArray & inDirectoriesToExclude, - const String & inFileName, - const String & inContents) ; + public: void generateFileFromPathes (const C_String & inStartPath, + const TC_UniqueArray & inDirectoriesToExclude, + const C_String & inFileName, + const C_String & inContents) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/C_IssueWithFixIt.cpp b/goil/build/libpm/galgas2/C_IssueWithFixIt.cpp index 4c2a6428d..897c2e3b0 100644 --- a/goil/build/libpm/galgas2/C_IssueWithFixIt.cpp +++ b/goil/build/libpm/galgas2/C_IssueWithFixIt.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // C_IssueWithFixIt // @@ -16,27 +16,27 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "C_IssueWithFixIt.h" +#include "galgas2/C_IssueWithFixIt.h" #include "all-predefined-types.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_FixItDescription::C_FixItDescription (void) : mKind (kFixItRemove), mActionString ("") { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_FixItDescription::C_FixItDescription (const EnumFixItKind inKind, - const String & inActionString) : + const C_String & inActionString) : mKind (inKind), mActionString (inActionString) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_IssueWithFixIt::C_IssueWithFixIt (void) : mStartLocation (), @@ -44,62 +44,62 @@ mEndLocation (), mFixItArray () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_IssueWithFixIt::C_IssueWithFixIt (const LocationInSource & inStartLocation, - const LocationInSource & inEndLocation, +C_IssueWithFixIt::C_IssueWithFixIt (const C_LocationInSource & inStartLocation, + const C_LocationInSource & inEndLocation, const TC_Array & inFixItArray) : mStartLocation (inStartLocation), mEndLocation (inEndLocation), mFixItArray (inFixItArray) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void appendFixItActions (TC_Array & ioArray, const EnumFixItKind inKind, const GALGAS_stringlist & inList) { cEnumerator_stringlist enumerator (inList, kENUMERATION_UP) ; while (enumerator.hasCurrentObject ()) { - const String s = enumerator.current_mValue (HERE).stringValue () ; + const C_String s = enumerator.current_mValue (HERE).stringValue () ; ioArray.appendObject (C_FixItDescription (inKind, s)) ; enumerator.gotoNextObject () ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void appendFixItActions (TC_Array & ioArray, const EnumFixItKind inKind, const GALGAS_lstringlist & inList) { cEnumerator_lstringlist enumerator (inList, kENUMERATION_UP) ; while (enumerator.hasCurrentObject ()) { - const String s = enumerator.current_mValue (HERE).mProperty_string.stringValue () ; + const C_String s = enumerator.current_mValue (HERE).mProperty_string.stringValue () ; ioArray.appendObject (C_FixItDescription (inKind, s)) ; enumerator.gotoNextObject () ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void appendFixItActions (TC_Array & ioArray, const EnumFixItKind inKind, const GALGAS_stringset & inStringSet) { cEnumerator_stringset enumerator (inStringSet, kENUMERATION_UP) ; while (enumerator.hasCurrentObject ()) { - const String s = enumerator.current_key (HERE).stringValue () ; + const C_String s = enumerator.current_key (HERE).stringValue () ; ioArray.appendObject (C_FixItDescription (inKind, s)) ; enumerator.gotoNextObject () ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void appendFixItActions (TC_Array & ioArray, const EnumFixItKind inKind, const GALGAS_string & inString) { - const String s = inString.stringValue () ; + const C_String s = inString.stringValue () ; ioArray.appendObject (C_FixItDescription (inKind, s)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/C_IssueWithFixIt.h b/goil/build/libpm/galgas2/C_IssueWithFixIt.h index cafc2b758..e11aa29e7 100644 --- a/goil/build/libpm/galgas2/C_IssueWithFixIt.h +++ b/goil/build/libpm/galgas2/C_IssueWithFixIt.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // C_IssueWithFixIt // @@ -16,24 +16,24 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "LocationInSource.h" -#include "String-class.h" -#include "TC_Array.h" +#include "galgas2/C_LocationInSource.h" +#include "strings/C_String.h" +#include "generic-arraies/TC_Array.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_stringlist ; class GALGAS_lstringlist ; class GALGAS_string ; class GALGAS_stringset ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typedef enum { kFixItRemove, @@ -42,7 +42,7 @@ typedef enum { kFixItInsertAfter } EnumFixItKind ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class C_FixItDescription final { //--- Default constructor @@ -50,56 +50,56 @@ class C_FixItDescription final { //--- Constructor public: C_FixItDescription (const EnumFixItKind inKind, - const String & inActionString) ; + const C_String & inActionString) ; //--- Accessors public: EnumFixItKind kind (void) const { return mKind ; } - public: String actionString (void) const { return mActionString ; } + public: C_String actionString (void) const { return mActionString ; } //--- Private properties private: EnumFixItKind mKind ; - private: String mActionString ; + private: C_String mActionString ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class C_IssueWithFixIt { //--- Default constructor public: C_IssueWithFixIt (void) ; //--- Constructor - public: C_IssueWithFixIt (const LocationInSource & inStartLocation, - const LocationInSource & inEndLocation, + public: C_IssueWithFixIt (const C_LocationInSource & inStartLocation, + const C_LocationInSource & inEndLocation, const TC_Array & inFixItArray) ; //--- Properties - public: const LocationInSource mStartLocation ; - public: const LocationInSource mEndLocation ; + public: const C_LocationInSource mStartLocation ; + public: const C_LocationInSource mEndLocation ; public: const TC_Array mFixItArray ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void appendFixItActions (TC_Array & ioArray, const EnumFixItKind inKind, const GALGAS_stringlist & inList) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void appendFixItActions (TC_Array & ioArray, const EnumFixItKind inKind, const GALGAS_lstringlist & inList) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void appendFixItActions (TC_Array & ioArray, const EnumFixItKind inKind, const GALGAS_string & inString) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void appendFixItActions (TC_Array & ioArray, const EnumFixItKind inKind, const GALGAS_stringset & inStringSet) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/C_Lexique.cpp b/goil/build/libpm/galgas2/C_Lexique.cpp new file mode 100644 index 000000000..0f375b11e --- /dev/null +++ b/goil/build/libpm/galgas2/C_Lexique.cpp @@ -0,0 +1,1661 @@ +//---------------------------------------------------------------------------------------------------------------------- +// +// 'C_Lexique' : an abstract lexique class ; +// Galgas generated scanner classes inherit from this class. +// +// This file is part of libpm library +// +// Copyright (C) 1996, ..., 2023 Pierre Molinaro. +// +// e-mail : pierre@pcmolinaro.name +// +// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied +// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +//---------------------------------------------------------------------------------------------------------------------- + +#include "galgas2/C_Lexique.h" +#include "all-predefined-types.h" +#include "utilities/MF_MemoryControl.h" +#include "strings/unicode_character_cpp.h" +#include "strings/unicode_string_routines.h" +#include "galgas2/C_galgas_CLI_Options.h" +#include "galgas2/cIndexingDictionary.h" +#include "files/C_FileManager.h" +#include "galgas2/F_verbose_output.h" + +//---------------------------------------------------------------------------------------------------------------------- + +#include +#include +#include +#include + +//---------------------------------------------------------------------------------------------------------------------- + +#ifndef DO_NOT_GENERATE_CHECKINGS + #define LINE_AND_SOURCE_FILE_FOR_LEXIQUE , sourceText ().sourceFilePath ().cString (HERE), lineNumber () +#else + #define LINE_AND_SOURCE_FILE_FOR_LEXIQUE +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Constructors, Destructor +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +cTemplateDelimiter:: +cTemplateDelimiter (const utf32 * inStartString, + const int32_t inStartStringLength, + const utf32 * inEndString, + const int32_t inEndStringLength, + void (* inReplacementFunction) (C_Lexique & inLexique, const C_String & inElementString, C_String & ioTemplateString), + const bool inDiscardStartString) : +mStartString (inStartString), +mStartStringLength (inStartStringLength), +mEndString (inEndString), +mEndStringLength (inEndStringLength), +mReplacementFunction (inReplacementFunction), +mDiscardStartString (inDiscardStartString) { +} + +//---------------------------------------------------------------------------------------------------------------------- + +cTemplateDelimiter::cTemplateDelimiter (const cTemplateDelimiter & inOperand) : +mStartString (inOperand.mStartString), +mStartStringLength (inOperand.mStartStringLength), +mEndString (inOperand.mEndString), +mEndStringLength (inOperand.mEndStringLength), +mReplacementFunction (inOperand.mReplacementFunction), +mDiscardStartString (inOperand.mDiscardStartString) { +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_Lexique::C_Lexique (C_Compiler * inCallerCompiler, + const C_String & inSourceFileName + COMMA_LOCATION_ARGS) : +C_Compiler (inCallerCompiler COMMA_THERE), +mIndexingDictionary (nullptr), +mFirstToken (nullptr), +mLastToken (nullptr), +mCurrentTokenPtr (nullptr), +mLastSeparatorIndex (0), +mCurrentChar (TO_UNICODE ('\0')), +mPreviousChar (TO_UNICODE ('\0')), +mTokenStartLocation (), +mTokenEndLocation (), +mTriggerNonTerminalSymbolList (), +mDebugDepthCounter (0), +mDebugIsRunning (false), +mArrayForSecondPassParsing (), +mIndexForSecondPassParsing (0), +mLatexOutputString (), +mLatexNextCharacterToEnterIndex (0) { +//--- + if (inSourceFileName.length () > 0) { + logFileRead (inSourceFileName) ; + bool ok = false ; + PMTextFileEncoding textFileEncoding ; + const C_String sourceString = C_FileManager::stringWithContentOfFile (inSourceFileName, textFileEncoding, ok) ; + if (ok) { + const C_SourceTextInString source (sourceString, + inSourceFileName, + false) ; // Do not print source string + resetAndLoadSourceFromText (source) ; + mTokenStartLocation.resetWithSourceText (source) ; + mTokenEndLocation.resetWithSourceText (source) ; + }else if (inCallerCompiler != nullptr) { + C_String errorMessage ; + errorMessage << "cannot read '" << inSourceFileName << "': this file does not exist or is not encoded in UTF8" ; + inCallerCompiler->onTheFlyRunTimeError (errorMessage COMMA_THERE) ; + } + } + mCurrentChar = sourceText ().readCharOrNul (0 COMMA_HERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_Lexique::C_Lexique (C_Compiler * inCallerCompiler, + const C_String & inSourceString, + const C_String & inStringForError + COMMA_LOCATION_ARGS) : +C_Compiler (inCallerCompiler COMMA_THERE), +mIndexingDictionary (nullptr), +mFirstToken (nullptr), +mLastToken (nullptr), +mCurrentTokenPtr (nullptr), +mLastSeparatorIndex (0), +mCurrentChar (TO_UNICODE ('\0')), +mPreviousChar (TO_UNICODE ('\0')), +mTokenStartLocation (), +mTokenEndLocation (), +mTriggerNonTerminalSymbolList (), +mDebugDepthCounter (0), +mDebugIsRunning (false), +mArrayForSecondPassParsing (), +mIndexForSecondPassParsing (0), +mLatexOutputString (), +mLatexNextCharacterToEnterIndex (0) { + const C_SourceTextInString source (inSourceString, inStringForError, verboseOutput ()) ; + resetAndLoadSourceFromText (source) ; + mTokenStartLocation.resetWithSourceText (source) ; + mTokenEndLocation.resetWithSourceText (source) ; + mCurrentChar = sourceText ().readCharOrNul (0 COMMA_HERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_Lexique::~C_Lexique (void) { + macroMyDelete (mIndexingDictionary) ; + mLastToken = nullptr ; + mCurrentTokenPtr = nullptr ; + while (mFirstToken != nullptr) { + cToken * p = mFirstToken->mNextToken ; + macroMyDelete (mFirstToken) ; + mFirstToken = p ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Scanner configuration +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +void C_Lexique::appendLastSeparatorTo (C_String & ioString) const { + if (nullptr != mLastToken) { + const int32_t lastSeparatorStart = mLastToken->mEndLocation.index () + 1 ; + const C_String lastSeparatorString = sourceText ().sourceString ().subStringFromIndex (lastSeparatorStart) ; + ioString << lastSeparatorString ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_Lexique::enterTokenFromPointer (cToken * inToken) { + macroValidPointer (inToken) ; +//--- Append separator and comments + const int32_t tokenStart = mTokenStartLocation.index () ; + if (tokenStart > mLastSeparatorIndex) { + const C_String sep = sourceText ().sourceString ().subString (mLastSeparatorIndex, tokenStart -mLastSeparatorIndex) ; + inToken->mSeparatorStringBeforeToken << sep ; + } + mLastSeparatorIndex = mTokenEndLocation.index () + 1 ; +//--- Enter token in token list + if (mLastToken == nullptr) { + mFirstToken = inToken ; + }else{ + mLastToken->mNextToken = inToken ; + } + mLastToken = inToken ; +//--- + if (executionModeIsLexicalAnalysisOnly ()) { + C_String s ; + for (int32_t i=inToken->mStartLocation.index () ; i<=inToken->mEndLocation.index () ; i++) { + const utf32 c = sourceText ().readCharOrNul (i COMMA_HERE) ; + if (UNICODE_VALUE (c) != '\0') { + s.appendUnicodeCharacter (c COMMA_HERE) ; + } + } + co << " " << getCurrentTokenString (inToken) + << ", from location " << cStringWithSigned (inToken->mStartLocation.index ()) + << " (line " << cStringWithSigned (inToken->mStartLocation.lineNumber ()) + << ", column " << cStringWithSigned (inToken->mStartLocation.columnNumber ()) << ")" + << " to location " << cStringWithSigned (inToken->mEndLocation.index ()) + << " (line " << cStringWithSigned (inToken->mEndLocation.lineNumber ()) + << ", column " << cStringWithSigned (inToken->mEndLocation.columnNumber ()) << ")" ; + if (inToken->mTemplateStringBeforeToken.length () > 0) { + co << ", template '" << inToken->mTemplateStringBeforeToken << "'" ; + } + co << "\n" ; + }else if (executionModeIsLatex ()) { + while (mLatexNextCharacterToEnterIndex < inToken->mStartLocation.index ()) { + const utf32 c = sourceText ().readCharOrNul (mLatexNextCharacterToEnterIndex COMMA_HERE) ; + appendCharacterToLatexFile (c) ; + mLatexNextCharacterToEnterIndex ++ ; + } + const C_String styleName = styleNameForIndex (styleIndexForTerminal (inToken->mTokenCode)) ; + if (styleName.length () > 0) { + mLatexOutputString << "\\" << styleName << latexModeStyleSuffixString () << "{" ; + } + for (int32_t i=inToken->mStartLocation.index () ; i<=inToken->mEndLocation.index () ; i++) { + const utf32 c = sourceText ().readCharOrNul (i COMMA_HERE) ; + if (UNICODE_VALUE (c) != '\0') { + appendCharacterToLatexFile (c) ; + } + } + if (styleName.length () > 0) { + mLatexOutputString << "}" ; + } + //--- + mLatexNextCharacterToEnterIndex = inToken->mEndLocation.index () + 1 ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_Lexique::resetForSecondPass (void) { + mCurrentLocation.resetWithSourceText (sourceText ()) ; + mCurrentChar = sourceText ().readCharOrNul (0 COMMA_HERE) ; + mPreviousChar = TO_UNICODE ('\0') ; + mCurrentTokenPtr = mFirstToken ; + if (mCurrentTokenPtr != nullptr) { + mStartLocationForHere = mCurrentTokenPtr->mStartLocation ; + mEndLocationForHere = mCurrentTokenPtr->mEndLocation ; + mStartLocationForNext = mCurrentTokenPtr->mStartLocation ; + mEndLocationForNext = mCurrentTokenPtr->mEndLocation ; + mTemplateString << mCurrentTokenPtr->mTemplateStringBeforeToken ; + mCurrentLocation = mCurrentTokenPtr->mEndLocation ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Template Delimiter Scanning +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +int32_t C_Lexique::findTemplateDelimiterIndex (const cTemplateDelimiter inTemplateDelimiterArray [], + const int32_t inTemplateDelimiterArrayLength) { + int32_t templateIndex = 0 ; + bool found = false ; + + while ((templateIndex < inTemplateDelimiterArrayLength) && ! found) { + found = testForInputUTF32String (inTemplateDelimiterArray [templateIndex].mStartString, + inTemplateDelimiterArray [templateIndex].mStartStringLength, + inTemplateDelimiterArray [templateIndex].mDiscardStartString) ; + templateIndex ++ ; + } + templateIndex -- ; + if (! found) { + templateIndex = -1 ; + } + return templateIndex ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Lexical Analysis +#endif + +//---------------------------------------------------------------------------------------------------------------------- +// +// performLexicalAnalysis +// +//---------------------------------------------------------------------------------------------------------------------- + +void C_Lexique::performLexicalAnalysis (void) { + if (executionModeIsLexicalAnalysisOnly ()) { + co << "*** PERFORM LEXICAL ANALYSIS ONLY (--mode=lexical-only option) ***\n" ; + } + bool loop = true ; + while (loop) { + loop = parseLexicalToken () ; + } + if (executionModeIsLexicalAnalysisOnly ()) { + co << "*** END OF LEXICAL ANALYSIS ***\n" ; + }else if (executionModeIsLatex ()) { + generateLatexFile () ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// Methods for scanning +// +//---------------------------------------------------------------------------------------------------------------------- + +void C_Lexique::advance (void) { + mTokenEndLocation = mCurrentLocation ; + mPreviousChar = mCurrentChar ; + if (UNICODE_VALUE (mCurrentChar) != '\0') { + mCurrentLocation.gotoNextLocation () ; + mCurrentChar = sourceText ().readCharOrNul (mCurrentLocation.index () COMMA_HERE) ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_Lexique::advance (const int32_t inCount) { + for (int32_t i=0 ; i= bottom)) { + const int32_t index = (bottom + top) / 2 ; + int32_t result = searchedStringLength - inTable [index].mEntryStringLength ; + if (result == 0) { + result = inString.compare (inTable [index].mEntryString) ; + } + if (result < 0) { // < + top = index - 1 ; + }else if (result > 0) { // > + bottom = index + 1 ; + }else{ + code = inTable [index].mTokenCode ; + } + } + return code ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Handling an error +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +void C_Lexique::internalBottomUpParserError (LOCATION_ARGS) { + #ifndef DO_NOT_GENERATE_CHECKINGS + printf ("*** Fatal error: Internal bottom-up parser error at line %d of file '%s'.\n", IN_SOURCE_LINE, IN_SOURCE_FILE) ; + #else + printf ("*** Fatal error: Internal bottom-up parser error.\n") ; + #endif + exit (1) ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// Lexical error +// +//---------------------------------------------------------------------------------------------------------------------- + +void C_Lexique::unknownCharacterLexicalError (LOCATION_ARGS) { + C_String errorMessage ; + errorMessage << "Unknown character: " << unicodeName (mCurrentChar) + << " (Unicode " << cHexStringWithUnsigned (UNICODE_VALUE (mCurrentChar)) << ")" ; + lexicalError (errorMessage COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_Lexique::lexicalError (const C_String & inLexicalErrorMessage + COMMA_LOCATION_ARGS) { + signalLexicalError (this, sourceText (), C_IssueWithFixIt (mCurrentLocation, mCurrentLocation, TC_Array ()), inLexicalErrorMessage COMMA_THERE) ; + if (executionModeIsLatex ()) { + signalLexicalErrorInLatexOutput () ; + } + throw C_lexicalErrorException () ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// Signaler une erreur syntaxique +// +//---------------------------------------------------------------------------------------------------------------------- + +void C_Lexique::parsingError (const TC_UniqueArray & inExpectedTerminalsArray, + const cToken * inPreviousTokenPtr, + const cToken * inCurrentTokenPtr, + const int32_t inCurrentTokenCode + COMMA_LOCATION_ARGS) { +//--- Build error message + C_String foundTokenMessage = getMessageForTerminal (inCurrentTokenCode) ; + const int32_t expectedTerminalsCount = inExpectedTerminalsArray.count () ; + TC_UniqueArray expectedTokenNames (expectedTerminalsCount, C_String () COMMA_HERE) ; + for (int32_t i=0 ; imEndLocation, + C_IssueWithFixIt (inCurrentTokenPtr->mStartLocation, inCurrentTokenPtr->mEndLocation, TC_Array ()), + foundTokenMessage, + expectedTokenNames COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Scanner warning +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +void C_Lexique::lexicalWarning (const C_String & inLexicalWarningMessage + COMMA_LOCATION_ARGS) { // § + signalLexicalWarning (this, sourceText (), C_IssueWithFixIt (mCurrentLocation, mCurrentLocation, TC_Array ()), inLexicalWarningMessage COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Top-down parsing +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +static bool TRACE_LL1_PARSING (void) { return false ; } + +//---------------------------------------------------------------------------------------------------------------------- +// +// Test if a terminal symbol can be accepted in current context +// +//---------------------------------------------------------------------------------------------------------------------- + +bool C_Lexique::acceptTerminalForErrorSignaling (const int32_t inTerminal, + const int32_t inProductions [], + const int32_t inProductionIndexes [], + const int32_t inFirstProductionIndex [], + const int32_t inDecisionTable [], + const int32_t inDecisionTableIndexes [], + const TC_Array & inErrorStack, + const int32_t inErrorProgramCounter) { + if (TRACE_LL1_PARSING ()) { + C_String m = getMessageForTerminal (inTerminal) ; + co << "------ Enter 'acceptTerminalForErrorSignaling' with '" + << m + << "' (" + << inTerminal + << ") terminal and program counter " + << inErrorProgramCounter ; + co.flush () ; + } + bool accept = false ; + int32_t programCounter = inErrorProgramCounter ; + TC_Array stack = inErrorStack ; + bool loop = true ; + while (loop) { + const int32_t instruction = inProductions [programCounter] ; + programCounter ++ ; + if (instruction > 0) { // We reach a terminal + const int32_t reachedTerminal = (int32_t) (instruction - 1) ; + accept = reachedTerminal == inTerminal ; + if (TRACE_LL1_PARSING ()) { + const C_String m = getMessageForTerminal (reachedTerminal) ; + co << "reached '" + << m + << "' terminal" + << (accept ? " (accepted)" : "") + << "\n" ; + co.flush () ; + } + loop = false ; + }else if (instruction < 0) { // We reach a nonterminal + const int32_t reachedNonterminal = (int32_t) (- instruction - 1) ; + if (TRACE_LL1_PARSING ()) { + co << "reached non-terminal " + << reachedNonterminal + << "\n" ; + co.flush () ; + } + int32_t nonTerminalEntry = inDecisionTableIndexes [reachedNonterminal] ; + if (inDecisionTable [nonTerminalEntry] < 0) { // Only one rule : call it + stack.appendObject (programCounter) ; + programCounter = inProductionIndexes [inFirstProductionIndex [reachedNonterminal]] ; + if (TRACE_LL1_PARSING ()) { + co << "One rule: goto " << programCounter << "\n" ; co.flush () ; + } + }else{ // More than one rule : test if terminal is accepted, and call rule + loop = false ; + int32_t choice = 0 ; + bool found = false ; + while ((inDecisionTable [nonTerminalEntry] >= 0) && ! found) { + while ((inDecisionTable [nonTerminalEntry] >= 0) && ! found) { + found = inDecisionTable [nonTerminalEntry] == inTerminal ; + if (TRACE_LL1_PARSING ()) { + const C_String m = getMessageForTerminal (inDecisionTable [nonTerminalEntry]) ; + co << "try '" << m << "' non terminal" << (found ? " (accepted)": "") << "\n" ; co.flush () ; + } + if (found) { + int32_t newProgramCounter = programCounter ; + TC_Array newStack = stack ; + newStack.appendObject (newProgramCounter) ; + newProgramCounter = inProductionIndexes [inFirstProductionIndex [reachedNonterminal] + choice] ; + accept = acceptTerminalForErrorSignaling (inTerminal, + inProductions, + inProductionIndexes, + inFirstProductionIndex, + inDecisionTable, + inDecisionTableIndexes, + newStack, + newProgramCounter) ; + } + nonTerminalEntry ++ ; + } + nonTerminalEntry ++ ; + choice ++ ; + } + } + }else if (stack.count () > 0) { // We reach a END OF PRODUCTION + programCounter = stack.lastObject (HERE) ; + stack.removeLastObject (HERE) ; + }else{ // We reach the end of production rules + accept = inTerminal == 0 ; // 0 is always "end_of_text" terminal symbol + loop = false ; + } + } + if (TRACE_LL1_PARSING ()) { + co << "------ Exit 'acceptTerminalForErrorSignaling' with accept == " << (accept ? "true" : "false") << "\n" ; + } + return accept ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// Build expected terminals array on syntax error with LL (1) parser +// +//---------------------------------------------------------------------------------------------------------------------- + +void C_Lexique::buildExpectedTerminalsArrayOnSyntaxError (const int32_t inErrorProgramCounter, + const int32_t inErrorStackCount, + const TC_Array & inStack, + const TC_Array & inErrorStack, + const int32_t inProductions [], + const int32_t inProductionIndexes [], + const int32_t inFirstProductionIndex [], + const int32_t inDecisionTable [], + const int32_t inDecisionTableIndexes [], + TC_UniqueArray & outExpectedTerminalsArray) { +//--- First, go to the next non terminal, terminal or end of productions rules + int32_t programCounter = inErrorProgramCounter ; + const int32_t countToCopy = inErrorStackCount - inErrorStack.count () ; + TC_Array errorStack (inErrorStackCount COMMA_HERE) ; + for (int32_t i=0 ; i=0 ; i--) { + errorStack.appendObject (inErrorStack (i COMMA_HERE)) ; + } + if (TRACE_LL1_PARSING ()) { + co << "------ Enter 'buildExpectedTerminalsArrayOnSyntaxError'\n" + << "programCounter: " << programCounter << ", errorStack: " << errorStack.count() << " value(s):" ; + for (int32_t i=0 ; i 0) { // We reach a terminal (when >0) + loop = false ; + if (TRACE_LL1_PARSING ()) { + C_String m = getMessageForTerminal (inProductions [programCounter]) ; + co << "Terminal '" << m << "' (" << inProductions [programCounter] << ") reached\n" ; + co.flush () ; + } + }else if (inProductions [programCounter] < 0) { // We reach a non terminal (<0) + const int32_t nonTerminal = (int32_t) (- inProductions [programCounter] - 1) ; + if (TRACE_LL1_PARSING ()) { + co << "Non-Terminal " << nonTerminal << " reached\n" ; + co.flush () ; + } + //--- We look if we get a non terminal that has only one production rule + const int32_t nonTerminalEntry = inDecisionTableIndexes [nonTerminal] ; + const bool onlyOneRule = inDecisionTable [nonTerminalEntry] < 0 ; + if (onlyOneRule) { // Go to this rule + errorStack.appendObject ((int32_t) (programCounter + 1)) ; + programCounter = inProductionIndexes [inFirstProductionIndex [nonTerminal]] ; + if (TRACE_LL1_PARSING ()) { + co << "Only one rule: goto " << programCounter << "\n" ; + co.flush () ; + } + }else{ + loop = false ; // Stop searching + } + }else if (errorStack.count () > 0) { // Execute a 'return' instruction + programCounter = errorStack.lastObject (HERE) ; + errorStack.removeLastObject (HERE) ; + if (TRACE_LL1_PARSING ()) { + co << "return instruction (goes to " << programCounter << ")\n" ; + co.flush () ; + } + }else{ // End of source reached + if (TRACE_LL1_PARSING ()) { + co << "end of source reached\n" ; + co.flush () ; + } + loop = false ; + } + } +//--- Decision for build expected terminals array + if (errorStack.count () == 0) { // We reach end of productions rules + outExpectedTerminalsArray.appendObject (0) ; // 0 is always "end_of_text" terminal symbol + if (TRACE_LL1_PARSING ()) { + co << "add 'end of source' to outExpectedTerminalsArray\n" ; + co.flush () ; + } + }else if (inProductions [programCounter] > 0) { // We reach a terminal symbol + const int32_t terminalSymbol = (int32_t) (inProductions [programCounter] - 1) ; + outExpectedTerminalsArray.appendObject (terminalSymbol) ; + if (TRACE_LL1_PARSING ()) { + C_String m = getMessageForTerminal (inProductions [programCounter]) ; + co << "add '" << m << "' (" << inProductions [programCounter] << ") to outExpectedTerminalsArray\n" ; + co.flush () ; + } + }else{ // We reach a non terminal symbol + const int32_t nonTerminal = (int32_t) (- inProductions [programCounter] - 1) ; + int32_t nonTerminalEntry = inDecisionTableIndexes [nonTerminal] ; + while (inDecisionTable [nonTerminalEntry] >= 0) { + while (inDecisionTable [nonTerminalEntry] >= 0) { + const bool ok = acceptTerminalForErrorSignaling (inDecisionTable [nonTerminalEntry], + inProductions, + inProductionIndexes, + inFirstProductionIndex, + inDecisionTable, + inDecisionTableIndexes, + errorStack, + programCounter) ; + if (ok) { + if (TRACE_LL1_PARSING ()) { + C_String m = getMessageForTerminal (inDecisionTable [nonTerminalEntry]) ; + co << "add '" << m << "' (" << inDecisionTable [nonTerminalEntry] << ") to outExpectedTerminalsArray\n" ; + co.flush () ; + } + outExpectedTerminalsArray.appendObject (inDecisionTable [nonTerminalEntry]) ; + } + nonTerminalEntry ++ ; + } + nonTerminalEntry ++ ; + } + } + if (TRACE_LL1_PARSING ()) { + co << "------ Exit 'buildExpectedTerminalsArrayOnSyntaxError'\n" ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// Perform top down parsing (called by LL (1) parser) +// +//---------------------------------------------------------------------------------------------------------------------- + +static void indentForParseOnly (const int32_t inIndentation) { + for (int32_t i=1 ; i 0) { + co << "|- " ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +bool C_Lexique::performTopDownParsing (const int32_t inProductions [], + const cProductionNameDescriptor inProductionNames [], + const int32_t inProductionIndexes [], + const int32_t inFirstProductionIndex [], + const int32_t inDecisionTable [], + const int32_t inDecisionTableIndexes [], + const int32_t inProgramCounterInitialValue) { + bool result = false ; +//--- Lexical analysis + performLexicalAnalysis () ; + if (! executionModeIsLexicalAnalysisOnly ()) { + //--- Variables for generating syntax tree in a form suitable for graphviz + const bool produceSyntaxTree = gOption_galgas_5F_builtin_5F_options_outputConcreteSyntaxTree.mValue + && (sourceFilePath ().stringByDeletingPathExtension () != "") ; + C_String syntaxTreeDescriptionString ; + TC_Array productionUniqueNameStack ; + uint32_t uniqueProductionNameIndex = 0 ; + uint32_t uniqueTerminalIndex = 0 ; + uint32_t currentProductionName = 0 ; + if (produceSyntaxTree) { + syntaxTreeDescriptionString << "digraph G {\n" + " size =\"4,4\";\n" ; + } + //--- + int32_t indentationForParseOnly = 0 ; + cToken * previousTokenPtr = nullptr ; + cToken * tokenPtr = mFirstToken ; + if (executionModeIsSyntaxAnalysisOnly ()) { + co << "*** PERFORM TOP-DOWN PARSING ONLY (--mode=syntax-only option) ***\n" ; + } + TC_UniqueArray listForSecondPassParsing ; + TC_Array stack (10000 COMMA_HERE) ; + TC_Array errorStack ; + int32_t errorStackCount = 0 ; + bool loop = tokenPtr != nullptr ; + result = true ; + int32_t programCounter = inProgramCounterInitialValue ; + int32_t errorProgramCounter = inProgramCounterInitialValue ; + int32_t currentToken = (tokenPtr != nullptr) ? tokenPtr->mTokenCode : int32_t (-1) ; + if (tokenPtr == nullptr) { + mCurrentLocation.resetLocation () ; + }else{ + mCurrentLocation = tokenPtr->mEndLocation ; + } + while (loop) { + //--- If no current token, get one + if (currentToken < 0) { + if (tokenPtr == nullptr) { + currentToken = 0 ; // 0 means end of source file + }else{ + previousTokenPtr = tokenPtr ; + tokenPtr = tokenPtr->mNextToken ; + currentToken = (tokenPtr != nullptr) ? tokenPtr->mTokenCode : ((int32_t) 0) ; + if (tokenPtr != nullptr) { + mCurrentLocation = tokenPtr->mEndLocation ; + } + } + } + if (TRACE_LL1_PARSING ()) { + co << "---------------------------\n" + "Current token is " << getCurrentTokenString (tokenPtr) << " (#" << currentToken << ")\n" ; + co.flush () ; + } + //--- Get instruction to do + const int32_t instruction = inProductions [programCounter] ; + programCounter ++ ; + //--- Instruction is non terminal call ? + if (instruction < 0) { + //--- Get entry of nonterminal symbol to parse + const int32_t nonTerminalToParse = (int32_t) (- instruction - 1) ; + if (TRACE_LL1_PARSING ()) { + co << "Parse non terminal " << cStringWithSigned (nonTerminalToParse) << ": " ; + co.flush () ; + } + int32_t nonTerminalEntry = inDecisionTableIndexes [nonTerminalToParse] ; + if (inDecisionTable [nonTerminalEntry] < 0) { // Means only one production : don't make any choice + if (TRACE_LL1_PARSING ()) { + co << " ok (only one production)\n" ; + co.flush () ; + } + stack.appendObject (programCounter) ; + programCounter = inProductionIndexes [inFirstProductionIndex [nonTerminalToParse]] ; + if (produceSyntaxTree) { + uniqueProductionNameIndex ++ ; + syntaxTreeDescriptionString << " NT" << cStringWithUnsigned (uniqueProductionNameIndex) << " [label=\"" << inProductionNames [inFirstProductionIndex [nonTerminalToParse]].mName << "\", shape=box];\n" ; + if (currentProductionName > 0) { + syntaxTreeDescriptionString << " NT" + << cStringWithUnsigned (currentProductionName) + << " -> NT" + << cStringWithUnsigned (uniqueProductionNameIndex) + << ";\n" ; + } + productionUniqueNameStack.appendObject (currentProductionName) ; + currentProductionName = uniqueProductionNameIndex ; + } + if (executionModeIsSyntaxAnalysisOnly ()) { + indentForParseOnly (indentationForParseOnly) ; + co << inProductionNames [inFirstProductionIndex [nonTerminalToParse]].mName + << ", file '" << inProductionNames [inFirstProductionIndex [nonTerminalToParse]].mFileName + << "', line " << cStringWithUnsigned (inProductionNames [inFirstProductionIndex [nonTerminalToParse]].mLineNumber) + << "\n" ; + indentationForParseOnly ++ ; + } + }else{ //--- There are several choices : find the one to do + if (TRACE_LL1_PARSING ()) { + co << " try tokens\n" ; co.flush () ; + } + int32_t choice = -1 ; + bool found = false ; + while ((inDecisionTable [nonTerminalEntry] >= 0) && ! found) { + while ((inDecisionTable [nonTerminalEntry] >= 0) && ! found) { + found = currentToken == inDecisionTable [nonTerminalEntry] ; + if (TRACE_LL1_PARSING ()) { + C_String m = getMessageForTerminal (inDecisionTable [nonTerminalEntry]) ; + co << " try " << m << " (" << inDecisionTable [nonTerminalEntry] + << ")" << (found ? " (accepted)" : "") << "\n" ; + co.flush () ; + } + nonTerminalEntry ++ ; + } + choice ++ ; + nonTerminalEntry ++ ; + } + //--- Found : call production rule + if (found) { + stack.appendObject (programCounter) ; + programCounter = inProductionIndexes [inFirstProductionIndex [nonTerminalToParse] + choice] ; + if (produceSyntaxTree) { + uniqueProductionNameIndex ++ ; + syntaxTreeDescriptionString << " NT" << cStringWithUnsigned (uniqueProductionNameIndex) + << " [label=\"" << inProductionNames [inFirstProductionIndex [nonTerminalToParse] + choice].mName << "\", shape=box];\n" ; + if (currentProductionName > 0) { + syntaxTreeDescriptionString << " NT" + << cStringWithUnsigned (currentProductionName) + << " -> NT" + << cStringWithUnsigned (uniqueProductionNameIndex) + << ";\n" ; + } + productionUniqueNameStack.appendObject (currentProductionName) ; + currentProductionName = uniqueProductionNameIndex ; + } + if (executionModeIsSyntaxAnalysisOnly ()) { + indentForParseOnly (indentationForParseOnly) ; + co << inProductionNames [inFirstProductionIndex [nonTerminalToParse + choice]].mName + << ", file '" << inProductionNames [inFirstProductionIndex [nonTerminalToParse + choice]].mFileName + << "', line " << cStringWithUnsigned (inProductionNames [inFirstProductionIndex [nonTerminalToParse + choice]].mLineNumber) + << "\n" ; + indentationForParseOnly ++ ; + } + listForSecondPassParsing.appendObject (choice + 1) ; + }else{ // Syntax error + TC_UniqueArray expectedTerminalsArray (100 COMMA_HERE) ; + buildExpectedTerminalsArrayOnSyntaxError (errorProgramCounter, + errorStackCount, + stack, + errorStack, + inProductions, + inProductionIndexes, + inFirstProductionIndex, + inDecisionTable, + inDecisionTableIndexes, + expectedTerminalsArray) ; + if (TRACE_LL1_PARSING ()) { + co << expectedTerminalsArray.count () << " Token(s) in syntax error message\n" ; co.flush () ; + } + parsingError (expectedTerminalsArray, previousTokenPtr, tokenPtr, currentToken LINE_AND_SOURCE_FILE_FOR_LEXIQUE) ; + result = loop = false ; + listForSecondPassParsing.removeAllKeepingCapacity () ; + } + } + //--- It is a terminal symbol + }else if (instruction > 0) { + const int32_t terminalSymbol = int32_t (instruction - 1) ; + if (currentToken == terminalSymbol) { + if (executionModeIsSyntaxAnalysisOnly ()) { + indentForParseOnly (indentationForParseOnly) ; + co << getCurrentTokenString (tokenPtr) << "\n" ; + } + currentToken = -1 ; // Ok, current terminal symbol is no longer available + if (produceSyntaxTree) { + syntaxTreeDescriptionString << " T" << cStringWithUnsigned (uniqueTerminalIndex) << " [shape=ellipse, label=" ; + syntaxTreeDescriptionString.appendCLiteralStringConstant (getCurrentTokenString (tokenPtr)) ; + syntaxTreeDescriptionString << "];\n" + << " NT" + << cStringWithUnsigned (currentProductionName) + << " -> T" + << cStringWithUnsigned (uniqueTerminalIndex) + << ";\n" ; + uniqueTerminalIndex ++ ; + } + errorStackCount = stack.count () ; + errorStack.removeAllKeepingCapacity () ; + errorProgramCounter = programCounter ; + }else{ // Error ! + if (TRACE_LL1_PARSING ()) { + co << "ERROR: TOKEN NOT EXPECTED\n" ; co.flush () ; + } + TC_UniqueArray expectedTerminalsArray (100 COMMA_HERE) ; + buildExpectedTerminalsArrayOnSyntaxError (errorProgramCounter, + errorStackCount, + stack, + errorStack, + inProductions, + inProductionIndexes, + inFirstProductionIndex, + inDecisionTable, + inDecisionTableIndexes, + expectedTerminalsArray) ; + parsingError (expectedTerminalsArray, previousTokenPtr, tokenPtr, currentToken LINE_AND_SOURCE_FILE_FOR_LEXIQUE) ; + result = loop = false ; + listForSecondPassParsing.removeAllKeepingCapacity () ; + } + //--- It is the end of a production + }else if (stack.count () > 0) { + if (TRACE_LL1_PARSING ()) { + co << "END OF PRODUCTION REACHED\n" ; co.flush () ; + } + programCounter = stack.lastObject (HERE) ; + if (errorStackCount >= stack.count ()) { + errorStack.appendObject (programCounter) ; + } + stack.removeLastObject (HERE) ; + if (produceSyntaxTree) { + currentProductionName = productionUniqueNameStack.lastObject (HERE) ; + productionUniqueNameStack.removeLastObject (HERE) ; + } + if (executionModeIsSyntaxAnalysisOnly ()) { + indentationForParseOnly -- ; + } + //--- End of start symbol analysis + }else if (currentToken == 0) { // We got the "end of text" non terminal : ok + loop = false ; + }else{ // We reach the end of text, but current terminal is not "end of text" + //--- This is a syntax error + TC_UniqueArray expectedTerminalsArray (100 COMMA_HERE) ; + buildExpectedTerminalsArrayOnSyntaxError (errorProgramCounter, + errorStackCount, + stack, + errorStack, + inProductions, + inProductionIndexes, + inFirstProductionIndex, + inDecisionTable, + inDecisionTableIndexes, + expectedTerminalsArray) ; + parsingError (expectedTerminalsArray, previousTokenPtr, tokenPtr, currentToken LINE_AND_SOURCE_FILE_FOR_LEXIQUE) ; + result = loop = false ; + listForSecondPassParsing.removeAllKeepingCapacity () ; + } + } + //--- Output graphviz file + if (produceSyntaxTree) { + syntaxTreeDescriptionString << "}\n" ; + const C_String dotFilePath = sourceFilePath ().stringByDeletingPathExtension () + ".dot" ; + GALGAS_bool fileWritten ; + GALGAS_string (syntaxTreeDescriptionString).method_writeToFileWhenDifferentContents (GALGAS_string (dotFilePath), fileWritten, this COMMA_HERE) ; + } + //--- Set current read location to 0 + listForSecondPassParsing.copyTo (mArrayForSecondPassParsing) ; + resetForSecondPass () ; + if (executionModeIsSyntaxAnalysisOnly ()) { + co << "*** END OF PARSING (success: " + << (result ? "yes" : "no") + << ") ***\n" ; + } + } +//--- + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Bottom up parsing +#endif + +//---------------------------------------------------------------------------------------------------------------------- +// +// Test if a given terminal symbol can be accepted for signaling an error (for bottom-up parsing) * +// +//---------------------------------------------------------------------------------------------------------------------- + +static bool acceptExpectedTerminalForBottomUpParsingError (const int32_t inExpectedTerminal, + const int32_t inExpectedAction, + const TC_Array & inSLRstack, + const int32_t inActionTable [], + const uint32_t inActionTableIndex [], + const int32_t * inSuccessorTable [], + const int32_t inProductionsTable []) { + bool accept = inExpectedAction > 1 ; // accept if it is a shift action + if (! accept) { + int32_t actionCode = inExpectedAction ; + TC_Array stack (inSLRstack) ; // Duplicate stack + bool loop = true ; + while (loop) { + //--- Perform reduce action + const int32_t reduceAction = (int32_t) (- actionCode - 1) ; + MF_Assert (reduceAction >= 0, "reduceAction (%lld) < 0", reduceAction, 0) ; + const int32_t nonTerminal = inProductionsTable [2 * reduceAction] ; + const int32_t reduceSize = inProductionsTable [2 * reduceAction + 1] ; + stack.removeLastObjects (2 * reduceSize COMMA_HERE) ; + //--- Get Successor state + const int32_t tempCurrentState = stack.lastObject (HERE) ; + MF_Assert (tempCurrentState >= 0, "tempCurrentState (%lld) < 0", tempCurrentState, 0) ; + const int32_t * successorTable = inSuccessorTable [tempCurrentState] ; + int32_t newCurrentState = -1 ; + while (((* successorTable) >= 0) && (newCurrentState < 0)) { + if ((* successorTable) == nonTerminal) { + successorTable ++ ; + newCurrentState = (* successorTable) ; + } + successorTable ++ ; + successorTable ++ ; + } + MF_Assert (newCurrentState >= 0, "newCurrentState (%lld) < 0", newCurrentState, 0) ; + stack.appendObject (-1) ; // Enter any value + stack.appendObject (newCurrentState) ; // Enter next current state + //--- In the state, find action corresponding to expected terminal + const int32_t currentState = stack (stack.count () - 1 COMMA_HERE) ; + MF_Assert (currentState >= 0, "currentState (%lld) < 0", currentState, 0) ; + const int32_t * actionTable = & (inActionTable [inActionTableIndex [currentState]]) ; + actionCode = 0 ; + while (((* actionTable) >= 0) && (actionCode == 0)) { + if ((* actionTable) == inExpectedTerminal) { + actionTable ++ ; + actionCode = (* actionTable) ; + } + actionTable ++ ; + actionTable ++ ; + } + //--- action == 0 means the terminal is not expected : exit from loop, and return false + //--- actionCode > 0 means a shift action is done : so the terminal is accepted : exit and return true + //--- actionCode < 0 means a reduce action is done, don't exit, and perform the reduce action + loop = actionCode < 0 ; + accept = actionCode > 0 ; + } + } + return accept ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// Perform bottom up parsing (called by SLR and LR (1) parsers) +// +//---------------------------------------------------------------------------------------------------------------------- + +bool C_Lexique::performBottomUpParsing (const int32_t inActionTable [], + const char * inNonTerminalSymbolNames [], + const uint32_t inActionTableIndex [], + const int32_t * inSuccessorTable [], + const int32_t inProductionsTable []) { + bool result = false ; + performLexicalAnalysis () ; + if (! executionModeIsLexicalAnalysisOnly ()) { + if (executionModeIsSyntaxAnalysisOnly ()) { + co << "*** PERFORM BOTTOM-UP PARSING ONLY (--mode=syntax-only option) ***\n" + " Initial State: S0\n" ; + } + //--- Variables for generating syntax tree in a form suitable for graphviz + const bool produceSyntaxTree = gOption_galgas_5F_builtin_5F_options_outputConcreteSyntaxTree.mValue + && (sourceFilePath ().stringByDeletingPathExtension () != "") ; + C_String syntaxTreeDescriptionString ; + TC_Array shiftedElementStack ; + shiftedElementStack.appendObject ("TOP") ; + uint32_t uniqueTerminalIndex = 0 ; + uint32_t currentProductionName = 0 ; + if (produceSyntaxTree) { + syntaxTreeDescriptionString << "digraph G {\n" + " size =\"4,4\";\n" ; + } + //--- Perform first pass + TC_UniqueArray > executionList (100 COMMA_HERE) ; + executionList.appendDefaultObjectUsingSwap () ; + + TC_Array stack (10000 COMMA_HERE) ; + stack.appendObject (0) ; // Enter initial state + int32_t errorSignalingUselessEntryOnTopOfStack = 0 ; + TC_Array poppedErrors (1000 COMMA_HERE) ; + cToken * previousTokenPtr = nullptr ; + cToken * tokenPtr = mFirstToken ; + + int32_t currentToken = int32_t (-1) ; + if (tokenPtr == nullptr) { + mCurrentLocation.resetLocation () ; + }else{ + currentToken = tokenPtr->mTokenCode ; + mCurrentLocation = tokenPtr->mEndLocation ; + } + bool loop = true ; + result = true ; + while (loop) { + if (currentToken < 0) { + if (tokenPtr == nullptr) { + currentToken = 0 ; // 0 means end of source file + }else{ + previousTokenPtr = tokenPtr ; + tokenPtr = tokenPtr->mNextToken ; + currentToken = 0 ; + if (tokenPtr != nullptr) { + mCurrentLocation = tokenPtr->mEndLocation ; + currentToken = tokenPtr->mTokenCode ; + } + } + } + //--- Get Action code ----------------------------------- + const int32_t currentState = stack.lastObject (HERE) ; + MF_Assert (currentState >= 0, "currentState (%lld) < 0", currentState, 0) ; + const int32_t * actionTable = & (inActionTable [inActionTableIndex [currentState]]) ; + int32_t actionCode = 0 ; + while (((* actionTable) >= 0) && (actionCode == 0)) { + if ((* actionTable) == currentToken) { + actionTable += 1 ; + actionCode = (* actionTable) ; + } + actionTable += 2 ; + } + //--- Decision from action code value + if (actionCode > 1) { + //--- Token has been used + currentToken = -1 ; + //--- Shift action ------------------------------------ + actionCode = int32_t (actionCode - 2) ; + stack.appendObject (-1) ; // Enter any value + stack.appendObject (actionCode) ; // Enter next current state + poppedErrors.removeAllKeepingCapacity () ; + errorSignalingUselessEntryOnTopOfStack = 0 ; + executionList.appendDefaultObjectUsingSwap () ; + //--- + if (produceSyntaxTree) { + C_String terminalUniqueName ; + terminalUniqueName << "T" << cStringWithUnsigned (uniqueTerminalIndex) ; + syntaxTreeDescriptionString << " " << terminalUniqueName << " [shape=ellipse, label=" ; + syntaxTreeDescriptionString.appendCLiteralStringConstant (getCurrentTokenString (tokenPtr)) ; + syntaxTreeDescriptionString << "];\n" ; + shiftedElementStack.appendObject (terminalUniqueName) ; + uniqueTerminalIndex ++ ; + } + //--- Parse Only : print terminal symbol + if (executionModeIsSyntaxAnalysisOnly ()) { + co << " [S" << cStringWithSigned (currentState) << ", " + << getCurrentTokenString (tokenPtr) + << "] |- Shift -> S" << cStringWithSigned (actionCode) << "\n" ; + } + }else if (actionCode < 0) { + //--- Reduce action ------------------------------------ + actionCode = int32_t (- actionCode - 1) ; + MF_Assert (actionCode >= 0, "actionCode (%lld) < 0", actionCode, 0) ; + const int32_t nonTerminal = inProductionsTable [2 * actionCode] ; + const int32_t reduceSize = inProductionsTable [2 * actionCode + 1] ; + const int32_t executionListLength = executionList.count () ; + for (int32_t i=executionListLength - reduceSize ; i 0) { + errorSignalingUselessEntryOnTopOfStack -- ; + }else{ + poppedErrors.appendObject (stack.lastObject (HERE)) ; + } + stack.removeLastObject (HERE) ; + } + if (produceSyntaxTree) { + for (int32_t i=0 ; i " << shiftedElementStack.lastObject (HERE) << ";\n" ; + shiftedElementStack.removeLastObject (HERE) ; + } + } + //--- Get Successor state + const int32_t tempCurrentState = stack.lastObject (HERE) ; + MF_Assert (tempCurrentState >= 0, "tempCurrentState (%lld) < 0", tempCurrentState, 0) ; + const int32_t * successorTable = inSuccessorTable [tempCurrentState] ; + int32_t newCurrentState = -1 ; + while (((* successorTable) >= 0) && (newCurrentState < 0)) { + if ((* successorTable) == nonTerminal) { + successorTable ++ ; + newCurrentState = (* successorTable) ; + } + successorTable ++ ; + successorTable ++ ; + } + MF_Assert (newCurrentState >= 0, "newCurrentState (%lld) < 0", newCurrentState, 0) ; + stack.appendObject (-1) ; // Enter any value + stack.appendObject (newCurrentState) ; // Enter next current state + errorSignalingUselessEntryOnTopOfStack += 2 ; + if (produceSyntaxTree) { + C_String uniqueProductionName ; + uniqueProductionName << "NT" << cStringWithUnsigned (currentProductionName) ; + syntaxTreeDescriptionString << " " << uniqueProductionName + << " [label=\"" << inNonTerminalSymbolNames [nonTerminal] << "\", shape=box];\n" ; + shiftedElementStack.appendObject (uniqueProductionName) ; + currentProductionName ++ ; + } + if (executionModeIsSyntaxAnalysisOnly ()) { + co << " [S" << cStringWithSigned (currentState) << ", " << getCurrentTokenString (tokenPtr) + << "] |- Reduce " + << inNonTerminalSymbolNames [nonTerminal] + << " -> S" + << cStringWithSigned (newCurrentState) + << "\n" ; + } + }else if (actionCode == 1) { + //--- Accept action ----------------------------------- + loop = false ; + executionList (0 COMMA_HERE).appendObjectsFromArray (executionList (1 COMMA_HERE)) ; + executionList (1 COMMA_HERE).removeAllKeepingCapacity () ; + if (executionModeIsSyntaxAnalysisOnly ()) { + co << " [S" << cStringWithSigned (currentState) << ", " << getCurrentTokenString (tokenPtr) << "] : Accept\n" ; + } + }else{ + //--- Parsing error ----------------------------------- + result = false ; + loop = false ; + //--- Build error stack + TC_Array actualErrorStack (stack.count () + poppedErrors.count () COMMA_HERE) ; + for (int32_t i=0 ; i<(stack.count () - errorSignalingUselessEntryOnTopOfStack) ; i++) { + actualErrorStack.appendObject (stack (i COMMA_HERE)) ; + } + for (int32_t i=poppedErrors.count () - 1 ; i>=0 ; i--) { + actualErrorStack.appendObject (poppedErrors (i COMMA_HERE)) ; + } + //--- + TC_UniqueArray expectedTerminalsArray (100 COMMA_HERE) ; + const int32_t currentErrorState = actualErrorStack.lastObject (HERE) ; + actionTable = & (inActionTable [inActionTableIndex [currentErrorState]]) ; + while ((* actionTable) >= 0) { + const int32_t expectedTerminal = * actionTable ; + actionTable += 1 ; + const int32_t expectedAction = * actionTable ; + actionTable += 1 ; + const bool terminalAccepted = acceptExpectedTerminalForBottomUpParsingError ( + expectedTerminal, + expectedAction, + actualErrorStack, + inActionTable, + inActionTableIndex, + inSuccessorTable, + inProductionsTable + ) ; + if (terminalAccepted) { + expectedTerminalsArray.appendObject (expectedTerminal) ; + } + } + parsingError (expectedTerminalsArray, previousTokenPtr, tokenPtr, currentToken LINE_AND_SOURCE_FILE_FOR_LEXIQUE) ; + } + } + if (result) { + executionList (0 COMMA_HERE).copyTo (mArrayForSecondPassParsing) ; + } + //--- Output graphviz file + if (produceSyntaxTree) { + syntaxTreeDescriptionString << "}\n" ; + const C_String dotFilePath = sourceFilePath ().stringByDeletingPathExtension () + ".dot" ; + GALGAS_bool fileWritten ; + GALGAS_string (syntaxTreeDescriptionString).method_writeToFileWhenDifferentContents (GALGAS_string (dotFilePath), fileWritten, this COMMA_HERE) ; + } + if (executionModeIsSyntaxAnalysisOnly ()) { + co << "*** END OF PARSING (success: " << (result ? "yes" : "no") << ") ***\n" ; + } + //--- Set current read location to 0 + resetForSecondPass () ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Second pass methods +#endif + +//---------------------------------------------------------------------------------------------------------------------- +// +// Get next production index +// +//---------------------------------------------------------------------------------------------------------------------- + +int32_t C_Lexique::nextProductionIndex (void) { + int32_t result = 0 ; + if (mIndexForSecondPassParsing < mArrayForSecondPassParsing.count ()) { + result = mArrayForSecondPassParsing (mIndexForSecondPassParsing COMMA_HERE) ; + mIndexForSecondPassParsing += 1 ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_String C_Lexique::separatorString (void) const { + C_String result ; + if (mCurrentTokenPtr != nullptr) { + result = mCurrentTokenPtr->mSeparatorStringBeforeToken ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_String C_Lexique::tokenString (void) const { + C_String result ; + if (mCurrentTokenPtr != nullptr) { + const int32_t tokenStart = mCurrentTokenPtr->mStartLocation.index () ; + const int32_t tokenLength = mCurrentTokenPtr->mEndLocation.index () - tokenStart + 1 ; + result = sourceText ().sourceString ().subString (tokenStart, tokenLength) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// Accept current token by shifting it +// +//---------------------------------------------------------------------------------------------------------------------- + +#ifndef DO_NOT_GENERATE_CHECKINGS + #define IN_EXPECTED_TERMINAL inExpectedTerminal +#else + #define IN_EXPECTED_TERMINAL +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +void C_Lexique::acceptTerminal (const int32_t IN_EXPECTED_TERMINAL COMMA_LOCATION_ARGS) { + #ifndef DO_NOT_GENERATE_CHECKINGS + int32_t currentTokenCode = 0 ; + #endif + if (mCurrentTokenPtr != nullptr) { + #ifndef DO_NOT_GENERATE_CHECKINGS + currentTokenCode = mCurrentTokenPtr->mTokenCode ; + #endif + mStartLocationForHere = mCurrentTokenPtr->mStartLocation ; + mEndLocationForHere = mCurrentTokenPtr->mEndLocation ; + mCurrentTokenPtr = mCurrentTokenPtr->mNextToken ; + if (mCurrentTokenPtr != nullptr) { + macroValidPointer (mCurrentTokenPtr) ; + mStartLocationForNext = mCurrentTokenPtr->mStartLocation ; + mEndLocationForNext = mCurrentTokenPtr->mEndLocation ; + mTemplateString << mCurrentTokenPtr->mTemplateStringBeforeToken ; + mTemplateStringLocation = mCurrentTokenPtr->mStartLocation ; + mCurrentLocation = mCurrentTokenPtr->mEndLocation ; + } + } + #ifndef DO_NOT_GENERATE_CHECKINGS + if (currentTokenCode != inExpectedTerminal) { + const C_String currentTokenString = getMessageForTerminal (currentTokenCode) ; + const C_String expectedTokenString = getMessageForTerminal (inExpectedTerminal) ; + MF_AssertThere (false, + "Internal second pass parsing error (current token:%s, expected token:%s)", + (intptr_t) currentTokenString.cString (HERE), + (intptr_t) expectedTokenString.cString (HERE)) ; + } + #endif +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_Lexique::enterIndexing (const uint32_t inIndexingKind, + const char * inIndexedKeyPosfix) { + if ((nullptr != mIndexingDictionary) && (sourceText ().sourceFilePath ().length () > 0)) { + const uint32_t tokenStartLocation = (uint32_t) mCurrentTokenPtr->mStartLocation.index () ; + const uint32_t tokenLine = (uint32_t) mCurrentTokenPtr->mStartLocation.lineNumber () ; + const uint32_t tokenLength = ((uint32_t) mCurrentTokenPtr->mEndLocation.index ()) - tokenStartLocation + 1 ; + C_String indexedKey = sourceText ().sourceString ().subString ((int32_t) tokenStartLocation, (int32_t) tokenLength) + inIndexedKeyPosfix ; + mIndexingDictionary->addIndexedKey (inIndexingKind, + indexedKey, + sourceText ().sourceFilePath (), + tokenLine, + tokenStartLocation, + tokenLength) ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_Lexique::enableIndexing (void) { + macroMyNew (mIndexingDictionary, cIndexingDictionary) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_Lexique::generateIndexFile (void) { + if (nullptr != mIndexingDictionary) { + mIndexingDictionary->generateIndexFile (indexingModeOutputFilePath ()) ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Handling Parsing context +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +C_parsingContext C_Lexique::parsingContext (void) const { + C_parsingContext context ; + context.mParsingArrayIndex = mIndexForSecondPassParsing ; + context.mLocation = mCurrentLocation ; + context.mCurrentChar = mCurrentChar ; + context.mPreviousChar = mPreviousChar ; + context.mCurrentTokenPtr = mCurrentTokenPtr ; + context.mTemplateString = mTemplateString ; + return context ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_Lexique::setParsingContext (const C_parsingContext & inContext) { + mIndexForSecondPassParsing = inContext.mParsingArrayIndex ; + mCurrentTokenPtr = inContext.mCurrentTokenPtr ; + mCurrentLocation = inContext.mLocation ; + mCurrentChar = inContext.mCurrentChar ; + mPreviousChar = inContext.mPreviousChar ; + mTemplateString = inContext.mTemplateString ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark For Debugging parser +#endif + +//---------------------------------------------------------------------------------------------------------------------- +// +// For Debugging parser +// +//---------------------------------------------------------------------------------------------------------------------- + +void C_Lexique::enterProduction (const char * inProductionName, + const char * inLabel, + const char * inTag) { +//--- If Debug is not running, check if trigger list contains non terminal + if (! mDebugIsRunning) { + TC_UniqueArray stringArray ; + mTriggerNonTerminalSymbolList.componentsSeparatedByString (inProductionName, stringArray) ; + mDebugIsRunning = stringArray.count () > 1 ; + } + if (mDebugIsRunning) { + C_String message ; + for (uint16_t i=1 ; i 0) ? "|- " : "") << inProductionName ; + if (inLabel != nullptr) { + message << " label '" << inLabel << "'" ; + } + if ((inTag != nullptr) && (inTag [0] != '\0')) { + message << " tag '" << inTag << "'" ; + } + message << "\n" ; + ggs_printMessage (message COMMA_HERE) ; + mDebugDepthCounter ++ ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_Lexique::exitProduction (void) { + if (mDebugIsRunning) { + mDebugDepthCounter -- ; + mDebugIsRunning = mDebugDepthCounter > 0 ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_Lexique::didParseTerminal (const char * inTerminalName, + const C_String & inValue) { + if (mDebugIsRunning) { + C_String message ; + for (uint16_t i=1 ; i 0) ? "|- " : "") << inTerminalName ; + if (inValue.length () > 0) { + message << inValue ; + } + message << "\n" ; + ggs_printMessage (message COMMA_HERE) ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Generate Latex file +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +void C_Lexique::enterDroppedTerminal (const int32_t inTerminalIndex) { + if (executionModeIsLatex ()) { + while (mLatexNextCharacterToEnterIndex < mTokenStartLocation.index ()) { + const utf32 c = sourceText ().readCharOrNul (mLatexNextCharacterToEnterIndex COMMA_HERE) ; + appendCharacterToLatexFile (c) ; + mLatexNextCharacterToEnterIndex += 1 ; + } + const C_String styleName = styleNameForIndex (styleIndexForTerminal (inTerminalIndex)) ; + if (styleName.length () > 0) { + mLatexOutputString << "\\" << styleName << latexModeStyleSuffixString () << "{" ; + } + for (int32_t i=mTokenStartLocation.index () ; i<=mTokenEndLocation.index () ; i++) { + const utf32 c = sourceText ().readCharOrNul (i COMMA_HERE) ; + if (UNICODE_VALUE (c) != '\0') { + appendCharacterToLatexFile (c) ; + } + } + if (styleName.length () > 0) { + mLatexOutputString << "}" ; + } + //--- + mLatexNextCharacterToEnterIndex = mTokenEndLocation.index () + 1 ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_Lexique::appendCharacterToLatexFile (const utf32 inUnicodeCharacter) { + switch (UNICODE_VALUE (inUnicodeCharacter)) { + case '>' : mLatexOutputString << "\\textgreater{}" ; break ; + case '<' : mLatexOutputString << "\\textless{}" ; break ; + case '~' : mLatexOutputString << "$\\sim$" ; break ; + case '^' : mLatexOutputString << "$\\wedge$" ; break ; + case '|' : mLatexOutputString << "\\textbar{}" ; break ; + case '&' : mLatexOutputString << "\\&" ; break ; + case '%' : mLatexOutputString << "\\%" ; break ; + case '#' : mLatexOutputString << "\\#" ; break ; + case '$' : mLatexOutputString << "\\$" ; break ; +// case '`' : mLatexOutputString << "\\`{}" ; break ; + case ' ' : mLatexOutputString << "\\hspace*{.6em}" ; break ; + case '\n' : mLatexOutputString << "\\newline\n" ; break ; + case '{' : mLatexOutputString << "\\{" ; break ; + case '}' : mLatexOutputString << "\\}" ; break ; + case '_' : mLatexOutputString << "\\_" ; break ; + case '\\' : mLatexOutputString << "\\textbackslash{}" ; break ; + case '\'' : mLatexOutputString << "\\textquotesingle{}" ; break ; +// case '"' : mLatexOutputString << "\\textquotedbl{}" ; break ; + case '"' : mLatexOutputString << "\"" ; break ; + default: + mLatexOutputString.appendUnicodeCharacter (inUnicodeCharacter COMMA_HERE) ; + mLatexOutputString << "{}" ; + break ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_Lexique::signalLexicalErrorInLatexOutput (void) { + mLatexOutputString << "\\lexicalError" << latexModeStyleSuffixString () ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_Lexique::generateLatexFile (void) { + const C_String latexFilePath = sourceText ().sourceFilePath () + ".tex" ; +//--- Suppress last '\newline' + const C_String newLine = "\\newline\n" ; + if (mLatexOutputString.endsWithString (newLine)) { + mLatexOutputString = mLatexOutputString.subString (0, mLatexOutputString.length () - newLine.length ()) ; + } + C_FileManager::writeStringToFile (mLatexOutputString, latexFilePath) ; +} + +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/Lexique.h b/goil/build/libpm/galgas2/C_Lexique.h similarity index 59% rename from goil/build/libpm/galgas2/Lexique.h rename to goil/build/libpm/galgas2/C_Lexique.h index 04422fb1b..1b3b88ef8 100644 --- a/goil/build/libpm/galgas2/Lexique.h +++ b/goil/build/libpm/galgas2/C_Lexique.h @@ -1,11 +1,11 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// 'Lexique' : an abstract lexique class ; +// 'C_Lexique' : an abstract lexique class ; // Galgas generated scanner classes inherit from this class. // // This file is part of libpm library // -// Copyright (C) 1996, ..., 2023 Pierre Molinaro. +// Copyright (C) 1996, ..., 2022 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -17,63 +17,43 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "Compiler.h" -#include "cProductionNameDescriptor.h" -#include "cTemplateDelimiter.h" -#include "C_galgas_io.h" +#include "galgas2/C_Compiler.h" +#include "galgas2/cProductionNameDescriptor.h" +#include "galgas2/cTemplateDelimiter.h" +#include "galgas2/C_galgas_io.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cIndexingDictionary ; -//-------------------------------------------------------------------------------------------------- -// Top Down parsing utilities -//-------------------------------------------------------------------------------------------------- - -inline int32_t TOP_DOWN_TERMINAL (const int32_t inSymbol) { return inSymbol + 1 ; } - -inline int32_t TOP_DOWN_NONTERMINAL (const int32_t inSymbol) { return - inSymbol - 1 ; } - -inline int32_t TOP_DOWN_END_PRODUCTION (void) { return 0 ; } - -//-------------------------------------------------------------------------------------------------- -// Bottom Up parsing utilities -//-------------------------------------------------------------------------------------------------- - -inline int32_t BOTTOM_UP_SHIFT (const int32_t inSymbol) { return inSymbol + 2 ; } - -inline int32_t BOTTOM_UP_REDUCE (const int32_t inSymbol) { return - inSymbol - 1 ; } - -inline int32_t BOTTOM_UP_ACCEPT (void) { return 1 ; } - -inline int32_t BOTTOM_UP_END (void) { return -1 ; } - -//-------------------------------------------------------------------------------------------------- -// Lexique class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +// Lexique class +// +//---------------------------------------------------------------------------------------------------------------------- -class Lexique : public Compiler { +class C_Lexique : public C_Compiler { //--- Constructors and destructor - public: Lexique (Compiler * inCallerCompiler, - const String & inSourceFileName - COMMA_LOCATION_ARGS) ; + public: C_Lexique (C_Compiler * inCallerCompiler, + const C_String & inSourceFileName + COMMA_LOCATION_ARGS) ; - public: Lexique (Compiler * inCallerCompiler, - const String & inSourceString, - const String & inStringForError - COMMA_LOCATION_ARGS) ; + public: C_Lexique (C_Compiler * inCallerCompiler, + const C_String & inSourceString, + const C_String & inStringForError + COMMA_LOCATION_ARGS) ; - public: virtual ~Lexique (void) ; + public: virtual ~C_Lexique (void) ; //--- No copy - private: Lexique (const Lexique &) = delete ; - private: Lexique & operator = (const Lexique &) = delete ; + private: C_Lexique (const C_Lexique &) ; + private: C_Lexique & operator = (const C_Lexique &) ; //--- Indexing public: void enterIndexing (const uint32_t inIndexingKind, @@ -83,7 +63,7 @@ class Lexique : public Compiler { protected: cIndexingDictionary * mIndexingDictionary ; //--- Template String - protected: int32_t findTemplateDelimiterIndex (const cTemplateDelimiter * inTemplateDelimiterArray, + protected: int32_t findTemplateDelimiterIndex (const cTemplateDelimiter inTemplateDelimiterArray [], const int32_t inTemplateDelimiterArrayLength) ; //--- Token list @@ -92,7 +72,7 @@ class Lexique : public Compiler { private: cToken * mCurrentTokenPtr ; protected: void enterTokenFromPointer (cToken * inToken) ; private: int32_t mLastSeparatorIndex ; - public: void appendLastSeparatorTo (String & ioString) const ; + public: void appendLastSeparatorTo (C_String & ioString) const ; protected: cToken * currentTokenPtr (LOCATION_ARGS) const { macroValidPointerThere (mCurrentTokenPtr) ; @@ -100,8 +80,8 @@ class Lexique : public Compiler { } //--- Syntax directed translation : accessing current token - public: virtual String separatorString (void) const ; - public: String tokenString (void) const ; + public: virtual C_String separatorString (void) const ; + public: C_String tokenString (void) const ; //--- Current character protected: utf32 mCurrentChar ; @@ -113,15 +93,15 @@ class Lexique : public Compiler { } //--- Locations for current token (significant only during lexical analysis phase) - protected: LocationInSource mTokenStartLocation ; - protected: LocationInSource mTokenEndLocation ; + protected: C_LocationInSource mTokenStartLocation ; + protected: C_LocationInSource mTokenEndLocation ; //--- Advance protected: void advance (void) ; // One character protected: void advance (const int32_t inCount) ; // Several characters //--- For Debugging parser - private: String mTriggerNonTerminalSymbolList ; + private: C_String mTriggerNonTerminalSymbolList ; private: uint16_t mDebugDepthCounter ; private: bool mDebugIsRunning ; @@ -130,7 +110,7 @@ class Lexique : public Compiler { const char * inTag) ; public: void didParseTerminal (const char * inTerminalName, - const String & inValue) ; + const C_String & inValue) ; public: void exitProduction (void) ; @@ -138,8 +118,8 @@ class Lexique : public Compiler { private: void resetForSecondPass (void) ; //--- Handling parsing context (for parse ... rewind ... end parse ; instruction) - public: ParsingContext parsingContext (void) const ; - public: void setParsingContext (const ParsingContext & inContext) ; + public: C_parsingContext parsingContext (void) const ; + public: void setParsingContext (const C_parsingContext & inContext) ; //--- Internal error during bottom-up parsing public: void internalBottomUpParserError (LOCATION_ARGS) ; @@ -147,11 +127,11 @@ class Lexique : public Compiler { //--- Handling lexical error protected: void unknownCharacterLexicalError (LOCATION_ARGS) ; - public: void lexicalError (const String & inLexicalErrorMessage + public: void lexicalError (const C_String & inLexicalErrorMessage COMMA_LOCATION_ARGS) ; //--- Signal a lexical warning - protected: void lexicalWarning (const String & messageAlerte COMMA_LOCATION_ARGS) ; + protected: void lexicalWarning (const C_String & messageAlerte COMMA_LOCATION_ARGS) ; //--- Handling syntax error private: void parsingError (const TC_UniqueArray & inExpectedTerminalsArray, @@ -161,16 +141,16 @@ class Lexique : public Compiler { COMMA_LOCATION_ARGS) ; //--- Get message for terminal - protected: virtual String getMessageForTerminal (const int32_t inTerminalSymbol) const = 0 ; + protected: virtual C_String getMessageForTerminal (const int32_t inTerminalSymbol) const = 0 ; //--- Static method for searching a string in an ordered list // returns -1 if not found, and associated code if found - protected: static int32_t searchInList (const String & inString, - const C_unicode_lexique_table_entry * inTableArray, + protected: static int32_t searchInList (const C_String & inString, + const C_unicode_lexique_table_entry inTable [], const int32_t inTableSize) ; //--- Get Token String - public: virtual String getCurrentTokenString (const cToken * inTokenPtr) const = 0 ; + public: virtual C_String getCurrentTokenString (const cToken * inTokenPtr) const = 0 ; //--- Lexical analysis methods public: void performLexicalAnalysis (void) ; @@ -182,10 +162,12 @@ class Lexique : public Compiler { protected: bool testForInputUTF32Char (const utf32 inTestCharacter) ; - protected: bool testForInputUTF32String (const std::initializer_list & inTestString, + protected: bool testForInputUTF32String (const utf32 * inTestString, + const int32_t inStringLength, const bool inAdvanceOnMatch) ; - protected: bool notTestForInputUTF32String (const std::initializer_list & inTestString, + protected: bool notTestForInputUTF32String (const utf32 * inTestString, + const int32_t inStringLength, const char * inEndOfFileErrorMessage COMMA_LOCATION_ARGS) ; @@ -197,40 +179,40 @@ class Lexique : public Compiler { public: virtual int32_t terminalVocabularyCount (void) const = 0 ; //--- Perform top down parsing (called by LL (1) parser) - public: bool performTopDownParsing (const int32_t * inProductionArray, - const cProductionNameDescriptor * inProductionNameArray, - const int32_t * inProductionIndexnArray, - const int32_t * inFirstProductionIndexArray, - const int32_t * inDecisionTableArray, - const int32_t * inDecisionTableIndexArray, + public: bool performTopDownParsing (const int32_t inProductions [], + const cProductionNameDescriptor inProductionNames [], + const int32_t inProductionIndexes [], + const int32_t inFirstProductionIndex [], + const int32_t inDecisionTable [], + const int32_t inDecisionTableIndexes [], const int32_t inProgramCounterInitialValue) ; private: void buildExpectedTerminalsArrayOnSyntaxError (const int32_t inErrorProgramCounter, const int32_t inErrorStackCount, const TC_Array & inCurrentStack, const TC_Array & inErrorStack, - const int32_t * inProductionArray, - const int32_t * inProductionIndexArray, - const int32_t * inFirstProductionIndexArray, - const int32_t * inDecisionTableArray, - const int32_t * inDecisionTableIndexArray, + const int32_t inProductions [], + const int32_t inProductionIndexes [], + const int32_t inFirstProductionIndex [], + const int32_t inDecisionTable [], + const int32_t inDecisionTableIndexes [], TC_UniqueArray & outExpectedTerminalsArray) ; private: bool acceptTerminalForErrorSignaling (const int32_t inTerminal, - const int32_t * inProductionArray, - const int32_t * inProductionIndexArray, - const int32_t * inFirstProductionIndexArray, - const int32_t * inDecisionTableArray, - const int32_t * inDecisionTableIndexArray, + const int32_t inProductions [], + const int32_t inProductionIndexes [], + const int32_t inFirstProductionIndex [], + const int32_t inDecisionTable [], + const int32_t inDecisionTableIndexes [], const TC_Array & inErrorStack, const int32_t inErrorProgramCounter) ; //--- Perform bottom up parsing (called by SLR and LR(1) parsers) - public: bool performBottomUpParsing (const int32_t * inActionTableArray, - const char * * inNonTerminalSymbolNameArray, - const uint32_t * inActionTableIndexArray, - const int32_t * * inSuccessorTableArray, - const int32_t * inProductionsTableArray) ; + public: bool performBottomUpParsing (const int32_t inActionTable [], + const char * inNonTerminalSymbolNames [], + const uint32_t inActionTableIndex [], + const int32_t * inSuccessorTable [], + const int32_t inProductionsTable []) ; //--- Scanner pure virtual methods protected: virtual bool parseLexicalToken (void) = 0 ; @@ -240,7 +222,7 @@ class Lexique : public Compiler { private: int32_t mIndexForSecondPassParsing ; //--- Latex string (for --mode=latex command line option) - private: String mLatexOutputString ; + private: C_String mLatexOutputString ; private: int32_t mLatexNextCharacterToEnterIndex ; private: void generateLatexFile (void) ; private: void appendCharacterToLatexFile (const utf32 inUnicodeCharacter) ; @@ -248,7 +230,7 @@ class Lexique : public Compiler { protected: void signalLexicalErrorInLatexOutput (void) ; //--- Style name protected: virtual uint32_t styleIndexForTerminal (const int32_t inTerminalIndex) const = 0 ; - protected: virtual String styleNameForIndex (const uint32_t inStyleIndex) const = 0 ; + protected: virtual C_String styleNameForIndex (const uint32_t inStyleIndex) const = 0 ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/LocationInSource.cpp b/goil/build/libpm/galgas2/C_LocationInSource.cpp similarity index 59% rename from goil/build/libpm/galgas2/LocationInSource.cpp rename to goil/build/libpm/galgas2/C_LocationInSource.cpp index 2374709cb..08b4034ae 100644 --- a/goil/build/libpm/galgas2/LocationInSource.cpp +++ b/goil/build/libpm/galgas2/C_LocationInSource.cpp @@ -1,6 +1,6 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// 'LocationInSource' +// 'C_LocationInSource' // // This file is part of libpm library // @@ -16,26 +16,26 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "LocationInSource.h" -#include "SourceTextInString.h" -#include "String-class.h" +#include "galgas2/C_LocationInSource.h" +#include "galgas2/C_SourceTextInString.h" +#include "strings/C_String.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -LocationInSource::LocationInSource (void) : +C_LocationInSource::C_LocationInSource (void) : mIndex (0), mLineNumber (1), mColumnNumber (1), mSourceText () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void LocationInSource::gotoNextLocation (void) { +void C_LocationInSource::gotoNextLocation (void) { if (mIndex < mSourceText.sourceString ().length ()) { - const utf32 currentChar = mSourceText.sourceString ().charAtIndex (mIndex COMMA_HERE) ; + const utf32 currentChar = mSourceText.sourceString () (mIndex COMMA_HERE) ; const bool previousCharWasEndOfLine = UNICODE_VALUE (currentChar) == '\n' ; if (previousCharWasEndOfLine) { mLineNumber ++ ; @@ -47,9 +47,9 @@ void LocationInSource::gotoNextLocation (void) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void LocationInSource::goForward (const uint32_t inCount) { +void C_LocationInSource::goForward (const uint32_t inCount) { uint32_t count = inCount ; while (count > 0) { gotoNextLocation () ; @@ -57,39 +57,33 @@ void LocationInSource::goForward (const uint32_t inCount) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void LocationInSource::resetLocation (void) { +void C_LocationInSource::resetLocation (void) { mIndex = 0 ; mLineNumber = 1 ; mColumnNumber = 1 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void LocationInSource::resetWithSourceText (const SourceTextInString & inSourceText) { +void C_LocationInSource::resetWithSourceText (const C_SourceTextInString & inSourceText) { mIndex = 0 ; mLineNumber = 1 ; mColumnNumber = 1 ; mSourceText = inSourceText ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String LocationInSource::sourceFilePath (void) const { +C_String C_LocationInSource::sourceFilePath (void) const { return mSourceText.sourceFilePath () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -int32_t LocationInSource::lineNumber (void) const { - return mLineNumber ; -} - -//-------------------------------------------------------------------------------------------------- - -int32_t LocationInSource::columnNumber (void) const { - return mColumnNumber ; -} +//LineColumnContents C_LocationInSource::lineColumnNumber (void) const { +// return mSourceText.sourceString ().lineAndColumnFromIndex (mIndex) ; +//} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/LocationInSource.h b/goil/build/libpm/galgas2/C_LocationInSource.h similarity index 59% rename from goil/build/libpm/galgas2/LocationInSource.h rename to goil/build/libpm/galgas2/C_LocationInSource.h index 36c07cbed..cab2fb23a 100644 --- a/goil/build/libpm/galgas2/LocationInSource.h +++ b/goil/build/libpm/galgas2/C_LocationInSource.h @@ -1,6 +1,6 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// 'LocationInSource' +// 'C_LocationInSource' // // This file is part of libpm library // @@ -16,33 +16,33 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "M_machine.h" -#include "macroAssert.h" -#include "SourceTextInString.h" +#include "utilities/M_machine.h" +#include "utilities/MF_Assert.h" +#include "galgas2/C_SourceTextInString.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class String ; +class C_String ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Class for referencing a location in source text // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class LocationInSource final { +class C_LocationInSource final { private: int32_t mIndex ; private: int32_t mLineNumber ; private: int32_t mColumnNumber ; - private: SourceTextInString mSourceText ; + private: C_SourceTextInString mSourceText ; - public: LocationInSource (void) ; + public: C_LocationInSource (void) ; public: void gotoNextLocation (void) ; @@ -50,15 +50,17 @@ class LocationInSource final { public: void resetLocation (void) ; - public: void resetWithSourceText (const SourceTextInString & inSourceText) ; + public: void resetWithSourceText (const C_SourceTextInString & inSourceText) ; public: inline int32_t index (void) const { return mIndex ; } - public: int32_t lineNumber (void) const ; + public: inline int32_t lineNumber (void) const { return mLineNumber ; } - public: int32_t columnNumber (void) const ; + public: inline int32_t columnNumber (void) const { return mColumnNumber ; } - public: String sourceFilePath (void) const ; +// public: LineColumnContents lineColumnNumber (void) const ; + + public: C_String sourceFilePath (void) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/SourceTextInString.cpp b/goil/build/libpm/galgas2/C_SourceTextInString.cpp similarity index 58% rename from goil/build/libpm/galgas2/SourceTextInString.cpp rename to goil/build/libpm/galgas2/C_SourceTextInString.cpp index 6724f3153..70098a88a 100644 --- a/goil/build/libpm/galgas2/SourceTextInString.cpp +++ b/goil/build/libpm/galgas2/C_SourceTextInString.cpp @@ -1,6 +1,6 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// 'SourceTextInString' +// 'C_SourceTextInString' // // This file is part of libpm library // @@ -16,52 +16,52 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "SourceTextInString.h" -#include "LocationInSource.h" +#include "galgas2/C_SourceTextInString.h" +#include "galgas2/C_LocationInSource.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -SourceTextInString::SourceTextInString (void) : +C_SourceTextInString::C_SourceTextInString (void) : mObject (nullptr) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -SourceTextInString::SourceTextInString (const String & inSourceString, - const String & inFilePath, +C_SourceTextInString::C_SourceTextInString (const C_String & inSourceString, + const C_String & inFilePath, const bool inShowSourceOnDetailledErrorMessage) : mObject (nullptr) { macroMyNew (mObject, cSourceTextInString (inSourceString, inFilePath, inShowSourceOnDetailledErrorMessage COMMA_HERE)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -SourceTextInString::~ SourceTextInString (void) { +C_SourceTextInString::~ C_SourceTextInString (void) { macroDetachSharedObject (mObject) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -SourceTextInString::SourceTextInString (const SourceTextInString & inSource) : +C_SourceTextInString::C_SourceTextInString (const C_SourceTextInString & inSource) : mObject (nullptr) { macroAssignSharedObject (mObject, inSource.mObject) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -SourceTextInString & SourceTextInString::operator = (const SourceTextInString & inSource) { +C_SourceTextInString & C_SourceTextInString::operator = (const C_SourceTextInString & inSource) { if (this != & inSource) { macroAssignSharedObject (mObject, inSource.mObject) ; } return *this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String SourceTextInString::getLineForLocation (const LocationInSource & inLocation) const { - String errorLine ; +C_String C_SourceTextInString::getLineForLocation (const C_LocationInSource & inLocation) const { + C_String errorLine ; if (nullptr != mObject) { const int32_t sourceTextLength = mObject->mSourceString.length () ; int32_t index = 0 ; @@ -76,23 +76,23 @@ String SourceTextInString::getLineForLocation (const LocationInSource & inLocati } //--- Get error line text for (int32_t i=index ; (imSourceString.readCharOrNul (i COMMA_HERE)) != '\n') ; i++) { - const utf32 character = mObject->mSourceString.charAtIndex (i COMMA_HERE) ; - errorLine.appendChar (character) ; + const utf32 character = mObject->mSourceString (i COMMA_HERE) ; + errorLine.appendUnicodeCharacter (character COMMA_HERE) ; } } return errorLine ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void SourceTextInString::appendSourceContents (String & ioMessage) const { +void C_SourceTextInString::appendSourceContents (C_String & ioMessage) const { if ((nullptr != mObject) && mObject->mShowSourceOnDetailledErrorMessage) { - const bool insertCarriageReturn = (mObject->mSourceString.length () > 0) && (UNICODE_VALUE (mObject->mSourceString.lastChar (HERE)) != '\n') ; - ioMessage.appendCString ("-- SOURCE STRING (--verbose option) --\n") ; - ioMessage.appendString (mObject->mSourceString) ; - ioMessage.appendString (insertCarriageReturn ? "\n" : "") ; - ioMessage.appendCString ("-------------------------------------------------------\n") ; + const bool insertCarriageReturn = (mObject->mSourceString.length () > 0) && (UNICODE_VALUE (mObject->mSourceString.lastCharacter (HERE)) != '\n') ; + ioMessage << "-- SOURCE STRING (--verbose option) --\n" + << mObject->mSourceString + << (insertCarriageReturn ? "\n" : "") + << "-------------------------------------------------------\n" ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/SourceTextInString.h b/goil/build/libpm/galgas2/C_SourceTextInString.h similarity index 51% rename from goil/build/libpm/galgas2/SourceTextInString.h rename to goil/build/libpm/galgas2/C_SourceTextInString.h index 6d1e69d35..c3a46f7ca 100644 --- a/goil/build/libpm/galgas2/SourceTextInString.h +++ b/goil/build/libpm/galgas2/C_SourceTextInString.h @@ -1,6 +1,6 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// 'SourceTextInString' +// 'C_SourceTextInString' // // This file is part of libpm library // @@ -16,78 +16,81 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "String-class.h" -#include "SharedObject.h" +#include "strings/C_String.h" +#include "utilities/C_SharedObject.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Classes for handling source text // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class cSourceTextInString final : public SharedObject { +class cSourceTextInString final : public C_SharedObject { //--- Constructor - public: cSourceTextInString (const String & inSourceString, - const String & inFilePath, + public: cSourceTextInString (const C_String & inSourceString, + const C_String & inFilePath, const bool inShowSourceOnDetailledErrorMessage COMMA_LOCATION_ARGS) : - SharedObject (THERE), + C_SharedObject (THERE), mFilePath (inFilePath), mSourceString (inSourceString), mShowSourceOnDetailledErrorMessage (inShowSourceOnDetailledErrorMessage) { } - public: String mFilePath ; - public: String mSourceString ; + public: C_String mFilePath ; + public: C_String mSourceString ; public: bool mShowSourceOnDetailledErrorMessage ; //--- No copy - private: cSourceTextInString (const cSourceTextInString &) = delete ; - private: cSourceTextInString & operator = (const cSourceTextInString &) = delete ; + private: cSourceTextInString (const cSourceTextInString &) ; + private: cSourceTextInString & operator = (const cSourceTextInString &) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class SourceTextInString final { +class C_SourceTextInString { //--- Default constructor - public: SourceTextInString (void) ; + public: C_SourceTextInString (void) ; //--- Constructor - public: SourceTextInString (const String & inSourceString, - const String & inFilePath, - const bool inShowSourceOnDetailledErrorMessage) ; + public: C_SourceTextInString (const C_String & inSourceString, + const C_String & inFilePath, + const bool inShowSourceOnDetailledErrorMessage) ; //--- Default constructor - public: ~ SourceTextInString (void) ; + public: virtual ~ C_SourceTextInString (void) ; //--- Handle copy - public: SourceTextInString (const SourceTextInString & inSource) ; - public: SourceTextInString & operator = (const SourceTextInString & inSource) ; + public: C_SourceTextInString (const C_SourceTextInString & inSource) ; + public: C_SourceTextInString & operator = (const C_SourceTextInString & inSource) ; - public: inline String sourceFilePath (void) const { - return (mObject == nullptr) ? String () : mObject->mFilePath ; +//--- Source file Name + private: cSourceTextInString * mObject ; + + public: inline C_String sourceFilePath (void) const { + return (mObject == nullptr) ? "" : mObject->mFilePath ; } //--- Source text - public: inline String sourceString (void) const { - return (mObject == nullptr) ? String () : mObject->mSourceString ; + public: inline C_String sourceString (void) const { + return (mObject == nullptr) ? "" : mObject->mSourceString ; } public: inline bool isValid (void) const { return mObject != nullptr ; } - public: inline bool operator == (const SourceTextInString & inOther) const { + public: inline bool operator == (const C_SourceTextInString & inOther) const { return mObject == inOther.mObject ; } - public: inline bool operator != (const SourceTextInString & inOther) const { + public: inline bool operator != (const C_SourceTextInString & inOther) const { return mObject != inOther.mObject ; } @@ -99,12 +102,13 @@ class SourceTextInString final { return (mObject == nullptr) ? TO_UNICODE (0) : mObject->mSourceString.readCharOrNul (inIndex COMMA_THERE) ; } - public: String getLineForLocation (const class LocationInSource & inLocation) const ; + public: const utf32 * temporaryUTF32StringAtIndex (const int32_t inIndex COMMA_LOCATION_ARGS) const { + return (mObject == nullptr) ? nullptr : & (mObject->mSourceString.utf32String (THERE)) [inIndex] ; + } - public: void appendSourceContents (String & ioMessage) const ; + public: C_String getLineForLocation (const class C_LocationInSource & inLocation) const ; -//--- Private property - private: cSourceTextInString * mObject ; + public: void appendSourceContents (C_String & ioMessage) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/C_galgas_CLI_Options.cpp b/goil/build/libpm/galgas2/C_galgas_CLI_Options.cpp index e2c94241b..7ee516982 100644 --- a/goil/build/libpm/galgas2/C_galgas_CLI_Options.cpp +++ b/goil/build/libpm/galgas2/C_galgas_CLI_Options.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Built-in GALGAS Command Line Interface Options // @@ -16,13 +16,14 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "C_galgas_CLI_Options.h" -#include "C_galgas_CLI_Options.h" -#include "PrologueEpilogue.h" +#include "galgas2/C_galgas_CLI_Options.h" +#include "galgas2/C_galgas_CLI_Options.h" +//#include "streams/C_TCPSocketOut.h" +#include "utilities/C_PrologueEpilogue.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_BoolCommandLineOption gOption_galgas_5F_builtin_5F_options_outputConcreteSyntaxTree ("galgas_builtin_options", "outputConcreteSyntaxTree", @@ -30,7 +31,7 @@ C_BoolCommandLineOption gOption_galgas_5F_builtin_5F_options_outputConcreteSynta "output-concrete-syntax-tree", "Generate the concrete syntax tree, in .dot format (suitable for Graphviz)") ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_BoolCommandLineOption gOption_galgas_5F_builtin_5F_options_log_5F_file_5F_read ("galgas_cli_options", @@ -39,7 +40,7 @@ gOption_galgas_5F_builtin_5F_options_log_5F_file_5F_read ("galgas_cli_options", "log-file-read", "Log every file read") ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_BoolCommandLineOption gOption_galgas_5F_builtin_5F_options_do_5F_not_5F_generate_5F_any_5F_file ("galgas_cli_options", @@ -48,7 +49,7 @@ gOption_galgas_5F_builtin_5F_options_do_5F_not_5F_generate_5F_any_5F_file ("galg "no-file-generation", "Do not generate any file") ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_BoolCommandLineOption gOption_galgas_5F_builtin_5F_options_treat_5F_warnings_5F_as_5F_error ("galgas_cli_options", @@ -57,7 +58,7 @@ gOption_galgas_5F_builtin_5F_options_treat_5F_warnings_5F_as_5F_error ("galgas_c "Werror", "Treat warnings as errors") ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_UIntCommandLineOption gOption_galgas_5F_builtin_5F_options_max_5F_errors ("galgas_cli_options", @@ -67,7 +68,7 @@ gOption_galgas_5F_builtin_5F_options_max_5F_errors ("galgas_cli_options", "Stop after the given number of errors has been reached", 100) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_UIntCommandLineOption gOption_galgas_5F_builtin_5F_options_max_5F_warnings ("galgas_cli_options", @@ -77,7 +78,7 @@ gOption_galgas_5F_builtin_5F_options_max_5F_warnings ("galgas_cli_options", "Stop after the given number of warnings has been reached", 100) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_StringCommandLineOption gOption_galgas_5F_builtin_5F_options_mode ("galgas_cli_options", "mode", @@ -86,7 +87,7 @@ C_StringCommandLineOption gOption_galgas_5F_builtin_5F_options_mode ("galgas_cli "'lexical-only', 'syntax-only' or 'latex'", "") ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_StringCommandLineOption gOption_galgas_5F_builtin_5F_options_outputKeywordList ("galgas_cli_options", "outputKeywordList", @@ -95,21 +96,21 @@ C_StringCommandLineOption gOption_galgas_5F_builtin_5F_options_outputKeywordList "Output a Latex file containing keyword list", "") ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // EXECUTION MODE // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static EnumExecutionMode gExecutionMode = kExecutionModeNormal ; -static String gModeLatexSuffixString ; -static String gModeIndexingOutputFilePath ; +static C_String gModeLatexSuffixString ; +static C_String gModeIndexingOutputFilePath ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void setExecutionMode (String & outErrorMessage) { - const String mode = gOption_galgas_5F_builtin_5F_options_mode.mValue ; - TC_UniqueArray modeComponents ; +void setExecutionMode (C_String & outErrorMessage) { + const C_String mode = gOption_galgas_5F_builtin_5F_options_mode.mValue ; + TC_UniqueArray modeComponents ; mode.componentsSeparatedByString (":", modeComponents) ; if (mode == "") { gExecutionMode = kExecutionModeNormal ; @@ -125,77 +126,75 @@ void setExecutionMode (String & outErrorMessage) { gModeLatexSuffixString = modeComponents (1 COMMA_HERE) ; bool ok = true ; for (int32_t i=0 ; (i= 'A') && (c <= 'Z')) || ((c >= 'a') && (c <= 'z')) ; } if (! ok) { - outErrorMessage.appendCString ("** Fatal Error: invalid '--mode=latex:suffix' parameter; suffix should contain only letters\n") ; + outErrorMessage << "** Fatal Error: invalid '--mode=latex:suffix' parameter; suffix should contain only letters\n" ; } }else if ((modeComponents.count () == 1) && (mode == "latex")) { gExecutionMode = kExecutionModeLatex ; gModeLatexSuffixString = "" ; }else{ - outErrorMessage.appendCString ("** Fatal Error: invalid '--mode=") ; - outErrorMessage.appendString (mode) ; - outErrorMessage.appendCString ("' parameter; it should be:\n" + outErrorMessage << "** Fatal Error: invalid '--mode=" << mode << "' parameter; it should be:\n" " --mode= default mode: perform compilation;\n" " --mode=lexical-only perform only lexical analysis;\n" " --mode=syntax-only perform only syntax analysis;\n" - " --mode=latex:suffix perform latex formatting.\n") ; + " --mode=latex:suffix perform latex formatting.\n" ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- EnumExecutionMode executionMode (void) { return gExecutionMode ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool executionModeIsLexicalAnalysisOnly (void) { return gExecutionMode == kExecutionModeLexicalAnalysisOnly ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool executionModeIsSyntaxAnalysisOnly (void) { return gExecutionMode == kExecutionModeSyntaxAnalysisOnly ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool executionModeIsIndexing (void) { return gExecutionMode == kExecutionModeIndexing ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool executionModeIsLatex (void) { return gExecutionMode == kExecutionModeLatex ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String latexModeStyleSuffixString (void) { +C_String latexModeStyleSuffixString (void) { return gModeLatexSuffixString ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String indexingModeOutputFilePath (void) { +C_String indexingModeOutputFilePath (void) { return gModeIndexingOutputFilePath ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void epilogueAction (void) { - gModeLatexSuffixString.removeAll () ; + gModeLatexSuffixString.releaseString () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -PrologueEpilogue prologueEpilogue (nullptr, epilogueAction) ; +C_PrologueEpilogue prologueEpilogue (nullptr, epilogueAction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/C_galgas_CLI_Options.h b/goil/build/libpm/galgas2/C_galgas_CLI_Options.h index a8a9c0a4c..3a79d02b8 100644 --- a/goil/build/libpm/galgas2/C_galgas_CLI_Options.h +++ b/goil/build/libpm/galgas2/C_galgas_CLI_Options.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS Command Line Interface Options // @@ -16,51 +16,51 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "C_BoolCommandLineOption.h" -#include "C_UIntCommandLineOption.h" -#include "C_StringCommandLineOption.h" +#include "command_line_interface/C_BoolCommandLineOption.h" +#include "command_line_interface/C_UIntCommandLineOption.h" +#include "command_line_interface/C_StringCommandLineOption.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern C_BoolCommandLineOption gOption_galgas_5F_builtin_5F_options_outputConcreteSyntaxTree ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern C_BoolCommandLineOption gOption_galgas_5F_builtin_5F_options_log_5F_file_5F_read ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern C_BoolCommandLineOption gOption_galgas_5F_builtin_5F_options_do_5F_not_5F_generate_5F_any_5F_file ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern C_BoolCommandLineOption gOption_galgas_5F_builtin_5F_options_treat_5F_warnings_5F_as_5F_error ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern C_UIntCommandLineOption gOption_galgas_5F_builtin_5F_options_max_5F_errors ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern C_UIntCommandLineOption gOption_galgas_5F_builtin_5F_options_max_5F_warnings ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern C_StringCommandLineOption gOption_galgas_5F_builtin_5F_options_mode ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern C_StringCommandLineOption gOption_galgas_5F_builtin_5F_options_outputKeywordList ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void setExecutionMode (String & outErrorMessage) ; +void setExecutionMode (C_String & outErrorMessage) ; typedef enum { kExecutionModeNormal, @@ -80,8 +80,8 @@ bool executionModeIsIndexing (void) ; bool executionModeIsLatex (void) ; -String latexModeStyleSuffixString (void) ; +C_String latexModeStyleSuffixString (void) ; -String indexingModeOutputFilePath (void) ; +C_String indexingModeOutputFilePath (void) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/C_galgas_class_inspector.cpp b/goil/build/libpm/galgas2/C_galgas_class_inspector.cpp index adebd88b6..7eef3cf44 100644 --- a/goil/build/libpm/galgas2/C_galgas_class_inspector.cpp +++ b/goil/build/libpm/galgas2/C_galgas_class_inspector.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS introspection classes // @@ -16,15 +16,15 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "C_galgas_class_inspector.h" +#include "galgas2/C_galgas_class_inspector.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static C_galgas_class_inspector * gClassListRoot = nullptr ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_galgas_class_inspector::C_galgas_class_inspector (const std::type_info * inClassID, const std::type_info * inSuperClassID, @@ -36,10 +36,10 @@ mClassMessage (inClassMessage) { gClassListRoot = this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_galgas_class_inspector * C_galgas_class_inspector::root (void) { return gClassListRoot ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/C_galgas_class_inspector.h b/goil/build/libpm/galgas2/C_galgas_class_inspector.h index 46c44fffb..79e277770 100644 --- a/goil/build/libpm/galgas2/C_galgas_class_inspector.h +++ b/goil/build/libpm/galgas2/C_galgas_class_inspector.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS introspection classes // @@ -16,15 +16,15 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class C_galgas_class_inspector { //--- Attributes @@ -46,4 +46,4 @@ class C_galgas_class_inspector { private: C_galgas_class_inspector & operator = (const C_galgas_class_inspector &) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/C_galgas_function_descriptor.cpp b/goil/build/libpm/galgas2/C_galgas_function_descriptor.cpp index 8cc7f13d8..410904e26 100644 --- a/goil/build/libpm/galgas2/C_galgas_function_descriptor.cpp +++ b/goil/build/libpm/galgas2/C_galgas_function_descriptor.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS introspection classes // @@ -16,19 +16,19 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "C_galgas_function_descriptor.h" +#include "galgas2/C_galgas_function_descriptor.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS function descriptor (for function introspection) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static C_galgas_function_descriptor * gGalgasFunctionListRoot = nullptr ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_galgas_function_descriptor:: C_galgas_function_descriptor (const char * inFunctionName, @@ -45,10 +45,10 @@ mFormalParameterTypeList (inParameterTypeList) { gGalgasFunctionListRoot = this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_galgas_function_descriptor * C_galgas_function_descriptor::functionListRoot (void) { return gGalgasFunctionListRoot ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/C_galgas_function_descriptor.h b/goil/build/libpm/galgas2/C_galgas_function_descriptor.h index 09374d945..b6aa06b2c 100644 --- a/goil/build/libpm/galgas2/C_galgas_function_descriptor.h +++ b/goil/build/libpm/galgas2/C_galgas_function_descriptor.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS introspection classes // @@ -16,39 +16,39 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "MF_MemoryControl.h" +#include "utilities/MF_MemoryControl.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class Compiler ; +class C_Compiler ; class GALGAS_location ; class GALGAS_object ; class C_galgas_type_descriptor ; class GALGAS_objectlist ; class cObjectArray ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS function prototype (for function introspection) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -typedef GALGAS_object (*functionPrototypeForIntrospection) (Compiler * inCompiler, +typedef GALGAS_object (*functionPrototypeForIntrospection) (C_Compiler * inCompiler, const cObjectArray & inEffectiveParameterArray, const GALGAS_location & inErrorLocation COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS function descriptor (for function introspection) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class C_galgas_function_descriptor { //--- Attributes @@ -74,4 +74,4 @@ class C_galgas_function_descriptor { private: C_galgas_function_descriptor & operator = (const C_galgas_function_descriptor &) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/C_galgas_io.cpp b/goil/build/libpm/galgas2/C_galgas_io.cpp index 124784b1d..519a7f472 100644 --- a/goil/build/libpm/galgas2/C_galgas_io.cpp +++ b/goil/build/libpm/galgas2/C_galgas_io.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'C_galgas_io' // @@ -16,84 +16,87 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "C_galgas_io.h" -#include "C_ConsoleOut.h" -#include "C_ErrorOut.h" -#include "C_builtin_CLI_Options.h" -#include "F_Analyze_CLI_Options.h" -#include "C_galgas_CLI_Options.h" -#include "C_galgas_class_inspector.h" -#include "F_verbose_output.h" -#include "cIssueDescriptor.h" -#include "Compiler.h" +#include "galgas2/C_galgas_io.h" +#include "streams/C_ConsoleOut.h" +#include "streams/C_ErrorOut.h" +#include "command_line_interface/C_builtin_CLI_Options.h" +#include "command_line_interface/F_Analyze_CLI_Options.h" +#include "galgas2/C_galgas_CLI_Options.h" +#include "galgas2/C_galgas_class_inspector.h" +#include "galgas2/F_verbose_output.h" +#include "galgas2/cIssueDescriptor.h" +#include "galgas2/C_Compiler.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark C_unicode_lexique_table_entry #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_unicode_lexique_table_entry::C_unicode_lexique_table_entry (const std::initializer_list & inEntryString, +C_unicode_lexique_table_entry::C_unicode_lexique_table_entry (const utf32 * inEntryString, + const int16_t inEntryStringLength, const int16_t inTokenCode) : mEntryString (inEntryString), +mEntryStringLength (inEntryStringLength), mTokenCode (inTokenCode) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_unicode_lexique_table_entry::C_unicode_lexique_table_entry (const C_unicode_lexique_table_entry & inOperand) : mEntryString (inOperand.mEntryString), +mEntryStringLength (inOperand.mEntryStringLength), mTokenCode (inOperand.mTokenCode) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Exceptions #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Exception raised when maximum error count is reached // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const char * max_error_count_reached_exception::what (void) const throw () { return "The maximum error count is reached" ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Exception raised when maximum warning count is reached // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static const char * kMaxWarning = "The maximum warning count is reached" ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const char * max_warning_count_reached_exception::what (void) const throw () { return kMaxWarning ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Class C_galgas_io #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- int32_t maxErrorCount (void) { int32_t result = (int32_t) gOption_galgas_5F_builtin_5F_options_max_5F_errors.mValue ; return (result == 0) ? INT32_MAX : result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static int32_t mErrorTotalCount ; @@ -101,14 +104,14 @@ int32_t totalErrorCount (void) { return mErrorTotalCount ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- int32_t maxWarningCount (void) { int32_t result = (int32_t) gOption_galgas_5F_builtin_5F_options_max_5F_warnings.mValue ; return (result == 0) ? INT32_MAX : result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static int32_t mTotalWarningCount ; @@ -116,78 +119,63 @@ int32_t totalWarningCount (void) { return mTotalWarningCount ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Construct error or warning location message // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static String errorOrWarningLocationString (const C_IssueWithFixIt & inIssue, - const SourceTextInString & inSourceText) { - String result ; +static C_String errorOrWarningLocationString (const C_IssueWithFixIt & inIssue, + const C_SourceTextInString & inSourceText) { + C_String result ; if (inSourceText.isValid ()) { - const String textLine = inSourceText.getLineForLocation (inIssue.mStartLocation) ; - result.appendString (inSourceText.sourceFilePath ()) ; - result.appendCString (":") ; - result.appendSigned (inIssue.mStartLocation.lineNumber ()) ; - result.appendCString (":") ; - result.appendSigned (inIssue.mStartLocation.columnNumber ()) ; - result.appendCString (":") ; - result.appendSigned (inIssue.mEndLocation.columnNumber ()) ; - result.appendCString (":\n") ; + const C_String textLine = inSourceText.getLineForLocation (inIssue.mStartLocation) ; + result << inSourceText.sourceFilePath () + << ":" << cStringWithSigned (inIssue.mStartLocation.lineNumber ()) + << ":" << cStringWithSigned (inIssue.mStartLocation.columnNumber ()) + << ":" << cStringWithSigned (inIssue.mEndLocation.columnNumber ()) << ":\n" ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static String constructErrorOrWarningLocationMessage (const String & inMessage, +static C_String constructErrorOrWarningLocationMessage (const C_String & inMessage, const C_IssueWithFixIt & inIssue, - const SourceTextInString & inSourceText) { - String result ; + const C_SourceTextInString & inSourceText) { + C_String result ; if (!inSourceText.isValid ()) { - result.appendString (inMessage) ; + result << inMessage ; }else{ //--- Construct message - result.appendString (errorOrWarningLocationString (inIssue, inSourceText)) ; - result.appendString (inMessage) ; + result << errorOrWarningLocationString (inIssue, inSourceText) << inMessage ; if (verboseOutput ()) { - const String textLine = inSourceText.getLineForLocation (inIssue.mStartLocation) ; - result.appendString (textLine) ; - result.appendCString ("\n") ; + const C_String textLine = inSourceText.getLineForLocation (inIssue.mStartLocation) ; + result << textLine << "\n" ; //--- Underline issue for (int32_t i=1 ; i & inAcceptedTokenNames + const C_String & inFoundTokenMessage, + const TC_UniqueArray & inAcceptedTokenNames COMMA_LOCATION_ARGS) { //--- Increment error count mErrorTotalCount ++ ; //--- Construct location error message - String errorMessage ; + C_String errorMessage ; //--- Construct parsing error message - errorMessage.appendString (verboseOutput () ? "syntax " : "") ; - errorMessage.appendCString ("error #") ; - errorMessage.appendSigned (mErrorTotalCount) ; - errorMessage.appendCString (": found ") ; - errorMessage.appendString (inFoundTokenMessage) ; - errorMessage.appendCString (", expected:\n") ; + errorMessage << (verboseOutput () ? "syntax " : "") + << "error #" << cStringWithSigned (mErrorTotalCount) << ": found " << inFoundTokenMessage <<", expected:\n" ; for (int32_t i=0 ; i & inExpectedClassesErrorStringsArray, - const String & inActualFoundClassErrorString + const TC_UniqueArray & inExpectedClassesErrorStringsArray, + const C_String & inActualFoundClassErrorString COMMA_LOCATION_ARGS) { //--- Increment error count mErrorTotalCount ++ ; //--- Construct location error message - String errorMessage ; + C_String errorMessage ; //--- Print extract error - errorMessage.appendString (verboseOutput () ? "semantic " : "") ; - errorMessage.appendCString ("error: I have found:\n") ; + errorMessage << (verboseOutput () ? "semantic " : "") + << "error: I have found:\n" ; if (! verboseOutput ()) { - errorMessage.appendString (errorOrWarningLocationString (inIssue, inSourceText)) ; - errorMessage.appendCString ("error: ") ; + errorMessage << errorOrWarningLocationString (inIssue, inSourceText) + << "error: " ; } - errorMessage.appendCString (" - ") ; - errorMessage.appendString (inActualFoundClassErrorString) ; - errorMessage.appendCString (";\n") ; + errorMessage << " - " << inActualFoundClassErrorString <<";\n" ; if (! verboseOutput ()) { - errorMessage.appendString (errorOrWarningLocationString (inIssue, inSourceText)) ; - errorMessage.appendCString ("error: ") ; + errorMessage << errorOrWarningLocationString (inIssue, inSourceText) + << "error: " ; } - errorMessage.appendCString ("I was expected:\n") ; + errorMessage << "I was expected:\n" ; if (! verboseOutput ()) { - errorMessage.appendString (errorOrWarningLocationString (inIssue, inSourceText)) ; - errorMessage.appendCString ("error: ") ; + errorMessage << errorOrWarningLocationString (inIssue, inSourceText) + << "error: " ; } - errorMessage.appendCString (" - ") ; - errorMessage.appendString (inExpectedClassesErrorStringsArray (0 COMMA_HERE)) ; + errorMessage << " - " << inExpectedClassesErrorStringsArray (0 COMMA_HERE) ; for (int32_t i=1 ; i expectedClassMessageArray ; + TC_UniqueArray expectedClassMessageArray ; const C_galgas_class_inspector * p = C_galgas_class_inspector::root () ; bool found = false ; while ((p != nullptr) && ! found) { @@ -398,40 +368,36 @@ void signalCastError (Compiler * inCompiler, } } //--- Print extract error - String errorMessage ; + C_String errorMessage ; expectedClassMessageArray.sortArrayUsingCompareMethod () ; - errorMessage.appendString (verboseOutput () ? "semantic " : "") ; - errorMessage.appendCString ("error: I have found:\n") ; + errorMessage << (verboseOutput () ? "semantic " : "") + << "error: I have found:\n" ; if (! verboseOutput ()) { - errorMessage.appendString (errorOrWarningLocationString (inIssue, inSourceText)) ; - errorMessage.appendCString ("error: ") ; + errorMessage << errorOrWarningLocationString (inIssue, inSourceText) + << "error: " ; } - errorMessage.appendCString (" - ") ; - errorMessage.appendString (inActualFoundClassErrorString) ; - errorMessage.appendCString (";\n") ; + errorMessage << " - " << inActualFoundClassErrorString <<";\n" ; if (! verboseOutput ()) { - errorMessage.appendString (errorOrWarningLocationString (inIssue, inSourceText)) ; - errorMessage.appendCString ("error: ") ; + errorMessage << errorOrWarningLocationString (inIssue, inSourceText) + << "error: " ; } - errorMessage.appendCString ("I was expected:\n") ; + errorMessage << "I was expected:\n" ; if (! verboseOutput ()) { - errorMessage.appendString (errorOrWarningLocationString (inIssue, inSourceText)) ; - errorMessage.appendCString ("error: ") ; + errorMessage << errorOrWarningLocationString (inIssue, inSourceText) + << "error: " ; } if (expectedClassMessageArray.count () > 0) { - errorMessage.appendCString (" - ") ; - errorMessage.appendString (expectedClassMessageArray (0 COMMA_HERE)) ; + errorMessage << " - " << expectedClassMessageArray (0 COMMA_HERE) ; for (int32_t i=1 ; i 0) && (totalErrorCount () >= maxErrorCount ())) { throw max_error_count_reached_exception () ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void signalRunTimeWarning (Compiler * inCompiler, - const String & inWarningMessage +void signalRunTimeWarning (C_Compiler * inCompiler, + const C_String & inWarningMessage COMMA_LOCATION_ARGS) { //--- Increment warning count mTotalWarningCount ++ ; //--- Construct location error message - String warningMessage = "Run Time Warning #" ; - warningMessage.appendSigned (mTotalWarningCount) ; - warningMessage.appendCString (": ") ; - warningMessage.appendString (inWarningMessage) ; - warningMessage.appendCString ("\n") ; + C_String warningMessage ; + warningMessage << "Run Time Warning #" << cStringWithSigned (mTotalWarningCount) << ": " << inWarningMessage << "\n" ; //--- Print - ggs_printWarning (inCompiler, SourceTextInString (), C_IssueWithFixIt (), warningMessage COMMA_THERE) ; + ggs_printWarning (inCompiler, C_SourceTextInString (), C_IssueWithFixIt (), warningMessage COMMA_THERE) ; //--- Warning max count reached ? if ((maxWarningCount () > 0) && (totalWarningCount () >= maxWarningCount ())) { throw max_warning_count_reached_exception () ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Actual Message Print #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static const utf32 COCOA_WARNING_ID = TO_UNICODE (3) ; static const utf32 COCOA_ERROR_ID = TO_UNICODE (4) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Method called for printing an error // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void ggs_printError (Compiler * inCompiler, - const SourceTextInString & inSourceText, +void ggs_printError (C_Compiler * inCompiler, + const C_SourceTextInString & inSourceText, const C_IssueWithFixIt & inIssue, - const String & inMessage + const C_String & inMessage COMMA_LOCATION_ARGS) { //--- Append to issue array const cIssueDescriptor issue ( @@ -567,94 +519,84 @@ void ggs_printError (Compiler * inCompiler, ) ; inCompiler->appendIssue (issue) ; //--- - String errorMessage = constructErrorOrWarningLocationMessage (inMessage, inIssue, inSourceText) ; + C_String errorMessage = constructErrorOrWarningLocationMessage (inMessage, inIssue, inSourceText) ; #ifndef DO_NOT_GENERATE_CHECKINGS if (verboseOutput ()) { - errorMessage.appendCString ("[Error raised from file '") ; - errorMessage.appendString (String (IN_SOURCE_FILE).lastPathComponent ()) ; - errorMessage.appendCString ("' at line ") ; - errorMessage.appendSigned (IN_SOURCE_LINE) ; - errorMessage.appendCString ("]\n") ; + errorMessage << "[Error raised from file '" << C_String (IN_SOURCE_FILE).lastPathComponent () + << "' at line " << cStringWithSigned (IN_SOURCE_LINE) << "]\n" ; } #endif //--- Append source string if (! executionModeIsIndexing ()) { if (cocoaOutput ()) { - gCout.setForeColor (kRedForeColor) ; - gCout.setTextAttribute (kBoldTextAttribute) ; - gCout.appendChar (COCOA_ERROR_ID) ; - gCout.appendString (errorMessage) ; - gCout.setTextAttribute (kAllAttributesOff) ; - gCout.appendNewLine () ; ; - gCout.flush () ; + co.setForeColor (kRedForeColor) ; + co.setTextAttribute (kBoldTextAttribute) ; + co.appendUnicodeCharacter (COCOA_ERROR_ID COMMA_HERE) ; + co << errorMessage ; + co.setTextAttribute (kAllAttributesOff) ; + co << "\n" ; + co.flush () ; }else{ - gCout.setForeColor (kRedForeColor) ; - gCout.setTextAttribute (kBoldTextAttribute) ; - gCout.appendString (errorMessage) ; - gCout.setTextAttribute (kAllAttributesOff) ; - gCout.appendNewLine () ; ; - gCout.flush () ; + co.setForeColor (kRedForeColor) ; + co.setTextAttribute (kBoldTextAttribute) ; + co << errorMessage ; + co.setTextAttribute (kAllAttributesOff) ; + co << "\n" ; + co.flush () ; } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void fatalError (const String & inErrorMessage, +void fatalError (const C_String & inErrorMessage, const char * inSourceFile, const int inSourceLine) { //--- Increment error count mErrorTotalCount ++ ; //--- Error message - String errorMessage = inErrorMessage ; - errorMessage.appendCString (" in file '") ; - errorMessage.appendString (inSourceFile) ; - errorMessage.appendCString ("', line ") ; - errorMessage.appendSigned (inSourceLine) ; - errorMessage.appendCString ("\n") ; + C_String errorMessage ; + errorMessage << inErrorMessage << " in file '" << inSourceFile << "', line " << cStringWithSigned (inSourceLine) << "\n" ; //---- - String message = constructErrorOrWarningLocationMessage (errorMessage, C_IssueWithFixIt (), SourceTextInString ()) ; + C_String message = constructErrorOrWarningLocationMessage (errorMessage, C_IssueWithFixIt (), C_SourceTextInString ()) ; #ifndef DO_NOT_GENERATE_CHECKINGS if (verboseOutput ()) { - message.appendCString ("[Error raised from file '") ; - message.appendString (String (inSourceFile).lastPathComponent ()) ; - message.appendCString ("' at line ") ; - message.appendSigned (inSourceLine) ; - message.appendCString ("]\n") ; + message << "[Error raised from file '" << C_String (inSourceFile).lastPathComponent () + << "' at line " << cStringWithSigned (inSourceLine) << "]\n" ; } #endif //--- Append source string if (! executionModeIsIndexing ()) { if (cocoaOutput ()) { - gCout.setForeColor (kRedForeColor) ; - gCout.setTextAttribute (kBoldTextAttribute) ; - gCout.appendChar (COCOA_ERROR_ID) ; - gCout.appendString (message) ; - gCout.setTextAttribute (kAllAttributesOff) ; - gCout.appendNewLine () ; ; - gCout.flush () ; + co.setForeColor (kRedForeColor) ; + co.setTextAttribute (kBoldTextAttribute) ; + co.appendUnicodeCharacter (COCOA_ERROR_ID COMMA_HERE) ; + co << message ; + co.setTextAttribute (kAllAttributesOff) ; + co << "\n" ; + co.flush () ; }else{ - gCout.setForeColor (kRedForeColor) ; - gCout.setTextAttribute (kBoldTextAttribute) ; - gCout.appendString (message) ; - gCout.setTextAttribute (kAllAttributesOff) ; - gCout.appendNewLine () ; ; - gCout.flush () ; + co.setForeColor (kRedForeColor) ; + co.setTextAttribute (kBoldTextAttribute) ; + co << message ; + co.setTextAttribute (kAllAttributesOff) ; + co << "\n" ; + co.flush () ; } } exit (1) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Method called for printing a warning // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void ggs_printWarning (Compiler * inCompiler, - const SourceTextInString & inSourceText, +void ggs_printWarning (C_Compiler * inCompiler, + const C_SourceTextInString & inSourceText, const C_IssueWithFixIt & inIssue, - const String & inMessage + const C_String & inMessage COMMA_LOCATION_ARGS) { //--- Append to issue array const cIssueDescriptor issue ( @@ -667,14 +609,11 @@ void ggs_printWarning (Compiler * inCompiler, ) ; inCompiler->appendIssue (issue) ; //--- - String warningMessage = constructErrorOrWarningLocationMessage (inMessage, inIssue, inSourceText) ; + C_String warningMessage = constructErrorOrWarningLocationMessage (inMessage, inIssue, inSourceText) ; #ifndef DO_NOT_GENERATE_CHECKINGS if (verboseOutput ()) { - warningMessage.appendCString ("[Warning raised from file '") ; - warningMessage.appendString (String (IN_SOURCE_FILE).lastPathComponent ()) ; - warningMessage.appendCString ("' at line ") ; - warningMessage.appendSigned (IN_SOURCE_LINE) ; - warningMessage.appendCString ("]\n") ; + warningMessage << "[Warning raised from file '" << C_String (IN_SOURCE_FILE).lastPathComponent () + << "' at line " << cStringWithSigned (IN_SOURCE_LINE) << "]\n" ; } #endif //--- Append source string @@ -683,103 +622,100 @@ void ggs_printWarning (Compiler * inCompiler, } if (! executionModeIsIndexing ()) { if (cocoaOutput ()) { - gCout.setForeColor (kYellowForeColor) ; - gCout.setTextAttribute (kBoldTextAttribute) ; - gCout.appendChar (COCOA_WARNING_ID) ; - gCout.appendString (warningMessage) ; - gCout.setTextAttribute (kAllAttributesOff) ; - gCout.appendNewLine () ; ; - gCout.flush () ; + co.setForeColor (kYellowForeColor) ; + co.setTextAttribute (kBoldTextAttribute) ; + co.appendUnicodeCharacter (COCOA_WARNING_ID COMMA_HERE) ; + co << warningMessage ; + co.setTextAttribute (kAllAttributesOff) ; + co << "\n" ; + co.flush () ; }else{ - gCout.setForeColor (kYellowForeColor) ; - gCout.setTextAttribute (kBoldTextAttribute) ; - gCout.appendString (warningMessage) ; - gCout.setTextAttribute (kAllAttributesOff) ; - gCout.appendNewLine () ; ; - gCout.flush () ; + co.setForeColor (kYellowForeColor) ; + co.setTextAttribute (kBoldTextAttribute) ; + co << warningMessage ; + co.setTextAttribute (kAllAttributesOff) ; + co << "\n" ; + co.flush () ; } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Method called for printing a success message // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void ggs_printFileOperationSuccess (const String & inMessage) { +void ggs_printFileOperationSuccess (const C_String & inMessage) { if (! executionModeIsIndexing ()) { if (cocoaOutput ()) { - gCout.setForeColor (kGreenForeColor) ; - gCout.setTextAttribute (kBoldTextAttribute) ; - gCout.appendString (inMessage) ; - gCout.setTextAttribute (kAllAttributesOff) ; - gCout.flush () ; + co.setForeColor (kGreenForeColor) ; + co.setTextAttribute (kBoldTextAttribute) ; + co << inMessage; + co.setTextAttribute (kAllAttributesOff) ; + co.flush () ; }else{ - gCout.setForeColor (kGreenForeColor) ; - gCout.setTextAttribute (kBoldTextAttribute) ; - gCout.appendString (inMessage) ; - gCout.setTextAttribute (kAllAttributesOff) ; - gCout.flush () ; + co.setForeColor (kGreenForeColor) ; + co.setTextAttribute (kBoldTextAttribute) ; + co << inMessage ; + co.setTextAttribute (kAllAttributesOff) ; + co.flush () ; } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Method called for printing a file creation success // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void ggs_printFileCreationSuccess (const String & inMessage) { +void ggs_printFileCreationSuccess (const C_String & inMessage) { if (! executionModeIsIndexing ()) { if (cocoaOutput ()) { - gCout.setForeColor (kBlueForeColor) ; - gCout.setTextAttribute (kBoldTextAttribute) ; - gCout.appendString (inMessage) ; - gCout.setTextAttribute (kAllAttributesOff) ; - gCout.flush () ; + co.setForeColor (kBlueForeColor) ; + co.setTextAttribute (kBoldTextAttribute) ; + co << inMessage; + co.setTextAttribute (kAllAttributesOff) ; + co.flush () ; }else{ - gCout.setForeColor (kBlueForeColor) ; - gCout.setTextAttribute (kBoldTextAttribute) ; - gCout.appendString (inMessage) ; - gCout.setTextAttribute (kAllAttributesOff) ; - gCout.flush () ; + co.setForeColor (kBlueForeColor) ; + co.setTextAttribute (kBoldTextAttribute) ; + co << inMessage ; + co.setTextAttribute (kAllAttributesOff) ; + co.flush () ; } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Methods called for printing a message // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void ggs_printMessage (const String & inMessage +void ggs_printMessage (const C_String & inMessage COMMA_LOCATION_ARGS) { if (! executionModeIsIndexing ()) { - String message = inMessage ; + C_String message = inMessage ; #ifndef DO_NOT_GENERATE_CHECKINGS if (verboseOutput ()) { - message.appendCString ("[Displayed from file '") ; - message.appendString (String (IN_SOURCE_FILE).lastPathComponent ()) ; - message.appendCString ("' at line ") ; - message.appendSigned (IN_SOURCE_LINE) ; - message.appendCString ("]\n") ; + message << "[Displayed from file '" << C_String (IN_SOURCE_FILE).lastPathComponent () + << "' at line " << cStringWithSigned (IN_SOURCE_LINE) << "]\n" ; } #endif - gCout.appendString (message) ; - gCout.flush () ; + co << message ; + co.flush () ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark cToken #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cToken::cToken (void) : mNextToken (nullptr), @@ -791,20 +727,20 @@ mSeparatorStringBeforeToken (), mTokenCode (0) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cToken::~cToken (void) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED - #pragma mark ParsingContext + #pragma mark C_parsingContext #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -ParsingContext::ParsingContext (void) : +C_parsingContext::C_parsingContext (void) : mParsingArrayIndex (0), mLocation (), mCurrentTokenPtr (nullptr), @@ -813,9 +749,9 @@ mPreviousChar (TO_UNICODE ('\0')), mTemplateString () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -ParsingContext::ParsingContext (const ParsingContext & inSource) : +C_parsingContext::C_parsingContext (const C_parsingContext & inSource) : mParsingArrayIndex (inSource.mParsingArrayIndex), mLocation (inSource.mLocation), mCurrentTokenPtr (inSource.mCurrentTokenPtr), @@ -824,9 +760,9 @@ mPreviousChar (inSource.mPreviousChar), mTemplateString (inSource.mTemplateString) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -ParsingContext & ParsingContext::operator = (const ParsingContext & inSource) { +C_parsingContext & C_parsingContext::operator = (const C_parsingContext & inSource) { mParsingArrayIndex = inSource.mParsingArrayIndex ; mLocation = inSource.mLocation ; mCurrentTokenPtr = inSource.mCurrentTokenPtr ; @@ -836,4 +772,4 @@ ParsingContext & ParsingContext::operator = (const ParsingContext & inSource) { return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/C_galgas_io.h b/goil/build/libpm/galgas2/C_galgas_io.h index 41f57e9c6..cbd8a2612 100644 --- a/goil/build/libpm/galgas2/C_galgas_io.h +++ b/goil/build/libpm/galgas2/C_galgas_io.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'C_galgas_io' // @@ -16,87 +16,88 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "String-class.h" -#include "TC_UniqueArray.h" -#include "LocationInSource.h" -#include "SourceTextInString.h" -#include "C_IssueWithFixIt.h" -#include "SharedObject.h" +#include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include -#include +#include "strings/C_String.h" +#include "generic-arraies/TC_UniqueArray.h" +#include "galgas2/C_LocationInSource.h" +#include "galgas2/C_SourceTextInString.h" +#include "galgas2/C_IssueWithFixIt.h" +#include "utilities/C_SharedObject.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class Compiler ; +class C_Compiler ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Exception raised when maximum error count is reached // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class max_error_count_reached_exception : public::std::exception { public: virtual const char * what (void) const throw () ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Exception raised when maximum warning count is reached // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class max_warning_count_reached_exception : public::std::exception { public: virtual const char * what (void) const throw () ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Internal exception thrown when a lexical error has been detected // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class C_lexicalErrorException { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Class used for defining a reserved words table entry // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class C_unicode_lexique_table_entry final { - public: const std::initializer_list mEntryString ; + public: const utf32 * mEntryString ; + public: const int16_t mEntryStringLength ; public: const int16_t mTokenCode ; //--- Constructor - public: C_unicode_lexique_table_entry (const std::initializer_list & inEntryString, + public: C_unicode_lexique_table_entry (const utf32 * inEntryString, + const int16_t inEntryStringLength, const int16_t inTokenCode) ; -//--- Handle copy +//--- No copy public: C_unicode_lexique_table_entry (const C_unicode_lexique_table_entry & inOperand) ; - private: C_unicode_lexique_table_entry & operator = (const C_unicode_lexique_table_entry &) = delete ; + private: C_unicode_lexique_table_entry & operator = (const C_unicode_lexique_table_entry &) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Token class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cToken { public: cToken * mNextToken ; - public: LocationInSource mStartLocation ; - public: LocationInSource mEndLocation ; - public: String mTemplateStringBeforeToken ; // Template string before the token - public: String mSeparatorStringBeforeToken ; + public: C_LocationInSource mStartLocation ; + public: C_LocationInSource mEndLocation ; + public: C_String mTemplateStringBeforeToken ; // Template string before the token + public: C_String mSeparatorStringBeforeToken ; public: int32_t mTokenCode ; public: cToken (void) ; @@ -107,35 +108,35 @@ class cToken { private: cToken & operator = (const cToken &) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Class for handling parsing context // (used by parse ... rewind ... end parse ; instruction) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class ParsingContext final { +class C_parsingContext { private: int32_t mParsingArrayIndex ; - private: LocationInSource mLocation ; + private: C_LocationInSource mLocation ; private: cToken * mCurrentTokenPtr ; private: utf32 mCurrentChar ; private: utf32 mPreviousChar ; - private: String mTemplateString ; + private: C_String mTemplateString ; - friend class Lexique ; + friend class C_Lexique ; - public: ParsingContext (void) ; + public: C_parsingContext (void) ; -//--- Copy - public: ParsingContext (const ParsingContext & inSource) ; - public: ParsingContext & operator = (const ParsingContext & inSource) ; +//--- No copy + public: C_parsingContext (const C_parsingContext & inSource) ; + public: C_parsingContext & operator = (const C_parsingContext & inSource) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Abstract class for GALGAS input/output // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //--- Errors count int32_t maxErrorCount (void) ; @@ -147,84 +148,84 @@ int32_t maxWarningCount (void) ; int32_t totalWarningCount (void) ; -void signalParsingError (Compiler * inCompiler, - const SourceTextInString & inSourceText, - const LocationInSource & inPreviousTokenEndLocation, +void signalParsingError (C_Compiler * inCompiler, + const C_SourceTextInString & inSourceText, + const C_LocationInSource & inPreviousTokenEndLocation, const C_IssueWithFixIt & inIssue, - const String & inFoundTokenMessage, - const TC_UniqueArray & inAcceptedTokenNames + const C_String & inFoundTokenMessage, + const TC_UniqueArray & inAcceptedTokenNames COMMA_LOCATION_ARGS) ; -void signalExtractError (Compiler * inCompiler, - const SourceTextInString & inSourceText, +void signalExtractError (C_Compiler * inCompiler, + const C_SourceTextInString & inSourceText, const C_IssueWithFixIt & inIssue, - const TC_UniqueArray & inExpectedClassesErrorStringsArray, - const String & inActualFoundClassErrorString + const TC_UniqueArray & inExpectedClassesErrorStringsArray, + const C_String & inActualFoundClassErrorString COMMA_LOCATION_ARGS) ; -void signalCastError (Compiler * inCompiler, - const SourceTextInString & inSourceText, +void signalCastError (C_Compiler * inCompiler, + const C_SourceTextInString & inSourceText, const C_IssueWithFixIt & inIssue, const std::type_info * inBaseClass, const bool inUseKindOfClass, - const String & inActualFoundClassErrorString + const C_String & inActualFoundClassErrorString COMMA_LOCATION_ARGS) ; -void signalLexicalWarning (Compiler * inCompiler, - const SourceTextInString & inSourceText, +void signalLexicalWarning (C_Compiler * inCompiler, + const C_SourceTextInString & inSourceText, const C_IssueWithFixIt & inIssue, - const String & inLexicalWarningMessage + const C_String & inLexicalWarningMessage COMMA_LOCATION_ARGS) ; -void signalLexicalError (Compiler * inCompiler, - const SourceTextInString & inSourceText, +void signalLexicalError (C_Compiler * inCompiler, + const C_SourceTextInString & inSourceText, const C_IssueWithFixIt & inIssue, - const String & inLexicalErrorMessage + const C_String & inLexicalErrorMessage COMMA_LOCATION_ARGS) ; -void signalSemanticWarning (Compiler * inCompiler, - const SourceTextInString & inSourceText, +void signalSemanticWarning (C_Compiler * inCompiler, + const C_SourceTextInString & inSourceText, const C_IssueWithFixIt & inIssue, - const String & inWarningMessage + const C_String & inWarningMessage COMMA_LOCATION_ARGS) ; -void signalSemanticError (Compiler * inCompiler, - const SourceTextInString & inSourceText, +void signalSemanticError (C_Compiler * inCompiler, + const C_SourceTextInString & inSourceText, const C_IssueWithFixIt & inIssue, - const String & inErrorMessage + const C_String & inErrorMessage COMMA_LOCATION_ARGS) ; -void signalRunTimeError (Compiler * inCompiler, - const String & inErrorMessage +void signalRunTimeError (C_Compiler * inCompiler, + const C_String & inErrorMessage COMMA_LOCATION_ARGS) ; -void signalRunTimeWarning (Compiler * inCompiler, - const String & inWarningMessage +void signalRunTimeWarning (C_Compiler * inCompiler, + const C_String & inWarningMessage COMMA_LOCATION_ARGS) ; -void ggs_printError (Compiler * inCompiler, - const SourceTextInString & inSourceText, +void ggs_printError (C_Compiler * inCompiler, + const C_SourceTextInString & inSourceText, const C_IssueWithFixIt & inIssue, - const String & inMessage + const C_String & inMessage COMMA_LOCATION_ARGS) ; -void ggs_printWarning (Compiler * inCompiler, - const SourceTextInString & inSourceText, +void ggs_printWarning (C_Compiler * inCompiler, + const C_SourceTextInString & inSourceText, const C_IssueWithFixIt & inIssue, - const String & inMessage + const C_String & inMessage COMMA_LOCATION_ARGS) ; -void ggs_printFileOperationSuccess (const String & inMessage) ; +void ggs_printFileOperationSuccess (const C_String & inMessage) ; -void ggs_printFileCreationSuccess (const String & inMessage) ; +void ggs_printFileCreationSuccess (const C_String & inMessage) ; -void ggs_printMessage (const String & inMessage +void ggs_printMessage (const C_String & inMessage COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void fatalError (const String & inErrorMessage, +void fatalError (const C_String & inErrorMessage, const char * inSourceFile, const int inSourceLine) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/C_galgas_quiet_option.cpp b/goil/build/libpm/galgas2/C_galgas_quiet_option.cpp index f0defbdb1..6595229ea 100644 --- a/goil/build/libpm/galgas2/C_galgas_quiet_option.cpp +++ b/goil/build/libpm/galgas2/C_galgas_quiet_option.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Built-in GALGAS Command Line Interface Options // @@ -16,12 +16,12 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "C_galgas_quiet_option.h" -#include "F_verbose_output.h" +#include "galgas2/C_galgas_quiet_option.h" +#include "galgas2/F_verbose_output.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_BoolCommandLineOption gOption_galgas_5F_builtin_5F_options_quiet_5F_output ("galgas_builtin_options", @@ -32,10 +32,10 @@ gOption_galgas_5F_builtin_5F_options_quiet_5F_output ("galgas_builtin_options", false) ; // Not visible in GALGAS -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool verboseOutput (void) { return !gOption_galgas_5F_builtin_5F_options_quiet_5F_output.readProperty_value () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/C_galgas_quiet_option.h b/goil/build/libpm/galgas2/C_galgas_quiet_option.h index 5de62f7ce..44b34c9bd 100644 --- a/goil/build/libpm/galgas2/C_galgas_quiet_option.h +++ b/goil/build/libpm/galgas2/C_galgas_quiet_option.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS Command Line Interface Options // @@ -16,16 +16,16 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "C_BoolCommandLineOption.h" +#include "command_line_interface/C_BoolCommandLineOption.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern C_BoolCommandLineOption gOption_galgas_5F_builtin_5F_options_quiet_5F_output ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/C_galgas_type_descriptor.cpp b/goil/build/libpm/galgas2/C_galgas_type_descriptor.cpp index df5de3960..3db17a0e1 100644 --- a/goil/build/libpm/galgas2/C_galgas_type_descriptor.cpp +++ b/goil/build/libpm/galgas2/C_galgas_type_descriptor.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS Type Inspector (for introspection) // @@ -16,32 +16,32 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "C_galgas_type_descriptor.h" -#include "String-class.h" -#include "C_galgas_io.h" +#include "galgas2/C_galgas_type_descriptor.h" +#include "strings/C_String.h" +#include "galgas2/C_galgas_io.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS type reference (for type introspection) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark ======== C_galgas_type_descriptor #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static C_galgas_type_descriptor * gGalgasTypeListRoot = nullptr ; static int32_t gSlotID = 0 ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_galgas_type_descriptor::C_galgas_type_descriptor (const char * inGalgasTypeName, const C_galgas_type_descriptor * inSuperClassDescriptor) : @@ -56,7 +56,7 @@ mSuperclassDescriptor (inSuperClassDescriptor) { recursiveInsert (gGalgasTypeListRoot, this, extension) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_galgas_type_descriptor::recursiveGetSortedTypeList (C_galgas_type_descriptor * inRoot, TC_UniqueArray & ioTypeList) { @@ -67,19 +67,19 @@ void C_galgas_type_descriptor::recursiveGetSortedTypeList (C_galgas_type_descrip } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_galgas_type_descriptor::typeListRoot (TC_UniqueArray & outTypeList) { recursiveGetSortedTypeList (gGalgasTypeListRoot, outTypeList) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Insertion Implementation #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_galgas_type_descriptor::rotateLeft (C_galgas_type_descriptor * & ioRootPtr) { C_galgas_type_descriptor * b = ioRootPtr->mNextType ; @@ -100,7 +100,7 @@ void C_galgas_type_descriptor::rotateLeft (C_galgas_type_descriptor * & ioRootPt ioRootPtr = b ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_galgas_type_descriptor::rotateRight (C_galgas_type_descriptor * & ioRootPtr) { C_galgas_type_descriptor * b = ioRootPtr->mPreviousType ; @@ -120,7 +120,7 @@ void C_galgas_type_descriptor::rotateRight (C_galgas_type_descriptor * & ioRootP ioRootPtr = b ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_galgas_type_descriptor::recursiveInsert (C_galgas_type_descriptor * & ioRootPtr, C_galgas_type_descriptor * inDescriptor, @@ -160,13 +160,11 @@ void C_galgas_type_descriptor::recursiveInsert (C_galgas_type_descriptor * & ioR } }else{ ioExtension = false; - String errorMessage ; - errorMessage.appendCString ("FATAL ERROR (type '@") ; - errorMessage.appendString (inDescriptor->mGalgasTypeName) ; - errorMessage.appendCString ("' already defined)") ; + C_String errorMessage ; + errorMessage << "FATAL ERROR (type '@" << inDescriptor->mGalgasTypeName << "' already defined)" ; fatalError (errorMessage, __FILE__, __LINE__) ; } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/C_galgas_type_descriptor.h b/goil/build/libpm/galgas2/C_galgas_type_descriptor.h index 9f2c49de9..1c01594bc 100644 --- a/goil/build/libpm/galgas2/C_galgas_type_descriptor.h +++ b/goil/build/libpm/galgas2/C_galgas_type_descriptor.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS Type Inspector (for introspection) // @@ -16,19 +16,19 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "TC_UniqueArray.h" +#include "generic-arraies/TC_UniqueArray.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS type reference (for type introspection) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class C_galgas_type_descriptor final { //--- Attributes @@ -63,4 +63,4 @@ class C_galgas_type_descriptor final { TC_UniqueArray & ioTypeList) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/C_galgas_verbose_option.cpp b/goil/build/libpm/galgas2/C_galgas_verbose_option.cpp index aab3dac20..5594e62b2 100644 --- a/goil/build/libpm/galgas2/C_galgas_verbose_option.cpp +++ b/goil/build/libpm/galgas2/C_galgas_verbose_option.cpp @@ -1,10 +1,10 @@ -//---------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Built-in GALGAS Command Line Interface Options // // This file is part of libpm library // -// Copyright (C) 2015, ..., 2023 Pierre Molinaro. +// Copyright (C) 2015, ..., 2021 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -16,12 +16,12 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//---------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "C_galgas_verbose_option.h" -#include "F_verbose_output.h" +#include "galgas2/C_galgas_verbose_option.h" +#include "galgas2/F_verbose_output.h" -//---------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_BoolCommandLineOption gOption_galgas_5F_builtin_5F_options_verbose_5F_output ("galgas_builtin_options", "verbose_output", @@ -30,10 +30,10 @@ C_BoolCommandLineOption gOption_galgas_5F_builtin_5F_options_verbose_5F_output ( "Verbose Output", false) ; // Not visible in GALGAS -//---------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool verboseOutput (void) { return gOption_galgas_5F_builtin_5F_options_verbose_5F_output.readProperty_value () ; } -//---------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/C_galgas_verbose_option.h b/goil/build/libpm/galgas2/C_galgas_verbose_option.h index 56760d0db..79c47566a 100644 --- a/goil/build/libpm/galgas2/C_galgas_verbose_option.h +++ b/goil/build/libpm/galgas2/C_galgas_verbose_option.h @@ -1,10 +1,10 @@ -//---------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS Command Line Interface Options // // This file is part of libpm library // -// Copyright (C) 2015, ..., 2023 Pierre Molinaro. +// Copyright (C) 2015, ..., 2015 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -16,16 +16,19 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//---------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#pragma once +#ifndef GALGAS_VERBOSE_OPTION_DEFINED +#define GALGAS_VERBOSE_OPTION_DEFINED -//---------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "C_BoolCommandLineOption.h" +#include "command_line_interface/C_BoolCommandLineOption.h" -//---------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern C_BoolCommandLineOption gOption_galgas_5F_builtin_5F_options_verbose_5F_output ; -//---------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +#endif diff --git a/goil/build/libpm/galgas2/F_verbose_output.h b/goil/build/libpm/galgas2/F_verbose_output.h index 4213c25ec..1fab2c6e3 100644 --- a/goil/build/libpm/galgas2/F_verbose_output.h +++ b/goil/build/libpm/galgas2/F_verbose_output.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS Command Line Interface Options // @@ -16,12 +16,12 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool verboseOutput (void) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/GALGAS_application.cpp b/goil/build/libpm/galgas2/GALGAS_application.cpp index 67acc75a6..4dfe6b8a3 100644 --- a/goil/build/libpm/galgas2/GALGAS_application.cpp +++ b/goil/build/libpm/galgas2/GALGAS_application.cpp @@ -1,8 +1,9 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// // // This file is part of libpm library // -// Copyright (C) 2010, ..., 2023 Pierre Molinaro. +// Copyright (C) 2010, ..., 2016 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -14,28 +15,66 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -#include "Compiler.h" -#include "C_BoolCommandLineOption.h" -#include "C_UIntCommandLineOption.h" -#include "C_StringCommandLineOption.h" -#include "F_Analyze_CLI_Options.h" -#include "F_verbose_output.h" +#include "galgas2/C_Compiler.h" +#include "command_line_interface/C_BoolCommandLineOption.h" +#include "command_line_interface/C_UIntCommandLineOption.h" +#include "command_line_interface/C_StringCommandLineOption.h" +#include "command_line_interface/F_Analyze_CLI_Options.h" +#include "galgas2/F_verbose_output.h" #include "cLexiqueIntrospection.h" -//-------------------------------------------------------------------------------------------------- -// 'GALGAS_application' class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +// 'GALGAS_application' class +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_application::GALGAS_application (void) : +AC_GALGAS_root () { +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_application::GALGAS_application (const GALGAS_application & inSource) : +AC_GALGAS_root (inSource) { +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_application::~GALGAS_application (void) { +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_application & GALGAS_application::operator = (const GALGAS_application & /* inSource */) { + return *this ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +typeComparisonResult GALGAS_application::objectCompare (const GALGAS_application & /* inOperand */) const { + return kOperandNotValid ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void GALGAS_application::description (C_String & ioString, + const int32_t /* inIndentation */) const { + ioString << "<@application:not built>" ; +} + +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_bool GALGAS_application::class_func_verboseOutput (UNUSED_LOCATION_ARGS) { +GALGAS_bool GALGAS_application::constructor_verboseOutput (UNUSED_LOCATION_ARGS) { return GALGAS_bool (verboseOutput ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_application::class_func_system (UNUSED_LOCATION_ARGS) { +GALGAS_string GALGAS_application::constructor_system (UNUSED_LOCATION_ARGS) { #if COMPILE_FOR_WINDOWS == 1 return GALGAS_string ("windows") ; #else @@ -43,11 +82,11 @@ GALGAS_string GALGAS_application::class_func_system (UNUSED_LOCATION_ARGS) { #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS__32_stringlist GALGAS_application::class_func_boolOptionNameList (LOCATION_ARGS) { - GALGAS__32_stringlist result = GALGAS__32_stringlist::class_func_emptyList (THERE) ; - TC_UniqueArray array ; +GALGAS__32_stringlist GALGAS_application::constructor_boolOptionNameList (LOCATION_ARGS) { + GALGAS__32_stringlist result = GALGAS__32_stringlist::constructor_emptyList (THERE) ; + TC_UniqueArray array ; C_BoolCommandLineOption::getBoolOptionNameList (array) ; for (int32_t i=0 ; i array ; +GALGAS__32_stringlist GALGAS_application::constructor_uintOptionNameList (LOCATION_ARGS) { + GALGAS__32_stringlist result = GALGAS__32_stringlist::constructor_emptyList (THERE) ; + TC_UniqueArray array ; C_UIntCommandLineOption::getUIntOptionNameList (array) ; for (int32_t i=0 ; i array ; +GALGAS__32_stringlist GALGAS_application::constructor_stringOptionNameList (LOCATION_ARGS) { + GALGAS__32_stringlist result = GALGAS__32_stringlist::constructor_emptyList (THERE) ; + TC_UniqueArray array ; C_StringCommandLineOption::getStringOptionNameList (array) ; for (int32_t i=0 ; i= argument count = ") ; - message.appendUnsigned (commandLineArgumentCount ()) ; + C_String message ; + message << "@application.commandLineArgumentAtIndex: index " + << cStringWithUnsigned (idx) + << " >= argument count = " + << cStringWithUnsigned (commandLineArgumentCount ()) ; inCompiler->onTheFlySemanticError (message COMMA_THERE) ; } } return result ; } -//--------------------------------------------------------------------------------------------------* +//----------------------------------------------------------------------------------------------------------------------* -GALGAS_stringset GALGAS_application::class_func_keywordIdentifierSet (LOCATION_ARGS) { - GALGAS_stringset result = GALGAS_stringset::class_func_emptySet (THERE) ; - TC_UniqueArray list ; +GALGAS_stringset GALGAS_application::constructor_keywordIdentifierSet (LOCATION_ARGS) { + GALGAS_stringset result = GALGAS_stringset::constructor_emptySet (THERE) ; + TC_UniqueArray list ; cLexiqueIntrospection::getKeywordListNames (list) ; for (int32_t i=0 ; i < list.count () ; i++) { result.addAssign_operation (GALGAS_string (list (i COMMA_HERE)) COMMA_HERE) ; @@ -346,14 +385,14 @@ GALGAS_stringset GALGAS_application::class_func_keywordIdentifierSet (LOCATION_A return result ; } -//--------------------------------------------------------------------------------------------------* +//----------------------------------------------------------------------------------------------------------------------* -GALGAS_stringlist GALGAS_application::class_func_keywordListForIdentifier (const GALGAS_string & inIdentifier +GALGAS_stringlist GALGAS_application::constructor_keywordListForIdentifier (const GALGAS_string & inIdentifier COMMA_LOCATION_ARGS) { GALGAS_stringlist result ; if (inIdentifier.isValid ()) { - result = GALGAS_stringlist::class_func_emptyList (THERE) ; - TC_UniqueArray list ; + result = GALGAS_stringlist::constructor_emptyList (THERE) ; + TC_UniqueArray list ; bool found = false ; cLexiqueIntrospection::getKeywordListForIdentifier (inIdentifier.stringValue(), found, list) ; for (int32_t i=0 ; i < list.count () ; i++) { @@ -363,4 +402,4 @@ GALGAS_stringlist GALGAS_application::class_func_keywordListForIdentifier (const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/GALGAS_bigint.cpp b/goil/build/libpm/galgas2/GALGAS_bigint.cpp index f53ea4631..33e245078 100644 --- a/goil/build/libpm/galgas2/GALGAS_bigint.cpp +++ b/goil/build/libpm/galgas2/GALGAS_bigint.cpp @@ -1,10 +1,10 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS_bigint // // This file is part of libpm library // -// Copyright (C) 2015, ..., 2023 Pierre Molinaro. +// Copyright (C) 2015, ..., 2018 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -16,18 +16,18 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -#include "Compiler.h" +#include "galgas2/C_Compiler.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Native constructors #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bigint::GALGAS_bigint (void) : AC_GALGAS_root (), @@ -35,59 +35,59 @@ mIsValid (false), mValue (0) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_bigint::GALGAS_bigint (const BigSigned & inValue) : +GALGAS_bigint::GALGAS_bigint (const C_BigInt & inValue) : AC_GALGAS_root (), mIsValid (true), mValue (inValue) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static bool gOk ; -GALGAS_bigint::GALGAS_bigint (const char * inDecimalString, Compiler * inCompiler COMMA_LOCATION_ARGS) : +GALGAS_bigint::GALGAS_bigint (const char * inDecimalString, C_Compiler * inCompiler COMMA_LOCATION_ARGS) : AC_GALGAS_root (), mIsValid (true), -mValue (inDecimalString, BigUnsignedBase::ten, gOk) { +mValue (inDecimalString, 10, gOk) { if (! gOk) { inCompiler->onTheFlyRunTimeError ("@bigint internal construction error" COMMA_THERE) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bigint::~GALGAS_bigint (void) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark GALGAS internals #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_bigint::drop (void) { mIsValid = false ; - mValue = BigSigned () ; + mValue.setToZero () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_bigint::description (String & ioString, +void GALGAS_bigint::description (C_String & ioString, const int32_t /* inIndentation */) const { - ioString.appendCString ("<@bigint: ") ; + ioString << "<@bigint: " ; if (!mIsValid) { - ioString.appendCString ("not built") ; + ioString << "not built" ; }else{ - ioString.appendString (mValue.decimalString ()) ; + ioString << mValue.decimalString () ; } - ioString.appendCString (">") ; + ioString << ">" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_bigint::objectCompare (const GALGAS_bigint & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -104,27 +104,27 @@ typeComparisonResult GALGAS_bigint::objectCompare (const GALGAS_bigint & inOpera return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark GALGAS constructors #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_bigint GALGAS_bigint::class_func_zero (UNUSED_LOCATION_ARGS) { +GALGAS_bigint GALGAS_bigint::constructor_zero (UNUSED_LOCATION_ARGS) { GALGAS_bigint result ; result.mIsValid = true ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Testing value representation #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_bigint::getter_bitCountForSignedRepresentation (UNUSED_LOCATION_ARGS) const { GALGAS_uint result ; @@ -134,7 +134,7 @@ GALGAS_uint GALGAS_bigint::getter_bitCountForSignedRepresentation (UNUSED_LOCATI return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_bigint::getter_bitCountForUnsignedRepresentation (UNUSED_LOCATION_ARGS) const { GALGAS_uint result ; @@ -144,7 +144,7 @@ GALGAS_uint GALGAS_bigint::getter_bitCountForUnsignedRepresentation (UNUSED_LOCA return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_bigint::getter_fitsInUInt (UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; @@ -154,7 +154,7 @@ GALGAS_bool GALGAS_bigint::getter_fitsInUInt (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_bigint::getter_fitsInSInt (UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; @@ -164,7 +164,7 @@ GALGAS_bool GALGAS_bigint::getter_fitsInSInt (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_bigint::getter_fitsInUInt_36__34_ (UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; @@ -174,7 +174,7 @@ GALGAS_bool GALGAS_bigint::getter_fitsInUInt_36__34_ (UNUSED_LOCATION_ARGS) cons return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_bigint::getter_fitsInSInt_36__34_ (UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; @@ -184,7 +184,7 @@ GALGAS_bool GALGAS_bigint::getter_fitsInSInt_36__34_ (UNUSED_LOCATION_ARGS) cons return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_bigint::getter_isZero (UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; @@ -194,7 +194,7 @@ GALGAS_bool GALGAS_bigint::getter_isZero (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint GALGAS_bigint::getter_sign (UNUSED_LOCATION_ARGS) const { GALGAS_sint result ; @@ -204,14 +204,14 @@ GALGAS_sint GALGAS_bigint::getter_sign (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uintlist GALGAS_bigint::getter_extract_38_ForUnsignedRepresentation (LOCATION_ARGS) const { +GALGAS_uintlist GALGAS_bigint::getter_extract_38_ForUnsignedRepresentation (UNUSED_LOCATION_ARGS) const { GALGAS_uintlist result ; if (isValid ()) { TC_UniqueArray valueArray ; mValue.extractBytesForUnsignedRepresentation (valueArray) ; - result = GALGAS_uintlist::class_func_emptyList (THERE) ; + result = GALGAS_uintlist::constructor_emptyList (HERE) ; for (int32_t i=0 ; i valueArray ; mValue.extractBytesForSignedRepresentation (valueArray) ; - result = GALGAS_uintlist::class_func_emptyList (THERE) ; + result = GALGAS_uintlist::constructor_emptyList (HERE) ; for (int32_t i=0 ; i valueArray ; mValue.extractBytesForUnsignedRepresentation (valueArray) ; const int32_t paddingCount = (4 - (valueArray.count () % 4)) % 4 ; valueArray.appendObjects (paddingCount, 0) ; - result = GALGAS_uintlist::class_func_emptyList (THERE) ; + result = GALGAS_uintlist::constructor_emptyList (HERE) ; for (int32_t i=0 ; i valueArray ; mValue.extractBytesForSignedRepresentation (valueArray) ; const int32_t paddingCount = (4 - (valueArray.count () % 4)) % 4 ; valueArray.appendObjects (paddingCount, ((valueArray.lastObject (HERE) & 0x80) != 0) ? 0xFF : 0) ; - result = GALGAS_uintlist::class_func_emptyList (THERE) ; + result = GALGAS_uintlist::constructor_emptyList (HERE) ; for (int32_t i=0 ; i valueArray ; mValue.extractBytesForUnsignedRepresentation (valueArray) ; const int32_t paddingCount = (8 - (valueArray.count () % 8)) % 8 ; valueArray.appendObjects (paddingCount, 0) ; - result = GALGAS_uint_36__34_list::class_func_emptyList (THERE) ; + result = GALGAS_uint_36__34_list::constructor_emptyList (HERE) ; for (int32_t i=0 ; i=0 ; j--) { @@ -304,16 +304,16 @@ GALGAS_uint_36__34_list GALGAS_bigint::getter_extract_36__34_ForUnsignedRepresen return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint_36__34_list GALGAS_bigint::getter_extract_36__34_ForSignedRepresentation (LOCATION_ARGS) const { +GALGAS_uint_36__34_list GALGAS_bigint::getter_extract_36__34_ForSignedRepresentation (UNUSED_LOCATION_ARGS) const { GALGAS_uint_36__34_list result ; if (isValid ()) { TC_UniqueArray valueArray ; mValue.extractBytesForSignedRepresentation (valueArray) ; const int32_t paddingCount = (8 - (valueArray.count () % 8)) % 8 ; valueArray.appendObjects (paddingCount, ((valueArray.lastObject (HERE) & 0x80) != 0) ? 0xFF : 0) ; - result = GALGAS_uint_36__34_list::class_func_emptyList (THERE) ; + result = GALGAS_uint_36__34_list::constructor_emptyList (HERE) ; for (int32_t i=0 ; i=0 ; j--) { @@ -326,13 +326,13 @@ GALGAS_uint_36__34_list GALGAS_bigint::getter_extract_36__34_ForSignedRepresenta return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Convert to string #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_bigint::getter_string (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; @@ -342,7 +342,7 @@ GALGAS_string GALGAS_bigint::getter_string (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_bigint::getter_spacedString (const GALGAS_uint & inSeparation COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_string result ; @@ -352,7 +352,7 @@ GALGAS_string GALGAS_bigint::getter_spacedString (const GALGAS_uint & inSeparati return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_bigint::getter_hexString (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; @@ -362,11 +362,11 @@ GALGAS_string GALGAS_bigint::getter_hexString (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_bigint::getter_hexStringSeparatedBy (const GALGAS_char & inSeparator, const GALGAS_uint & inGroup, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_string result ; if (isValid () && inSeparator.isValid () && inGroup.isValid ()) { @@ -374,18 +374,18 @@ GALGAS_string GALGAS_bigint::getter_hexStringSeparatedBy (const GALGAS_char & in if (group <= 0) { inCompiler->onTheFlyRunTimeError ("last argument should be > 0" COMMA_THERE) ; }else{ - String s = mValue.xString () ; + C_String s = mValue.xString () ; const utf32 separator = inSeparator.charValue() ; for (int i = (int) (s.length () - group) ; i > 0 ; i -= group) { s.insertCharacterAtIndex (separator, i COMMA_HERE) ; } - result = GALGAS_string (String ("0x") + s) ; + result = GALGAS_string (C_String ("0x") + s) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_bigint::getter_xString (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; @@ -395,37 +395,37 @@ GALGAS_string GALGAS_bigint::getter_xString (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Incrementation, decrementation #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_bigint::increment_operation (Compiler * /* inCompiler */ +void GALGAS_bigint::increment_operation (C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { if (isValid ()) { - mValue += 1 ; + ++ mValue ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_bigint::decrement_operation (Compiler * /* inCompiler */ +void GALGAS_bigint::decrement_operation (C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { if (isValid ()) { - mValue -= 1 ; + -- mValue ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Bit manipulation #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_bigint::getter_bitAtIndex (const GALGAS_uint & inBitIndex COMMA_UNUSED_LOCATION_ARGS) const { @@ -436,7 +436,7 @@ GALGAS_bool GALGAS_bigint::getter_bitAtIndex (const GALGAS_uint & inBitIndex return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_bigint::setter_complementBitAtIndex (const GALGAS_uint inBitIndex COMMA_UNUSED_LOCATION_ARGS) { @@ -445,7 +445,7 @@ void GALGAS_bigint::setter_complementBitAtIndex (const GALGAS_uint inBitIndex } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_bigint::setter_setBitAtIndex (const GALGAS_bool inBitValue, const GALGAS_uint inBitIndex @@ -455,13 +455,13 @@ void GALGAS_bigint::setter_setBitAtIndex (const GALGAS_bool inBitValue, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Value access #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bigint GALGAS_bigint::getter_abs (UNUSED_LOCATION_ARGS) const { GALGAS_bigint result ; @@ -471,9 +471,9 @@ GALGAS_bigint GALGAS_bigint::getter_abs (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_bigint::getter_uint (Compiler * inCompiler +GALGAS_uint GALGAS_bigint::getter_uint (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid ()) { @@ -486,9 +486,9 @@ GALGAS_uint GALGAS_bigint::getter_uint (Compiler * inCompiler return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_sint GALGAS_bigint::getter_sint (Compiler * inCompiler +GALGAS_sint GALGAS_bigint::getter_sint (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint result ; if (isValid ()) { @@ -501,9 +501,9 @@ GALGAS_sint GALGAS_bigint::getter_sint (Compiler * inCompiler return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint_36__34_ GALGAS_bigint::getter_uint_36__34_ (Compiler * inCompiler +GALGAS_uint_36__34_ GALGAS_bigint::getter_uint_36__34_ (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint_36__34_ result ; if (isValid ()) { @@ -516,9 +516,9 @@ GALGAS_uint_36__34_ GALGAS_bigint::getter_uint_36__34_ (Compiler * inCompiler return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_sint_36__34_ GALGAS_bigint::getter_sint_36__34_ (Compiler * inCompiler +GALGAS_sint_36__34_ GALGAS_bigint::getter_sint_36__34_ (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; if (isValid ()) { @@ -531,15 +531,15 @@ GALGAS_sint_36__34_ GALGAS_bigint::getter_sint_36__34_ (Compiler * inCompiler return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Arithmetics #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_bigint GALGAS_bigint::operator_unary_minus (Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { +GALGAS_bigint GALGAS_bigint::operator_unary_minus (C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_bigint result ; if (isValid ()) { result = GALGAS_bigint (- mValue) ; @@ -547,10 +547,10 @@ GALGAS_bigint GALGAS_bigint::operator_unary_minus (Compiler * /* inCompiler */ C return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bigint GALGAS_bigint::add_operation (const GALGAS_bigint & inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_bigint result ; if (isValid() && inOperand.isValid ()) { @@ -559,10 +559,10 @@ GALGAS_bigint GALGAS_bigint::add_operation (const GALGAS_bigint & inOperand, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bigint GALGAS_bigint::substract_operation (const GALGAS_bigint & inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_bigint result ; if (isValid() && inOperand.isValid ()) { @@ -571,10 +571,10 @@ GALGAS_bigint GALGAS_bigint::substract_operation (const GALGAS_bigint & inOperan return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bigint GALGAS_bigint::multiply_operation (const GALGAS_bigint & inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_bigint result ; if (isValid() && inOperand.isValid ()) { @@ -583,10 +583,10 @@ GALGAS_bigint GALGAS_bigint::multiply_operation (const GALGAS_bigint & inOperand return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bigint GALGAS_bigint::divide_operation (const GALGAS_bigint & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_bigint result ; if (isValid() && inOperand.isValid ()) { @@ -599,10 +599,10 @@ GALGAS_bigint GALGAS_bigint::divide_operation (const GALGAS_bigint & inOperand, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bigint GALGAS_bigint::modulo_operation (const GALGAS_bigint & inOperand2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_bigint result ; if (isValid () && inOperand2.isValid ()) { @@ -615,12 +615,34 @@ GALGAS_bigint GALGAS_bigint::modulo_operation (const GALGAS_bigint & inOperand2, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +void GALGAS_bigint::method_ceilDivideBy (GALGAS_bigint inDivisor, + GALGAS_bigint & outQuotient, + GALGAS_bigint & outRemainder, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + outQuotient.drop () ; + outRemainder.drop () ; + if (isValid () && inDivisor.isValid ()) { + if (inDivisor.mValue.isZero ()) { + inCompiler->onTheFlyRunTimeError ("@sint64 divide by zero in modulo operation" COMMA_THERE) ; + }else{ + C_BigInt quotient ; + C_BigInt remainder ; + mValue.ceilDivideBy (inDivisor.mValue, quotient, remainder) ; + outQuotient = GALGAS_bigint (quotient) ; + outRemainder = GALGAS_bigint (remainder) ; + } + } +} + +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_bigint::method_divideBy (GALGAS_bigint inDivisor, GALGAS_bigint & outQuotient, GALGAS_bigint & outRemainder, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { outQuotient.drop () ; outRemainder.drop () ; @@ -628,20 +650,44 @@ void GALGAS_bigint::method_divideBy (GALGAS_bigint inDivisor, if (inDivisor.mValue.isZero ()) { inCompiler->onTheFlyRunTimeError ("@sint64 divide by zero in modulo operation" COMMA_THERE) ; }else{ - const BigSignedQuotientRemainder r = mValue.divideByBigSigned (inDivisor.mValue) ; - outQuotient = GALGAS_bigint (r.quotient ()) ; - outRemainder = GALGAS_bigint (r.remainder ()) ; + C_BigInt quotient ; + C_BigInt remainder ; + mValue.divideBy (inDivisor.mValue, quotient, remainder) ; + outQuotient = GALGAS_bigint (quotient) ; + outRemainder = GALGAS_bigint (remainder) ; + } + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void GALGAS_bigint::method_floorDivideBy (GALGAS_bigint inDivisor, + GALGAS_bigint & outQuotient, + GALGAS_bigint & outRemainder, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + outQuotient.drop () ; + outRemainder.drop () ; + if (isValid () && inDivisor.isValid ()) { + if (inDivisor.mValue.isZero ()) { + inCompiler->onTheFlyRunTimeError ("@bigint divide by zero in modulo operation" COMMA_THERE) ; + }else{ + C_BigInt quotient ; + C_BigInt remainder ; + mValue.floorDivideBy (inDivisor.mValue, quotient, remainder) ; + outQuotient = GALGAS_bigint (quotient) ; + outRemainder = GALGAS_bigint (remainder) ; } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Logical #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bigint GALGAS_bigint::operator_and (const GALGAS_bigint & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -652,7 +698,7 @@ GALGAS_bigint GALGAS_bigint::operator_and (const GALGAS_bigint & inOperand return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bigint GALGAS_bigint::operator_or (const GALGAS_bigint & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -663,7 +709,7 @@ GALGAS_bigint GALGAS_bigint::operator_or (const GALGAS_bigint & inOperand return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bigint GALGAS_bigint::operator_xor (const GALGAS_bigint & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -674,7 +720,7 @@ GALGAS_bigint GALGAS_bigint::operator_xor (const GALGAS_bigint & inOperand return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bigint GALGAS_bigint::operator_tilde (UNUSED_LOCATION_ARGS) const { GALGAS_bigint result ; @@ -684,16 +730,16 @@ GALGAS_bigint GALGAS_bigint::operator_tilde (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Shift #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bigint GALGAS_bigint::left_shift_operation (const GALGAS_uint inShiftOperand, - class Compiler * /* inCompiler*/ + class C_Compiler * /* inCompiler*/ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_bigint result ; @@ -703,29 +749,27 @@ GALGAS_bigint GALGAS_bigint::left_shift_operation (const GALGAS_uint inShiftOper return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bigint GALGAS_bigint::left_shift_operation (const GALGAS_bigint inShiftOperand, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_bigint result ; if (isValid () && inShiftOperand.isValid ()) { - if (inShiftOperand.mValue.isStrictlyNegative ()) { + if (inShiftOperand.mValue.isNegative ()) { inCompiler->onTheFlyRunTimeError ("@bigint left shift by a negative amount" COMMA_THERE) ; - }else if (!inShiftOperand.mValue.fitsInUInt32 ()) { - inCompiler->onTheFlyRunTimeError ("@bigint left shift too large amount" COMMA_THERE) ; }else{ - result = GALGAS_bigint (mValue << inShiftOperand.mValue.uint32 ()) ; + result = GALGAS_bigint (mValue << inShiftOperand.mValue) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bigint GALGAS_bigint::right_shift_operation (const GALGAS_uint inShiftOperand, - class Compiler * /* inCompiler*/ + class C_Compiler * /* inCompiler*/ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_bigint result ; if (isValid () && inShiftOperand.isValid ()) { @@ -734,39 +778,37 @@ GALGAS_bigint GALGAS_bigint::right_shift_operation (const GALGAS_uint inShiftOpe return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bigint GALGAS_bigint::right_shift_operation (const GALGAS_bigint inShiftOperand, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_bigint result ; if (isValid () && inShiftOperand.isValid ()) { - if (inShiftOperand.mValue.isStrictlyNegative ()) { + if (inShiftOperand.mValue.isNegative ()) { inCompiler->onTheFlyRunTimeError ("@bigint right shift by a negative amount" COMMA_THERE) ; - }else if (!inShiftOperand.mValue.fitsInUInt32 ()) { - inCompiler->onTheFlyRunTimeError ("@bigint right shift too large amount" COMMA_THERE) ; }else{ - result = GALGAS_bigint (mValue >> inShiftOperand.mValue.uint32 ()) ; + result = GALGAS_bigint (mValue >> inShiftOperand.mValue) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_bigint::plusAssign_operation (const GALGAS_bigint inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { mValue += inOperand.mValue ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_bigint::minusAssign_operation (const GALGAS_bigint inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { mValue -= inOperand.mValue ; @@ -774,20 +816,20 @@ void GALGAS_bigint::minusAssign_operation (const GALGAS_bigint inOperand, } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_bigint::mulAssign_operation (const GALGAS_bigint inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { mValue *= inOperand.mValue ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_bigint::divAssign_operation (const GALGAS_bigint inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { if (inOperand.mValue.isZero ()) { @@ -799,4 +841,4 @@ void GALGAS_bigint::divAssign_operation (const GALGAS_bigint inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/GALGAS_binaryset.cpp b/goil/build/libpm/galgas2/GALGAS_binaryset.cpp index 0a3916dfd..73af8438a 100644 --- a/goil/build/libpm/galgas2/GALGAS_binaryset.cpp +++ b/goil/build/libpm/galgas2/GALGAS_binaryset.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS_binaryset // @@ -18,43 +18,43 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -#include "Compiler.h" +#include "galgas2/C_Compiler.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset::GALGAS_binaryset (void) : mIsValid (false), mBDD () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset::GALGAS_binaryset (const C_BDD & inOperand_mBDD) : mIsValid (true), mBDD (inOperand_mBDD) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::class_func_emptyBinarySet (UNUSED_LOCATION_ARGS) { +GALGAS_binaryset GALGAS_binaryset::constructor_emptyBinarySet (UNUSED_LOCATION_ARGS) { return GALGAS_binaryset (C_BDD ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::class_func_fullBinarySet (UNUSED_LOCATION_ARGS) { +GALGAS_binaryset GALGAS_binaryset::constructor_fullBinarySet (UNUSED_LOCATION_ARGS) { C_BDD bdd ; bdd.setToTrue () ; return GALGAS_binaryset (bdd) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithBit (const GALGAS_uint & inBitIndex, - Compiler * /* inCompiler */ +GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithBit (const GALGAS_uint & inBitIndex, + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { GALGAS_binaryset result ; if (inBitIndex.isValid ()) { @@ -65,33 +65,33 @@ GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithBit (const GALGAS_uin return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithPredicateString (const GALGAS_string & inBitString, - Compiler * inCompiler +GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithPredicateString (const GALGAS_string & inBitString, + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_binaryset result ; if (inBitString.isValid ()) { - const String bitString = inBitString.stringValue () ; + const C_String bitString = inBitString.stringValue () ; const int32_t stringLength = bitString.length () ; int32_t stringIndex = 0 ; bool ok = true ; C_BDD resultBDD ; while ((stringIndex < stringLength) && ok) { - utf32 cc = bitString.charAtIndex (stringIndex COMMA_HERE) ; - String s ; + utf32 cc = bitString (stringIndex COMMA_HERE) ; + C_String s ; while ((stringIndex < stringLength) && ((UNICODE_VALUE (cc) == '0') || (UNICODE_VALUE (cc) == '1') || (UNICODE_VALUE (cc) == 'X') || (UNICODE_VALUE (cc) == ' '))) { - s.appendChar (cc) ; + s.appendUnicodeCharacter (cc COMMA_HERE) ; stringIndex ++ ; if (stringIndex < stringLength) { - cc = bitString.charAtIndex (stringIndex COMMA_HERE) ; + cc = bitString (stringIndex COMMA_HERE) ; } } if (s.length () > 0) { C_BDD v ; v.setToTrue () ; uint32_t bitIndex = 0 ; for (int32_t i=s.length () - 1 ; i>=0 ; i--) { - const utf32 c = s.charAtIndex (i COMMA_HERE) ; + const utf32 c = s (i COMMA_HERE) ; if (UNICODE_VALUE (c) == '0') { v &= C_BDD (bitIndex, false) ; bitIndex ++ ; @@ -112,7 +112,7 @@ GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithPredicateString (cons if (ok) { result = GALGAS_binaryset (resultBDD) ; }else{ - String message ("invalid query string near index ") ; + C_String message ("invalid query string near index ") ; message.appendSigned (stringIndex) ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; } @@ -120,9 +120,9 @@ GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithPredicateString (cons return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_binaryset binarySetWithComparison (Compiler * inCompiler, +static GALGAS_binaryset binarySetWithComparison (C_Compiler * inCompiler, const GALGAS_uint & inLeftFirstIndex, const GALGAS_uint & inBitCount, const C_BDD::compareEnum inComparison, @@ -146,12 +146,12 @@ static GALGAS_binaryset binarySetWithComparison (Compiler * inCompiler, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithEqualComparison (const GALGAS_uint & inLeftFirstIndex, +GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithEqualComparison (const GALGAS_uint & inLeftFirstIndex, const GALGAS_uint & inBitCount, const GALGAS_uint & inRightFirstIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { return binarySetWithComparison (inCompiler, inLeftFirstIndex, @@ -161,12 +161,12 @@ GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithEqualComparison (cons COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithNotEqualComparison (const GALGAS_uint & inLeftFirstIndex, +GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithNotEqualComparison (const GALGAS_uint & inLeftFirstIndex, const GALGAS_uint & inBitCount, const GALGAS_uint & inRightFirstIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { return binarySetWithComparison (inCompiler, inLeftFirstIndex, @@ -176,12 +176,12 @@ GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithNotEqualComparison (c COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithLowerOrEqualComparison (const GALGAS_uint & inLeftFirstIndex, +GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithLowerOrEqualComparison (const GALGAS_uint & inLeftFirstIndex, const GALGAS_uint & inBitCount, const GALGAS_uint & inRightFirstIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { return binarySetWithComparison (inCompiler, inLeftFirstIndex, @@ -191,12 +191,12 @@ GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithLowerOrEqualCompariso COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithGreaterOrEqualComparison (const GALGAS_uint & inLeftFirstIndex, +GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithGreaterOrEqualComparison (const GALGAS_uint & inLeftFirstIndex, const GALGAS_uint & inBitCount, const GALGAS_uint & inRightFirstIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { return binarySetWithComparison (inCompiler, inLeftFirstIndex, @@ -206,12 +206,12 @@ GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithGreaterOrEqualCompari COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithStrictLowerComparison (const GALGAS_uint & inLeftFirstIndex, +GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithStrictLowerComparison (const GALGAS_uint & inLeftFirstIndex, const GALGAS_uint & inBitCount, const GALGAS_uint & inRightFirstIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { return binarySetWithComparison (inCompiler, inLeftFirstIndex, @@ -221,12 +221,12 @@ GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithStrictLowerComparison COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithStrictGreaterComparison (const GALGAS_uint & inLeftFirstIndex, +GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithStrictGreaterComparison (const GALGAS_uint & inLeftFirstIndex, const GALGAS_uint & inBitCount, const GALGAS_uint & inRightFirstIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { return binarySetWithComparison (inCompiler, inLeftFirstIndex, @@ -236,9 +236,9 @@ GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithStrictGreaterComparis COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_binaryset binarySetWithComparisonWithConstant (Compiler * inCompiler, +static GALGAS_binaryset binarySetWithComparisonWithConstant (C_Compiler * inCompiler, const GALGAS_uint & inBitIndex, const GALGAS_uint & inBitCount, const C_BDD::compareEnum inComparison, @@ -259,12 +259,12 @@ static GALGAS_binaryset binarySetWithComparisonWithConstant (Compiler * inCompil return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithEqualToConstant (const GALGAS_uint & inBitIndex, +GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithEqualToConstant (const GALGAS_uint & inBitIndex, const GALGAS_uint & inBitCount, const GALGAS_uint_36__34_ & inConstant, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { return binarySetWithComparisonWithConstant (inCompiler, inBitIndex, @@ -274,12 +274,12 @@ GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithEqualToConstant (cons COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithNotEqualToConstant (const GALGAS_uint & inBitIndex, +GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithNotEqualToConstant (const GALGAS_uint & inBitIndex, const GALGAS_uint & inBitCount, const GALGAS_uint_36__34_ & inConstant, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { return binarySetWithComparisonWithConstant (inCompiler, inBitIndex, @@ -289,12 +289,12 @@ GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithNotEqualToConstant (c COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithLowerOrEqualToConstant (const GALGAS_uint & inBitIndex, +GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithLowerOrEqualToConstant (const GALGAS_uint & inBitIndex, const GALGAS_uint & inBitCount, const GALGAS_uint_36__34_ & inConstant, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { return binarySetWithComparisonWithConstant (inCompiler, inBitIndex, @@ -304,12 +304,12 @@ GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithLowerOrEqualToConstan COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithStrictLowerThanConstant (const GALGAS_uint & inBitIndex, +GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithStrictLowerThanConstant (const GALGAS_uint & inBitIndex, const GALGAS_uint & inBitCount, const GALGAS_uint_36__34_ & inConstant, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { return binarySetWithComparisonWithConstant (inCompiler, inBitIndex, @@ -319,12 +319,12 @@ GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithStrictLowerThanConsta COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithGreaterOrEqualToConstant (const GALGAS_uint & inBitIndex, +GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithGreaterOrEqualToConstant (const GALGAS_uint & inBitIndex, const GALGAS_uint & inBitCount, const GALGAS_uint_36__34_ & inConstant, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { return binarySetWithComparisonWithConstant (inCompiler, inBitIndex, @@ -334,12 +334,12 @@ GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithGreaterOrEqualToConst COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithStrictGreaterThanConstant (const GALGAS_uint & inBitIndex, +GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithStrictGreaterThanConstant (const GALGAS_uint & inBitIndex, const GALGAS_uint & inBitCount, const GALGAS_uint_36__34_ & inConstant, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { return binarySetWithComparisonWithConstant (inCompiler, inBitIndex, @@ -349,13 +349,13 @@ GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithStrictGreaterThanCons COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Operators #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::operator_xor (const GALGAS_binaryset & inOperand2 COMMA_UNUSED_LOCATION_ARGS) const { @@ -366,7 +366,7 @@ GALGAS_binaryset GALGAS_binaryset::operator_xor (const GALGAS_binaryset & inOper return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::operator_and (const GALGAS_binaryset & inOperand2 COMMA_UNUSED_LOCATION_ARGS) const { @@ -377,7 +377,7 @@ GALGAS_binaryset GALGAS_binaryset::operator_and (const GALGAS_binaryset & inOper return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::operator_or (const GALGAS_binaryset & inOperand2 COMMA_UNUSED_LOCATION_ARGS) const { @@ -388,7 +388,7 @@ GALGAS_binaryset GALGAS_binaryset::operator_or (const GALGAS_binaryset & inOpera return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::operator_tilde (UNUSED_LOCATION_ARGS) const { GALGAS_binaryset result ; @@ -398,33 +398,33 @@ GALGAS_binaryset GALGAS_binaryset::operator_tilde (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_binaryset::description (String & ioString, +void GALGAS_binaryset::description (C_String & ioString, const int32_t /* inIndentation */) const { - ioString.appendCString ("<@binaryset: ") ; + ioString << "<@binaryset: " ; if (isValid ()) { if (mBDD.isFalse ()){ - ioString.appendCString ("false") ; + ioString << "false" ; }else if (mBDD.isTrue ()){ - ioString.appendCString ("true") ; + ioString << "true" ; }else{ - TC_UniqueArray stringArray ; + TC_UniqueArray stringArray ; mBDD.buildCompressedBigEndianStringValueArray (stringArray COMMA_HERE) ; for (int32_t i=0 ; i") ; + ioString << ">" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_binaryset::getter_containsValue (const GALGAS_uint_36__34_ & inValue, const GALGAS_uint & inFirstBit, @@ -440,7 +440,7 @@ GALGAS_bool GALGAS_binaryset::getter_containsValue (const GALGAS_uint_36__34_ & return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::getter_ITE (const GALGAS_binaryset & inTHENoperand, const GALGAS_binaryset & inELSEoperand @@ -452,7 +452,7 @@ GALGAS_binaryset GALGAS_binaryset::getter_ITE (const GALGAS_binaryset & inTHENop return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::getter_implies (const GALGAS_binaryset & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -463,7 +463,7 @@ GALGAS_binaryset GALGAS_binaryset::getter_implies (const GALGAS_binaryset & inOp return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::getter_equalTo (const GALGAS_binaryset & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -474,7 +474,7 @@ GALGAS_binaryset GALGAS_binaryset::getter_equalTo (const GALGAS_binaryset & inOp return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::getter_notEqualTo (const GALGAS_binaryset & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -485,7 +485,7 @@ GALGAS_binaryset GALGAS_binaryset::getter_notEqualTo (const GALGAS_binaryset & i return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::getter_lowerOrEqualTo (const GALGAS_binaryset & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -496,7 +496,7 @@ GALGAS_binaryset GALGAS_binaryset::getter_lowerOrEqualTo (const GALGAS_binaryset return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::getter_greaterOrEqualTo (const GALGAS_binaryset & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -507,7 +507,7 @@ GALGAS_binaryset GALGAS_binaryset::getter_greaterOrEqualTo (const GALGAS_binarys return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::getter_strictLowerThan (const GALGAS_binaryset & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -518,7 +518,7 @@ GALGAS_binaryset GALGAS_binaryset::getter_strictLowerThan (const GALGAS_binaryse return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::getter_strictGreaterThan (const GALGAS_binaryset & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -529,7 +529,7 @@ GALGAS_binaryset GALGAS_binaryset::getter_strictGreaterThan (const GALGAS_binary return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_binaryset::getter_isFull (UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; @@ -539,7 +539,7 @@ GALGAS_bool GALGAS_binaryset::getter_isFull (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_binaryset::getter_isEmpty (UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; @@ -549,7 +549,7 @@ GALGAS_bool GALGAS_binaryset::getter_isEmpty (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_binaryset::getter_significantVariableCount (UNUSED_LOCATION_ARGS) const { GALGAS_uint result ; @@ -559,10 +559,10 @@ GALGAS_uint GALGAS_binaryset::getter_significantVariableCount (UNUSED_LOCATION_A return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_ GALGAS_binaryset::getter_valueCount (const GALGAS_uint & inVariableCount, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint_36__34_ result ; if (isValid () && inVariableCount.isValid ()) { @@ -575,33 +575,32 @@ GALGAS_uint_36__34_ GALGAS_binaryset::getter_valueCount (const GALGAS_uint & inV return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bigint GALGAS_binaryset::getter_bigValueCount (const GALGAS_uint & inVariableCount, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_bigint result ; if (isValid () && inVariableCount.isValid ()) { if (mBDD.significantVariableCount () > inVariableCount.uintValue ()) { inCompiler->onTheFlyRunTimeError ("needed variable count is greater than variable count argument" COMMA_THERE) ; }else{ - const UInt128 r = mBDD.valueCount128 (inVariableCount.uintValue ()) ; - const uint64_t u64Array [2] = {r.high (), r.low ()} ; - result = GALGAS_bigint (BigSigned (true, 2, u64Array)) ; + const PMUInt128 r = mBDD.valueCount128 (inVariableCount.uintValue ()) ; + result = GALGAS_bigint (C_BigInt (r.high (), r.low (), false)) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_ GALGAS_binaryset::getter_compressedValueCount (UNUSED_LOCATION_ARGS) const { - TC_UniqueArray valuesArray ; + TC_UniqueArray valuesArray ; mBDD.buildCompressedLittleEndianStringValueArray (valuesArray COMMA_HERE) ; return GALGAS_uint_36__34_ ((uint32_t) valuesArray.count ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_list GALGAS_binaryset::getter_uint_36__34_ValueList (const GALGAS_uint & inVariableCount COMMA_LOCATION_ARGS) const { @@ -609,7 +608,7 @@ GALGAS_uint_36__34_list GALGAS_binaryset::getter_uint_36__34_ValueList (const GA if (isValid () && inVariableCount.isValid ()) { TC_UniqueArray valuesArray ; mBDD.buildValue64Array (valuesArray, inVariableCount.uintValue ()) ; - result = GALGAS_uint_36__34_list::class_func_emptyList (THERE) ; + result = GALGAS_uint_36__34_list::constructor_emptyList (THERE) ; for (int32_t i=0 ; i valuesArray ; mBDD.buildValue64Array (valuesArray, inVariableCount.uintValue ()) ; - result = GALGAS_stringlist::class_func_emptyList (THERE) ; + result = GALGAS_stringlist::constructor_emptyList (THERE) ; for (int32_t i=0 ; i variableCount) { - String message ; - message.appendCString ("variable count argument (") ; - message.appendSigned (variableCount) ; - message.appendCString (") is lower than actual variable count (") ; - message.appendSigned (actualVariableCount) ; - message.appendCString ("); it should be greater or equal") ; + C_String message ; + message << "variable count argument (" << cStringWithSigned (variableCount) + << ") is lower than actual variable count (" + << cStringWithSigned (actualVariableCount) << "); it should be greater or equal" ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; }else{ - TC_UniqueArray valuesArray ; + TC_UniqueArray valuesArray ; mBDD.buildCompressedBigEndianStringValueArray (valuesArray, variableCount COMMA_THERE) ; - result = GALGAS_stringlist::class_func_emptyList (THERE) ; + result = GALGAS_stringlist::constructor_emptyList (THERE) ; for (int32_t i=0 ; i valuesArray ; + TC_UniqueArray valuesArray ; mBDD.buildBigEndianStringValueArray (valuesArray, inVariableCount.uintValue ()) ; - result = GALGAS_stringlist::class_func_emptyList (THERE) ; + result = GALGAS_stringlist::constructor_emptyList (THERE) ; for (int32_t i=0 ; i variablesNames ; + TC_UniqueArray variablesNames ; TC_UniqueArray bitCounts ; cEnumerator_stringlist variableEnumerator (inVariableList, kENUMERATION_UP) ; cEnumerator_uintlist bddCountEnumerator (inBDDCount, kENUMERATION_UP) ; while (variableEnumerator.hasCurrentObject () && bddCountEnumerator.hasCurrentObject ()) { - const String name = variableEnumerator.current_mValue (HERE).stringValue () ; + const C_String name = variableEnumerator.current_mValue (HERE).stringValue () ; variablesNames.appendObject (name) ; const uint32_t bddCount = bddCountEnumerator.current_mValue (HERE).uintValue () ; bitCounts.appendObject ((int32_t) bddCount) ; variableEnumerator.gotoNextObject () ; bddCountEnumerator.gotoNextObject () ; } - String s ; + C_String s ; mBDD.print (s, variablesNames, bitCounts) ; result = GALGAS_string (s) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::getter_transformedBy (const GALGAS_uintlist & inTransformationArray COMMA_LOCATION_ARGS) const { @@ -783,7 +780,7 @@ GALGAS_binaryset GALGAS_binaryset::getter_transformedBy (const GALGAS_uintlist & return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_ GALGAS_binaryset::getter_nodeCount (UNUSED_LOCATION_ARGS) const { GALGAS_uint_36__34_ result ; @@ -793,16 +790,16 @@ GALGAS_uint_36__34_ GALGAS_binaryset::getter_nodeCount (UNUSED_LOCATION_ARGS) co return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_binaryset::getter_graphviz (const GALGAS_stringlist & inBitNameList COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_string result ; if (isValid () && inBitNameList.isValid ()) { - TC_UniqueArray bitNameArray ; + TC_UniqueArray bitNameArray ; cEnumerator_stringlist variableEnumerator (inBitNameList, kENUMERATION_UP) ; while (variableEnumerator.hasCurrentObject ()) { - const String name = variableEnumerator.current_mValue (HERE).stringValue () ; + const C_String name = variableEnumerator.current_mValue (HERE).stringValue () ; bitNameArray.appendObject (name) ; variableEnumerator.gotoNextObject () ; } @@ -811,7 +808,7 @@ GALGAS_string GALGAS_binaryset::getter_graphviz (const GALGAS_stringlist & inBit return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_binaryset::getter_graphvizDump (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; @@ -821,7 +818,7 @@ GALGAS_string GALGAS_binaryset::getter_graphvizDump (UNUSED_LOCATION_ARGS) const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::getter_swap_31__30_ (const GALGAS_uint & inBitCount1, const GALGAS_uint & inBitCount2 @@ -835,7 +832,7 @@ GALGAS_binaryset GALGAS_binaryset::getter_swap_31__30_ (const GALGAS_uint & inBi return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::getter_swap_30__32__31_ (const GALGAS_uint & inBitCount1, const GALGAS_uint & inBitCount2, @@ -851,7 +848,7 @@ GALGAS_binaryset GALGAS_binaryset::getter_swap_30__32__31_ (const GALGAS_uint & return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::getter_swap_31__30__32_ (const GALGAS_uint & inBitCount1, const GALGAS_uint & inBitCount2, @@ -867,7 +864,7 @@ GALGAS_binaryset GALGAS_binaryset::getter_swap_31__30__32_ (const GALGAS_uint & return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::getter_swap_31__32__30_ (const GALGAS_uint & inBitCount1, const GALGAS_uint & inBitCount2, @@ -883,7 +880,7 @@ GALGAS_binaryset GALGAS_binaryset::getter_swap_31__32__30_ (const GALGAS_uint & return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::getter_swap_32__30__31_ (const GALGAS_uint & inBitCount1, const GALGAS_uint & inBitCount2, @@ -899,7 +896,7 @@ GALGAS_binaryset GALGAS_binaryset::getter_swap_32__30__31_ (const GALGAS_uint & return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::getter_swap_32__31__30_ (const GALGAS_uint & inBitCount1, const GALGAS_uint & inBitCount2, @@ -915,7 +912,7 @@ GALGAS_binaryset GALGAS_binaryset::getter_swap_32__31__30_ (const GALGAS_uint & return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::getter_transitiveClosure (const GALGAS_uint & inBitCount COMMA_UNUSED_LOCATION_ARGS) const { @@ -927,7 +924,7 @@ GALGAS_binaryset GALGAS_binaryset::getter_transitiveClosure (const GALGAS_uint & return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::getter_accessibleStates (const GALGAS_binaryset & inInitialStateSet, const GALGAS_uint & inBitCount @@ -944,7 +941,7 @@ GALGAS_binaryset GALGAS_binaryset::getter_accessibleStates (const GALGAS_binarys return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::getter_binarySetByTranslatingFromIndex (const GALGAS_uint & inFirstIndexToTranslate, const GALGAS_uint & inTranslation @@ -972,7 +969,7 @@ GALGAS_binaryset GALGAS_binaryset::getter_binarySetByTranslatingFromIndex (const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::getter_existsOnBitRange (const GALGAS_uint & inFirstIndex, const GALGAS_uint & inCount @@ -991,10 +988,10 @@ GALGAS_binaryset GALGAS_binaryset::getter_existsOnBitRange (const GALGAS_uint & return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::getter_transposedBy (const class GALGAS_uintlist & inVector, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_binaryset result ; if (isValid () && inVector.isValid ()) { @@ -1011,10 +1008,10 @@ GALGAS_binaryset GALGAS_binaryset::getter_transposedBy (const class GALGAS_uintl return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::left_shift_operation (const GALGAS_uint inLeftShiftCount, - class Compiler * /* inCompiler */ + class C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_binaryset result ; if (isValid () && inLeftShiftCount.isValid ()) { @@ -1023,14 +1020,14 @@ GALGAS_binaryset GALGAS_binaryset::left_shift_operation (const GALGAS_uint inLef return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::left_shift_operation (const GALGAS_bigint inLeftShiftCount, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_binaryset result ; if (isValid () && inLeftShiftCount.isValid ()) { - if (inLeftShiftCount.bigintValue().isStrictlyNegative ()) { + if (inLeftShiftCount.bigintValue().isNegative ()) { inCompiler->onTheFlyRunTimeError ("@binaryset left shift by a negative amount" COMMA_THERE) ; }else{ result = GALGAS_binaryset (mBDD.bddByLeftShifting (inLeftShiftCount.bigintValue().uint32 ())) ; @@ -1039,10 +1036,10 @@ GALGAS_binaryset GALGAS_binaryset::left_shift_operation (const GALGAS_bigint inL return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::right_shift_operation (const GALGAS_uint inRightShiftCount, - class Compiler * /* inCompiler*/ + class C_Compiler * /* inCompiler*/ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_binaryset result ; if (isValid () && inRightShiftCount.isValid ()) { @@ -1051,14 +1048,14 @@ GALGAS_binaryset GALGAS_binaryset::right_shift_operation (const GALGAS_uint inRi return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::right_shift_operation (const GALGAS_bigint inRightShiftCount, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_binaryset result ; if (isValid () && inRightShiftCount.isValid ()) { - if (inRightShiftCount.bigintValue().isStrictlyNegative ()) { + if (inRightShiftCount.bigintValue().isNegative ()) { inCompiler->onTheFlyRunTimeError ("@binaryset right shift by a negative amount" COMMA_THERE) ; }else{ result = GALGAS_binaryset (mBDD.bddByRightShifting (inRightShiftCount.bigintValue ().uint32 ())) ; @@ -1067,7 +1064,7 @@ GALGAS_binaryset GALGAS_binaryset::right_shift_operation (const GALGAS_bigint in return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_binaryset::objectCompare (const GALGAS_binaryset & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -1083,7 +1080,7 @@ typeComparisonResult GALGAS_binaryset::objectCompare (const GALGAS_binaryset & i return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_binaryset::class_method_setNodeTableSize (class GALGAS_uint inTableSize COMMA_UNUSED_LOCATION_ARGS) { @@ -1092,7 +1089,7 @@ void GALGAS_binaryset::class_method_setNodeTableSize (class GALGAS_uint inTableS } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_binaryset::class_method_setAndTableSize (class GALGAS_uint inTableSize COMMA_UNUSED_LOCATION_ARGS) { @@ -1101,4 +1098,4 @@ void GALGAS_binaryset::class_method_setAndTableSize (class GALGAS_uint inTableSi } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/GALGAS_bool.cpp b/goil/build/libpm/galgas2/GALGAS_bool.cpp index 4bb2a0fe0..3dffbbb4a 100644 --- a/goil/build/libpm/galgas2/GALGAS_bool.cpp +++ b/goil/build/libpm/galgas2/GALGAS_bool.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS_bool : this class implements the GALGAS 'bool' native type // @@ -16,16 +16,16 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -#include "Compiler.h" +#include "galgas2/C_Compiler.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'GALGAS_bool' class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool::GALGAS_bool (void) : AC_GALGAS_root (), @@ -33,7 +33,13 @@ mIsValid (false), mBoolValue (false) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_bool GALGAS_bool::constructor_default (UNUSED_LOCATION_ARGS) { + return GALGAS_bool (false) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool::GALGAS_bool (const bool inValue) : AC_GALGAS_root (), @@ -41,7 +47,7 @@ mIsValid (true), mBoolValue (inValue) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool::GALGAS_bool (const bool inIsBuilt, const bool inValue) : @@ -50,13 +56,7 @@ mIsValid (inIsBuilt), mBoolValue (inValue) { } -//-------------------------------------------------------------------------------------------------- - -GALGAS_bool GALGAS_bool::class_func_default (UNUSED_LOCATION_ARGS) { - return GALGAS_bool (false) ; -} - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool::GALGAS_bool (const typeComparisonKind inComparisonKind, const typeComparisonResult inComparisonResult) : @@ -64,7 +64,7 @@ mIsValid (kOperandNotValid != inComparisonResult), mBoolValue (boolValueFromComparisonKindAndComparisonResult (inComparisonKind, inComparisonResult)) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- enumGalgasBool GALGAS_bool::boolEnum (void) const { enumGalgasBool result = kBoolNotValid ; @@ -74,7 +74,7 @@ enumGalgasBool GALGAS_bool::boolEnum (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_bool::objectCompare (const GALGAS_bool & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -90,7 +90,7 @@ typeComparisonResult GALGAS_bool::objectCompare (const GALGAS_bool & inOperand) return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_bool::operator_and (const GALGAS_bool & inOperand2 COMMA_UNUSED_LOCATION_ARGS) const { @@ -101,7 +101,7 @@ GALGAS_bool GALGAS_bool::operator_and (const GALGAS_bool & inOperand2 return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_bool::operator_or (const GALGAS_bool & inOperand2 COMMA_UNUSED_LOCATION_ARGS) const { @@ -112,7 +112,7 @@ GALGAS_bool GALGAS_bool::operator_or (const GALGAS_bool & inOperand2 return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_bool::operator_xor (const GALGAS_bool & inOperand2 COMMA_UNUSED_LOCATION_ARGS) const { @@ -123,7 +123,7 @@ GALGAS_bool GALGAS_bool::operator_xor (const GALGAS_bool & inOperand2 return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_bool::operator_not (UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; @@ -133,7 +133,7 @@ GALGAS_bool GALGAS_bool::operator_not (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_bool::getter_cString (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; @@ -143,7 +143,7 @@ GALGAS_string GALGAS_bool::getter_cString (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_bool::getter_ocString (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; @@ -153,7 +153,7 @@ GALGAS_string GALGAS_bool::getter_ocString (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_bool::getter_uint (UNUSED_LOCATION_ARGS) const { GALGAS_uint result ; @@ -163,17 +163,17 @@ GALGAS_uint GALGAS_bool::getter_uint (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bigint GALGAS_bool::getter_bigint (UNUSED_LOCATION_ARGS) const { GALGAS_bigint result ; if (isValid ()) { - result = GALGAS_bigint (BigSigned (true, uint64_t (mBoolValue ? 1 : 0))) ; + result = GALGAS_bigint (C_BigInt ((uint32_t) (mBoolValue ? 1 : 0))) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint GALGAS_bool::getter_sint (UNUSED_LOCATION_ARGS) const { GALGAS_sint result ; @@ -183,7 +183,7 @@ GALGAS_sint GALGAS_bool::getter_sint (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_ GALGAS_bool::getter_uint_36__34_ (UNUSED_LOCATION_ARGS) const { GALGAS_uint_36__34_ result ; @@ -193,7 +193,7 @@ GALGAS_uint_36__34_ GALGAS_bool::getter_uint_36__34_ (UNUSED_LOCATION_ARGS) cons return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_ GALGAS_bool::getter_sint_36__34_ (UNUSED_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; @@ -203,17 +203,17 @@ GALGAS_sint_36__34_ GALGAS_bool::getter_sint_36__34_ (UNUSED_LOCATION_ARGS) cons return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_bool::description (String & ioString, +void GALGAS_bool::description (C_String & ioString, const int32_t /* inIndentation */) const { - ioString.appendCString ("<@bool:") ; + ioString << "<@bool:" ; if (isValid ()) { - ioString.appendString (mBoolValue ? "true" : "false") ; + ioString << (mBoolValue ? "true" : "false") ; }else{ - ioString.appendCString ("not built") ; + ioString << "not built" ; } - ioString.appendCString (">") ; + ioString << ">" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/GALGAS_char.cpp b/goil/build/libpm/galgas2/GALGAS_char.cpp index fe7a03543..3879d65a0 100644 --- a/goil/build/libpm/galgas2/GALGAS_char.cpp +++ b/goil/build/libpm/galgas2/GALGAS_char.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS_char // @@ -16,17 +16,17 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -#include "Compiler.h" -#include "unicode_character_cpp.h" +#include "galgas2/C_Compiler.h" +#include "strings/unicode_character_cpp.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #if COMPILE_FOR_WINDOWS == 0 #include @@ -35,7 +35,7 @@ #include #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_char::GALGAS_char (void) : AC_GALGAS_root (), @@ -43,10 +43,16 @@ mIsValid (false), mCharValue (TO_UNICODE (0)) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_char GALGAS_char::constructor_default (UNUSED_LOCATION_ARGS) { + return GALGAS_char (TO_UNICODE (0)) ; +} + +//---------------------------------------------------------------------------------------------------------------------- #if (COMPILE_FOR_WINDOWS == 1) || defined(__CYGWIN__) - GALGAS_char GALGAS_char::class_func_unicodeCharacterFromRawKeyboard (Compiler * inCompiler + GALGAS_char GALGAS_char::constructor_unicodeCharacterFromRawKeyboard (C_Compiler * inCompiler COMMA_LOCATION_ARGS) { inCompiler->onTheFlyRunTimeError ( "@char unicodeCharacterFromRawKeyboard constructor is not implemented for Windows" @@ -67,7 +73,7 @@ mCharValue (TO_UNICODE (0)) { } } - GALGAS_char GALGAS_char::class_func_unicodeCharacterFromRawKeyboard (Compiler * /* inCompiler */ + GALGAS_char GALGAS_char::constructor_unicodeCharacterFromRawKeyboard (C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { //--- Save current configuration struct termios termios_orig ; @@ -131,7 +137,7 @@ mCharValue (TO_UNICODE (0)) { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_char::GALGAS_char (const utf32 inValue) : AC_GALGAS_root (), @@ -139,7 +145,7 @@ mIsValid (true), mCharValue (inValue) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_char::objectCompare (const GALGAS_char & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -156,45 +162,45 @@ typeComparisonResult GALGAS_char::objectCompare (const GALGAS_char & inOperand) return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_char::description (String & ioString, +void GALGAS_char::description (C_String & ioString, const int32_t /* inIndentation */) const { - ioString.appendCString ("<@char:") ; + ioString << "<@char:" ; if (isValid ()) { if (isprint ((int) UNICODE_VALUE (mCharValue))) { - ioString.appendCString ("'") ; - ioString.appendChar (mCharValue) ; - ioString.appendCString ("'") ; + ioString << "'" ; + ioString.appendUnicodeCharacter (mCharValue COMMA_HERE) ; + ioString << "'" ; }else{ - ioString.appendString (unicodeName (mCharValue)) ; + ioString << unicodeName (mCharValue) ; } }else{ - ioString.appendCString ("not built") ; + ioString << "not built" ; } - ioString.appendCString (">") ; + ioString << ">" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_char::getter_string (UNUSED_LOCATION_ARGS) const { +GALGAS_string GALGAS_char::getter_string (LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { - String s ; - s.appendChar (mCharValue) ; + C_String s ; + s.appendUnicodeCharacter (mCharValue COMMA_THERE) ; result = GALGAS_string (s) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_char::getter_utf_33__32_CharConstantRepresentation (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { - String s ; + C_String s ; s.appendCString ("TO_UNICODE (") ; - s.appendStringAsCLiteralCharConstant (mCharValue) ; + s.appendCLiteralCharConstant (mCharValue) ; s.appendCString (")") ; result = GALGAS_string (s) ; } @@ -202,7 +208,7 @@ GALGAS_string GALGAS_char::getter_utf_33__32_CharConstantRepresentation (UNUSED_ } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_char::getter_uint (UNUSED_LOCATION_ARGS) const { GALGAS_uint result ; @@ -212,7 +218,7 @@ GALGAS_uint GALGAS_char::getter_uint (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_char::getter_isalnum (UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; @@ -226,7 +232,7 @@ GALGAS_bool GALGAS_char::getter_isalnum (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_char::getter_isalpha (UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; @@ -237,7 +243,7 @@ GALGAS_bool GALGAS_char::getter_isalpha (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_char::getter_iscntrl (UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; @@ -247,7 +253,7 @@ GALGAS_bool GALGAS_char::getter_iscntrl (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_char::getter_isdigit (UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; @@ -257,7 +263,7 @@ GALGAS_bool GALGAS_char::getter_isdigit (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_char::getter_islower (UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; @@ -267,7 +273,7 @@ GALGAS_bool GALGAS_char::getter_islower (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_char::getter_isupper (UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; @@ -277,7 +283,7 @@ GALGAS_bool GALGAS_char::getter_isupper (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_char::getter_isxdigit (UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; @@ -289,7 +295,7 @@ GALGAS_bool GALGAS_char::getter_isxdigit (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_char::getter_isUnicodeLetter (UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; @@ -299,7 +305,7 @@ GALGAS_bool GALGAS_char::getter_isUnicodeLetter (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_char::getter_isUnicodeMark (UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; @@ -309,7 +315,7 @@ GALGAS_bool GALGAS_char::getter_isUnicodeMark (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_char::getter_isUnicodeSymbol (UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; @@ -319,7 +325,7 @@ GALGAS_bool GALGAS_char::getter_isUnicodeSymbol (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_char::getter_isUnicodeCommand (UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; @@ -329,7 +335,7 @@ GALGAS_bool GALGAS_char::getter_isUnicodeCommand (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_char::getter_isUnicodeSeparator (UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; @@ -339,7 +345,7 @@ GALGAS_bool GALGAS_char::getter_isUnicodeSeparator (UNUSED_LOCATION_ARGS) const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_char::getter_isUnicodePunctuation (UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; @@ -349,7 +355,7 @@ GALGAS_bool GALGAS_char::getter_isUnicodePunctuation (UNUSED_LOCATION_ARGS) cons return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_char::getter_isUnicodeNumber (UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; @@ -359,7 +365,7 @@ GALGAS_bool GALGAS_char::getter_isUnicodeNumber (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_char::getter_unicodeName (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; @@ -369,7 +375,7 @@ GALGAS_string GALGAS_char::getter_unicodeName (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_char GALGAS_char::getter_unicodeToLower (UNUSED_LOCATION_ARGS) const { GALGAS_char result ; @@ -379,7 +385,7 @@ GALGAS_char GALGAS_char::getter_unicodeToLower (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_char GALGAS_char::getter_unicodeToUpper (UNUSED_LOCATION_ARGS) const { GALGAS_char result ; @@ -389,7 +395,7 @@ GALGAS_char GALGAS_char::getter_unicodeToUpper (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_char::getter_utf_38_Length (UNUSED_LOCATION_ARGS) const { GALGAS_uint result ; @@ -399,9 +405,9 @@ GALGAS_uint GALGAS_char::getter_utf_38_Length (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_char GALGAS_char::class_func_unicodeCharacterWithUnsigned (const GALGAS_uint & inValue +GALGAS_char GALGAS_char::constructor_unicodeCharacterWithUnsigned (const GALGAS_uint & inValue COMMA_UNUSED_LOCATION_ARGS) { GALGAS_char result ; if (inValue.isValid ()) { @@ -410,10 +416,10 @@ GALGAS_char GALGAS_char::class_func_unicodeCharacterWithUnsigned (const GALGAS_u return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_char GALGAS_char::class_func_replacementCharacter (UNUSED_LOCATION_ARGS) { +GALGAS_char GALGAS_char::constructor_replacementCharacter (UNUSED_LOCATION_ARGS) { return GALGAS_char (UNICODE_REPLACEMENT_CHARACTER) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/GALGAS_data.cpp b/goil/build/libpm/galgas2/GALGAS_data.cpp index 7313e0836..f542b1db9 100644 --- a/goil/build/libpm/galgas2/GALGAS_data.cpp +++ b/goil/build/libpm/galgas2/GALGAS_data.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS_data : this class implements the GALGAS 'data' native type // @@ -16,21 +16,21 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -#include "capCollectionElement.h" -#include "cCollectionElement.h" -#include "Compiler.h" -#include "C_galgas_io.h" -#include "unicode_character_cpp.h" -#include "C_galgas_CLI_Options.h" -#include "BinaryFileWrite.h" -#include "F_verbose_output.h" - -//-------------------------------------------------------------------------------------------------- +#include "galgas2/capCollectionElement.h" +#include "galgas2/cCollectionElement.h" +#include "galgas2/C_Compiler.h" +#include "galgas2/C_galgas_io.h" +#include "strings/unicode_character_cpp.h" +#include "galgas2/C_galgas_CLI_Options.h" +#include "files/C_BinaryFileWrite.h" +#include "galgas2/F_verbose_output.h" + +//---------------------------------------------------------------------------------------------------------------------- // GALGAS_data -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_data::GALGAS_data (void) : AC_GALGAS_root (), @@ -38,43 +38,42 @@ mIsValid (false), mData () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_data::GALGAS_data (const U8Data & inData) : +GALGAS_data::GALGAS_data (const C_Data & inData) : AC_GALGAS_root (), mIsValid (true), mData (inData) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_data GALGAS_data::class_func_emptyData (UNUSED_LOCATION_ARGS) { - return GALGAS_data (U8Data ()) ; +GALGAS_data GALGAS_data::constructor_emptyData (UNUSED_LOCATION_ARGS) { + return GALGAS_data (C_Data ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_data GALGAS_data::class_func_dataWithContentsOfFile (const GALGAS_string & inFilePath, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { +GALGAS_data GALGAS_data::constructor_dataWithContentsOfFile (const GALGAS_string & inFilePath, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { GALGAS_data result ; if (inFilePath.isValid()){ - U8Data binaryData ; - const bool ok = FileManager::binaryDataWithContentOfFile (inFilePath.stringValue (), binaryData) ; + C_Data binaryData ; + const bool ok = C_FileManager::binaryDataWithContentOfFile (inFilePath.stringValue (), binaryData) ; if (ok) { result = GALGAS_data (binaryData) ; }else{ - String s = "cannot read binary file at path '" ; - s.appendString (inFilePath.stringValue ()) ; - s.appendCString ("'") ; + C_String s ; + s << "cannot read binary file at path '" << inFilePath.stringValue () << "'" ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_data::objectCompare (const GALGAS_data & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -91,21 +90,20 @@ typeComparisonResult GALGAS_data::objectCompare (const GALGAS_data & inOperand) return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_data::description (String & ioString, +void GALGAS_data::description (C_String & ioString, const int32_t /* inIndentation */) const { - ioString.appendCString ("<@data:") ; + ioString << "<@data:" ; if (isValid ()) { - ioString.appendCString ("length=") ; - ioString.appendSigned (mData.count ()) ; + ioString << "length=" << cStringWithSigned (mData.count ()) ; }else{ - ioString.appendCString ("not built") ; + ioString << "not built" ; } - ioString.appendCString (">") ; + ioString << ">" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_data::getter_count (UNUSED_LOCATION_ARGS) const { GALGAS_uint result ; @@ -115,18 +113,16 @@ GALGAS_uint GALGAS_data::getter_count (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_data::getter_cStringRepresentation (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { - String s ; - s.appendUnsigned (mData (0 COMMA_HERE)) ; + C_String s (cStringWithUnsigned (mData (0 COMMA_HERE))) ; for (int32_t i=1 ; i 255) { @@ -149,10 +145,10 @@ void GALGAS_data::setter_appendByte (GALGAS_uint inArgument0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_data::setter_appendShortBE (GALGAS_uint inArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (inArgument0.isValid ()) { if (inArgument0.uintValue () > 0xFFFF) { @@ -165,10 +161,10 @@ void GALGAS_data::setter_appendShortBE (GALGAS_uint inArgument0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_data::setter_appendShortLE (GALGAS_uint inArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (inArgument0.isValid ()) { if (inArgument0.uintValue () > 0xFFFF) { @@ -181,7 +177,7 @@ void GALGAS_data::setter_appendShortLE (GALGAS_uint inArgument0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_data::setter_appendUIntBE (GALGAS_uint inArgument0 COMMA_UNUSED_LOCATION_ARGS) { @@ -194,7 +190,7 @@ void GALGAS_data::setter_appendUIntBE (GALGAS_uint inArgument0 } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_data::setter_appendUIntLE (GALGAS_uint inArgument0 COMMA_UNUSED_LOCATION_ARGS) { @@ -207,14 +203,14 @@ void GALGAS_data::setter_appendUIntLE (GALGAS_uint inArgument0 } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_data::setter_appendUTF_38_String (GALGAS_string inString COMMA_UNUSED_LOCATION_ARGS) { if (inString.isValid ()) { - const String s = inString.stringValue () ; + const C_String s = inString.stringValue () ; for (int32_t i=0 ; ilogFileRead (inFilePath.stringValue ()) ; - U8Data binaryData ; - FileManager::binaryDataWithContentOfFile (inFilePath.stringValue (), binaryData) ; + C_Data binaryData ; + C_FileManager::binaryDataWithContentOfFile (inFilePath.stringValue (), binaryData) ; needToWrite = mData != binaryData ; } outFileWritten = GALGAS_bool (needToWrite) ; if (needToWrite) { - if (Compiler::performGeneration ()) { + if (C_Compiler::performGeneration ()) { const bool verboseOptionOn = verboseOutput () ; - bool ok = FileManager::makeDirectoryIfDoesNotExist (inFilePath.stringValue ().stringByDeletingLastPathComponent ()) ; + bool ok = C_FileManager::makeDirectoryIfDoesNotExist (inFilePath.stringValue ().stringByDeletingLastPathComponent ()) ; if (! ok) { - String message ; - message.appendCString ("cannot create '") ; - message.appendString (inFilePath.stringValue ()) ; - message.appendCString ("' directory") ; + C_String message ; + message << "cannot create '" << inFilePath.stringValue () << "' directory" ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; outFileWritten.drop () ; }else{ - ok = FileManager::writeBinaryDataToFile (mData, inFilePath.stringValue ()) ; + ok = C_FileManager::writeBinaryDataToFile (mData, inFilePath.stringValue ()) ; if (ok && verboseOptionOn && fileAlreadyExists) { - ggs_printFileOperationSuccess (String ("Replaced '") + inFilePath.stringValue () + "'.\n") ; + ggs_printFileOperationSuccess (C_String ("Replaced '") + inFilePath.stringValue () + "'.\n") ; }else if (ok && verboseOptionOn && ! fileAlreadyExists) { - ggs_printFileCreationSuccess (String ("Created '") + inFilePath.stringValue () + "'.\n") ; + ggs_printFileCreationSuccess (C_String ("Created '") + inFilePath.stringValue () + "'.\n") ; }else if (! ok) { - String message ; - message.appendCString ("cannot write '") ; - message.appendString (inFilePath.stringValue ()) ; - message.appendCString ("' file") ; + C_String message ; + message << "cannot write '" << inFilePath.stringValue () << "' file" ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; outFileWritten.drop () ; } } }else{ - ggs_printWarning (inCompiler, SourceTextInString (), C_IssueWithFixIt (), String ("Need to write '") + inFilePath.stringValue () + "'." COMMA_HERE) ; + ggs_printWarning (inCompiler, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("Need to write '") + inFilePath.stringValue () + "'." COMMA_HERE) ; } } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_data::method_writeToFile (GALGAS_string inFilePath, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (inFilePath.isValid ()) { - const String filePath = inFilePath.stringValue () ; + const C_String filePath = inFilePath.stringValue () ; if (filePath.length () == 0) { inCompiler->onTheFlyRunTimeError ("'@data writeToFile' modifier invoked with empty file path argument" COMMA_THERE) ; - }else if (! Compiler::performGeneration ()) { - ggs_printWarning (inCompiler, SourceTextInString (), C_IssueWithFixIt (), String ("Need to write '") + filePath + "'." COMMA_HERE) ; + }else if (! C_Compiler::performGeneration ()) { + ggs_printWarning (inCompiler, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("Need to write '") + filePath + "'." COMMA_HERE) ; }else{ - const bool fileAlreadyExists = FileManager::fileExistsAtPath (filePath) ; + const bool fileAlreadyExists = C_FileManager::fileExistsAtPath (filePath) ; const bool verboseOptionOn = verboseOutput () ; - FileManager::makeDirectoryIfDoesNotExist (filePath.stringByDeletingLastPathComponent()) ; - BinaryFileWrite binaryFile (filePath) ; + C_FileManager::makeDirectoryIfDoesNotExist (filePath.stringByDeletingLastPathComponent()) ; + C_BinaryFileWrite binaryFile (filePath) ; if (! binaryFile.isOpened ()) { - String s ; - s.appendCString ("'@data writeToFile': cannot open '") ; - s.appendString (filePath) ; - s.appendCString ("' file in write mode") ; - inCompiler->onTheFlyRunTimeError (s.cString () COMMA_THERE) ; + C_String s ; + s << "'@data writeToFile': cannot open '" << filePath << "' file in write mode" ; + inCompiler->onTheFlyRunTimeError (s.cString (HERE) COMMA_THERE) ; }else{ binaryFile.appendData (mData) ; const bool ok = binaryFile.close () ; if (ok && verboseOptionOn && fileAlreadyExists) { - ggs_printFileOperationSuccess (String ("Replaced '") + filePath + "'.\n") ; + ggs_printFileOperationSuccess (C_String ("Replaced '") + filePath + "'.\n") ; }else if (ok && verboseOptionOn && ! fileAlreadyExists) { - ggs_printFileCreationSuccess (String ("Created '") + filePath + "'.\n") ; + ggs_printFileCreationSuccess (C_String ("Created '") + filePath + "'.\n") ; }else if (! ok) { - String message ; - message.appendCString ("cannot write '") ; - message.appendString (filePath) ; - message.appendCString ("' file") ; + C_String message ; + message << "cannot write '" << filePath << "' file" ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; } } @@ -325,41 +313,37 @@ void GALGAS_data::method_writeToFile (GALGAS_string inFilePath, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_data::method_writeToExecutableFile (GALGAS_string inFilePath, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (inFilePath.isValid ()) { - const String filePath = inFilePath.stringValue () ; + const C_String filePath = inFilePath.stringValue () ; if (filePath.length () == 0) { inCompiler->onTheFlyRunTimeError ("'@data writeToFile' modifier invoked with empty file path argument" COMMA_THERE) ; - }else if (! Compiler::performGeneration ()) { - ggs_printWarning (inCompiler, SourceTextInString (), C_IssueWithFixIt (), String ("Need to write '") + filePath + "'." COMMA_HERE) ; + }else if (! C_Compiler::performGeneration ()) { + ggs_printWarning (inCompiler, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("Need to write '") + filePath + "'." COMMA_HERE) ; }else{ - const bool fileAlreadyExists = FileManager::fileExistsAtPath (filePath) ; + const bool fileAlreadyExists = C_FileManager::fileExistsAtPath (filePath) ; const bool verboseOptionOn = verboseOutput () ; - FileManager::makeDirectoryIfDoesNotExist (filePath.stringByDeletingLastPathComponent()) ; - BinaryFileWrite binaryFile (filePath) ; + C_FileManager::makeDirectoryIfDoesNotExist (filePath.stringByDeletingLastPathComponent()) ; + C_BinaryFileWrite binaryFile (filePath) ; if (! binaryFile.isOpened ()) { - String s ; - s.appendCString ("'@data writeToExecutableFile': cannot open '") ; - s.appendString (filePath) ; - s.appendCString ("' file in write mode") ; - inCompiler->onTheFlyRunTimeError (s.cString () COMMA_THERE) ; + C_String s ; + s << "'@data writeToExecutableFile': cannot open '" << filePath << "' file in write mode" ; + inCompiler->onTheFlyRunTimeError (s.cString (HERE) COMMA_THERE) ; }else{ binaryFile.appendData (mData) ; const bool ok = binaryFile.close () ; - FileManager::makeFileExecutable (filePath) ; + C_FileManager::makeFileExecutable (filePath) ; if (ok && verboseOptionOn && fileAlreadyExists) { - ggs_printFileOperationSuccess (String ("Replaced '") + filePath + "'.\n") ; + ggs_printFileOperationSuccess (C_String ("Replaced '") + filePath + "'.\n") ; }else if (ok && verboseOptionOn && ! fileAlreadyExists) { - ggs_printFileOperationSuccess (String ("Created '") + filePath + "'.\n") ; + ggs_printFileOperationSuccess (C_String ("Created '") + filePath + "'.\n") ; }else if (! ok) { - String message ; - message.appendCString ("cannot write '") ; - message.appendString (filePath) ; - message.appendCString ("' file") ; + C_String message ; + message << "cannot write '" << filePath << "' file" ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; } } @@ -367,9 +351,9 @@ void GALGAS_data::method_writeToExecutableFile (GALGAS_string inFilePath, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // cCollectionElement_data -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cCollectionElement_data : public cCollectionElement { //--- Private member @@ -378,7 +362,7 @@ class cCollectionElement_data : public cCollectionElement { //--- Default constructor public: cCollectionElement_data (const GALGAS_uint & inData - COMMA_LOCATION_ARGS) ; + COMMA_LOCATION_ARGS) ; //--- No copy private: cCollectionElement_data (const cCollectionElement_data &) ; @@ -394,10 +378,10 @@ class cCollectionElement_data : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_data::cCollectionElement_data (const GALGAS_uint & inData COMMA_LOCATION_ARGS) : @@ -405,13 +389,13 @@ cCollectionElement (THERE), mProperty_data (inData) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cCollectionElement_data::isValid (void) const { return mProperty_data.isValid () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_data::compare (const cCollectionElement * inOperand) const { const cCollectionElement_data * operand = (const cCollectionElement_data *) inOperand ; @@ -419,7 +403,7 @@ typeComparisonResult cCollectionElement_data::compare (const cCollectionElement return mProperty_data.objectCompare (operand->mProperty_data) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement * cCollectionElement_data::copy (void) { cCollectionElement_data * p = nullptr ; @@ -427,23 +411,23 @@ cCollectionElement * cCollectionElement_data::copy (void) { return p ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cCollectionElement_data::description (String & ioString, const int32_t inIndentation) const { +void cCollectionElement_data::description (C_String & ioString, const int32_t inIndentation) const { mProperty_data.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // cEnumerator_data class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark cEnumerator_data #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_data::populateEnumerationArray (capCollectionElementArray & inEnumerationArray) const { const int32_t count = mData.count () ; @@ -458,7 +442,7 @@ void GALGAS_data::populateEnumerationArray (capCollectionElementArray & inEnumer } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_data::cEnumerator_data (const GALGAS_data & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -466,7 +450,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint cEnumerator_data::current_data (LOCATION_ARGS) const { const cCollectionElement_data * p = (const cCollectionElement_data *) (currentObjectPtr (THERE)) ; @@ -474,7 +458,7 @@ GALGAS_uint cEnumerator_data::current_data (LOCATION_ARGS) const { return p->attribute_data () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint cEnumerator_data::current (LOCATION_ARGS) const { const cCollectionElement_data * p = (const cCollectionElement_data *) (currentObjectPtr (THERE)) ; @@ -482,4 +466,4 @@ GALGAS_uint cEnumerator_data::current (LOCATION_ARGS) const { return p->attribute_data () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/GALGAS_double.cpp b/goil/build/libpm/galgas2/GALGAS_double.cpp index 013d74378..8530bead1 100644 --- a/goil/build/libpm/galgas2/GALGAS_double.cpp +++ b/goil/build/libpm/galgas2/GALGAS_double.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS_double // @@ -16,23 +16,20 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -#include "Compiler.h" +#include "galgas2/C_Compiler.h" -//-------------------------------------------------------------------------------------------------- -// https://stackoverflow.com/questions/1727881/how-to-use-the-pi-constant-in-c -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#define _USE_MATH_DEFINES #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const double PI_CONSTANT = M_PI ; +static const double PI_CONSTANT = 3.14159265358979323846 ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_double::GALGAS_double (void) : AC_GALGAS_root (), @@ -40,7 +37,13 @@ mIsValid (false), mDoubleValue (0.0) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_double GALGAS_double::constructor_default (UNUSED_LOCATION_ARGS) { + return GALGAS_double (0.0) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_double::GALGAS_double (const double inValue) : AC_GALGAS_root (), @@ -48,16 +51,16 @@ mIsValid (true), mDoubleValue (inValue) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_double GALGAS_double::class_func_pi (UNUSED_LOCATION_ARGS) { +GALGAS_double GALGAS_double::constructor_pi (UNUSED_LOCATION_ARGS) { return GALGAS_double (PI_CONSTANT) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_double GALGAS_double::class_func_doubleWithBinaryImage (const GALGAS_uint_36__34_ & inImage - COMMA_UNUSED_LOCATION_ARGS) { +GALGAS_double GALGAS_double::constructor_doubleWithBinaryImage (const GALGAS_uint_36__34_ & inImage + COMMA_UNUSED_LOCATION_ARGS) { GALGAS_double result ; if (inImage.isValid ()) { union { @@ -70,7 +73,7 @@ GALGAS_double GALGAS_double::class_func_doubleWithBinaryImage (const GALGAS_uint return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_ GALGAS_double::getter_binaryImage (UNUSED_LOCATION_ARGS) const { GALGAS_uint_36__34_ result ; @@ -85,7 +88,7 @@ GALGAS_uint_36__34_ GALGAS_double::getter_binaryImage (UNUSED_LOCATION_ARGS) con return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_double::getter_cos (UNUSED_LOCATION_ARGS) const { GALGAS_double result ; @@ -95,14 +98,15 @@ GALGAS_double GALGAS_double::getter_cos (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_double GALGAS_double::getter_sqrt (Compiler * inCompiler +GALGAS_double GALGAS_double::getter_sqrt (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_double result ; if (isValid ()) { if (mDoubleValue < 0.0) { - String s = "Cannot compute square root of a negative @double" ; + C_String s ; + s << "Cannot compute square root of a negative @double" ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ result = GALGAS_double (sqrt (mDoubleValue)) ; @@ -111,15 +115,15 @@ GALGAS_double GALGAS_double::getter_sqrt (Compiler * inCompiler return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_double GALGAS_double::getter_log_32_ (Compiler * inCompiler +GALGAS_double GALGAS_double::getter_log_32_ (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_double result ; if (isValid ()) { if (mDoubleValue <= 0.0) { - String s ; - s.appendCString ("Cannot compute log2 of a null or negative @double") ; + C_String s ; + s << "Cannot compute log2 of a null or negative @double" ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ result = GALGAS_double (log2 (mDoubleValue)) ; @@ -128,14 +132,15 @@ GALGAS_double GALGAS_double::getter_log_32_ (Compiler * inCompiler return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_double GALGAS_double::getter_log_31__30_ (Compiler * inCompiler +GALGAS_double GALGAS_double::getter_log_31__30_ (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_double result ; if (isValid ()) { if (mDoubleValue <= 0.0) { - String s = "Cannot compute log10 of a null or negative @double" ; + C_String s ; + s << "Cannot compute log10 of a null or negative @double" ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ result = GALGAS_double (log10 (mDoubleValue)) ; @@ -144,14 +149,15 @@ GALGAS_double GALGAS_double::getter_log_31__30_ (Compiler * inCompiler return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_double GALGAS_double::getter_logn (Compiler * inCompiler +GALGAS_double GALGAS_double::getter_logn (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_double result ; if (isValid ()) { if (mDoubleValue <= 0.0) { - String s = "Cannot compute logn of a null or negative @double" ; + C_String s ; + s << "Cannot compute logn of a null or negative @double" ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ result = GALGAS_double (::log (mDoubleValue)) ; @@ -160,7 +166,7 @@ GALGAS_double GALGAS_double::getter_logn (Compiler * inCompiler return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_double::getter_exp (UNUSED_LOCATION_ARGS) const { GALGAS_double result ; @@ -170,7 +176,7 @@ GALGAS_double GALGAS_double::getter_exp (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_double::getter_cosDegree (UNUSED_LOCATION_ARGS) const { GALGAS_double result ; @@ -180,7 +186,7 @@ GALGAS_double GALGAS_double::getter_cosDegree (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_double::getter_sin (UNUSED_LOCATION_ARGS) const { GALGAS_double result ; @@ -190,7 +196,7 @@ GALGAS_double GALGAS_double::getter_sin (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_double::getter_sinDegree (UNUSED_LOCATION_ARGS) const { GALGAS_double result ; @@ -200,7 +206,7 @@ GALGAS_double GALGAS_double::getter_sinDegree (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_double::getter_tan (UNUSED_LOCATION_ARGS) const { GALGAS_double result ; @@ -210,7 +216,7 @@ GALGAS_double GALGAS_double::getter_tan (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_double::getter_tanDegree (UNUSED_LOCATION_ARGS) const { GALGAS_double result ; @@ -220,10 +226,10 @@ GALGAS_double GALGAS_double::getter_tanDegree (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_double::getter_power (const GALGAS_double & inExponant, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_double result ; if (isValid () && inExponant.isValid ()) { @@ -232,15 +238,16 @@ GALGAS_double GALGAS_double::getter_power (const GALGAS_double & inExponant, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_double::getter_uint (Compiler * inCompiler +GALGAS_uint GALGAS_double::getter_uint (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if ((mDoubleValue > (double) UINT32_MAX) || (mDoubleValue < 0.0)) { - String s = "Cannot convert @double (" ; + C_String s ; + s << "Cannot convert @double (" ; s.appendDouble (mDoubleValue) ; - s.appendCString (") to @uint") ; + s << ") to @uint" ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ result = GALGAS_uint ((uint32_t) (lround (mDoubleValue) & INT32_MAX)) ; @@ -248,15 +255,16 @@ GALGAS_uint GALGAS_double::getter_uint (Compiler * inCompiler return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint_36__34_ GALGAS_double::getter_uint_36__34_ (Compiler * inCompiler +GALGAS_uint_36__34_ GALGAS_double::getter_uint_36__34_ (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint_36__34_ result ; if ((mDoubleValue > (double) UINT64_MAX) || (mDoubleValue < 0.0)) { - String s = "Cannot convert @double (" ; + C_String s ; + s << "Cannot convert @double (" ; s.appendDouble (mDoubleValue) ; - s.appendCString (") to @uint64") ; + s << ") to @uint64" ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ result = GALGAS_uint_36__34_ ((uint64_t) lround (mDoubleValue)) ; @@ -264,15 +272,16 @@ GALGAS_uint_36__34_ GALGAS_double::getter_uint_36__34_ (Compiler * inCompiler return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_sint GALGAS_double::getter_sint (Compiler * inCompiler +GALGAS_sint GALGAS_double::getter_sint (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint result ; if ((mDoubleValue > (double) INT32_MAX) || (mDoubleValue < (double) INT32_MIN)) { - String s = "Cannot convert @double (" ; + C_String s ; + s << "Cannot convert @double (" ; s.appendDouble (mDoubleValue) ; - s.appendCString (") to @sint") ; + s << ") to @sint" ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ result = GALGAS_sint ((int32_t) (lround (mDoubleValue) & INT32_MAX)) ; @@ -280,15 +289,16 @@ GALGAS_sint GALGAS_double::getter_sint (Compiler * inCompiler return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_sint_36__34_ GALGAS_double::getter_sint_36__34_ (Compiler * inCompiler +GALGAS_sint_36__34_ GALGAS_double::getter_sint_36__34_ (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; if ((mDoubleValue > (double) INT64_MAX) || (mDoubleValue < (double) INT64_MIN)) { - String s = "Cannot convert @double (" ; + C_String s ; + s << "Cannot convert @double (" ; s.appendDouble (mDoubleValue) ; - s.appendCString (") to @sint64") ; + s << ") to @sint64" ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ result = GALGAS_sint_36__34_ (lround (mDoubleValue)) ; @@ -296,7 +306,7 @@ GALGAS_sint_36__34_ GALGAS_double::getter_sint_36__34_ (Compiler * inCompiler return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_double::objectCompare (const GALGAS_double & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -312,31 +322,31 @@ typeComparisonResult GALGAS_double::objectCompare (const GALGAS_double & inOpera return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_double::description (String & ioString, +void GALGAS_double::description (C_String & ioString, const int32_t /* inIndentation */) const { - ioString.appendCString ("<@double:") ; + ioString << "<@double:" ; if (isValid ()) { ioString.appendDouble (mDoubleValue) ; }else{ - ioString.appendCString ("not built") ; + ioString << "not built" ; } - ioString.appendCString (">") ; + ioString << ">" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_double::getter_string (UNUSED_LOCATION_ARGS) const { - String s ; + C_String s ; s.appendDouble (mDoubleValue) ; return GALGAS_string (s) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_double::add_operation (const GALGAS_double & inOperand2, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_double result ; if (isValid () && inOperand2.isValid ()) { @@ -345,10 +355,10 @@ GALGAS_double GALGAS_double::add_operation (const GALGAS_double & inOperand2, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_double::substract_operation (const GALGAS_double & inOperand2, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_double result ; if (isValid () && inOperand2.isValid ()) { @@ -357,10 +367,10 @@ GALGAS_double GALGAS_double::substract_operation (const GALGAS_double & inOperan return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_double::plusAssign_operation (const GALGAS_double inOperand, - Compiler * + C_Compiler * COMMA_UNUSED_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { mDoubleValue += inOperand.mDoubleValue ; @@ -369,10 +379,10 @@ void GALGAS_double::plusAssign_operation (const GALGAS_double inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_double::minusAssign_operation (const GALGAS_double inOperand, - Compiler * + C_Compiler * COMMA_UNUSED_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { mDoubleValue -= inOperand.mDoubleValue ; @@ -381,10 +391,10 @@ void GALGAS_double::minusAssign_operation (const GALGAS_double inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_double::mulAssign_operation (const GALGAS_double inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { mDoubleValue *= inOperand.mDoubleValue ; @@ -393,10 +403,10 @@ void GALGAS_double::mulAssign_operation (const GALGAS_double inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_double::divAssign_operation (const GALGAS_double inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { if (inOperand.mDoubleValue == 0) { @@ -408,10 +418,10 @@ void GALGAS_double::divAssign_operation (const GALGAS_double inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_double::multiply_operation (const GALGAS_double & inOperand2, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_double result ; if (isValid () && inOperand2.isValid ()) { @@ -420,10 +430,10 @@ GALGAS_double GALGAS_double::multiply_operation (const GALGAS_double & inOperand return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_double::divide_operation (const GALGAS_double & inOperand2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_double result ; if (isValid () && inOperand2.isValid ()) { @@ -436,7 +446,7 @@ GALGAS_double GALGAS_double::divide_operation (const GALGAS_double & inOperand2, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_double::divide_operation_no_ovf (const GALGAS_double & inOperand) const { GALGAS_double result ; @@ -446,9 +456,9 @@ GALGAS_double GALGAS_double::divide_operation_no_ovf (const GALGAS_double & inOp return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_double GALGAS_double::operator_unary_minus (Compiler * /* inCompiler */ +GALGAS_double GALGAS_double::operator_unary_minus (C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_double result ; if (isValid ()) { @@ -457,10 +467,10 @@ GALGAS_double GALGAS_double::operator_unary_minus (Compiler * /* inCompiler */ return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_double::modulo_operation (const GALGAS_double & inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_double result ; if (isValid () && inOperand.isValid ()) { @@ -470,4 +480,4 @@ GALGAS_double GALGAS_double::modulo_operation (const GALGAS_double & inOperand, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/GALGAS_filewrapper.cpp b/goil/build/libpm/galgas2/GALGAS_filewrapper.cpp index 457c0e2b7..6b06b90be 100644 --- a/goil/build/libpm/galgas2/GALGAS_filewrapper.cpp +++ b/goil/build/libpm/galgas2/GALGAS_filewrapper.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS_filewrapper : class for GALGAS file wrappers // @@ -18,12 +18,12 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -#include "Compiler.h" +#include "galgas2/C_Compiler.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cRegularFileWrapper::cRegularFileWrapper (const char * inName, const char * inExtension, @@ -37,7 +37,7 @@ mFileLength (inFileLength), mContents (inContents) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cDirectoryWrapper::cDirectoryWrapper (const char * inDirectoryName, const uint32_t inFileCount, @@ -51,7 +51,7 @@ mDirectoryCount (inDirectoryCount), mDirectories (inDirectories) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_filewrapper::GALGAS_filewrapper (const cDirectoryWrapper & inRootDirectory) : AC_GALGAS_root (), @@ -59,14 +59,14 @@ mRootDirectoryPtr (& inRootDirectory), mCurrentDirectory ("/") { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_filewrapper::GALGAS_filewrapper (void) : mRootDirectoryPtr (nullptr), mCurrentDirectory () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_filewrapper::GALGAS_filewrapper (const GALGAS_filewrapper & inSource) : AC_GALGAS_root (), @@ -74,7 +74,7 @@ mRootDirectoryPtr (inSource.mRootDirectoryPtr), mCurrentDirectory (inSource.mCurrentDirectory) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_filewrapper & GALGAS_filewrapper::operator = (const GALGAS_filewrapper & inSource) { mRootDirectoryPtr = inSource.mRootDirectoryPtr ; @@ -82,17 +82,17 @@ GALGAS_filewrapper & GALGAS_filewrapper::operator = (const GALGAS_filewrapper & return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void internalEnumerateFiles (const cDirectoryWrapper & inDirectory, - const String & inWrapperPath, + const C_String & inWrapperPath, const bool inEnumerateTextFile, GALGAS_stringlist & ioList) { //--- Enumerate regular files const cRegularFileWrapper * * mFiles = inDirectory.mFiles ; while ((* mFiles) != nullptr) { - String path = inWrapperPath ; - path.appendString ((* mFiles)->mName) ; + C_String path = inWrapperPath ; + path << (* mFiles)->mName ; if ((* mFiles)->mIsTextFile == inEnumerateTextFile) { ioList.addAssign_operation (GALGAS_string (path) COMMA_HERE) ; } @@ -101,77 +101,75 @@ static void internalEnumerateFiles (const cDirectoryWrapper & inDirectory, //--- Walk throught directories const cDirectoryWrapper * * mDirs = inDirectory.mDirectories ; while ((* mDirs) != nullptr) { - String path = inWrapperPath ; - path.appendString ((* mDirs)->mDirectoryName) ; - path.appendCString ("/") ; + C_String path = inWrapperPath ; + path << (* mDirs)->mDirectoryName << "/" ; internalEnumerateFiles (* * mDirs, path, inEnumerateTextFile, ioList) ; mDirs ++ ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_stringlist GALGAS_filewrapper::getter_allTextFilePathes (LOCATION_ARGS) const { GALGAS_stringlist result ; if (mRootDirectoryPtr != nullptr) { - result = GALGAS_stringlist::class_func_emptyList (THERE) ; + result = GALGAS_stringlist::constructor_emptyList (THERE) ; internalEnumerateFiles (* mRootDirectoryPtr, "/", true, result) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_stringlist GALGAS_filewrapper::getter_allBinaryFilePathes (LOCATION_ARGS) const { GALGAS_stringlist result ; if (mRootDirectoryPtr != nullptr) { - result = GALGAS_stringlist::class_func_emptyList (THERE) ; + result = GALGAS_stringlist::constructor_emptyList (THERE) ; internalEnumerateFiles (* mRootDirectoryPtr, "/", false, result) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void internalEnumerateDirectories (const cDirectoryWrapper & inDirectory, - const String & inWrapperPath, + const C_String & inWrapperPath, GALGAS_stringlist & ioList) { //--- Enumerate regular files ioList.addAssign_operation (GALGAS_string (inWrapperPath) COMMA_HERE) ; //--- Walk throught directories const cDirectoryWrapper * * mDirs = inDirectory.mDirectories ; while ((* mDirs) != nullptr) { - String path = inWrapperPath ; - path.appendString ((* mDirs)->mDirectoryName) ; - path.appendCString ("/") ; + C_String path = inWrapperPath ; + path << (* mDirs)->mDirectoryName << "/" ; internalEnumerateDirectories (* * mDirs, path, ioList) ; mDirs ++ ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_stringlist GALGAS_filewrapper::getter_allDirectoryPathes (LOCATION_ARGS) const { GALGAS_stringlist result ; if (mRootDirectoryPtr != nullptr) { - result = GALGAS_stringlist::class_func_emptyList (THERE) ; + result = GALGAS_stringlist::constructor_emptyList (THERE) ; internalEnumerateDirectories (* mRootDirectoryPtr, "/", result) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void internalEnumerateFilesWithExtension (const cDirectoryWrapper & inDirectory, - const String & inWrapperPath, + const C_String & inWrapperPath, GALGAS_stringlist & ioList, - const String & inExtension) { + const C_String & inExtension) { //--- Enumerate regular files const cRegularFileWrapper * * mFiles = inDirectory.mFiles ; while ((* mFiles) != nullptr) { - String path = inWrapperPath ; + C_String path = inWrapperPath ; if (inExtension.compare ((* mFiles)->mExtension) == 0) { - path.appendString ((* mFiles)->mName) ; + path << (* mFiles)->mName ; ioList.addAssign_operation (GALGAS_string (path) COMMA_HERE) ; } mFiles ++ ; @@ -179,27 +177,26 @@ static void internalEnumerateFilesWithExtension (const cDirectoryWrapper & inDir //--- Walk throught directories const cDirectoryWrapper * * mDirs = inDirectory.mDirectories ; while ((* mDirs) != nullptr) { - String path = inWrapperPath ; - path.appendString ((* mDirs)->mDirectoryName) ; - path.appendCString ("/") ; + C_String path = inWrapperPath ; + path << (* mDirs)->mDirectoryName << "/" ; internalEnumerateFilesWithExtension (* * mDirs, path, ioList, inExtension) ; mDirs ++ ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_stringlist GALGAS_filewrapper::getter_allFilePathesWithExtension (const GALGAS_string & inExtension COMMA_LOCATION_ARGS) const { GALGAS_stringlist result ; if ((mRootDirectoryPtr != nullptr) && inExtension.isValid ()) { - result = GALGAS_stringlist::class_func_emptyList (THERE) ; + result = GALGAS_stringlist::constructor_emptyList (THERE) ; internalEnumerateFilesWithExtension (* mRootDirectoryPtr, "/", result, inExtension.stringValue ()) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_filewrapper::objectCompare (const GALGAS_filewrapper & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -216,25 +213,20 @@ typeComparisonResult GALGAS_filewrapper::objectCompare (const GALGAS_filewrapper return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static void enumerateWrapper (String & ioString, +static void enumerateWrapper (C_String & ioString, const cDirectoryWrapper * inDir, - const String & inPath, + const C_String & inPath, const int32_t inIndentation) { - const String currentPath = inPath + inDir->mDirectoryName + "/" ; - ioString.appendCString ("\n") ; - for (int32_t i=0 ; imDirectoryName + "/" ; + ioString << "\n" ; + for (int32_t i=0 ; imFileCount ; i++) { - ioString.appendCString ("\n") ; - for (int32_t j=0 ; jmFiles [i]->mName) ; - ioString.appendCString ("'") ; + ioString << "\n" ; + for (int32_t j=0 ; jmFiles [i]->mName << "'" ; } for (uint32_t i=0 ; imDirectoryCount ; i++) { enumerateWrapper (ioString, @@ -244,20 +236,20 @@ static void enumerateWrapper (String & ioString, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_filewrapper::description (String & ioString, +void GALGAS_filewrapper::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("<@filewrapper") ; + ioString << "<@filewrapper" ; if (isValid ()) { enumerateWrapper (ioString, mRootDirectoryPtr, "", inIndentation + 2) ; }else{ - ioString.appendCString (" (not built)") ; + ioString << " (not built)" ; } - ioString.appendCString (">") ; + ioString << ">" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_filewrapper::getter_currentDirectory (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; @@ -267,10 +259,10 @@ GALGAS_string GALGAS_filewrapper::getter_currentDirectory (UNUSED_LOCATION_ARGS) return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static const cDirectoryWrapper * findDirectoryInDirectory (const cDirectoryWrapper * inDir, - const String & inSearchedDir) { + const C_String & inSearchedDir) { const cDirectoryWrapper * result = nullptr ; if (inDir != nullptr) { int32_t first = 0 ; @@ -292,10 +284,10 @@ static const cDirectoryWrapper * findDirectoryInDirectory (const cDirectoryWrapp return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static const cRegularFileWrapper * findFileInDirectory (const cDirectoryWrapper * inDir, - const String & inSearchedFile) { + const C_String & inSearchedFile) { const cRegularFileWrapper * result = nullptr ; if (inDir != nullptr) { int32_t first = 0 ; @@ -317,11 +309,11 @@ static const cRegularFileWrapper * findFileInDirectory (const cDirectoryWrapper return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const cDirectoryWrapper * getDirectory (const String & inDirectory, +static const cDirectoryWrapper * getDirectory (const C_String & inDirectory, const cDirectoryWrapper * inRootDirectoryPtr) { - TC_UniqueArray componentArray ; + TC_UniqueArray componentArray ; inDirectory.componentsSeparatedByString ("/", componentArray) ; const cDirectoryWrapper * dir = inRootDirectoryPtr ; for (int32_t i=1 ; ionTheFlyRunTimeError (errorMessage COMMA_THERE) ; }else if (! file->mIsTextFile) { - String errorMessage ; - errorMessage.appendCString ("textFileContentsAtPath: the '") ; - errorMessage.appendString (inPath.stringValue ()) ; - errorMessage.appendCString ("' path points on a binary file") ; + C_String errorMessage ; + errorMessage << "textFileContentsAtPath: the '" << inPath.stringValue () << "' path points on a binary file" ; inCompiler->onTheFlyRunTimeError (errorMessage COMMA_THERE) ; }else{ result = GALGAS_string (file->mContents) ; @@ -395,27 +383,26 @@ GALGAS_string GALGAS_filewrapper::getter_textFileContentsAtPath (const GALGAS_st return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_data GALGAS_filewrapper::getter_binaryFileContentsAtPath (const GALGAS_string & inPath, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_data result ; if (isValid () && inPath.isValid ()) { const GALGAS_string path = getter_absolutePathForPath (inPath, inCompiler COMMA_THERE) ; if (path.isValid ()) { - const String directoryPath = path.stringValue ().stringByDeletingLastPathComponent () ; + const C_String directoryPath = path.stringValue ().stringByDeletingLastPathComponent () ; const cDirectoryWrapper * dir = getDirectory (directoryPath, mRootDirectoryPtr) ; const cRegularFileWrapper * file = findFileInDirectory (dir, path.stringValue ().lastPathComponent ()) ; if (file == nullptr) { - String errorMessage = "binaryFileContentsAtPath: the '" ; - errorMessage.appendString (inPath.stringValue ()) ; - errorMessage.appendCString ("' path does not exist") ; + C_String errorMessage ; + errorMessage << "binaryFileContentsAtPath: the '" << inPath.stringValue () << "' path does not exist" ; inCompiler->onTheFlyRunTimeError (errorMessage COMMA_THERE) ; }else{ const uint8_t * sourcePtr = (const uint8_t *) file->mContents ; const uint32_t sourceLength = file->mFileLength ; - U8Data data ; + C_Data data ; data.appendDataFromPointer (sourcePtr, (int32_t) sourceLength) ; result = GALGAS_data (data) ; } @@ -424,43 +411,42 @@ GALGAS_data GALGAS_filewrapper::getter_binaryFileContentsAtPath (const GALGAS_st return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_filewrapper::setter_setCurrentDirectory (const GALGAS_string inNewDirectory, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if ((mRootDirectoryPtr != nullptr) && inNewDirectory.isValid ()) { GALGAS_string absolutePath = getter_absolutePathForPath (inNewDirectory, inCompiler COMMA_THERE) ; if (absolutePath.isValid ()) { - const String absolutePathString = absolutePath.stringValue () ; + const C_String absolutePathString = absolutePath.stringValue () ; if (getDirectory (absolutePath.stringValue (), mRootDirectoryPtr) != nullptr) { mCurrentDirectory = absolutePath.stringValue () ; }else{ - String errorMessage = "setCurrentDirectory: the '" ; - errorMessage.appendString (inNewDirectory.stringValue ()) ; - errorMessage.appendCString ("' path does not exist") ; + C_String errorMessage ; + errorMessage << "setCurrentDirectory: the '" << inNewDirectory.stringValue () << "' path does not exist" ; inCompiler->onTheFlyRunTimeError (errorMessage COMMA_THERE) ; } } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_filewrapper::getter_absolutePathForPath (const GALGAS_string & inPath, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_string result ; if (isValid () && inPath.isValid ()) { - const String path = inPath.stringValue () ; + const C_String path = inPath.stringValue () ; //--- Build absolute path - String absolutePath = path ; - if ((path.length () == 0) || (UNICODE_VALUE (path.charAtIndex (0 COMMA_HERE)) != '/')) { + C_String absolutePath = path ; + if ((path.length () == 0) || (UNICODE_VALUE (path (0 COMMA_HERE)) != '/')) { absolutePath = mCurrentDirectory ; - absolutePath.appendString (path) ; + absolutePath << path ; } //--- Normalize path - TC_UniqueArray componentArray ; + TC_UniqueArray componentArray ; absolutePath.componentsSeparatedByString ("/", componentArray) ; //--- Remove empty components (but the first one) int32_t componentIndex = 1 ; @@ -495,21 +481,20 @@ GALGAS_string GALGAS_filewrapper::getter_absolutePathForPath (const GALGAS_strin } //--- Error ? if (! validPath) { - String errorMessage = "absolutePathForPath: the '" ; - errorMessage.appendString (path) ; - errorMessage.appendCString ("' path is mal-formed") ; + C_String errorMessage ; + errorMessage << "absolutePathForPath: the '" << path << "' path is mal-formed" ; inCompiler->onTheFlyRunTimeError (errorMessage COMMA_THERE) ; }else{ //--- Recompose path - result = GALGAS_string (String::componentsJoinedByString (componentArray, "/")) ; + result = GALGAS_string (C_String::componentsJoinedByString (componentArray, "/")) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_stringlist GALGAS_filewrapper::getter_directoriesAtPath (const GALGAS_string & inPath, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_stringlist result ; if ((mRootDirectoryPtr != nullptr) && inPath.isValid ()) { @@ -517,7 +502,7 @@ GALGAS_stringlist GALGAS_filewrapper::getter_directoriesAtPath (const GALGAS_str if (path.isValid ()) { const cDirectoryWrapper * dir = getDirectory (path.stringValue (), mRootDirectoryPtr) ; if (nullptr != dir) { - result = GALGAS_stringlist::class_func_emptyList (THERE) ; + result = GALGAS_stringlist::constructor_emptyList (THERE) ; const cDirectoryWrapper * * dirs = dir->mDirectories ; while ((*dirs) != nullptr) { result.addAssign_operation (GALGAS_string ((*dirs)->mDirectoryName) COMMA_HERE) ; @@ -529,10 +514,10 @@ GALGAS_stringlist GALGAS_filewrapper::getter_directoriesAtPath (const GALGAS_str return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_stringlist GALGAS_filewrapper::getter_textFilesAtPath (const GALGAS_string & inPath, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_stringlist result ; if ((mRootDirectoryPtr != nullptr) && inPath.isValid ()) { @@ -540,7 +525,7 @@ GALGAS_stringlist GALGAS_filewrapper::getter_textFilesAtPath (const GALGAS_strin if (path.isValid ()) { const cDirectoryWrapper * dir = getDirectory (path.stringValue (), mRootDirectoryPtr) ; if (nullptr != dir) { - result = GALGAS_stringlist::class_func_emptyList (THERE) ; + result = GALGAS_stringlist::constructor_emptyList (THERE) ; const cRegularFileWrapper * * files = dir->mFiles ; while ((*files) != nullptr) { if ((*files)->mIsTextFile) { @@ -554,10 +539,10 @@ GALGAS_stringlist GALGAS_filewrapper::getter_textFilesAtPath (const GALGAS_strin return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_stringlist GALGAS_filewrapper::getter_binaryFilesAtPath (const GALGAS_string & inPath, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_stringlist result ; if ((mRootDirectoryPtr != nullptr) && inPath.isValid ()) { @@ -565,7 +550,7 @@ GALGAS_stringlist GALGAS_filewrapper::getter_binaryFilesAtPath (const GALGAS_str if (path.isValid ()) { const cDirectoryWrapper * dir = getDirectory (path.stringValue (), mRootDirectoryPtr) ; if (nullptr != dir) { - result = GALGAS_stringlist::class_func_emptyList (THERE) ; + result = GALGAS_stringlist::constructor_emptyList (THERE) ; const cRegularFileWrapper * * files = dir->mFiles ; while ((*files) != nullptr) { if (! (*files)->mIsTextFile) { @@ -579,4 +564,4 @@ GALGAS_stringlist GALGAS_filewrapper::getter_binaryFilesAtPath (const GALGAS_str return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/GALGAS_function.cpp b/goil/build/libpm/galgas2/GALGAS_function.cpp index a5ed11145..6894b663b 100644 --- a/goil/build/libpm/galgas2/GALGAS_function.cpp +++ b/goil/build/libpm/galgas2/GALGAS_function.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS_function : this class implements introspection for GALGAS functions // @@ -16,78 +16,75 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -#include "C_galgas_function_descriptor.h" -#include "C_galgas_type_descriptor.h" -#include "Compiler.h" -#include "cObjectArray.h" +#include "galgas2/C_galgas_function_descriptor.h" +#include "galgas2/C_galgas_type_descriptor.h" +#include "galgas2/C_Compiler.h" +#include "galgas2/cObjectArray.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'GALGAS_function' class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_function::GALGAS_function (void) : AC_GALGAS_root (), mFunctionDescriptor (nullptr) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_function::GALGAS_function (const C_galgas_function_descriptor * inFunctionDescriptor) : AC_GALGAS_root (), mFunctionDescriptor (inFunctionDescriptor) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_function::GALGAS_function (const GALGAS_function & inSource) : AC_GALGAS_root (), mFunctionDescriptor (inSource.mFunctionDescriptor) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_function & GALGAS_function::operator = (const GALGAS_function & inSource) { mFunctionDescriptor = inSource.mFunctionDescriptor ; return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_function::~ GALGAS_function (void) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_function::description (String & ioString, +void GALGAS_function::description (C_String & ioString, const int32_t /* inIndentation */) const { - ioString.appendCString ("<@function:") ; + ioString << "<@function:" ; if (nullptr == mFunctionDescriptor) { - ioString.appendCString ("not built") ; + ioString << "not built" ; }else{ - ioString.appendString (mFunctionDescriptor->mFunctionName) ; - ioString.appendCString (" [") ; + ioString << mFunctionDescriptor->mFunctionName << " [" ; for (uint32_t i=0 ; imParameterCount ; i++) { if (i > 0) { - ioString.appendCString (" ") ; + ioString << " " ; } - ioString.appendCString ("?@") ; - ioString.appendString (mFunctionDescriptor->mFormalParameterTypeList [i]->mGalgasTypeName) ; + ioString << "?@" << mFunctionDescriptor->mFormalParameterTypeList [i]->mGalgasTypeName ; } - ioString.appendCString ("] -> @") ; - ioString.appendString (mFunctionDescriptor->mResultType->mGalgasTypeName) ; + ioString << "] -> @" << mFunctionDescriptor->mResultType->mGalgasTypeName ; } - ioString.appendCString (">") ; + ioString << ">" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_functionlist GALGAS_function::class_func_functionList (LOCATION_ARGS) { - GALGAS_functionlist result = GALGAS_functionlist::class_func_emptyList (THERE) ; +GALGAS_functionlist GALGAS_function::constructor_functionList (LOCATION_ARGS) { + GALGAS_functionlist result = GALGAS_functionlist::constructor_emptyList (THERE) ; const C_galgas_function_descriptor * p = C_galgas_function_descriptor::functionListRoot () ; while (nullptr != p) { result.addAssign_operation (GALGAS_function (p) COMMA_HERE) ; @@ -96,14 +93,14 @@ GALGAS_functionlist GALGAS_function::class_func_functionList (LOCATION_ARGS) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_bool GALGAS_function::class_func_isFunctionDefined (const GALGAS_string & inFunctionName +GALGAS_bool GALGAS_function::constructor_isFunctionDefined (const GALGAS_string & inFunctionName COMMA_UNUSED_LOCATION_ARGS) { GALGAS_bool result ; if (inFunctionName.isValid ()) { bool resultValue = false ; - const String functionName = inFunctionName.stringValue () ; + const C_String functionName = inFunctionName.stringValue () ; const C_galgas_function_descriptor * p = C_galgas_function_descriptor::functionListRoot () ; while ((nullptr != p) && ! resultValue) { resultValue = functionName == p->mFunctionName ; @@ -114,13 +111,13 @@ GALGAS_bool GALGAS_function::class_func_isFunctionDefined (const GALGAS_string & return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_function GALGAS_function::class_func_functionWithName (const GALGAS_string & inFunctionName +GALGAS_function GALGAS_function::constructor_functionWithName (const GALGAS_string & inFunctionName COMMA_UNUSED_LOCATION_ARGS) { GALGAS_function result ; if (inFunctionName.isValid ()) { - const String functionName = inFunctionName.stringValue () ; + const C_String functionName = inFunctionName.stringValue () ; const C_galgas_function_descriptor * p = C_galgas_function_descriptor::functionListRoot () ; while ((nullptr != p) && ! result.isValid ()) { if (functionName == p->mFunctionName) { @@ -132,47 +129,45 @@ GALGAS_function GALGAS_function::class_func_functionWithName (const GALGAS_strin return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_typelist GALGAS_function::getter_formalParameterTypeList (LOCATION_ARGS) const { - GALGAS_typelist result = GALGAS_typelist::class_func_emptyList (THERE) ; + GALGAS_typelist result = GALGAS_typelist::constructor_emptyList (THERE) ; for (uint32_t i=0 ; imParameterCount ; i++) { result.addAssign_operation (GALGAS_type (mFunctionDescriptor->mFormalParameterTypeList [i]) COMMA_HERE) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_function::getter_name (UNUSED_LOCATION_ARGS) const { return GALGAS_string (mFunctionDescriptor->mFunctionName) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_type GALGAS_function::getter_resultType (UNUSED_LOCATION_ARGS) const { return GALGAS_type (mFunctionDescriptor->mResultType) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_object GALGAS_function::getter_invoke (const GALGAS_objectlist & inObjectList, const GALGAS_location & inErrorLocation, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cObjectArray argumentsArray (inObjectList, inCompiler COMMA_THERE) ; //--- Check parameter count bool ok = mFunctionDescriptor->mParameterCount == argumentsArray.count () ; if (! ok) { - String errorMessage ; - errorMessage.appendCString ("the '") ; - errorMessage.appendString (mFunctionDescriptor->mFunctionName) ; - errorMessage.appendCString ("' function is called with ") ; - errorMessage.appendUnsigned (argumentsArray.count ()) ; - errorMessage.appendCString (" actual parameter") ; - errorMessage.appendString ((argumentsArray.count () > 1) ? "s" : "") ; - errorMessage.appendCString (", but its header requires ") ; - errorMessage.appendUnsigned (mFunctionDescriptor->mParameterCount) ; + C_String errorMessage ; + errorMessage << "the '" << mFunctionDescriptor->mFunctionName << "' function is called with " + << cStringWithUnsigned (argumentsArray.count ()) + << " actual parameter" + << ((argumentsArray.count () > 1) ? "s" : "") + << ", but its header requires " + << cStringWithUnsigned (mFunctionDescriptor->mParameterCount) ; inCompiler->semanticErrorAtLocation (inErrorLocation, errorMessage, TC_Array () COMMA_THERE) ; } //--- Check parameters @@ -187,16 +182,14 @@ GALGAS_object GALGAS_function::getter_invoke (const GALGAS_objectlist & inObject ok = t == mFunctionDescriptor->mFormalParameterTypeList [i] ; } if (! ok) { - String errorMessage ; - errorMessage.appendCString ("the actual parameter #") ; - errorMessage.appendUnsigned (i) ; - errorMessage.appendCString (" of the '") ; - errorMessage.appendString (mFunctionDescriptor->mFunctionName) ; - errorMessage.appendCString ("' function call has the '@") ; - errorMessage.appendString (parameter.staticTypeDescriptor ()->mGalgasTypeName) ; - errorMessage.appendCString ("', but the function header requires an instance of '@") ; - errorMessage.appendString (mFunctionDescriptor->mFormalParameterTypeList [i]->mGalgasTypeName) ; - errorMessage.appendCString ("'") ; + C_String errorMessage ; + errorMessage << "the actual parameter #" + << cStringWithUnsigned (i) + << " of the '" << mFunctionDescriptor->mFunctionName << "' function call has the '@" + << parameter.staticTypeDescriptor ()->mGalgasTypeName + << "', but the function header requires an instance of '@" + << mFunctionDescriptor->mFormalParameterTypeList [i]->mGalgasTypeName + << "'" ; inCompiler->semanticErrorAtLocation (inErrorLocation, errorMessage, TC_Array () COMMA_THERE) ; } } @@ -209,7 +202,7 @@ GALGAS_object GALGAS_function::getter_invoke (const GALGAS_objectlist & inObject return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_function::objectCompare (const GALGAS_function & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -226,4 +219,4 @@ typeComparisonResult GALGAS_function::objectCompare (const GALGAS_function & inO return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/GALGAS_location.cpp b/goil/build/libpm/galgas2/GALGAS_location.cpp index 11f0f5126..d7f045a1d 100644 --- a/goil/build/libpm/galgas2/GALGAS_location.cpp +++ b/goil/build/libpm/galgas2/GALGAS_location.cpp @@ -1,4 +1,4 @@ -//---------------------------------------------------------------------------------------------------------------------- +//------------------------------------------------------------------------------------------------------------------------------------------ // // 'GALGAS_location' // @@ -16,161 +16,98 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//---------------------------------------------------------------------------------------------------------------------- +//------------------------------------------------------------------------------------------------------------------------------------------ #include "all-predefined-types.h" -#include "Compiler.h" -#include "FileManager.h" - -//---------------------------------------------------------------------------------------------------------------------- - -class InternalLocation final : public SharedObject { - public: const SourceTextInString mSourceText ; - public: const LocationInSource mStartLocation ; - public: const LocationInSource mEndLocation ; - -//--- Constructor - public: InternalLocation (const SourceTextInString & inSourceText, - const LocationInSource & inStartLocation, - const LocationInSource & inEndLocation) : - SharedObject (HERE), - mSourceText (inSourceText), - mStartLocation (inStartLocation), - mEndLocation (inEndLocation) { - } - -//--- No copy - private: InternalLocation (const InternalLocation &) = delete ; - private: InternalLocation & operator = (const InternalLocation &) = delete ; -} ; +#include "galgas2/C_Compiler.h" +#include "files/C_FileManager.h" -//---------------------------------------------------------------------------------------------------------------------- +//------------------------------------------------------------------------------------------------------------------------------------------ GALGAS_location::GALGAS_location (void) : -mInternalLocation (nullptr) { -} - -//---------------------------------------------------------------------------------------------------------------------- - -GALGAS_location::~ GALGAS_location (void) { - macroDetachSharedObject (mInternalLocation) +AC_GALGAS_root (), +mStartLocationInSource (), +mEndLocationInSource (), +mSourceText (), +mIsValid (false) { } -//---------------------------------------------------------------------------------------------------------------------- +//------------------------------------------------------------------------------------------------------------------------------------------ -GALGAS_location::GALGAS_location (const LocationInSource & inStartLocationInSource, - const LocationInSource & inEndLocationInSource, - const SourceTextInString & inSourceText) : +GALGAS_location::GALGAS_location (const C_LocationInSource & inStartLocationInSource, + const C_LocationInSource & inEndLocationInSource, + const C_SourceTextInString & inSourceText) : AC_GALGAS_root (), -mInternalLocation (nullptr) { - macroMyNew (mInternalLocation, InternalLocation (inSourceText, inStartLocationInSource, inEndLocationInSource)) +mStartLocationInSource (inStartLocationInSource), +mEndLocationInSource (inEndLocationInSource), +mSourceText (inSourceText), +mIsValid (true) { } -//---------------------------------------------------------------------------------------------------------------------- +//------------------------------------------------------------------------------------------------------------------------------------------ void GALGAS_location::drop (void) { - macroDetachSharedObject (mInternalLocation) ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -GALGAS_location & GALGAS_location::operator = (const GALGAS_location & inSource) { - macroAssignSharedObject (mInternalLocation, inSource.mInternalLocation) ; - return *this ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -GALGAS_location::GALGAS_location (const GALGAS_location & inSource) : -mInternalLocation (nullptr) { - macroAssignSharedObject (mInternalLocation, inSource.mInternalLocation) ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -LocationInSource GALGAS_location::startLocation (void) const { - return (mInternalLocation == nullptr) ? LocationInSource () : mInternalLocation->mStartLocation ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -LocationInSource GALGAS_location::endLocation (void) const { - return (mInternalLocation == nullptr) ? LocationInSource () : mInternalLocation->mEndLocation ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -SourceTextInString GALGAS_location::sourceText (void) const { - return (mInternalLocation == nullptr) ? SourceTextInString () : mInternalLocation->mSourceText ; + mIsValid = false ; } -//---------------------------------------------------------------------------------------------------------------------- +//------------------------------------------------------------------------------------------------------------------------------------------ -GALGAS_location GALGAS_location::class_func_nowhere (UNUSED_LOCATION_ARGS) { +GALGAS_location GALGAS_location::constructor_nowhere (UNUSED_LOCATION_ARGS) { GALGAS_location result ; - macroMyNew (result.mInternalLocation, InternalLocation (SourceTextInString (), LocationInSource (), LocationInSource ())) + result.mIsValid = true ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- - -bool GALGAS_location::isValid (void) const { - return mInternalLocation != nullptr ; -} - -//---------------------------------------------------------------------------------------------------------------------- +//------------------------------------------------------------------------------------------------------------------------------------------ // CONSTRUCTORS -//---------------------------------------------------------------------------------------------------------------------- +//------------------------------------------------------------------------------------------------------------------------------------------ -GALGAS_location GALGAS_location::class_func_here (Compiler * inCompiler +GALGAS_location GALGAS_location::constructor_here (C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { return inCompiler->here () ; } -//---------------------------------------------------------------------------------------------------------------------- +//------------------------------------------------------------------------------------------------------------------------------------------ -GALGAS_location GALGAS_location::class_func_next (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { +GALGAS_location GALGAS_location::constructor_next (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { return inCompiler->next () ; } -//---------------------------------------------------------------------------------------------------------------------- +//------------------------------------------------------------------------------------------------------------------------------------------ -GALGAS_location GALGAS_location::class_func_separator (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { +GALGAS_location GALGAS_location::constructor_separator (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { return inCompiler->separator () ; } -//---------------------------------------------------------------------------------------------------------------------- +//------------------------------------------------------------------------------------------------------------------------------------------ bool GALGAS_location::isValidAndNotNowhere (void) const { - return (mInternalLocation != nullptr) && mInternalLocation->mSourceText.isValid () ; + return mIsValid && mSourceText.isValid () ; } -//---------------------------------------------------------------------------------------------------------------------- +//------------------------------------------------------------------------------------------------------------------------------------------ GALGAS_bool GALGAS_location::getter_isNowhere (UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; - if (mInternalLocation != nullptr) { - result = GALGAS_bool (!mInternalLocation->mSourceText.isValid ()) ; + if (mIsValid) { + result = GALGAS_bool (!mSourceText.isValid ()) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//------------------------------------------------------------------------------------------------------------------------------------------ typeComparisonResult GALGAS_location::objectCompare (const GALGAS_location & inOperand) const { typeComparisonResult result = kOperandNotValid ; if (isValid () && inOperand.isValid ()) { - int32_t r = 0 ; - if (ssize_t (mInternalLocation) != ssize_t (inOperand.mInternalLocation)) { - r = mInternalLocation->mStartLocation.index () - inOperand.mInternalLocation->mStartLocation.index () ; - if (r == 0) { - r = mInternalLocation->mEndLocation.index () - inOperand.mInternalLocation->mEndLocation.index () ; - } - if (r == 0) { - r = mInternalLocation->mSourceText.sourceString ().compare (inOperand.mInternalLocation->mSourceText.sourceString ()) ; - } + int32_t r = mStartLocationInSource.index () - inOperand.mStartLocationInSource.index () ; + if (r == 0) { + r = mEndLocationInSource.index () - inOperand.mEndLocationInSource.index () ; + } + if (r == 0) { + r = mSourceText.sourceString ().compare (inOperand.mSourceText.sourceString ()) ; } if (r < 0) { result = kFirstOperandLowerThanSecond ; @@ -183,45 +120,38 @@ typeComparisonResult GALGAS_location::objectCompare (const GALGAS_location & inO return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//------------------------------------------------------------------------------------------------------------------------------------------ -void GALGAS_location::description (String & ioString, +void GALGAS_location::description (C_String & ioString, const int32_t /* inIndentation */) const { - ioString.appendCString ("<@location:") ; + ioString << "<@location:" ; if (isValid ()) { - if (!mInternalLocation->mSourceText.isValid ()) { - ioString.appendCString ("nowhere") ; + if (!mSourceText.isValid ()) { + ioString << "nowhere" ; }else{ - ioString.appendCString ("'") ; - ioString.appendString (mInternalLocation->mSourceText.sourceFilePath ()) ; - ioString.appendCString ("'") ; + ioString << "'" << mSourceText.sourceFilePath () << "'" ; } - ioString.appendCString (":") ; - ioString.appendSigned (mInternalLocation->mStartLocation.lineNumber ()) ; - ioString.appendCString (":") ; - ioString.appendSigned (mInternalLocation->mStartLocation.columnNumber ()) ; + ioString << ":" << cStringWithSigned (mStartLocationInSource.lineNumber ()) + << ":" << cStringWithSigned (mStartLocationInSource.columnNumber ()) ; }else{ - ioString.appendCString ("not built") ; + ioString << "not built" ; } - ioString.appendCString (">") ; + ioString << ">" ; } -//---------------------------------------------------------------------------------------------------------------------- +//------------------------------------------------------------------------------------------------------------------------------------------ -GALGAS_string GALGAS_location::getter_startLocationString (Compiler * inCompiler +GALGAS_string GALGAS_location::getter_startLocationString (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { - if (!mInternalLocation->mSourceText.isValid ()) { + if (!mSourceText.isValid ()) { inCompiler->onTheFlyRunTimeError ("'startLocationString' reader cannot be called on a nowhere @location object" COMMA_THERE) ; }else{ - String s ; - s.appendCString ("file '") ; - s.appendString (mInternalLocation->mSourceText.sourceFilePath ()) ; - s.appendCString ("', line ") ; - s.appendSigned (mInternalLocation->mStartLocation.lineNumber ()) ; - s.appendCString (":") ; - s.appendSigned (mInternalLocation->mStartLocation.columnNumber ()) ; + C_String s ; + s << "file '" << mSourceText.sourceFilePath () + << "', line " << cStringWithSigned (mStartLocationInSource.lineNumber ()) + << ":" << cStringWithSigned (mStartLocationInSource.columnNumber ()) ; result = GALGAS_string (s) ; } } @@ -229,21 +159,19 @@ GALGAS_string GALGAS_location::getter_startLocationString (Compiler * inCompiler } -//---------------------------------------------------------------------------------------------------------------------- +//------------------------------------------------------------------------------------------------------------------------------------------ -GALGAS_string GALGAS_location::getter_endLocationString (Compiler * inCompiler +GALGAS_string GALGAS_location::getter_endLocationString (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { - if (!mInternalLocation->mSourceText.isValid ()) { + if (!mSourceText.isValid ()) { inCompiler->onTheFlyRunTimeError ("'endLocationString' reader cannot be called on a nowhere @location object" COMMA_THERE) ; }else{ - String s = "file '" ; - s.appendString (mInternalLocation->mSourceText.sourceFilePath ()) ; - s.appendCString ("', line ") ; - s.appendSigned (mInternalLocation->mEndLocation.lineNumber ()) ; - s.appendCString (":") ; - s.appendSigned (mInternalLocation->mEndLocation.columnNumber ()) ; + C_String s ; + s << "file '" << mSourceText.sourceFilePath () + << "', line " << cStringWithSigned (mEndLocationInSource.lineNumber ()) + << ":" << cStringWithSigned (mEndLocationInSource.columnNumber ()) ; result = GALGAS_string (s) ; } } @@ -251,134 +179,132 @@ GALGAS_string GALGAS_location::getter_endLocationString (Compiler * inCompiler } -//---------------------------------------------------------------------------------------------------------------------- +//------------------------------------------------------------------------------------------------------------------------------------------ -GALGAS_string GALGAS_location::getter_file (Compiler * inCompiler +GALGAS_string GALGAS_location::getter_file (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { - if (!mInternalLocation->mSourceText.isValid ()) { + if (!mSourceText.isValid ()) { inCompiler->onTheFlyRunTimeError ("'file' reader cannot be called on a nowhere @location object" COMMA_THERE) ; }else{ - result = GALGAS_string (mInternalLocation->mSourceText.sourceFilePath ()) ; + result = GALGAS_string (mSourceText.sourceFilePath ()) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//------------------------------------------------------------------------------------------------------------------------------------------ -GALGAS_uint GALGAS_location::getter_startLocationIndex (Compiler * inCompiler +GALGAS_uint GALGAS_location::getter_startLocationIndex (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid ()) { - if (!mInternalLocation->mSourceText.isValid ()) { + if (!mSourceText.isValid ()) { inCompiler->onTheFlyRunTimeError ("'startLocationIndex' reader cannot be called on a nowhere @location object" COMMA_THERE) ; }else{ - result = GALGAS_uint ((uint32_t) mInternalLocation->mStartLocation.index ()) ; + result = GALGAS_uint ((uint32_t) mStartLocationInSource.index ()) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//------------------------------------------------------------------------------------------------------------------------------------------ -GALGAS_uint GALGAS_location::getter_endLocationIndex (Compiler * inCompiler +GALGAS_uint GALGAS_location::getter_endLocationIndex (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid ()) { - if (!mInternalLocation->mSourceText.isValid ()) { + if (!mSourceText.isValid ()) { inCompiler->onTheFlyRunTimeError ("'endLocationIndex' reader cannot be called on a nowhere @location object" COMMA_THERE) ; }else{ - result = GALGAS_uint ((uint32_t) mInternalLocation->mEndLocation.index ()) ; + result = GALGAS_uint ((uint32_t) mEndLocationInSource.index ()) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//------------------------------------------------------------------------------------------------------------------------------------------ -GALGAS_uint GALGAS_location::getter_startColumn (Compiler * inCompiler +GALGAS_uint GALGAS_location::getter_startColumn (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid ()) { - if (!mInternalLocation->mSourceText.isValid ()) { + if (!mSourceText.isValid ()) { inCompiler->onTheFlyRunTimeError ("'startColumn' reader cannot be called on a nowhere @location object" COMMA_THERE) ; }else{ - result = GALGAS_uint ((uint32_t) mInternalLocation->mStartLocation.columnNumber ()) ; + result = GALGAS_uint ((uint32_t) mStartLocationInSource.columnNumber ()) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//------------------------------------------------------------------------------------------------------------------------------------------ -GALGAS_uint GALGAS_location::getter_endColumn (Compiler * inCompiler +GALGAS_uint GALGAS_location::getter_endColumn (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid ()) { - if (!mInternalLocation->mSourceText.isValid ()) { + if (!mSourceText.isValid ()) { inCompiler->onTheFlyRunTimeError ("'endColumn' reader cannot be called on a nowhere @location object" COMMA_THERE) ; }else{ - result = GALGAS_uint ((uint32_t) mInternalLocation->mEndLocation.columnNumber ()) ; + result = GALGAS_uint ((uint32_t) mEndLocationInSource.columnNumber ()) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//------------------------------------------------------------------------------------------------------------------------------------------ -GALGAS_uint GALGAS_location::getter_startLine (Compiler * inCompiler +GALGAS_uint GALGAS_location::getter_startLine (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid ()) { - if (!mInternalLocation->mSourceText.isValid ()) { + if (!mSourceText.isValid ()) { inCompiler->onTheFlyRunTimeError ("'startLine' getter cannot be called on a nowhere @location object" COMMA_THERE) ; }else{ - result = GALGAS_uint ((uint32_t) mInternalLocation->mEndLocation.lineNumber ()) ; + result = GALGAS_uint ((uint32_t) mEndLocationInSource.lineNumber ()) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//------------------------------------------------------------------------------------------------------------------------------------------ -GALGAS_uint GALGAS_location::getter_endLine (Compiler * inCompiler +GALGAS_uint GALGAS_location::getter_endLine (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid ()) { - if (!mInternalLocation->mSourceText.isValid ()) { + if (!mSourceText.isValid ()) { inCompiler->onTheFlyRunTimeError ("'endLine' getter cannot be called on a nowhere @location object" COMMA_THERE) ; }else{ - result = GALGAS_uint ((uint32_t) mInternalLocation->mEndLocation.lineNumber ()) ; + result = GALGAS_uint ((uint32_t) mEndLocationInSource.lineNumber ()) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//------------------------------------------------------------------------------------------------------------------------------------------ GALGAS_location GALGAS_location::getter_union (const GALGAS_location & inOtherLocation, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_location result ; if (isValid () && inOtherLocation.isValid ()) { - if (mInternalLocation->mSourceText != inOtherLocation.mInternalLocation->mSourceText) { + if (mSourceText != inOtherLocation.mSourceText) { inCompiler->onTheFlyRunTimeError ("'union' getter cannot be called on an @location object that is relative to an other source" COMMA_THERE) ; }else{ - LocationInSource startLocation = mInternalLocation->mStartLocation ; - if (startLocation.index () > inOtherLocation.mInternalLocation->mStartLocation.index ()){ - startLocation = inOtherLocation.mInternalLocation->mStartLocation ; + result = *this ; + if (result.mStartLocationInSource.index () > inOtherLocation.mStartLocationInSource.index ()){ + result.mStartLocationInSource = inOtherLocation.mStartLocationInSource ; } - LocationInSource endLocation = mInternalLocation->mEndLocation ; - if (endLocation.index () < inOtherLocation.mInternalLocation->mEndLocation.index ()){ - endLocation = inOtherLocation.mInternalLocation->mEndLocation ; + if (result.mEndLocationInSource.index () < inOtherLocation.mEndLocationInSource.index ()){ + result.mEndLocationInSource = inOtherLocation.mEndLocationInSource ; } - macroMyNew (result.mInternalLocation, InternalLocation (mInternalLocation->mSourceText, startLocation, endLocation)) } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//------------------------------------------------------------------------------------------------------------------------------------------ diff --git a/goil/build/libpm/galgas2/GALGAS_object.cpp b/goil/build/libpm/galgas2/GALGAS_object.cpp index 7cc5568af..d940865d4 100644 --- a/goil/build/libpm/galgas2/GALGAS_object.cpp +++ b/goil/build/libpm/galgas2/GALGAS_object.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS_object : Base class for GALGAS object handling // @@ -16,19 +16,19 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -#include "cPtr_object.h" +#include "galgas2/cPtr_object.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_object::GALGAS_object (void) : AC_GALGAS_root (), mSharedObject (nullptr) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_object::GALGAS_object (AC_GALGAS_root * inObjectPointer COMMA_LOCATION_ARGS) : @@ -37,7 +37,7 @@ mSharedObject (nullptr) { macroMyNew (mSharedObject, cPtr_object (inObjectPointer COMMA_THERE)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_object::GALGAS_object (const GALGAS_object & inSource) : AC_GALGAS_root (), @@ -45,26 +45,26 @@ mSharedObject (nullptr) { macroAssignSharedObject (mSharedObject, inSource.mSharedObject) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_object & GALGAS_object::operator = (const GALGAS_object & inSource) { macroAssignSharedObject (mSharedObject, inSource.mSharedObject) ; return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_object::~ GALGAS_object (void) { macroDetachSharedObject (mSharedObject) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_object::drop (void) { macroDetachSharedObject (mSharedObject) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const AC_GALGAS_root * GALGAS_object::embeddedObject (void) const { const AC_GALGAS_root * result = nullptr ; @@ -74,13 +74,13 @@ const AC_GALGAS_root * GALGAS_object::embeddedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_object::description (String & /* ioString */, +void GALGAS_object::description (C_String & /* ioString */, const int32_t /* inIndentation */) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_object::objectCompare (const GALGAS_object & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -97,7 +97,7 @@ typeComparisonResult GALGAS_object::objectCompare (const GALGAS_object & inOpera return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_type GALGAS_object::getter_objectStaticType (UNUSED_LOCATION_ARGS) const { GALGAS_type result ; @@ -107,7 +107,7 @@ GALGAS_type GALGAS_object::getter_objectStaticType (UNUSED_LOCATION_ARGS) const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_type GALGAS_object::getter_objectDynamicType (UNUSED_LOCATION_ARGS) const { GALGAS_type result ; @@ -117,4 +117,4 @@ GALGAS_type GALGAS_object::getter_objectDynamicType (UNUSED_LOCATION_ARGS) const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/GALGAS_sint.cpp b/goil/build/libpm/galgas2/GALGAS_sint.cpp index da9fae0fb..c1d08e6d6 100644 --- a/goil/build/libpm/galgas2/GALGAS_sint.cpp +++ b/goil/build/libpm/galgas2/GALGAS_sint.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'GALGAS_sint' : galgas sint32 // @@ -16,12 +16,12 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -#include "Compiler.h" +#include "galgas2/C_Compiler.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint::GALGAS_sint (void) : AC_GALGAS_root (), @@ -29,7 +29,13 @@ mIsValid (false), mSIntValue (0) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_sint GALGAS_sint::constructor_default (UNUSED_LOCATION_ARGS) { + return GALGAS_sint (0) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint::GALGAS_sint (const int32_t inValue) : AC_GALGAS_root (), @@ -37,7 +43,7 @@ mIsValid (true), mSIntValue (inValue) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_sint::objectCompare (const GALGAS_sint & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -53,21 +59,21 @@ typeComparisonResult GALGAS_sint::objectCompare (const GALGAS_sint & inOperand) return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_sint GALGAS_sint::class_func_max (UNUSED_LOCATION_ARGS) { +GALGAS_sint GALGAS_sint::constructor_max (UNUSED_LOCATION_ARGS) { return GALGAS_sint (INT32_MAX) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_sint GALGAS_sint::class_func_min (UNUSED_LOCATION_ARGS) { +GALGAS_sint GALGAS_sint::constructor_min (UNUSED_LOCATION_ARGS) { return GALGAS_sint (INT32_MIN) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_sint::getter_uint (Compiler * inCompiler +GALGAS_uint GALGAS_sint::getter_uint (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid ()) { @@ -80,9 +86,9 @@ GALGAS_uint GALGAS_sint::getter_uint (Compiler * inCompiler return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint_36__34_ GALGAS_sint::getter_uint_36__34_ (Compiler * inCompiler +GALGAS_uint_36__34_ GALGAS_sint::getter_uint_36__34_ (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint_36__34_ result ; if (isValid ()) { @@ -95,7 +101,7 @@ GALGAS_uint_36__34_ GALGAS_sint::getter_uint_36__34_ (Compiler * inCompiler return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_ GALGAS_sint::getter_sint_36__34_ (UNUSED_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; @@ -105,7 +111,7 @@ GALGAS_sint_36__34_ GALGAS_sint::getter_sint_36__34_ (UNUSED_LOCATION_ARGS) cons return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_sint::getter_double (UNUSED_LOCATION_ARGS) const { GALGAS_double result ; @@ -115,45 +121,46 @@ GALGAS_double GALGAS_sint::getter_double (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bigint GALGAS_sint::getter_bigint (UNUSED_LOCATION_ARGS) const { GALGAS_bigint result ; if (isValid ()) { - result = GALGAS_bigint (BigSigned (mSIntValue)) ; + result = GALGAS_bigint (C_BigInt (mSIntValue)) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_sint::getter_string (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { - String s ; s.appendSigned (mSIntValue) ; + C_String s ; s.appendSigned (mSIntValue) ; result = GALGAS_string (s) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_sint::getter_hexString (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { const uint32_t v = (uint32_t) mSIntValue ; - String s = "0x" ; + C_String s ; + s << "0x" ; s.appendUnsignedHex8 (v) ; result = GALGAS_string (s) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_sint::getter_hexStringSeparatedBy (const GALGAS_char & inSeparator, const GALGAS_uint & inGroup, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_string result ; if (isValid () && inSeparator.isValid () && inGroup.isValid ()) { @@ -161,58 +168,58 @@ GALGAS_string GALGAS_sint::getter_hexStringSeparatedBy (const GALGAS_char & inSe if (group <= 0) { inCompiler->onTheFlyRunTimeError ("last argument should be > 0" COMMA_THERE) ; }else{ - String s ; + C_String s ; s.appendUnsignedHex ((uint32_t) mSIntValue) ; const utf32 separator = inSeparator.charValue() ; for (int i = (int) (s.length () - group) ; i > 0 ; i -= group) { s.insertCharacterAtIndex (separator, i COMMA_HERE) ; } - result = GALGAS_string (String ("0x") + s) ; + result = GALGAS_string (C_String ("0x") + s) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_sint::getter_xString (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { const uint32_t v = (uint32_t) mSIntValue ; - String s ; s.appendUnsignedHex8 (v) ; + C_String s ; s.appendUnsignedHex8 (v) ; result = GALGAS_string (s) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_sint::description (String & ioString, +void GALGAS_sint::description (C_String & ioString, const int32_t /* inIndentation */) const { - ioString.appendCString ("<@sint:") ; + ioString << "<@sint:" ; if (isValid ()) { - ioString.appendSigned (mSIntValue) ; + ioString << cStringWithSigned (mSIntValue) ; }else{ - ioString.appendCString ("not built") ; + ioString << "not built" ; } - ioString.appendCString (">") ; + ioString << ">" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint::increment_operation_no_overflow (void) { mSIntValue ++ ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint::decrement_operation_no_overflow (void) { mSIntValue -- ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_sint::increment_operation (Compiler * inCompiler +void GALGAS_sint::increment_operation (C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (mSIntValue == INT32_MAX) { @@ -224,9 +231,9 @@ void GALGAS_sint::increment_operation (Compiler * inCompiler } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_sint::decrement_operation (Compiler * inCompiler +void GALGAS_sint::decrement_operation (C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (mSIntValue == INT32_MIN) { @@ -238,10 +245,10 @@ void GALGAS_sint::decrement_operation (Compiler * inCompiler } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint::plusAssign_operation (const GALGAS_sint inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { const int32_t r = mSIntValue + inOperand.mSIntValue ; @@ -258,10 +265,10 @@ void GALGAS_sint::plusAssign_operation (const GALGAS_sint inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint::minusAssign_operation (const GALGAS_sint inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { const int32_t r = mSIntValue - inOperand.mSIntValue ; @@ -275,10 +282,10 @@ void GALGAS_sint::minusAssign_operation (const GALGAS_sint inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint::mulAssign_operation (const GALGAS_sint inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { const int32_t r = mSIntValue * inOperand.mSIntValue ; @@ -297,10 +304,10 @@ void GALGAS_sint::mulAssign_operation (const GALGAS_sint inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint::divAssign_operation (const GALGAS_sint inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { if (inOperand.mSIntValue == 0) { @@ -312,7 +319,7 @@ void GALGAS_sint::divAssign_operation (const GALGAS_sint inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint GALGAS_sint::add_operation_no_ovf (const GALGAS_sint & inOperand) const { GALGAS_sint result ; @@ -322,10 +329,10 @@ GALGAS_sint GALGAS_sint::add_operation_no_ovf (const GALGAS_sint & inOperand) co return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint GALGAS_sint::add_operation (const GALGAS_sint & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint result ; if (isValid () && inOperand.isValid ()) { @@ -343,7 +350,7 @@ GALGAS_sint GALGAS_sint::add_operation (const GALGAS_sint & inOperand, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_sint::getter_canAdd (const GALGAS_sint & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -359,10 +366,10 @@ GALGAS_bool GALGAS_sint::getter_canAdd (const GALGAS_sint & inOperand return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint GALGAS_sint::substract_operation (const GALGAS_sint & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint result ; if (isValid () && inOperand.isValid ()) { @@ -377,7 +384,7 @@ GALGAS_sint GALGAS_sint::substract_operation (const GALGAS_sint & inOperand, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_sint::getter_canSubstract (const GALGAS_sint & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -390,7 +397,7 @@ GALGAS_bool GALGAS_sint::getter_canSubstract (const GALGAS_sint & inOperand return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint GALGAS_sint::substract_operation_no_ovf (const GALGAS_sint & inOperand2) const { GALGAS_sint result ; @@ -400,7 +407,7 @@ GALGAS_sint GALGAS_sint::substract_operation_no_ovf (const GALGAS_sint & inOpera return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint GALGAS_sint::multiply_operation_no_ovf (const GALGAS_sint & inOperand2) const { GALGAS_sint result ; @@ -410,10 +417,10 @@ GALGAS_sint GALGAS_sint::multiply_operation_no_ovf (const GALGAS_sint & inOperan return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint GALGAS_sint::multiply_operation (const GALGAS_sint & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint result ; if (isValid () && inOperand.isValid ()) { @@ -433,7 +440,7 @@ GALGAS_sint GALGAS_sint::multiply_operation (const GALGAS_sint & inOperand, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_sint::getter_canMultiply (const GALGAS_sint & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -451,10 +458,10 @@ GALGAS_bool GALGAS_sint::getter_canMultiply (const GALGAS_sint & inOperand return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint GALGAS_sint::divide_operation (const GALGAS_sint & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint result ; if (isValid () && inOperand.isValid ()) { @@ -469,7 +476,7 @@ GALGAS_sint GALGAS_sint::divide_operation (const GALGAS_sint & inOperand, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_sint::getter_canDivide (const GALGAS_sint & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -481,7 +488,7 @@ GALGAS_bool GALGAS_sint::getter_canDivide (const GALGAS_sint & inOperand return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint GALGAS_sint::divide_operation_no_ovf (const GALGAS_sint & inOperand) const { GALGAS_sint result ; @@ -491,10 +498,10 @@ GALGAS_sint GALGAS_sint::divide_operation_no_ovf (const GALGAS_sint & inOperand) return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint GALGAS_sint::modulo_operation (const GALGAS_sint & inOperand2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint result ; if (isValid () && inOperand2.isValid ()) { @@ -507,9 +514,9 @@ GALGAS_sint GALGAS_sint::modulo_operation (const GALGAS_sint & inOperand2, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_sint GALGAS_sint::operator_unary_minus (Compiler * inCompiler +GALGAS_sint GALGAS_sint::operator_unary_minus (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint result ; if (isValid ()) { @@ -523,7 +530,7 @@ GALGAS_sint GALGAS_sint::operator_unary_minus (Compiler * inCompiler } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint GALGAS_sint::operator_unary_minus_no_ovf (void) const { GALGAS_sint result ; @@ -534,10 +541,10 @@ GALGAS_sint GALGAS_sint::operator_unary_minus_no_ovf (void) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint GALGAS_sint::left_shift_operation (const GALGAS_uint inShiftOperand, - class Compiler * /* inCompiler*/ + class C_Compiler * /* inCompiler*/ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_sint result ; if (isValid () && inShiftOperand.isValid ()) { @@ -546,14 +553,14 @@ GALGAS_sint GALGAS_sint::left_shift_operation (const GALGAS_uint inShiftOperand, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint GALGAS_sint::left_shift_operation (const GALGAS_bigint inShiftOperand, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint result ; if (isValid () && inShiftOperand.isValid ()) { - if (inShiftOperand.bigintValue().isStrictlyNegative ()) { + if (inShiftOperand.bigintValue().isNegative ()) { inCompiler->onTheFlyRunTimeError ("@sint left shift by a negative amount" COMMA_THERE) ; }else{ result = GALGAS_sint (mSIntValue << (inShiftOperand.bigintValue ().uint32 () & 31)) ; @@ -562,10 +569,10 @@ GALGAS_sint GALGAS_sint::left_shift_operation (const GALGAS_bigint inShiftOperan return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint GALGAS_sint::right_shift_operation (const GALGAS_uint inShiftOperand, - class Compiler * /* inCompiler*/ + class C_Compiler * /* inCompiler*/ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_sint result ; if (isValid () && inShiftOperand.isValid ()) { @@ -574,14 +581,14 @@ GALGAS_sint GALGAS_sint::right_shift_operation (const GALGAS_uint inShiftOperand return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint GALGAS_sint::right_shift_operation (const GALGAS_bigint inShiftOperand, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint result ; if (isValid () && inShiftOperand.isValid ()) { - if (inShiftOperand.bigintValue().isStrictlyNegative ()) { + if (inShiftOperand.bigintValue().isNegative ()) { inCompiler->onTheFlyRunTimeError ("@sint right shift by a negative amount" COMMA_THERE) ; }else{ result = GALGAS_sint (mSIntValue >> (inShiftOperand.bigintValue ().uint32 () & 31)) ; @@ -590,7 +597,7 @@ GALGAS_sint GALGAS_sint::right_shift_operation (const GALGAS_bigint inShiftOpera return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint GALGAS_sint::operator_and (const GALGAS_sint & inOperand2 COMMA_UNUSED_LOCATION_ARGS) const { @@ -601,7 +608,7 @@ GALGAS_sint GALGAS_sint::operator_and (const GALGAS_sint & inOperand2 return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint GALGAS_sint::operator_or (const GALGAS_sint & inOperand2 COMMA_UNUSED_LOCATION_ARGS) const { @@ -612,7 +619,7 @@ GALGAS_sint GALGAS_sint::operator_or (const GALGAS_sint & inOperand2 return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint GALGAS_sint::operator_xor (const GALGAS_sint & inOperand2 COMMA_UNUSED_LOCATION_ARGS) const { @@ -623,7 +630,7 @@ GALGAS_sint GALGAS_sint::operator_xor (const GALGAS_sint & inOperand2 return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint GALGAS_sint::operator_tilde (UNUSED_LOCATION_ARGS) const { GALGAS_sint result ; @@ -633,4 +640,4 @@ GALGAS_sint GALGAS_sint::operator_tilde (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/GALGAS_sint_36__34_.cpp b/goil/build/libpm/galgas2/GALGAS_sint_36__34_.cpp index 70c38d274..410bcd71a 100644 --- a/goil/build/libpm/galgas2/GALGAS_sint_36__34_.cpp +++ b/goil/build/libpm/galgas2/GALGAS_sint_36__34_.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'GALGAS_sint64' : galgas sint64 // @@ -16,16 +16,16 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -#include "Compiler.h" +#include "galgas2/C_Compiler.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS_sint64 // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_::GALGAS_sint_36__34_ (void) : AC_GALGAS_root (), @@ -33,7 +33,13 @@ mIsValid (false), mSInt64Value (0) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_sint_36__34_ GALGAS_sint_36__34_::constructor_default (UNUSED_LOCATION_ARGS) { + return GALGAS_sint_36__34_ (0) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_::GALGAS_sint_36__34_ (const int64_t inValue) : AC_GALGAS_root (), @@ -41,7 +47,7 @@ mIsValid (true), mSInt64Value (inValue) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_sint_36__34_::objectCompare (const GALGAS_sint_36__34_ & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -57,21 +63,21 @@ typeComparisonResult GALGAS_sint_36__34_::objectCompare (const GALGAS_sint_36__3 return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_sint_36__34_ GALGAS_sint_36__34_::class_func_max (UNUSED_LOCATION_ARGS) { +GALGAS_sint_36__34_ GALGAS_sint_36__34_::constructor_max (UNUSED_LOCATION_ARGS) { return GALGAS_sint_36__34_ (INT64_MAX) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_sint_36__34_ GALGAS_sint_36__34_::class_func_min (UNUSED_LOCATION_ARGS) { +GALGAS_sint_36__34_ GALGAS_sint_36__34_::constructor_min (UNUSED_LOCATION_ARGS) { return GALGAS_sint_36__34_ (INT64_MIN) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint_36__34_ GALGAS_sint_36__34_::getter_uint_36__34_ (Compiler * inCompiler +GALGAS_uint_36__34_ GALGAS_sint_36__34_::getter_uint_36__34_ (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint_36__34_ result ; if (mSInt64Value < 0) { @@ -82,9 +88,9 @@ GALGAS_uint_36__34_ GALGAS_sint_36__34_::getter_uint_36__34_ (Compiler * inCompi return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_sint_36__34_::getter_uint (Compiler * inCompiler +GALGAS_uint GALGAS_sint_36__34_::getter_uint (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (mSInt64Value < 0) { @@ -97,9 +103,9 @@ GALGAS_uint GALGAS_sint_36__34_::getter_uint (Compiler * inCompiler return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_sint GALGAS_sint_36__34_::getter_sint (Compiler * inCompiler +GALGAS_sint GALGAS_sint_36__34_::getter_sint (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint result ; if (mSInt64Value < INT32_MIN) { @@ -112,17 +118,17 @@ GALGAS_sint GALGAS_sint_36__34_::getter_sint (Compiler * inCompiler return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bigint GALGAS_sint_36__34_::getter_bigint (UNUSED_LOCATION_ARGS) const { GALGAS_bigint result ; if (isValid ()) { - result = GALGAS_bigint (BigSigned (mSInt64Value)) ; + result = GALGAS_bigint (C_BigInt (mSInt64Value)) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_sint_36__34_::getter_double (UNUSED_LOCATION_ARGS) const { GALGAS_double result ; @@ -132,37 +138,37 @@ GALGAS_double GALGAS_sint_36__34_::getter_double (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_sint_36__34_::getter_string (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { - String s ; + C_String s ; s.appendSigned (mSInt64Value) ; result = GALGAS_string (s) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_sint_36__34_::getter_hexString (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { const uint64_t v = (uint64_t) mSInt64Value ; - String s ; - s.appendCString ("0x") ; + C_String s ; + s << "0x" ; s.appendUnsignedHex16 (v) ; result = GALGAS_string (s) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_sint_36__34_::getter_hexStringSeparatedBy (const GALGAS_char & inSeparator, const GALGAS_uint & inGroup, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_string result ; if (isValid () && inSeparator.isValid () && inGroup.isValid ()) { @@ -170,42 +176,42 @@ GALGAS_string GALGAS_sint_36__34_::getter_hexStringSeparatedBy (const GALGAS_cha if (group <= 0) { inCompiler->onTheFlyRunTimeError ("last argument should be > 0" COMMA_THERE) ; }else{ - String s ; + C_String s ; s.appendUnsignedHex ((uint64_t) mSInt64Value) ; const utf32 separator = inSeparator.charValue() ; for (int i = (int) (s.length () - group) ; i > 0 ; i -= group) { s.insertCharacterAtIndex (separator, i COMMA_HERE) ; } - result = GALGAS_string (String ("0x") + s) ; + result = GALGAS_string (C_String ("0x") + s) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_sint_36__34_::getter_xString (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { const uint64_t v = (uint64_t) mSInt64Value ; - String s ; s.appendUnsignedHex16 (v) ; + C_String s ; s.appendUnsignedHex16 (v) ; result = GALGAS_string (s) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_sint_36__34_::description (String & ioString, +void GALGAS_sint_36__34_::description (C_String & ioString, const int32_t /* inIndentation */) const { - ioString.appendCString ("<@sint64:") ; + ioString << "<@sint64:" ; ioString.appendSigned (mSInt64Value) ; - ioString.appendCString (">") ; + ioString << ">" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_sint_36__34_::increment_operation (Compiler * inCompiler +void GALGAS_sint_36__34_::increment_operation (C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (mSInt64Value == INT64_MAX) { @@ -217,21 +223,21 @@ void GALGAS_sint_36__34_::increment_operation (Compiler * inCompiler } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_36__34_::increment_operation_no_overflow (void) { mSInt64Value ++ ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_36__34_::decrement_operation_no_overflow (void) { mSInt64Value -- ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_sint_36__34_::decrement_operation (Compiler * inCompiler +void GALGAS_sint_36__34_::decrement_operation (C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { //--- Overflow ? @@ -244,10 +250,10 @@ void GALGAS_sint_36__34_::decrement_operation (Compiler * inCompiler } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_36__34_::plusAssign_operation (const GALGAS_sint_36__34_ inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { const int64_t r = mSInt64Value + inOperand.mSInt64Value ; @@ -264,10 +270,10 @@ void GALGAS_sint_36__34_::plusAssign_operation (const GALGAS_sint_36__34_ inOper } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_36__34_::minusAssign_operation (const GALGAS_sint_36__34_ inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { const int64_t r = mSInt64Value - inOperand.mSInt64Value ; @@ -281,10 +287,10 @@ void GALGAS_sint_36__34_::minusAssign_operation (const GALGAS_sint_36__34_ inOpe } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_36__34_::mulAssign_operation (const GALGAS_sint_36__34_ inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { const int64_t r = mSInt64Value * inOperand.mSInt64Value ; @@ -303,10 +309,10 @@ void GALGAS_sint_36__34_::mulAssign_operation (const GALGAS_sint_36__34_ inOpera } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_36__34_::divAssign_operation (const GALGAS_sint_36__34_ inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { if (inOperand.mSInt64Value == 0) { @@ -318,7 +324,7 @@ void GALGAS_sint_36__34_::divAssign_operation (const GALGAS_sint_36__34_ inOpera } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_ GALGAS_sint_36__34_::add_operation_no_ovf (const GALGAS_sint_36__34_ & inOperand) const { GALGAS_sint_36__34_ result ; @@ -328,10 +334,10 @@ GALGAS_sint_36__34_ GALGAS_sint_36__34_::add_operation_no_ovf (const GALGAS_sint return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_ GALGAS_sint_36__34_::add_operation (const GALGAS_sint_36__34_ & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; if (isValid () && inOperand.isValid ()) { @@ -349,7 +355,7 @@ GALGAS_sint_36__34_ GALGAS_sint_36__34_::add_operation (const GALGAS_sint_36__34 return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_sint_36__34_::getter_canAdd (const GALGAS_sint_36__34_ & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -365,13 +371,13 @@ GALGAS_bool GALGAS_sint_36__34_::getter_canAdd (const GALGAS_sint_36__34_ & inOp return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // http://stackoverflow.com/questions/199333/how-to-detect-integer-overflow-in-c-c // For signed integers you can check the signs of the arguments and of the result. integers of different signs // can't overflow, and integers of same sign overflow only is the result is of different sign GALGAS_sint_36__34_ GALGAS_sint_36__34_::substract_operation (const GALGAS_sint_36__34_ & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; if (isValid () && inOperand.isValid ()) { @@ -386,7 +392,7 @@ GALGAS_sint_36__34_ GALGAS_sint_36__34_::substract_operation (const GALGAS_sint_ return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_sint_36__34_::getter_canSubstract (const GALGAS_sint_36__34_ & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -399,7 +405,7 @@ GALGAS_bool GALGAS_sint_36__34_::getter_canSubstract (const GALGAS_sint_36__34_ return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_ GALGAS_sint_36__34_::substract_operation_no_ovf (const GALGAS_sint_36__34_ & inOperand2) const { GALGAS_sint_36__34_ result ; @@ -410,7 +416,7 @@ GALGAS_sint_36__34_ GALGAS_sint_36__34_::substract_operation_no_ovf (const GALGA return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_ GALGAS_sint_36__34_::multiply_operation_no_ovf (const GALGAS_sint_36__34_ & inOperand2) const { GALGAS_sint_36__34_ result ; @@ -420,10 +426,10 @@ GALGAS_sint_36__34_ GALGAS_sint_36__34_::multiply_operation_no_ovf (const GALGAS return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_ GALGAS_sint_36__34_::multiply_operation (const GALGAS_sint_36__34_ & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; if (isValid () && inOperand.isValid ()) { @@ -443,7 +449,7 @@ GALGAS_sint_36__34_ GALGAS_sint_36__34_::multiply_operation (const GALGAS_sint_3 return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_sint_36__34_::getter_canMultiply (const GALGAS_sint_36__34_ & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -461,10 +467,10 @@ GALGAS_bool GALGAS_sint_36__34_::getter_canMultiply (const GALGAS_sint_36__34_ & return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_ GALGAS_sint_36__34_::divide_operation (const GALGAS_sint_36__34_ & inOperand2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; if (isValid () && inOperand2.isValid ()) { @@ -479,7 +485,7 @@ GALGAS_sint_36__34_ GALGAS_sint_36__34_::divide_operation (const GALGAS_sint_36_ return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_sint_36__34_::getter_canDivide (const GALGAS_sint_36__34_ & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -491,7 +497,7 @@ GALGAS_bool GALGAS_sint_36__34_::getter_canDivide (const GALGAS_sint_36__34_ & i return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_ GALGAS_sint_36__34_::divide_operation_no_ovf (const GALGAS_sint_36__34_ & inOperand) const { GALGAS_sint_36__34_ result ; @@ -501,10 +507,10 @@ GALGAS_sint_36__34_ GALGAS_sint_36__34_::divide_operation_no_ovf (const GALGAS_s return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_ GALGAS_sint_36__34_::modulo_operation (const GALGAS_sint_36__34_ & inOperand2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; if (isValid () && inOperand2.isValid ()) { @@ -517,9 +523,9 @@ GALGAS_sint_36__34_ GALGAS_sint_36__34_::modulo_operation (const GALGAS_sint_36_ return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_sint_36__34_ GALGAS_sint_36__34_::operator_unary_minus (Compiler * inCompiler +GALGAS_sint_36__34_ GALGAS_sint_36__34_::operator_unary_minus (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; if (isValid ()) { @@ -532,7 +538,7 @@ GALGAS_sint_36__34_ GALGAS_sint_36__34_::operator_unary_minus (Compiler * inComp return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_ GALGAS_sint_36__34_::operator_unary_minus_no_ovf (void) const { GALGAS_sint_36__34_ result ; @@ -542,10 +548,10 @@ GALGAS_sint_36__34_ GALGAS_sint_36__34_::operator_unary_minus_no_ovf (void) cons return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_ GALGAS_sint_36__34_::left_shift_operation (const GALGAS_uint inShiftOperand, - class Compiler * /* inCompiler*/ + class C_Compiler * /* inCompiler*/ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; if (isValid () && inShiftOperand.isValid ()) { @@ -554,14 +560,14 @@ GALGAS_sint_36__34_ GALGAS_sint_36__34_::left_shift_operation (const GALGAS_uint return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_ GALGAS_sint_36__34_::left_shift_operation (const GALGAS_bigint inShiftOperand, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; if (isValid () && inShiftOperand.isValid ()) { - if (inShiftOperand.bigintValue().isStrictlyNegative ()) { + if (inShiftOperand.bigintValue().isNegative ()) { inCompiler->onTheFlyRunTimeError ("@sint64 left shift by a negative amount" COMMA_THERE) ; }else{ result = GALGAS_sint_36__34_ (mSInt64Value << (inShiftOperand.bigintValue().uint32() & 63)) ; @@ -570,10 +576,10 @@ GALGAS_sint_36__34_ GALGAS_sint_36__34_::left_shift_operation (const GALGAS_bigi return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_ GALGAS_sint_36__34_::right_shift_operation (const GALGAS_uint inShiftOperand, - class Compiler * /* inCompiler*/ + class C_Compiler * /* inCompiler*/ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; if (isValid () && inShiftOperand.isValid ()) { @@ -582,14 +588,14 @@ GALGAS_sint_36__34_ GALGAS_sint_36__34_::right_shift_operation (const GALGAS_uin return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_ GALGAS_sint_36__34_::right_shift_operation (const GALGAS_bigint inShiftOperand, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; if (isValid () && inShiftOperand.isValid ()) { - if (inShiftOperand.bigintValue().isStrictlyNegative ()) { + if (inShiftOperand.bigintValue().isNegative ()) { inCompiler->onTheFlyRunTimeError ("@sint64 right shift by a negative amount" COMMA_THERE) ; }else{ result = GALGAS_sint_36__34_ (mSInt64Value >> (inShiftOperand.bigintValue().uint32() & 63)) ; @@ -598,7 +604,7 @@ GALGAS_sint_36__34_ GALGAS_sint_36__34_::right_shift_operation (const GALGAS_big return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_ GALGAS_sint_36__34_::operator_and (const GALGAS_sint_36__34_ & inOperand2 COMMA_UNUSED_LOCATION_ARGS) const { @@ -609,7 +615,7 @@ GALGAS_sint_36__34_ GALGAS_sint_36__34_::operator_and (const GALGAS_sint_36__34_ return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_ GALGAS_sint_36__34_::operator_or (const GALGAS_sint_36__34_ & inOperand2 COMMA_UNUSED_LOCATION_ARGS) const { @@ -620,7 +626,7 @@ GALGAS_sint_36__34_ GALGAS_sint_36__34_::operator_or (const GALGAS_sint_36__34_ return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_ GALGAS_sint_36__34_::operator_xor (const GALGAS_sint_36__34_ & inOperand2 COMMA_UNUSED_LOCATION_ARGS) const { @@ -631,7 +637,7 @@ GALGAS_sint_36__34_ GALGAS_sint_36__34_::operator_xor (const GALGAS_sint_36__34_ return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_ GALGAS_sint_36__34_::operator_tilde (UNUSED_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; @@ -641,4 +647,4 @@ GALGAS_sint_36__34_ GALGAS_sint_36__34_::operator_tilde (UNUSED_LOCATION_ARGS) c return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/GALGAS_string-getters.cpp b/goil/build/libpm/galgas2/GALGAS_string-getters.cpp deleted file mode 100644 index 90fe8e6d7..000000000 --- a/goil/build/libpm/galgas2/GALGAS_string-getters.cpp +++ /dev/null @@ -1,1342 +0,0 @@ -//-------------------------------------------------------------------------------------------------- -// -// 'GALGAS_string' : class of galgas string -// -// This file is part of libpm library -// -// Copyright (C) 1996, ..., 2023 Pierre Molinaro. -// -// e-mail : pierre@pcmolinaro.name -// -// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General -// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) -// any later version. -// -// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied -// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -// more details. -// -//-------------------------------------------------------------------------------------------------- - -#include "all-predefined-types.h" -#include "C_galgas_CLI_Options.h" -#include "Compiler.h" -#include "F_mainForLIBPM.h" -#include "F_Analyze_CLI_Options.h" -#include "unicode_character_cpp.h" -#include "C_galgas_io.h" -#include "FileManager.h" -#include "BinaryFileWrite.h" -#include "F_verbose_output.h" - -//-------------------------------------------------------------------------------------------------- - -#include -#include -#include -#include -#include -#include -#include - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Getters -#endif - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_HTMLRepresentation (UNUSED_LOCATION_ARGS) const { - GALGAS_string result ; - if (isValid ()) { - result = GALGAS_string (mString.HTMLRepresentation ()) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_lstring GALGAS_string::getter_nowhere (LOCATION_ARGS) const { - GALGAS_lstring result ; - if (isValid ()) { - result.mProperty_string = * this ; - result.mProperty_location = GALGAS_location::class_func_nowhere (THERE) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_lstring GALGAS_string::getter_here (Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_lstring result ; - if (isValid ()) { - result.mProperty_string = * this ; - result.mProperty_location = GALGAS_location::class_func_here (inCompiler COMMA_THERE) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_bool GALGAS_string::getter_fileExists (UNUSED_LOCATION_ARGS) const { - GALGAS_bool result ; - if (isValid ()) { - result = GALGAS_bool (FileManager::fileExistsAtPath (mString)) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_bool GALGAS_string::getter_directoryExists (UNUSED_LOCATION_ARGS) const { - GALGAS_bool result ; - if (isValid ()) { - result = GALGAS_bool (FileManager::directoryExists (mString)) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_uint GALGAS_string::getter_count (UNUSED_LOCATION_ARGS) const { - GALGAS_uint result ; - if (isValid ()) { - result = GALGAS_uint ((uint32_t) mString.length ()) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_range GALGAS_string::getter_range (UNUSED_LOCATION_ARGS) const { - GALGAS_range result ; - if (isValid ()) { - result = GALGAS_range (GALGAS_uint (0), GALGAS_uint ((uint32_t) mString.length ())) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_md_35_ (UNUSED_LOCATION_ARGS) const { - GALGAS_string result ; - if (isValid ()) { - result = GALGAS_string (mString.md5 ()) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_sha_32__35__36_ (UNUSED_LOCATION_ARGS) const { - GALGAS_string result ; - if (isValid ()) { - result = GALGAS_string (mString.sha256 ()) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_utf_33__32_Representation (const GALGAS_bool & inAppendZeroTerminator - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_string result ; - if (isValid () && inAppendZeroTerminator.isValid ()) { - String s ; - s.appendUTF32LiteralStringConstant (mString, inAppendZeroTerminator.boolValue ()) ; - result = GALGAS_string (s) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_utf_38_RepresentationEscapingQuestionMark (UNUSED_LOCATION_ARGS) const { - GALGAS_string result ; - if (isValid ()) { - const bool escapeQuestionMark = true ; - const String s = mString.utf8RepresentationEnclosedWithin ('"', escapeQuestionMark) ; - result = GALGAS_string (s) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_utf_38_Representation (UNUSED_LOCATION_ARGS) const { - GALGAS_string result ; - if (isValid ()) { - const bool escapeQuestionMark = false ; - const String s = mString.utf8RepresentationEnclosedWithin ('"', escapeQuestionMark) ; - result = GALGAS_string (s) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_cStringRepresentation (UNUSED_LOCATION_ARGS) const { - GALGAS_string result ; - if (isValid ()) { - const bool escapeQuestionMark = true ; - const String s = mString.utf8RepresentationEnclosedWithin ('"', escapeQuestionMark) ; - result = GALGAS_string (s) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_utf_38_RepresentationEnclosedWithin (const GALGAS_char & inCharacter COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_string result ; - if (isValid () && inCharacter.isValid ()) { - const bool escapeQuestionMark = true ; - const String s = mString.utf8RepresentationEnclosedWithin (inCharacter.charValue (), escapeQuestionMark) ; - result = GALGAS_string (s) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_uint GALGAS_string::getter_utf_38_Length (UNUSED_LOCATION_ARGS) const { - GALGAS_uint result ; - if (isValid ()) { - U8Data data ; - data.appendString (mString) ; - result = GALGAS_uint (uint32_t (data.count ())) ; - } - return result ; -} - - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_utf_38_RepresentationWithoutDelimiters (UNUSED_LOCATION_ARGS) const { - GALGAS_string result ; - if (isValid ()) { - String s ; - s.appendStringAsCLiteralStringConstantWithoutDelimiters (mString) ; - result = GALGAS_string (s) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_utf_38_RepresentationWithUnicodeEscaping (UNUSED_LOCATION_ARGS) const { - GALGAS_string result ; - if (isValid ()) { - result = GALGAS_string (mString.utf8RepresentationWithUnicodeEscaping ()) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_identifierRepresentation (UNUSED_LOCATION_ARGS) const { - GALGAS_string result ; - if (isValid ()) { - result = GALGAS_string (mString.identifierRepresentation ()) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_nameRepresentation (UNUSED_LOCATION_ARGS) const { - GALGAS_string result ; - if (isValid ()) { - result = GALGAS_string (mString.nameRepresentation ()) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_fileNameRepresentation (UNUSED_LOCATION_ARGS) const { - GALGAS_string result ; - if (isValid ()) { - result = GALGAS_string (mString.fileNameRepresentation ()) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_assemblerRepresentation (UNUSED_LOCATION_ARGS) const { - GALGAS_string result ; - if (isValid ()) { - result = GALGAS_string (mString.assemblerRepresentation ()) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_decodedStringFromRepresentation (Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_string result ; - if (isValid ()) { - bool ok = true ; - const String r = mString.decodedStringFromRepresentation (ok) ; - if (ok) { - result = GALGAS_string (r) ; - }else{ - inCompiler->onTheFlyRunTimeError ( - "@string decodedStringFromRepresentation getter called with a string that is not a valid string representation" - COMMA_THERE - ) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_subStringFromIndex (const GALGAS_uint & inStartIndex - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_string result ; - if (inStartIndex.isValid ()) { - result = GALGAS_string (mString.subStringFromIndex ((int32_t) inStartIndex.uintValue ())) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_rightSubString (const GALGAS_uint & inLength - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_string result ; - if (inLength.isValid ()) { - result = GALGAS_string (mString.rightSubString ((int32_t) inLength.uintValue ())) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_leftSubString (const GALGAS_uint & inLength - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_string result ; - if (inLength.isValid ()) { - result = GALGAS_string (mString.leftSubString ((int32_t) inLength.uintValue ())) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_subString (const GALGAS_uint & inStart, - const GALGAS_uint & inLength - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_string result ; - if ((inStart.isValid ()) && (inLength.isValid ())) { - const int32_t start = (int32_t) inStart.uintValue () ; - const int32_t aLength = (int32_t) inLength.uintValue () ; - result = GALGAS_string (mString.subString (start, aLength)) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_absolutePathFromPath (const GALGAS_string & inBasePath - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_string result ; - if (inBasePath.isValid ()) { - const String path = mString ; - const int32_t stringLength = path.length () ; - String r ; - if ((stringLength > 0) && (UNICODE_VALUE (path.charAtIndex (0 COMMA_HERE)) == '/')) { - r = path ; - }else{ - r = inBasePath.mString ; - r.appendChar (TO_UNICODE ('/')) ; - r.appendString (path) ; - } - result = GALGAS_string (r.stringByStandardizingPath ()) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_relativePathFromPath (const GALGAS_string & inReferencePath - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_string result ; - if (isValid () && inReferencePath.isValid ()) { - result = GALGAS_string (FileManager::relativePathFromPath (mString, inReferencePath.mString)) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_char GALGAS_string::getter_lastCharacter (Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_char result ; - if (isValid ()) { - if (mString.length () == 0) { - inCompiler->onTheFlyRunTimeError ( - "@string lastCharacter getter called on empty string" - COMMA_THERE - ) ; - }else{ - result = GALGAS_char (mString.lastChar (THERE)) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_stringByStandardizingPath (UNUSED_LOCATION_ARGS) const { - return GALGAS_string (mString.stringByStandardizingPath ()) ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_pathExtension (UNUSED_LOCATION_ARGS) const { - return GALGAS_string (mString.pathExtension ()) ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_char GALGAS_string::getter_firstCharacterOrNul (UNUSED_LOCATION_ARGS) const { - return GALGAS_char (mString.readCharOrNul (0 COMMA_HERE)) ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_stringByDeletingPathExtension (UNUSED_LOCATION_ARGS) const { - return GALGAS_string (mString.stringByDeletingPathExtension ()) ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_stringByDeletingLastPathComponent (UNUSED_LOCATION_ARGS) const { - return GALGAS_string (mString.stringByDeletingLastPathComponent ()) ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_stringByCapitalizingFirstCharacter (UNUSED_LOCATION_ARGS) const { - return GALGAS_string (mString.stringByCapitalizingFirstCharacter ()) ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_uppercaseString (UNUSED_LOCATION_ARGS) const { - return GALGAS_string (mString.uppercaseString ()) ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_lowercaseString (UNUSED_LOCATION_ARGS) const { - return GALGAS_string (mString.lowercaseString ()) ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_reversedString (UNUSED_LOCATION_ARGS) const { - return GALGAS_string (mString.reversedString ()) ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_stringByTrimmingWhiteSpaces (UNUSED_LOCATION_ARGS) const { - return GALGAS_string (mString.stringByTrimmingSeparators ()) ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_uint GALGAS_string::getter_currentColumn (UNUSED_LOCATION_ARGS) const { - GALGAS_uint result ; - if (isValid ()) { - result = GALGAS_uint (mString.currentColumn ()) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_stringByLeftPadding (const GALGAS_uint & inPaddedStringLength, - const GALGAS_char & inPaddingChar - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_string result ; - if ((inPaddedStringLength.isValid ()) && (inPaddingChar.isValid ())) { - const utf32 paddingChar = inPaddingChar.charValue () ; - const int32_t paddedStringLength = (int32_t) inPaddedStringLength.uintValue () ; - const int32_t paddingLength = paddedStringLength - mString.length () ; - String s ; s.setCapacity (paddedStringLength) ; - for (int32_t i=0 ; ionTheFlyRunTimeError ( - "@string stringByReplacingStringByString getter called with empty searched string" - COMMA_THERE - ) ; - }else{ - uint32_t replacementCount = 0 ; - const String s = mString.stringByReplacingStringByString (inSearchedString.mString, inReplacementString.mString, replacementCount) ; - result = GALGAS_string (s) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_stringByRemovingCharacterAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_string result ; - if (inIndex.isValid ()) { - if (inIndex.uintValue () < (uint32_t) mString.length ()) { - String s = mString ; - s.removeCountFromIndex (1, int32_t (inIndex.uintValue ()) COMMA_THERE) ; - result = GALGAS_string (s) ; - }else{ - inCompiler->onTheFlyRunTimeError ( - "@string stringByRemovingCharacterAtIndex getter called with index greater or equal to length" - COMMA_THERE - ) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_char GALGAS_string::getter_characterAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_char result ; - if (isValid () && inIndex.isValid ()) { - const int32_t idx = (int32_t) inIndex.uintValue () ; - const int32_t stringLength = mString.length () ; - if (idx >= stringLength) { - String message = "string index (" ; - message.appendSigned (idx) ; - message.appendCString (") too large (string length: ") ; - message.appendSigned (stringLength) ; - message.appendCString (")") ; - inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; - }else{ - result = GALGAS_char (mString.charAtIndex (idx COMMA_HERE)) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_bool GALGAS_string::getter_containsCharacter (const GALGAS_char & inCharacter - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_bool result ; - if (isValid () && inCharacter.isValid ()) { - result = GALGAS_bool (mString.containsChar (inCharacter.charValue ())) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_bool GALGAS_string::getter_containsCharacterInRange (const GALGAS_char & inFirstCharacter, - const GALGAS_char & inLastCharacter - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_bool result ; - if (isValid () && inFirstCharacter.isValid () && inLastCharacter.isValid ()) { - result = GALGAS_bool (mString.containsCharInRange (inFirstCharacter.charValue (), inLastCharacter.charValue ())) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_unixPathWithNativePath (UNUSED_LOCATION_ARGS) const { - return GALGAS_string (FileManager::unixPathWithNativePath (mString)) ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::getter_nativePathWithUnixPath (UNUSED_LOCATION_ARGS) const { - return GALGAS_string (FileManager::nativePathWithUnixPath (mString)) ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_stringlist GALGAS_string::getter_componentsSeparatedByString (const GALGAS_string & inSeparator - COMMA_LOCATION_ARGS) const { - GALGAS_stringlist result ; - if (inSeparator.isValid ()) { - result = GALGAS_stringlist::class_func_emptyList (THERE) ; - TC_UniqueArray components ; - mString.componentsSeparatedByString (inSeparator.mString, components) ; - for (int32_t i=0 ; id_name [0] != '.') { - String name = nativeStartPath ; - name.appendCString ("/") ; - name.appendString (current->d_name) ; - if (FileManager::directoryExistsWithNativePath (name)) { - if (inRecursiveSearch) { - recursiveSearchForRegularFiles (name, - inRecursiveSearch, - inRelativePath + current->d_name + "/", - ioResult) ; - } - }else if (FileManager::fileExistsAtPath (name)) { - const String relativePath = inRelativePath + current->d_name ; - ioResult.addAssign_operation (GALGAS_string (relativePath) COMMA_HERE) ; - } - } - current = readdir (dir) ; - } - closedir (dir) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_stringlist GALGAS_string::getter_regularFiles (const GALGAS_bool & inRecursiveSearch - COMMA_LOCATION_ARGS) const { - GALGAS_stringlist result ; - if (inRecursiveSearch.isValid ()) { - result = GALGAS_stringlist::class_func_emptyList (THERE) ; - recursiveSearchForRegularFiles (mString, - inRecursiveSearch.boolValue (), - "", - result) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -static void recursiveSearchForHiddenFiles (const String & inUnixStartPath, - const bool inRecursiveSearch, - const String & inRelativePath, - GALGAS_stringlist & ioResult) { - const String nativeStartPath = FileManager::nativePathWithUnixPath (inUnixStartPath) ; - DIR * dir = ::opendir (nativeStartPath.cString ()) ; - if (dir != nullptr) { - struct dirent * current = readdir (dir) ; - while (current != nullptr) { - if ((strlen (current->d_name) > 1) && (current->d_name [0] == '.') && (strcmp (current->d_name, "..") != 0)) { - String name = nativeStartPath ; - name.appendCString ("/") ; - name.appendString (current->d_name) ; - if (FileManager::directoryExistsWithNativePath (name)) { - if (inRecursiveSearch) { - recursiveSearchForHiddenFiles (name, - inRecursiveSearch, - inRelativePath + current->d_name + "/", - ioResult) ; - } - }else if (FileManager::fileExistsAtPath (name)) { - const String relativePath = inRelativePath + current->d_name ; - ioResult.addAssign_operation (GALGAS_string (relativePath) COMMA_HERE) ; - } - } - current = readdir (dir) ; - } - closedir (dir) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_stringlist GALGAS_string::getter_hiddenFiles (const GALGAS_bool & inRecursiveSearch - COMMA_LOCATION_ARGS) const { - GALGAS_stringlist result ; - if (inRecursiveSearch.isValid ()) { - result = GALGAS_stringlist::class_func_emptyList (THERE) ; - recursiveSearchForHiddenFiles (mString, - inRecursiveSearch.boolValue (), - "", - result) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -static void recursiveSearchForDirectories (const String & inUnixStartPath, - const bool inRecursiveSearch, - const String & inRelativePath, - GALGAS_stringlist & ioResult) { - const String nativeStartPath = FileManager::nativePathWithUnixPath (inUnixStartPath) ; - DIR * dir = ::opendir (nativeStartPath.cString ()) ; - if (dir != nullptr) { - struct dirent * current = readdir (dir) ; - while (current != nullptr) { - if (current->d_name [0] != '.') { - String name = nativeStartPath ; - name.appendCString ("/") ; - name.appendString (current->d_name) ; - if (FileManager::directoryExistsWithNativePath (name)) { - const String relativePath = inRelativePath + current->d_name ; - ioResult.addAssign_operation (GALGAS_string (relativePath) COMMA_HERE) ; - if (inRecursiveSearch) { - recursiveSearchForDirectories (name, - inRecursiveSearch, - inRelativePath + current->d_name + "/", - ioResult) ; - } - } - } - current = readdir (dir) ; - } - closedir (dir) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_stringlist GALGAS_string::getter_directories (const GALGAS_bool & inRecursiveSearch - COMMA_LOCATION_ARGS) const { - GALGAS_stringlist result ; - if (inRecursiveSearch.isValid ()) { - result = GALGAS_stringlist::class_func_emptyList (THERE) ; - if (FileManager::directoryExists (mString)) { - recursiveSearchForDirectories (mString, - inRecursiveSearch.boolValue (), - "", - result) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -static void recursiveSearchForRegularFiles (const String & inUnixStartPath, - GALGAS_stringlist inExtensionList, - const bool inRecursiveSearch, - const String & inRelativePath, - GALGAS_stringlist & ioResult) { - const String nativeStartPath = FileManager::nativePathWithUnixPath (inUnixStartPath) ; - DIR * dir = ::opendir (nativeStartPath.cString ()) ; - if (dir != nullptr) { - struct dirent * current = readdir (dir) ; - while (current != nullptr) { - if (current->d_name [0] != '.') { - String name = nativeStartPath ; - name.appendCString ("/") ; - name.appendString (current->d_name) ; - if (FileManager::directoryExistsWithNativePath (name)) { - if (inRecursiveSearch) { - recursiveSearchForRegularFiles (name, - inExtensionList, - inRecursiveSearch, - inRelativePath + current->d_name + "/", - ioResult) ; - } - }else if (FileManager::fileExistsAtPath (name)) { - const String extension = name.pathExtension () ; - bool extensionFound = false ; - cEnumerator_stringlist currentExtension (inExtensionList, kENUMERATION_UP) ; - while (currentExtension.hasCurrentObject () && ! extensionFound) { - extensionFound = currentExtension.current_mValue (HERE).stringValue () == extension ; - currentExtension.gotoNextObject () ; - } - if (extensionFound) { - const String relativePath = inRelativePath + current->d_name ; - ioResult.addAssign_operation (GALGAS_string (relativePath) COMMA_HERE) ; - } - } - } - current = readdir (dir) ; - } - closedir (dir) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_stringlist GALGAS_string::getter_regularFilesWithExtensions (const GALGAS_bool & inRecursiveSearch, - const GALGAS_stringlist & inExtensionList - COMMA_LOCATION_ARGS) const { - GALGAS_stringlist result ; - if ((inRecursiveSearch.isValid ()) && (inExtensionList.isValid ())) { - result = GALGAS_stringlist::class_func_emptyList (THERE) ; - if (FileManager::directoryExists (mString)) { - recursiveSearchForRegularFiles (mString, - inExtensionList, - inRecursiveSearch.boolValue (), - "", - result) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -static void recursiveSearchForDirectories (const String & inUnixStartPath, - GALGAS_stringlist inExtensionList, - const bool inRecursiveSearch, - const String & inRelativePath, - GALGAS_stringlist & ioResult) { - const String nativeStartPath = FileManager::nativePathWithUnixPath (inUnixStartPath) ; - DIR * dir = ::opendir (nativeStartPath.cString ()) ; - if (dir != nullptr) { - struct dirent * current = readdir (dir) ; - while (current != nullptr) { - if (current->d_name [0] != '.') { - String name = nativeStartPath ; - name.appendCString ("/") ; - name.appendString (current->d_name) ; - if (FileManager::directoryExistsWithNativePath (name)) { - //--- Look for extension - const String extension = name.pathExtension () ; - bool extensionFound = false ; - cEnumerator_stringlist currentExtension (inExtensionList, kENUMERATION_UP) ; - while (currentExtension.hasCurrentObject () && ! extensionFound) { - extensionFound = currentExtension.current_mValue (HERE).stringValue () == extension ; - currentExtension.gotoNextObject () ; - } - if (extensionFound) { - const String relativePath = inRelativePath + current->d_name ; - ioResult.addAssign_operation (GALGAS_string (relativePath) COMMA_HERE) ; - } - //--- Recursive Search ? - if (inRecursiveSearch) { - recursiveSearchForDirectories (name, - inExtensionList, - inRecursiveSearch, - inRelativePath + current->d_name + "/", - ioResult) ; - } - } - } - current = readdir (dir) ; - } - closedir (dir) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_stringlist GALGAS_string::getter_directoriesWithExtensions (const GALGAS_bool & inRecursiveSearch, - const GALGAS_stringlist & inExtensionList - COMMA_LOCATION_ARGS) const { - GALGAS_stringlist result ; - if (isValid () && inRecursiveSearch.isValid () && inExtensionList.isValid ()) { - result = GALGAS_stringlist::class_func_emptyList (THERE) ; - if (FileManager::directoryExists (mString)) { - recursiveSearchForDirectories (mString, - inExtensionList, - inRecursiveSearch.boolValue (), - "", - result) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_bool GALGAS_string::getter_doesEnvironmentVariableExist (UNUSED_LOCATION_ARGS) const { - GALGAS_bool result ; - if (isValid ()) { - result = GALGAS_bool (::getenv (mString.cString ()) != nullptr) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_uint GALGAS_string::getter_capacity (UNUSED_LOCATION_ARGS) const { - GALGAS_uint result ; - if (isValid ()) { - result = GALGAS_uint ((uint32_t) mString.capacity ()) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_bool GALGAS_string::getter_isDecimalUnsignedNumber (UNUSED_LOCATION_ARGS) const { - GALGAS_bool result ; - if (isValid ()) { - uint32_t r = 0 ; - bool ok = false ; - mString.convertToUInt32 (r, ok) ; - result = GALGAS_bool (ok) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_uint GALGAS_string::getter_decimalUnsignedNumber (Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_uint result ; - if (isValid ()) { - uint32_t r = 0 ; - bool ok = false ; - mString.convertToUInt32 (r, ok) ; - if (ok) { - result = GALGAS_uint (r) ; - }else{ - inCompiler->onTheFlyRunTimeError ("cannot convert a string to a decimal @uint number" COMMA_THERE) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_bool GALGAS_string::getter_isDecimalUnsigned_36__34_Number (UNUSED_LOCATION_ARGS) const { - GALGAS_bool result ; - if (isValid ()) { - uint64_t r = 0 ; - bool ok = false ; - mString.convertToUInt64 (r, ok) ; - result = GALGAS_bool (ok) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_uint_36__34_ GALGAS_string::getter_decimalUnsigned_36__34_Number (Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_uint_36__34_ result ; - if (isValid ()) { - uint64_t r = 0 ; - bool ok = false ; - mString.convertToUInt64 (r, ok) ; - if (ok) { - result = GALGAS_uint_36__34_ (r) ; - }else{ - inCompiler->onTheFlyRunTimeError ("cannot convert a string to a decimal @uint64 number" COMMA_THERE) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_bool GALGAS_string::getter_isDecimalSignedNumber (UNUSED_LOCATION_ARGS) const { - GALGAS_bool result ; - if (isValid ()) { - int32_t r = 0 ; - bool ok = false ; - mString.convertToSInt32 (r, ok) ; - result = GALGAS_bool (ok) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_sint GALGAS_string::getter_decimalSignedNumber (Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_sint result ; - if (isValid ()) { - int32_t r = 0 ; - bool ok = false ; - mString.convertToSInt32 (r, ok) ; - if (ok) { - result = GALGAS_sint (r) ; - }else{ - inCompiler->onTheFlyRunTimeError ("cannot convert a string to a decimal @sint number" COMMA_THERE) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_bool GALGAS_string::getter_isDecimalSigned_36__34_Number (UNUSED_LOCATION_ARGS) const { - GALGAS_bool result ; - if (isValid ()) { - int64_t r = 0 ; - bool ok = false ; - mString.convertToSInt64 (r, ok) ; - result = GALGAS_bool (ok) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_sint_36__34_ GALGAS_string::getter_decimalSigned_36__34_Number (Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_sint_36__34_ result ; - if (isValid ()) { - int64_t r = 0 ; - bool ok = false ; - mString.convertToSInt64 (r, ok) ; - if (ok) { - result = GALGAS_sint_36__34_ (r) ; - }else{ - inCompiler->onTheFlyRunTimeError ("cannot convert a string to a decimal @sint64 number" COMMA_THERE) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_bool GALGAS_string::getter_isDecimalSignedBigInt (UNUSED_LOCATION_ARGS) const { - GALGAS_bool result ; - if (isValid ()) { - bool ok = mString.length () > 0 ; - //--- Sign - int32_t idx = 0 ; - if (ok) { - const utf32 c = mString.charAtIndex (0 COMMA_HERE) ; - if ((UNICODE_VALUE (c) == '+') || (UNICODE_VALUE (c) == '-')) { - idx = 1 ; - } - } - while ((idx < mString.length ()) && ok) { - const utf32 c = mString.charAtIndex (idx COMMA_HERE) ; - idx += 1 ; - ok = (UNICODE_VALUE (c) >= '0') && (UNICODE_VALUE (c) <= '9') ; - } - result = GALGAS_bool (ok) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_bigint GALGAS_string::getter_decimalSignedBigInt (Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_bigint result ; - if (isValid ()) { - bool ok = false ; - BigSigned bigint (mString.cString (), BigUnsignedBase::ten, ok) ; - if (ok) { - result = GALGAS_bigint (bigint) ; - }else{ - inCompiler->onTheFlyRunTimeError ("cannot convert a string to a decimal @bigint number" COMMA_THERE) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_double GALGAS_string::getter_doubleNumber (Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_double result ; - if (isValid ()) { - double doubleValue = 0.0 ; - bool ok = true ; - mString.convertToDouble (doubleValue, ok) ; - if (ok) { - result = GALGAS_double (doubleValue) ; - }else{ - inCompiler->onTheFlyRunTimeError ("cannot convert a string to a double number: it contains invalid character" COMMA_THERE) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_bool GALGAS_string::getter_isDoubleNumber (UNUSED_LOCATION_ARGS) const { - GALGAS_bool result ; - if (isValid ()) { - double doubleValue = 0.0 ; - bool ok = true ; - mString.convertToDouble (doubleValue, ok) ; - result = GALGAS_bool (ok) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_bool GALGAS_string::getter_isSymbolicLink (UNUSED_LOCATION_ARGS) const { - GALGAS_bool result ; - if (isValid ()) { - result = GALGAS_bool (FileManager::isSymbolicLink (mString)) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Getter popen -#endif - -//-------------------------------------------------------------------------------------------------- -// http://msdn.microsoft.com/en-us/library/ms682499%28VS.85%29.aspx - -#if (COMPILE_FOR_WINDOWS == 1) || defined(__CYGWIN__) - #include - #include - - static bool CreateChildProcess (HANDLE g_hChildStd_OUT_Wr, - HANDLE g_hChildStd_IN_Rd, - const char * /* inCommandLine */) { - //--- Create a child process that uses the previously created pipes for STDIN and STDOUT. - TCHAR szCmdline [] = TEXT ("dir") ; - TCHAR application [] = TEXT ("c:\\windows\\system32\\command.com") ; - //--- Set up members of the PROCESS_INFORMATION structure. - PROCESS_INFORMATION piProcInfo ; - ZeroMemory (& piProcInfo, sizeof (PROCESS_INFORMATION)) ; - //--- Set up members of the STARTUPINFO structure. - STARTUPINFO siStartInfo ; - ZeroMemory (& siStartInfo, sizeof (STARTUPINFO)) ; - siStartInfo.cb = sizeof (STARTUPINFO) ; - siStartInfo.hStdError = g_hChildStd_OUT_Wr ; - siStartInfo.hStdOutput = g_hChildStd_OUT_Wr ; - siStartInfo.hStdInput = g_hChildStd_IN_Rd ; - siStartInfo.dwFlags |= STARTF_USESTDHANDLES ; - //-- Create the child process. - const bool bSuccess = 0 != CreateProcess ( - application, // Application - szCmdline, // command line - nullptr, // process security attributes - nullptr, // primary thread security attributes - TRUE, // handles are inherited - 0, // creation flags - nullptr, // use parent's environment - nullptr, // use parent's current directory - & siStartInfo, // STARTUPINFO pointer - & piProcInfo // receives PROCESS_INFORMATION - ) ; - if (bSuccess) { - // Close handles to the child process and its primary thread. - // Some applications might keep these handles to monitor the status - // of the child process, for example. - CloseHandle (piProcInfo.hProcess) ; - CloseHandle (piProcInfo.hThread) ; - }else{ // CreateProcess Error - DWORD error = GetLastError () ; - std::cout << "'CreateProcess' error: " << error << std::endl ; - } - //--- - return bSuccess ; - } - - GALGAS_string GALGAS_string::getter_popen (Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_string result ; - if (isValid ()) { - // Create a pipe for the child process's STDIN. - HANDLE g_hChildStd_OUT_Wr = nullptr ; - HANDLE g_hChildStd_OUT_Rd = nullptr ; - HANDLE g_hChildStd_IN_Wr = nullptr ; - HANDLE g_hChildStd_IN_Rd = nullptr ; - SECURITY_ATTRIBUTES saAttr ; - saAttr.nLength = sizeof (SECURITY_ATTRIBUTES) ; - saAttr.bInheritHandle = TRUE ; - saAttr.lpSecurityDescriptor = nullptr ; - String errorMessage ; - bool ok = 0 != CreatePipe (& g_hChildStd_OUT_Rd, & g_hChildStd_OUT_Wr, & saAttr, 0) ; - if (! ok) { - errorMessage.appendCString ("@string popen: 'CreatePipe' error") ; - }else{ - ok = SetHandleInformation (g_hChildStd_OUT_Rd, HANDLE_FLAG_INHERIT, 0) ; - if (! ok) { - errorMessage.appendCString ("@string popen: 'SetHandleInformation' error") ; - } - } - if (ok) { - ok = CreatePipe (& g_hChildStd_IN_Rd, & g_hChildStd_IN_Wr, & saAttr, 0) ; - if (! ok) { - errorMessage.appendCString ("@string popen: 'CreatePipe (2)' error") ; - } - } - if (ok) { - ok = SetHandleInformation (g_hChildStd_IN_Wr, HANDLE_FLAG_INHERIT, 0) ; - if (! ok) { - errorMessage.appendCString ("@string popen: 'SetHandleInformation (2)' error") ; - } - } - if (ok) { - ok = CreateChildProcess (g_hChildStd_OUT_Wr, g_hChildStd_IN_Rd, mString.cString ()) ; - if (! ok) { - errorMessage.appendCString ("@string popen: 'CreateChildProcess' error") ; - } - } - if (! ok) { - inCompiler->onTheFlyRunTimeError (errorMessage COMMA_THERE) ; - }else{ - U8Data response ; - bool loop = true ; - while (loop) { - const size_t kBufferSize = 1000 ; - uint8_t buffer [kBufferSize] ; - DWORD readLength = 0 ; - loop = ReadFile (g_hChildStd_OUT_Rd, buffer, kBufferSize, & readLength, nullptr) ; - loop = readLength > 0 ; - response.appendDataFromPointer (buffer, readLength) ; - } - String s ; - String::parseUTF8 (response, 0, s) ; - result = GALGAS_string (s) ; - } - CloseHandle (g_hChildStd_IN_Wr) ; - CloseHandle (g_hChildStd_IN_Rd) ; - CloseHandle (g_hChildStd_OUT_Wr) ; - CloseHandle (g_hChildStd_OUT_Rd) ; - } - return result ; - } - -#else - - GALGAS_string GALGAS_string::getter_popen (Compiler * /* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_string result ; - if (isValid ()) { - FILE * f = popen (mString.cString (), "r") ; - U8Data response ; - bool loop = true ; - while (loop) { - const size_t kBufferSize = 1000 ; - uint8_t buffer [kBufferSize] ; - const size_t readLength = fread (buffer, 1, kBufferSize, f) ; - loop = readLength > 0 ; - response.appendDataFromPointer (buffer, (int32_t) readLength) ; - } - pclose (f) ; - String s ; - response.appendByte ('\0') ; - String::parseUTF8 (response, 0, s) ; - result = GALGAS_string (s) ; - } - return result ; - } -#endif - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/GALGAS_string.cpp b/goil/build/libpm/galgas2/GALGAS_string.cpp index f5ceb0f96..ad6c9db20 100644 --- a/goil/build/libpm/galgas2/GALGAS_string.cpp +++ b/goil/build/libpm/galgas2/GALGAS_string.cpp @@ -1,10 +1,10 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'GALGAS_string' : class of galgas string // // This file is part of libpm library // -// Copyright (C) 1996, ..., 2024 Pierre Molinaro. +// Copyright (C) 1996, ..., 2023 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -16,16 +16,20 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -#include "Compiler.h" -#include "C_galgas_io.h" -#include "FileManager.h" -#include "BinaryFileWrite.h" -#include "F_verbose_output.h" - -//-------------------------------------------------------------------------------------------------- +#include "galgas2/C_galgas_CLI_Options.h" +#include "galgas2/C_Compiler.h" +#include "command_line_interface/F_mainForLIBPM.h" +#include "command_line_interface/F_Analyze_CLI_Options.h" +#include "strings/unicode_character_cpp.h" +#include "galgas2/C_galgas_io.h" +#include "files/C_FileManager.h" +#include "files/C_BinaryFileWrite.h" +#include "galgas2/F_verbose_output.h" + +//---------------------------------------------------------------------------------------------------------------------- #include #include @@ -35,7 +39,7 @@ #include #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef COMPILE_FOR_WINDOWS #error COMPILE_FOR_WINDOWS is undefined @@ -49,15 +53,17 @@ #include #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// // C++ Management -//-------------------------------------------------------------------------------------------------- +// +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark C++ Management #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string::GALGAS_string (void) : AC_GALGAS_root (), @@ -65,386 +71,1703 @@ mIsValid (false), mString () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string::GALGAS_string (const String & inString) : +GALGAS_string::GALGAS_string (const C_String & inString) : AC_GALGAS_root (), mIsValid (true), mString (inString) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_string::drop (void) { mIsValid = false ; - mString.removeAll () ; + mString.releaseString () ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::makeEmptyString (void) { + GALGAS_string result ; + result.mIsValid = true ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +typeComparisonResult GALGAS_string::objectCompare (const GALGAS_string & inOperand) const { + typeComparisonResult result = kOperandNotValid ; + if (isValid () && inOperand.isValid ()) { + const int32_t r = mString.compare (inOperand.mString) ; + if (r < 0) { + result = kFirstOperandLowerThanSecond ; + }else if (r > 0) { + result = kFirstOperandGreaterThanSecond ; + }else{ + result = kOperandEqual ; + } + } + return result ; +} + + +//---------------------------------------------------------------------------------------------------------------------- + +void GALGAS_string::description (C_String & ioString, + const int32_t /* inIndentation */) const { + ioString << "<@string:" ; + if (isValid ()) { + ioString << "\"" << mString << "\"" ; + }else{ + ioString << "not built" ; + } + ioString << ">" ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +AC_OutputStream & operator << (AC_OutputStream & inStream, + const GALGAS_string & inString) { + inStream << inString.stringValue () ; + return inStream ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +AC_OutputStream & operator << (AC_OutputStream & inStream, + const GALGAS_lstring & inString) { + inStream << inString.mProperty_string.stringValue () ; + return inStream ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// Constructors +// +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Constructors +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::constructor_stringByRepeatingString (const GALGAS_string & inString, + const GALGAS_uint & inCount + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result ; + if (inString.isValid () && inCount.isValid ()) { + C_String s ; + for (uint32_t i=0 ; ipw_dir) ; + } +#endif + +#if COMPILE_FOR_WINDOWS == 1 + GALGAS_string GALGAS_string::constructor_homeDirectory (UNUSED_LOCATION_ARGS) { + char path [MAX_PATH] ; + SHGetFolderPath (nullptr, CSIDL_PROFILE, nullptr, 0, path) ; + return GALGAS_string (path).getter_unixPathWithNativePath (HERE) ; + } +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::constructor_default (UNUSED_LOCATION_ARGS) { + return GALGAS_string ("") ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::constructor_stringWithSequenceOfCharacters (const GALGAS_char & inCharacter, + const GALGAS_uint & inCount + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result ; + if ((inCount.isValid ()) && (inCharacter.isValid ())) { + const utf32 character = inCharacter.charValue () ; + C_String s ; + for (uint32_t i=0 ; isourceFilePath ()) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::constructor_stringWithContentsOfFile (const GALGAS_string & inFilePath, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_string result ; + if (inFilePath.isValid ()) { + inCompiler->logFileRead (inFilePath.mString) ; + if (C_FileManager::fileExistsAtPath (inFilePath.mString)) { + result = GALGAS_string (C_FileManager::stringWithContentOfFile (inFilePath.mString)) ; + }else{ + C_String message ; + message << "cannot read '" << inFilePath.mString << "' file (does not exist)" ; + inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; + } + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::constructor_stringWithCurrentDirectory (UNUSED_LOCATION_ARGS) { + return GALGAS_string (C_FileManager::currentDirectory ()) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::constructor_stringWithEnvironmentVariable (const GALGAS_string & inEnvironmentVariableName, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_string result ; + if (inEnvironmentVariableName.isValid ()) { + const char * value = ::getenv (inEnvironmentVariableName.mString.cString (HERE)) ; + if (value == nullptr) { + C_String message ; + message << "the '" << inEnvironmentVariableName.mString << "' environment variable does not exist" ; + inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; + }else{ + result = GALGAS_string (value) ; + } + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::constructor_stringWithEnvironmentVariableOrEmpty (const GALGAS_string & inEnvironmentVariableName + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result ; + if (inEnvironmentVariableName.isValid ()) { + const char * value = ::getenv (inEnvironmentVariableName.mString.cString (HERE)) ; + result = GALGAS_string (value) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::constructor_componentsJoinedByString (const GALGAS_stringlist & inComponents, + const GALGAS_string & inSeparator + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result ; + if ((inComponents.isValid ()) && (inSeparator.isValid ())) { + bool first = true ; + C_String s ; + cEnumerator_stringlist current (inComponents, kENUMERATION_UP) ; + while (current.hasCurrentObject ()) { + if (first) { + first = false ; + }else{ + s << inSeparator.mString ; + } + s << current.current_mValue (HERE).mString ; + current.gotoNextObject () ; + } + result = GALGAS_string (s) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::constructor_stringWithCurrentDateTime (UNUSED_LOCATION_ARGS) { + time_t currentTime = ::time (nullptr) ; + struct tm currentTimeTM ; + #if COMPILE_FOR_WINDOWS == 0 + ::localtime_r (¤tTime, ¤tTimeTM) ; // Mac, Linux + #else + ::localtime_s (¤tTimeTM, ¤tTime) ; // Windows + #endif + char timeString [128] ; + bool ok = currentTime >= 0 ; + if (ok) { + ::strftime (timeString, sizeof (timeString), "Www Mmm dd hh:mm:ss yyyy", & currentTimeTM) ; +// timeString = ::ctime (& currentTime) ; +// ok = timeString != nullptr ; +// if (ok) { +// const size_t length = ::strlen (timeString) ; +// ok = length > 0 ; +// if (ok) { +// timeString [length - 1] = '\0' ; // Suppress trailing '\n' +// } +// } + } + return GALGAS_string (ok ? timeString : "") ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::constructor_retrieveAndResetTemplateString (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + return inCompiler->retrieveAndResetTemplateString () ; +} + + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::constructor_separatorString (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + return inCompiler->separatorString () ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::constructor_stringWithSymbolicLinkContents (const GALGAS_string & inSymbolicLink, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_string result ; + if (inSymbolicLink.isValid ()) { + bool ok = false ; + const C_String r = C_FileManager::stringWithSymbolicLinkContents (inSymbolicLink.mString, ok) ; + if (ok) { + result = GALGAS_string (r) ; + }else{ + C_String s ; + s << "'@string stringWithSymbolicLinkContents' error; receiver's value '" << inSymbolicLink.mString << "' is not a symbolic link" ; + inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; + } + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// Operators +// +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Operators +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::add_operation (const GALGAS_string & inOperand2, + C_Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result ; + if (isValid () && inOperand2.isValid ()) { + result = GALGAS_string (mString + inOperand2.mString) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void GALGAS_string::plusAssign_operation (GALGAS_string inOperand, + C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + if (isValid () && inOperand.isValid ()) { + mString << inOperand.mString ; + }else{ + drop () ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// Getters +// +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Getters +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_HTMLRepresentation (UNUSED_LOCATION_ARGS) const { + GALGAS_string result ; + if (isValid ()) { + result = GALGAS_string (mString.HTMLRepresentation ()) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_lstring GALGAS_string::getter_nowhere (LOCATION_ARGS) const { + GALGAS_lstring result ; + if (isValid ()) { + result.mProperty_string = * this ; + result.mProperty_location = GALGAS_location::constructor_nowhere (THERE) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_lstring GALGAS_string::getter_here (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { + GALGAS_lstring result ; + if (isValid ()) { + result.mProperty_string = * this ; + result.mProperty_location = GALGAS_location::constructor_here (inCompiler COMMA_THERE) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_bool GALGAS_string::getter_fileExists (UNUSED_LOCATION_ARGS) const { + GALGAS_bool result ; + if (isValid ()) { + result = GALGAS_bool (C_FileManager::fileExistsAtPath (mString)) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_bool GALGAS_string::getter_directoryExists (UNUSED_LOCATION_ARGS) const { + GALGAS_bool result ; + if (isValid ()) { + result = GALGAS_bool (C_FileManager::directoryExists (mString)) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_uint GALGAS_string::getter_count (UNUSED_LOCATION_ARGS) const { + GALGAS_uint result ; + if (isValid ()) { + result = GALGAS_uint ((uint32_t) mString.length ()) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_range GALGAS_string::getter_range (UNUSED_LOCATION_ARGS) const { + GALGAS_range result ; + if (isValid ()) { + result = GALGAS_range (GALGAS_uint (0), GALGAS_uint ((uint32_t) mString.length ())) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_md_35_ (UNUSED_LOCATION_ARGS) const { + GALGAS_string result ; + if (isValid ()) { + result = GALGAS_string (mString.md5 ()) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_utf_33__32_Representation (UNUSED_LOCATION_ARGS) const { + GALGAS_string result ; + if (isValid ()) { + C_String s ; + s.appendUTF32LiteralStringConstant (mString) ; + result = GALGAS_string (s) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_utf_38_RepresentationEscapingQuestionMark (UNUSED_LOCATION_ARGS) const { + GALGAS_string result ; + if (isValid ()) { + const bool escapeQuestionMark = true ; + const C_String s = mString.utf8RepresentationEnclosedWithin ('"', escapeQuestionMark) ; + result = GALGAS_string (s) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_utf_38_Representation (UNUSED_LOCATION_ARGS) const { + GALGAS_string result ; + if (isValid ()) { + const bool escapeQuestionMark = false ; + const C_String s = mString.utf8RepresentationEnclosedWithin ('"', escapeQuestionMark) ; + result = GALGAS_string (s) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_cStringRepresentation (UNUSED_LOCATION_ARGS) const { + GALGAS_string result ; + if (isValid ()) { + const bool escapeQuestionMark = true ; + const C_String s = mString.utf8RepresentationEnclosedWithin ('"', escapeQuestionMark) ; + result = GALGAS_string (s) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_utf_38_RepresentationEnclosedWithin (const GALGAS_char & inCharacter COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result ; + if (isValid () && inCharacter.isValid ()) { + const bool escapeQuestionMark = true ; + const C_String s = mString.utf8RepresentationEnclosedWithin (inCharacter.charValue (), escapeQuestionMark) ; + result = GALGAS_string (s) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_uint GALGAS_string::getter_utf_38_Length (UNUSED_LOCATION_ARGS) const { + GALGAS_uint result ; + if (isValid ()) { + C_Data data ; + data.appendString (mString) ; + result = GALGAS_uint (uint32_t (data.count ())) ; + } + return result ; +} + + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_utf_38_RepresentationWithoutDelimiters (UNUSED_LOCATION_ARGS) const { + GALGAS_string result ; + if (isValid ()) { + C_String s ; + s.appendCLiteralStringConstantWithoutDelimiters (mString) ; + result = GALGAS_string (s) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_utf_38_RepresentationWithUnicodeEscaping (UNUSED_LOCATION_ARGS) const { + GALGAS_string result ; + if (isValid ()) { + result = GALGAS_string (mString.utf8RepresentationWithUnicodeEscaping ()) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_identifierRepresentation (UNUSED_LOCATION_ARGS) const { + GALGAS_string result ; + if (isValid ()) { + result = GALGAS_string (mString.identifierRepresentation ()) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_nameRepresentation (UNUSED_LOCATION_ARGS) const { + GALGAS_string result ; + if (isValid ()) { + result = GALGAS_string (mString.nameRepresentation ()) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_fileNameRepresentation (UNUSED_LOCATION_ARGS) const { + GALGAS_string result ; + if (isValid ()) { + result = GALGAS_string (mString.fileNameRepresentation ()) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_assemblerRepresentation (UNUSED_LOCATION_ARGS) const { + GALGAS_string result ; + if (isValid ()) { + result = GALGAS_string (mString.assemblerRepresentation ()) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_decodedStringFromRepresentation (C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_string result ; + if (isValid ()) { + bool ok = true ; + const C_String r = mString.decodedStringFromRepresentation (ok) ; + if (ok) { + result = GALGAS_string (r) ; + }else{ + inCompiler->onTheFlyRunTimeError ( + "@string decodedStringFromRepresentation getter called with a string that is not a valid string representation" + COMMA_THERE + ) ; + } + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_subStringFromIndex (const GALGAS_uint & inStartIndex + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result ; + if (inStartIndex.isValid ()) { + result = GALGAS_string (mString.subStringFromIndex ((int32_t) inStartIndex.uintValue ())) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_rightSubString (const GALGAS_uint & inLength + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result ; + if (inLength.isValid ()) { + result = GALGAS_string (mString.rightSubString ((int32_t) inLength.uintValue ())) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_leftSubString (const GALGAS_uint & inLength + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result ; + if (inLength.isValid ()) { + result = GALGAS_string (mString.leftSubString ((int32_t) inLength.uintValue ())) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_subString (const GALGAS_uint & inStart, + const GALGAS_uint & inLength + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result ; + if ((inStart.isValid ()) && (inLength.isValid ())) { + const int32_t start = (int32_t) inStart.uintValue () ; + const int32_t aLength = (int32_t) inLength.uintValue () ; + result = GALGAS_string (mString.subString (start, aLength)) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_absolutePathFromPath (const GALGAS_string & inBasePath + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result ; + if (inBasePath.isValid ()) { + const C_String path = mString ; + const int32_t stringLength = path.length () ; + C_String r ; + if ((stringLength > 0) && (UNICODE_VALUE (path (0 COMMA_HERE)) == '/')) { + r = path ; + }else{ + r = inBasePath.mString ; + r.appendUnicodeCharacter (TO_UNICODE ('/') COMMA_HERE) ; + r.appendString (path) ; + } + result = GALGAS_string (r.stringByStandardizingPath ()) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_relativePathFromPath (const GALGAS_string & inReferencePath + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result ; + if (isValid () && inReferencePath.isValid ()) { + result = GALGAS_string (C_FileManager::relativePathFromPath (mString, inReferencePath.mString)) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_char GALGAS_string::getter_lastCharacter (C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_char result ; + if (isValid ()) { + if (mString.length () == 0) { + inCompiler->onTheFlyRunTimeError ( + "@string lastCharacter getter called on empty string" + COMMA_THERE + ) ; + }else{ + result = GALGAS_char (mString.lastCharacter (THERE)) ; + } + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_stringByStandardizingPath (UNUSED_LOCATION_ARGS) const { + return GALGAS_string (mString.stringByStandardizingPath ()) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_pathExtension (UNUSED_LOCATION_ARGS) const { + return GALGAS_string (mString.pathExtension ()) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_char GALGAS_string::getter_firstCharacterOrNul (UNUSED_LOCATION_ARGS) const { + return GALGAS_char (mString.readCharOrNul (0 COMMA_HERE)) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_stringByDeletingPathExtension (UNUSED_LOCATION_ARGS) const { + return GALGAS_string (mString.stringByDeletingPathExtension ()) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_stringByDeletingLastPathComponent (UNUSED_LOCATION_ARGS) const { + return GALGAS_string (mString.stringByDeletingLastPathComponent ()) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_stringByCapitalizingFirstCharacter (UNUSED_LOCATION_ARGS) const { + return GALGAS_string (mString.stringByCapitalizingFirstCharacter ()) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_uppercaseString (UNUSED_LOCATION_ARGS) const { + return GALGAS_string (mString.uppercaseString ()) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_lowercaseString (UNUSED_LOCATION_ARGS) const { + return GALGAS_string (mString.lowercaseString ()) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_reversedString (UNUSED_LOCATION_ARGS) const { + return GALGAS_string (mString.reversedString ()) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_stringByTrimmingWhiteSpaces (UNUSED_LOCATION_ARGS) const { + return GALGAS_string (mString.stringByTrimmingSeparators ()) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_uint GALGAS_string::getter_currentColumn (UNUSED_LOCATION_ARGS) const { + GALGAS_uint result ; + if (isValid ()) { + result = GALGAS_uint (mString.currentColumn ()) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_stringByLeftPadding (const GALGAS_uint & inPaddedStringLength, + const GALGAS_char & inPaddingChar + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result ; + if ((inPaddedStringLength.isValid ()) && (inPaddingChar.isValid ())) { + const utf32 paddingChar = inPaddingChar.charValue () ; + const int32_t paddedStringLength = (int32_t) inPaddedStringLength.uintValue () ; + const int32_t paddingLength = paddedStringLength - mString.length () ; + C_String s ; s.setCapacity ((uint32_t) paddedStringLength) ; + for (int32_t i=0 ; ionTheFlyRunTimeError ( + "@string stringByReplacingStringByString getter called with empty searched string" + COMMA_THERE + ) ; + }else{ + bool ok = false ; + uint32_t replacementCount = 0 ; + const C_String s = mString.stringByReplacingStringByString (inSearchedString.mString, inReplacementString.mString, replacementCount, ok) ; + result = GALGAS_string (s) ; + } + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_stringByRemovingCharacterAtIndex (const GALGAS_uint & inIndex, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_string result ; + if (inIndex.isValid ()) { + if (inIndex.uintValue () < (uint32_t) mString.length ()) { + C_String s = mString ; + s.suppress ((int32_t) inIndex.uintValue (), 1 COMMA_THERE) ; + result = GALGAS_string (s) ; + }else{ + inCompiler->onTheFlyRunTimeError ( + "@string stringByRemovingCharacterAtIndex getter called with index greater or equal to length" + COMMA_THERE + ) ; + } + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_char GALGAS_string::getter_characterAtIndex (const GALGAS_uint & inIndex, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_char result ; + if (isValid () && inIndex.isValid ()) { + const int32_t idx = (int32_t) inIndex.uintValue () ; + const int32_t stringLength = mString.length () ; + if (idx >= stringLength) { + C_String message ; + message << "string index (" << cStringWithSigned (idx) << ") too large (string length: " << cStringWithSigned (stringLength) << ")" ; + inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; + }else{ + result = GALGAS_char (mString (idx COMMA_HERE)) ; + } + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_bool GALGAS_string::getter_containsCharacter (const GALGAS_char & inCharacter + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_bool result ; + if (isValid () && inCharacter.isValid ()) { + result = GALGAS_bool (mString.containsCharacter (inCharacter.charValue ())) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_bool GALGAS_string::getter_containsCharacterInRange (const GALGAS_char & inFirstCharacter, + const GALGAS_char & inLastCharacter + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_bool result ; + if (isValid () && inFirstCharacter.isValid () && inLastCharacter.isValid ()) { + result = GALGAS_bool (mString.containsCharacterInRange (inFirstCharacter.charValue (), inLastCharacter.charValue ())) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_unixPathWithNativePath (UNUSED_LOCATION_ARGS) const { + return GALGAS_string (C_FileManager::unixPathWithNativePath (mString)) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string GALGAS_string::getter_nativePathWithUnixPath (UNUSED_LOCATION_ARGS) const { + return GALGAS_string (C_FileManager::nativePathWithUnixPath (mString)) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_stringlist GALGAS_string::getter_componentsSeparatedByString (const GALGAS_string & inSeparator + COMMA_LOCATION_ARGS) const { + GALGAS_stringlist result ; + if (inSeparator.isValid ()) { + result = GALGAS_stringlist::constructor_emptyList (THERE) ; + TC_UniqueArray components ; + mString.componentsSeparatedByString (inSeparator.mString, components) ; + for (int32_t i=0 ; id_name [0] != '.') { + C_String name = nativeStartPath ; + name << "/" << current->d_name ; + if (C_FileManager::directoryExistsWithNativePath (name)) { + if (inRecursiveSearch) { + recursiveSearchForRegularFiles (name, + inRecursiveSearch, + inRelativePath + current->d_name + "/", + ioResult) ; + } + }else if (C_FileManager::fileExistsAtPath (name)) { + const C_String relativePath = inRelativePath + current->d_name ; + ioResult.addAssign_operation (GALGAS_string (relativePath) COMMA_HERE) ; + } + } + current = readdir (dir) ; + } + closedir (dir) ; + } } -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::makeEmptyString (void) { - GALGAS_string result ; - result.mIsValid = true ; +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_stringlist GALGAS_string::getter_regularFiles (const GALGAS_bool & inRecursiveSearch + COMMA_LOCATION_ARGS) const { + GALGAS_stringlist result ; + if (inRecursiveSearch.isValid ()) { + result = GALGAS_stringlist::constructor_emptyList (THERE) ; + recursiveSearchForRegularFiles (mString, + inRecursiveSearch.boolValue (), + "", + result) ; + } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -typeComparisonResult GALGAS_string::objectCompare (const GALGAS_string & inOperand) const { - typeComparisonResult result = kOperandNotValid ; - if (isValid () && inOperand.isValid ()) { - const int32_t r = mString.compare (inOperand.mString) ; - if (r < 0) { - result = kFirstOperandLowerThanSecond ; - }else if (r > 0) { - result = kFirstOperandGreaterThanSecond ; - }else{ - result = kOperandEqual ; +static void recursiveSearchForHiddenFiles (const C_String & inUnixStartPath, + const bool inRecursiveSearch, + const C_String & inRelativePath, + GALGAS_stringlist & ioResult) { + const C_String nativeStartPath = C_FileManager::nativePathWithUnixPath (inUnixStartPath) ; + DIR * dir = ::opendir (nativeStartPath.cString (HERE)) ; + if (dir != nullptr) { + struct dirent * current = readdir (dir) ; + while (current != nullptr) { + if ((strlen (current->d_name) > 1) && (current->d_name [0] == '.') && (strcmp (current->d_name, "..") != 0)) { + C_String name = nativeStartPath ; + name << "/" << current->d_name ; + if (C_FileManager::directoryExistsWithNativePath (name)) { + if (inRecursiveSearch) { + recursiveSearchForHiddenFiles (name, + inRecursiveSearch, + inRelativePath + current->d_name + "/", + ioResult) ; + } + }else if (C_FileManager::fileExistsAtPath (name)) { + const C_String relativePath = inRelativePath + current->d_name ; + ioResult.addAssign_operation (GALGAS_string (relativePath) COMMA_HERE) ; + } + } + current = readdir (dir) ; } + closedir (dir) ; } - return result ; } +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- - -void GALGAS_string::description (String & ioString, - const int32_t /* inIndentation */) const { - ioString.appendCString ("<@string:") ; - if (isValid ()) { - ioString.appendCString ("\"") ; - ioString.appendString (mString) ; - ioString.appendCString ("\"") ; - }else{ - ioString.appendCString ("not built") ; +GALGAS_stringlist GALGAS_string::getter_hiddenFiles (const GALGAS_bool & inRecursiveSearch + COMMA_LOCATION_ARGS) const { + GALGAS_stringlist result ; + if (inRecursiveSearch.isValid ()) { + result = GALGAS_stringlist::constructor_emptyList (THERE) ; + recursiveSearchForHiddenFiles (mString, + inRecursiveSearch.boolValue (), + "", + result) ; } - ioString.appendCString (">") ; + return result ; } -//-------------------------------------------------------------------------------------------------- -// Constructors -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Constructors -#endif +static void recursiveSearchForDirectories (const C_String & inUnixStartPath, + const bool inRecursiveSearch, + const C_String & inRelativePath, + GALGAS_stringlist & ioResult) { + const C_String nativeStartPath = C_FileManager::nativePathWithUnixPath (inUnixStartPath) ; + DIR * dir = ::opendir (nativeStartPath.cString (HERE)) ; + if (dir != nullptr) { + struct dirent * current = readdir (dir) ; + while (current != nullptr) { + if (current->d_name [0] != '.') { + C_String name = nativeStartPath ; + name << "/" << current->d_name ; + if (C_FileManager::directoryExistsWithNativePath (name)) { + const C_String relativePath = inRelativePath + current->d_name ; + ioResult.addAssign_operation (GALGAS_string (relativePath) COMMA_HERE) ; + if (inRecursiveSearch) { + recursiveSearchForDirectories (name, + inRecursiveSearch, + inRelativePath + current->d_name + "/", + ioResult) ; + } + } + } + current = readdir (dir) ; + } + closedir (dir) ; + } +} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_string::class_func_stringByRepeatingString (const GALGAS_string & inString, - const GALGAS_uint & inCount - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result ; - if (inString.isValid () && inCount.isValid ()) { - String s ; - for (uint32_t i=0 ; id_name [0] != '.') { + C_String name = nativeStartPath ; + name << "/" << current->d_name ; + if (C_FileManager::directoryExistsWithNativePath (name)) { + if (inRecursiveSearch) { + recursiveSearchForRegularFiles (name, + inExtensionList, + inRecursiveSearch, + inRelativePath + current->d_name + "/", + ioResult) ; + } + }else if (C_FileManager::fileExistsAtPath (name)) { + const C_String extension = name.pathExtension () ; + bool extensionFound = false ; + cEnumerator_stringlist currentExtension (inExtensionList, kENUMERATION_UP) ; + while (currentExtension.hasCurrentObject () && ! extensionFound) { + extensionFound = currentExtension.current_mValue (HERE).stringValue () == extension ; + currentExtension.gotoNextObject () ; + } + if (extensionFound) { + const C_String relativePath = inRelativePath + current->d_name ; + ioResult.addAssign_operation (GALGAS_string (relativePath) COMMA_HERE) ; + } + } + } + current = readdir (dir) ; + } + closedir (dir) ; + } } -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::class_func_CppChar (const GALGAS_char & inCharacter - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result ; - if (inCharacter.isValid ()) { - String s ; - s.appendStringAsCLiteralCharConstant (inCharacter.charValue ()) ; - result = GALGAS_string (s) ; +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_stringlist GALGAS_string::getter_regularFilesWithExtensions (const GALGAS_bool & inRecursiveSearch, + const GALGAS_stringlist & inExtensionList + COMMA_LOCATION_ARGS) const { + GALGAS_stringlist result ; + if ((inRecursiveSearch.isValid ()) && (inExtensionList.isValid ())) { + result = GALGAS_stringlist::constructor_emptyList (THERE) ; + if (C_FileManager::directoryExists (mString)) { + recursiveSearchForRegularFiles (mString, + inExtensionList, + inRecursiveSearch.boolValue (), + "", + result) ; + } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_string::class_func_CppLineComment (UNUSED_LOCATION_ARGS) { - String s ; s.appendCppHyphenLineComment () ; - return GALGAS_string (s) ; +static void recursiveSearchForDirectories (const C_String & inUnixStartPath, + GALGAS_stringlist inExtensionList, + const bool inRecursiveSearch, + const C_String & inRelativePath, + GALGAS_stringlist & ioResult) { + const C_String nativeStartPath = C_FileManager::nativePathWithUnixPath (inUnixStartPath) ; + DIR * dir = ::opendir (nativeStartPath.cString (HERE)) ; + if (dir != nullptr) { + struct dirent * current = readdir (dir) ; + while (current != nullptr) { + if (current->d_name [0] != '.') { + C_String name = nativeStartPath ; + name << "/" << current->d_name ; + if (C_FileManager::directoryExistsWithNativePath (name)) { + //--- Look for extension + const C_String extension = name.pathExtension () ; + bool extensionFound = false ; + cEnumerator_stringlist currentExtension (inExtensionList, kENUMERATION_UP) ; + while (currentExtension.hasCurrentObject () && ! extensionFound) { + extensionFound = currentExtension.current_mValue (HERE).stringValue () == extension ; + currentExtension.gotoNextObject () ; + } + if (extensionFound) { + const C_String relativePath = inRelativePath + current->d_name ; + ioResult.addAssign_operation (GALGAS_string (relativePath) COMMA_HERE) ; + } + //--- Recursive Search ? + if (inRecursiveSearch) { + recursiveSearchForDirectories (name, + inExtensionList, + inRecursiveSearch, + inRelativePath + current->d_name + "/", + ioResult) ; + } + } + } + current = readdir (dir) ; + } + closedir (dir) ; + } } -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_string::class_func_CppTitleComment (const GALGAS_string & inTitle - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result ; - if (inTitle.isValid ()) { - String s ; - s.appendCppTitleComment (inTitle.mString) ; - result = GALGAS_string (s) ; +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_stringlist GALGAS_string::getter_directoriesWithExtensions (const GALGAS_bool & inRecursiveSearch, + const GALGAS_stringlist & inExtensionList + COMMA_LOCATION_ARGS) const { + GALGAS_stringlist result ; + if (isValid () && inRecursiveSearch.isValid () && inExtensionList.isValid ()) { + result = GALGAS_stringlist::constructor_emptyList (THERE) ; + if (C_FileManager::directoryExists (mString)) { + recursiveSearchForDirectories (mString, + inExtensionList, + inRecursiveSearch.boolValue (), + "", + result) ; + } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_string::class_func_CppSpaceComment (UNUSED_LOCATION_ARGS) { - String s ; s.appendCppSpaceLineComment () ; - return GALGAS_string (s) ; +GALGAS_bool GALGAS_string::getter_doesEnvironmentVariableExist (UNUSED_LOCATION_ARGS) const { + GALGAS_bool result ; + if (isValid ()) { + result = GALGAS_bool (::getenv (mString.cString (HERE)) != nullptr) ; + } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_string::class_func_CppString (const GALGAS_string & inString - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result ; - if (inString.isValid ()) { - String s ; - s.appendStringAsCLiteralStringConstant (inString.mString) ; - result = GALGAS_string (s) ; +GALGAS_uint GALGAS_string::getter_capacity (UNUSED_LOCATION_ARGS) const { + GALGAS_uint result ; + if (isValid ()) { + result = GALGAS_uint ((uint32_t) mString.capacity ()) ; } return result ; } -//-------------------------------------------------------------------------------------------------- - -#if COMPILE_FOR_WINDOWS == 0 - GALGAS_string GALGAS_string::class_func_homeDirectory (UNUSED_LOCATION_ARGS) { - return GALGAS_string (getpwuid (getuid ())->pw_dir) ; - } -#endif +//---------------------------------------------------------------------------------------------------------------------- -#if COMPILE_FOR_WINDOWS == 1 - GALGAS_string GALGAS_string::class_func_homeDirectory (UNUSED_LOCATION_ARGS) { - char path [MAX_PATH] ; - SHGetFolderPath (nullptr, CSIDL_PROFILE, nullptr, 0, path) ; - return GALGAS_string (path).getter_unixPathWithNativePath (HERE) ; +GALGAS_bool GALGAS_string::getter_isDecimalUnsignedNumber (UNUSED_LOCATION_ARGS) const { + GALGAS_bool result ; + if (isValid ()) { + uint32_t r = 0 ; + bool ok = false ; + mString.convertToUInt32 (r, ok) ; + result = GALGAS_bool (ok) ; } -#endif + return result ; +} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_string::class_func_stringWithSequenceOfCharacters (const GALGAS_char & inCharacter, - const GALGAS_uint & inCount - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result ; - if ((inCount.isValid ()) && (inCharacter.isValid ())) { - const utf32 character = inCharacter.charValue () ; - String s ; - for (uint32_t i=0 ; ionTheFlyRunTimeError ("cannot convert a string to a decimal @uint number" COMMA_THERE) ; } - result = GALGAS_string (s) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_string::class_func_stringWithSourceFilePath (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - return GALGAS_string (inCompiler->sourceFilePath ()) ; +GALGAS_bool GALGAS_string::getter_isDecimalUnsigned_36__34_Number (UNUSED_LOCATION_ARGS) const { + GALGAS_bool result ; + if (isValid ()) { + uint64_t r = 0 ; + bool ok = false ; + mString.convertToUInt64 (r, ok) ; + result = GALGAS_bool (ok) ; + } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_string::class_func_stringWithContentsOfFile (const GALGAS_string & inFilePath, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_string result ; - if (inFilePath.isValid ()) { - inCompiler->logFileRead (inFilePath.mString) ; - if (FileManager::fileExistsAtPath (inFilePath.mString)) { - result = GALGAS_string (FileManager::stringWithContentOfFile (inFilePath.mString)) ; +GALGAS_uint_36__34_ GALGAS_string::getter_decimalUnsigned_36__34_Number (C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_uint_36__34_ result ; + if (isValid ()) { + uint64_t r = 0 ; + bool ok = false ; + mString.convertToUInt64 (r, ok) ; + if (ok) { + result = GALGAS_uint_36__34_ (r) ; }else{ - String message = "cannot read '" ; - message.appendString (inFilePath.mString) ; - message.appendCString ("' file (does not exist)") ; - inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; + inCompiler->onTheFlyRunTimeError ("cannot convert a string to a decimal @uint64 number" COMMA_THERE) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_string::class_func_stringWithCurrentDirectory (UNUSED_LOCATION_ARGS) { - return GALGAS_string (FileManager::currentDirectory ()) ; +GALGAS_bool GALGAS_string::getter_isDecimalSignedNumber (UNUSED_LOCATION_ARGS) const { + GALGAS_bool result ; + if (isValid ()) { + int32_t r = 0 ; + bool ok = false ; + mString.convertToSInt32 (r, ok) ; + result = GALGAS_bool (ok) ; + } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_string::class_func_stringWithEnvironmentVariable (const GALGAS_string & inEnvironmentVariableName, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_string result ; - if (inEnvironmentVariableName.isValid ()) { - const char * value = ::getenv (inEnvironmentVariableName.mString.cString ()) ; - if (value == nullptr) { - String message = "the '" ; - message.appendString (inEnvironmentVariableName.mString) ; - message.appendCString ("' environment variable does not exist") ; - inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; +GALGAS_sint GALGAS_string::getter_decimalSignedNumber (C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_sint result ; + if (isValid ()) { + int32_t r = 0 ; + bool ok = false ; + mString.convertToSInt32 (r, ok) ; + if (ok) { + result = GALGAS_sint (r) ; }else{ - result = GALGAS_string (value) ; + inCompiler->onTheFlyRunTimeError ("cannot convert a string to a decimal @sint number" COMMA_THERE) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_string::class_func_stringWithEnvironmentVariableOrEmpty (const GALGAS_string & inEnvironmentVariableName - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result ; - if (inEnvironmentVariableName.isValid ()) { - const char * value = ::getenv (inEnvironmentVariableName.mString.cString ()) ; - result = GALGAS_string (value) ; +GALGAS_bool GALGAS_string::getter_isDecimalSigned_36__34_Number (UNUSED_LOCATION_ARGS) const { + GALGAS_bool result ; + if (isValid ()) { + int64_t r = 0 ; + bool ok = false ; + mString.convertToSInt64 (r, ok) ; + result = GALGAS_bool (ok) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_string::class_func_componentsJoinedByString (const GALGAS_stringlist & inComponents, - const GALGAS_string & inSeparator - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result ; - if ((inComponents.isValid ()) && (inSeparator.isValid ())) { - bool first = true ; - String s ; - cEnumerator_stringlist current (inComponents, kENUMERATION_UP) ; - while (current.hasCurrentObject ()) { - if (first) { - first = false ; - }else{ - s.appendString (inSeparator.mString) ; +GALGAS_sint_36__34_ GALGAS_string::getter_decimalSigned_36__34_Number (C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_sint_36__34_ result ; + if (isValid ()) { + int64_t r = 0 ; + bool ok = false ; + mString.convertToSInt64 (r, ok) ; + if (ok) { + result = GALGAS_sint_36__34_ (r) ; + }else{ + inCompiler->onTheFlyRunTimeError ("cannot convert a string to a decimal @sint64 number" COMMA_THERE) ; + } + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_bool GALGAS_string::getter_isDecimalSignedBigInt (UNUSED_LOCATION_ARGS) const { + GALGAS_bool result ; + if (isValid ()) { + bool ok = mString.length () > 0 ; + //--- Sign + int32_t idx = 0 ; + if (ok) { + const utf32 c = mString (0 COMMA_HERE) ; + if ((UNICODE_VALUE (c) == '+') || (UNICODE_VALUE (c) == '-')) { + idx = 1 ; } - s.appendString (current.current_mValue (HERE).mString) ; - current.gotoNextObject () ; } - result = GALGAS_string (s) ; + while ((idx < mString.length ()) && ok) { + const utf32 c = mString (idx COMMA_HERE) ; + idx += 1 ; + ok = (UNICODE_VALUE (c) >= '0') && (UNICODE_VALUE (c) <= '9') ; + } + result = GALGAS_bool (ok) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_string::class_func_stringWithCurrentDateTime (UNUSED_LOCATION_ARGS) { - time_t currentTime = ::time (nullptr) ; - struct tm currentTimeTM ; - #if COMPILE_FOR_WINDOWS == 0 - ::localtime_r (¤tTime, ¤tTimeTM) ; // Mac, Linux - #else - ::localtime_s (¤tTimeTM, ¤tTime) ; // Windows - #endif - char timeString [128] ; - bool ok = currentTime >= 0 ; - if (ok) { - ::strftime (timeString, sizeof (timeString), "Www Mmm dd hh:mm:ss yyyy", & currentTimeTM) ; +GALGAS_bigint GALGAS_string::getter_decimalSignedBigInt (C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_bigint result ; + if (isValid ()) { + bool ok = false ; + C_BigInt bigint (mString.cString (HERE), 10, ok) ; + if (ok) { + result = GALGAS_bigint (bigint) ; + }else{ + inCompiler->onTheFlyRunTimeError ("cannot convert a string to a decimal @bigint number" COMMA_THERE) ; + } } - return GALGAS_string (ok ? timeString : "") ; + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_string::class_func_retrieveAndResetTemplateString (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - return inCompiler->retrieveAndResetTemplateString () ; +GALGAS_double GALGAS_string::getter_doubleNumber (C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_double result ; + if (isValid ()) { + double doubleValue = 0.0 ; + bool ok = true ; + mString.convertToDouble (doubleValue, ok) ; + if (ok) { + result = GALGAS_double (doubleValue) ; + }else{ + inCompiler->onTheFlyRunTimeError ("cannot convert a string to a double number: it contains invalid character" COMMA_THERE) ; + } + } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_string::class_func_separatorString (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - return inCompiler->separatorString () ; +GALGAS_bool GALGAS_string::getter_isDoubleNumber (UNUSED_LOCATION_ARGS) const { + GALGAS_bool result ; + if (isValid ()) { + double doubleValue = 0.0 ; + bool ok = true ; + mString.convertToDouble (doubleValue, ok) ; + result = GALGAS_bool (ok) ; + } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_string::class_func_stringWithSymbolicLinkContents (const GALGAS_string & inSymbolicLink, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_string result ; - if (inSymbolicLink.isValid ()) { - bool ok = false ; - const String r = FileManager::stringWithSymbolicLinkContents (inSymbolicLink.mString, ok) ; - if (ok) { - result = GALGAS_string (r) ; - }else{ - String s = "'@string stringWithSymbolicLinkContents' error; receiver's value '" ; - s.appendString (inSymbolicLink.mString) ; - s.appendCString ("' is not a symbolic link") ; - inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; - } +GALGAS_bool GALGAS_string::getter_isSymbolicLink (UNUSED_LOCATION_ARGS) const { + GALGAS_bool result ; + if (isValid ()) { + result = GALGAS_bool (C_FileManager::isSymbolicLink (mString)) ; } return result ; } -//-------------------------------------------------------------------------------------------------- -// Operators -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED - #pragma mark Operators + #pragma mark Getter popen #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// http://msdn.microsoft.com/en-us/library/ms682499%28VS.85%29.aspx + +#if (COMPILE_FOR_WINDOWS == 1) || defined(__CYGWIN__) + #include + #include + + static bool CreateChildProcess (HANDLE g_hChildStd_OUT_Wr, + HANDLE g_hChildStd_IN_Rd, + const char * /* inCommandLine */) { + //--- Create a child process that uses the previously created pipes for STDIN and STDOUT. + TCHAR szCmdline [] = TEXT ("dir") ; + TCHAR application [] = TEXT ("c:\\windows\\system32\\command.com") ; + //--- Set up members of the PROCESS_INFORMATION structure. + PROCESS_INFORMATION piProcInfo ; + ZeroMemory (& piProcInfo, sizeof (PROCESS_INFORMATION)) ; + //--- Set up members of the STARTUPINFO structure. + STARTUPINFO siStartInfo ; + ZeroMemory (& siStartInfo, sizeof (STARTUPINFO)) ; + siStartInfo.cb = sizeof (STARTUPINFO) ; + siStartInfo.hStdError = g_hChildStd_OUT_Wr ; + siStartInfo.hStdOutput = g_hChildStd_OUT_Wr ; + siStartInfo.hStdInput = g_hChildStd_IN_Rd ; + siStartInfo.dwFlags |= STARTF_USESTDHANDLES ; + //-- Create the child process. + const bool bSuccess = 0 != CreateProcess ( + application, // Application + szCmdline, // command line + nullptr, // process security attributes + nullptr, // primary thread security attributes + TRUE, // handles are inherited + 0, // creation flags + nullptr, // use parent's environment + nullptr, // use parent's current directory + & siStartInfo, // STARTUPINFO pointer + & piProcInfo // receives PROCESS_INFORMATION + ) ; + if (bSuccess) { + // Close handles to the child process and its primary thread. + // Some applications might keep these handles to monitor the status + // of the child process, for example. + CloseHandle (piProcInfo.hProcess) ; + CloseHandle (piProcInfo.hThread) ; + }else{ // CreateProcess Error + DWORD error = GetLastError () ; + std::cout << "'CreateProcess' error: " << error << std::endl ; + } + //--- + return bSuccess ; + } -GALGAS_string GALGAS_string::add_operation (const GALGAS_string & inOperand, - Compiler * /* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_string result ; - if (isValid () && inOperand.isValid ()) { - result = GALGAS_string (mString + inOperand.mString) ; + GALGAS_string GALGAS_string::getter_popen (C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_string result ; + if (isValid ()) { + // Create a pipe for the child process's STDIN. + HANDLE g_hChildStd_OUT_Wr = nullptr ; + HANDLE g_hChildStd_OUT_Rd = nullptr ; + HANDLE g_hChildStd_IN_Wr = nullptr ; + HANDLE g_hChildStd_IN_Rd = nullptr ; + SECURITY_ATTRIBUTES saAttr ; + saAttr.nLength = sizeof (SECURITY_ATTRIBUTES) ; + saAttr.bInheritHandle = TRUE ; + saAttr.lpSecurityDescriptor = nullptr ; + C_String errorMessage ; + bool ok = 0 != CreatePipe (& g_hChildStd_OUT_Rd, & g_hChildStd_OUT_Wr, & saAttr, 0) ; + if (! ok) { + errorMessage << "@string popen: 'CreatePipe' error" ; + }else{ + ok = SetHandleInformation (g_hChildStd_OUT_Rd, HANDLE_FLAG_INHERIT, 0) ; + if (! ok) { + errorMessage << "@string popen: 'SetHandleInformation' error" ; + } + } + if (ok) { + ok = CreatePipe (& g_hChildStd_IN_Rd, & g_hChildStd_IN_Wr, & saAttr, 0) ; + if (! ok) { + errorMessage << "@string popen: 'CreatePipe (2)' error" ; + } + } + if (ok) { + ok = SetHandleInformation (g_hChildStd_IN_Wr, HANDLE_FLAG_INHERIT, 0) ; + if (! ok) { + errorMessage << "@string popen: 'SetHandleInformation (2)' error" ; + } + } + if (ok) { + ok = CreateChildProcess (g_hChildStd_OUT_Wr, g_hChildStd_IN_Rd, mString.cString (HERE)) ; + if (! ok) { + errorMessage << "@string popen: 'CreateChildProcess' error" ; + } + } + if (! ok) { + inCompiler->onTheFlyRunTimeError (errorMessage COMMA_THERE) ; + }else{ + C_Data response ; + bool loop = true ; + while (loop) { + const size_t kBufferSize = 1000 ; + uint8_t buffer [kBufferSize] ; + DWORD readLength = 0 ; + loop = ReadFile (g_hChildStd_OUT_Rd, buffer, kBufferSize, & readLength, nullptr) ; + loop = readLength > 0 ; + response.appendDataFromPointer (buffer, readLength) ; + } + C_String s ; + C_String::parseUTF8 (response, 0, s) ; + result = GALGAS_string (s) ; + } + CloseHandle (g_hChildStd_IN_Wr) ; + CloseHandle (g_hChildStd_IN_Rd) ; + CloseHandle (g_hChildStd_OUT_Wr) ; + CloseHandle (g_hChildStd_OUT_Rd) ; + } + return result ; } - return result ; -} -//-------------------------------------------------------------------------------------------------- +#else -void GALGAS_string::plusAssign_operation (GALGAS_string inOperand, - Compiler * /* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) { - if (isValid () && inOperand.isValid ()) { - mString.appendString (inOperand.mString) ; - }else{ - drop () ; + GALGAS_string GALGAS_string::getter_popen (C_Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result ; + if (isValid ()) { + FILE * f = popen (mString.cString (HERE), "r") ; + C_Data response ; + bool loop = true ; + while (loop) { + const size_t kBufferSize = 1000 ; + uint8_t buffer [kBufferSize] ; + const size_t readLength = fread (buffer, 1, kBufferSize, f) ; + loop = readLength > 0 ; + response.appendDataFromPointer (buffer, (int32_t) readLength) ; + } + pclose (f) ; + C_String s ; + response.appendByte ('\0') ; + C_String::parseUTF8 (response, 0, s) ; + result = GALGAS_string (s) ; + } + return result ; } -} +#endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// // Methods -//-------------------------------------------------------------------------------------------------- +// +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Methods #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_string::method_makeDirectory (Compiler * inCompiler +void GALGAS_string::method_makeDirectory (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - const bool ok = FileManager::makeDirectoryIfDoesNotExist (mString) ; + const bool ok = C_FileManager::makeDirectoryIfDoesNotExist (mString) ; if (! ok) { - String message = "cannot create '" ; - message.appendString (mString) ; - message.appendCString ("' directory") ; + C_String message ; + message << "cannot create '" << mString << "' directory" ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_string::method_makeDirectoryAndWriteToFile (GALGAS_string inFilePath, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (isValid () && inFilePath.isValid ()) { //--- Make directory - const String directory = inFilePath.mString.stringByDeletingLastPathComponent () ; - bool ok = FileManager::makeDirectoryIfDoesNotExist (directory) ; + const C_String directory = inFilePath.mString.stringByDeletingLastPathComponent () ; + bool ok = C_FileManager::makeDirectoryIfDoesNotExist (directory) ; if (! ok) { - String message = "cannot create '" ; - message.appendString (directory) ; - message.appendCString ("' directory") ; + C_String message ; + message << "cannot create '" << directory << "' directory" ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; }else{ method_writeToFile (inFilePath, inCompiler COMMA_THERE) ; @@ -452,19 +1775,18 @@ void GALGAS_string::method_makeDirectoryAndWriteToFile (GALGAS_string inFilePath } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_string::method_makeDirectoryAndWriteToExecutableFile (GALGAS_string inFilePath, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (isValid () && inFilePath.isValid ()) { //--- Make directory - const String directory = inFilePath.mString.stringByDeletingLastPathComponent () ; - bool ok = FileManager::makeDirectoryIfDoesNotExist (directory) ; + const C_String directory = inFilePath.mString.stringByDeletingLastPathComponent () ; + bool ok = C_FileManager::makeDirectoryIfDoesNotExist (directory) ; if (! ok) { - String message = "cannot create '" ; - message.appendString (directory) ; - message.appendCString ("' directory") ; + C_String message ; + message << "cannot create '" << directory << "' directory" ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; }else{ method_writeToExecutableFile (inFilePath, inCompiler COMMA_THERE) ; @@ -472,260 +1794,250 @@ void GALGAS_string::method_makeDirectoryAndWriteToExecutableFile (GALGAS_string } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_string::method_writeToFile (GALGAS_string inFilePath, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (isValid () && inFilePath.isValid ()) { - if (Compiler::performGeneration ()) { - const bool fileAlreadyExists = FileManager::fileExistsAtPath (inFilePath.mString) ; + if (C_Compiler::performGeneration ()) { + const bool fileAlreadyExists = C_FileManager::fileExistsAtPath (inFilePath.mString) ; const bool verboseOptionOn = verboseOutput () ; - const bool ok = FileManager::writeStringToFile (mString, inFilePath.mString) ; + const bool ok = C_FileManager::writeStringToFile (mString, inFilePath.mString) ; if (ok && verboseOptionOn && fileAlreadyExists) { - ggs_printFileOperationSuccess (String ("Replaced '") + inFilePath.mString + "'.\n") ; + ggs_printFileOperationSuccess (C_String ("Replaced '") + inFilePath.mString + "'.\n") ; }else if (ok && verboseOptionOn && ! fileAlreadyExists) { - ggs_printFileCreationSuccess (String ("Created '") + inFilePath.mString + "'.\n") ; + ggs_printFileCreationSuccess (C_String ("Created '") + inFilePath.mString + "'.\n") ; }else if (! ok) { - String message = "cannot write '" ; - message.appendString (inFilePath.mString) ; - message.appendCString ("' file") ; + C_String message ; + message << "cannot write '" << inFilePath.mString << "' file" ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; } }else{ - ggs_printWarning (inCompiler, SourceTextInString (), C_IssueWithFixIt (), String ("Need to write '") + inFilePath.mString + "'." COMMA_THERE) ; + ggs_printWarning (inCompiler, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("Need to write '") + inFilePath.mString + "'." COMMA_THERE) ; } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_string::method_writeToFileWhenDifferentContents (GALGAS_string inFilePath, GALGAS_bool & outFileWritten, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (isValid () && inFilePath.isValid ()) { bool needToWrite = true ; - const bool fileAlreadyExists = FileManager::fileExistsAtPath (inFilePath.mString) ; + const bool fileAlreadyExists = C_FileManager::fileExistsAtPath (inFilePath.mString) ; if (fileAlreadyExists) { inCompiler->logFileRead (inFilePath.mString) ; - const String readContents = FileManager::stringWithContentOfFile (inFilePath.mString) ; + const C_String readContents = C_FileManager::stringWithContentOfFile (inFilePath.mString) ; needToWrite = mString.compare (readContents) != 0 ; } outFileWritten = GALGAS_bool (needToWrite) ; if (needToWrite) { - if (Compiler::performGeneration ()) { + if (C_Compiler::performGeneration ()) { const bool verboseOptionOn = verboseOutput () ; - bool ok = FileManager::makeDirectoryIfDoesNotExist (inFilePath.mString.stringByDeletingLastPathComponent ()) ; + bool ok = C_FileManager::makeDirectoryIfDoesNotExist (inFilePath.mString.stringByDeletingLastPathComponent ()) ; if (! ok) { - String message = "cannot create '" ; - message.appendString (inFilePath.mString) ; - message.appendCString ("' directory") ; + C_String message ; + message << "cannot create '" << inFilePath.mString << "' directory" ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; outFileWritten.drop () ; }else{ - ok = FileManager::writeStringToFile (mString, inFilePath.mString) ; + ok = C_FileManager::writeStringToFile (mString, inFilePath.mString) ; if (ok && verboseOptionOn && fileAlreadyExists) { - ggs_printFileOperationSuccess (String ("Replaced '") + inFilePath.mString + "'.\n") ; + ggs_printFileOperationSuccess (C_String ("Replaced '") + inFilePath.mString + "'.\n") ; }else if (ok && verboseOptionOn && ! fileAlreadyExists) { - ggs_printFileCreationSuccess (String ("Created '") + inFilePath.mString + "'.\n") ; + ggs_printFileCreationSuccess (C_String ("Created '") + inFilePath.mString + "'.\n") ; }else if (! ok) { - String message = "cannot write '" ; - message.appendString (inFilePath.mString) ; - message.appendCString ("' file") ; + C_String message ; + message << "cannot write '" << inFilePath.mString << "' file" ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; outFileWritten.drop () ; } } }else{ - ggs_printWarning (inCompiler, SourceTextInString (), C_IssueWithFixIt (), String ("Need to write '") + inFilePath.mString + "'." COMMA_THERE) ; + ggs_printWarning (inCompiler, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("Need to write '") + inFilePath.mString + "'." COMMA_THERE) ; } } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_string::method_writeToExecutableFile (GALGAS_string inFilePath, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (isValid () && inFilePath.isValid ()) { - const bool fileAlreadyExists = FileManager::fileExistsAtPath (inFilePath.mString) ; - if (Compiler::performGeneration ()) { + const bool fileAlreadyExists = C_FileManager::fileExistsAtPath (inFilePath.mString) ; + if (C_Compiler::performGeneration ()) { const bool verboseOptionOn = verboseOutput () ; - const bool ok = FileManager::writeStringToExecutableFile (mString, inFilePath.mString) ; + const bool ok = C_FileManager::writeStringToExecutableFile (mString, inFilePath.mString) ; if (ok && verboseOptionOn && fileAlreadyExists) { - ggs_printFileOperationSuccess (String ("Replaced '") + inFilePath.mString + "'.\n") ; + ggs_printFileOperationSuccess (C_String ("Replaced '") + inFilePath.mString + "'.\n") ; }else if (ok && verboseOptionOn && ! fileAlreadyExists) { - ggs_printFileCreationSuccess (String ("Created '") + inFilePath.mString + "'.\n") ; + ggs_printFileCreationSuccess (C_String ("Created '") + inFilePath.mString + "'.\n") ; }else if (! ok) { - String message = "cannot write '" ; - message.appendString (inFilePath.mString) ; - message.appendCString ("' file") ; + C_String message ; + message << "cannot write '" << inFilePath.mString << "' file" ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; } }else{ - ggs_printWarning (inCompiler, SourceTextInString (), C_IssueWithFixIt (), String ("Need to write '") + inFilePath.mString + "'." COMMA_THERE) ; + ggs_printWarning (inCompiler, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("Need to write '") + inFilePath.mString + "'." COMMA_THERE) ; } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_string::method_writeToExecutableFileWhenDifferentContents (GALGAS_string inFilePath, GALGAS_bool & outFileWritten, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (isValid () && inFilePath.isValid ()) { bool needToWrite = true ; - const bool fileAlreadyExists = FileManager::fileExistsAtPath (inFilePath.mString) ; + const bool fileAlreadyExists = C_FileManager::fileExistsAtPath (inFilePath.mString) ; if (fileAlreadyExists) { inCompiler->logFileRead (inFilePath.mString) ; - const String readContents = FileManager::stringWithContentOfFile (inFilePath.mString) ; + const C_String readContents = C_FileManager::stringWithContentOfFile (inFilePath.mString) ; needToWrite = mString.compare (readContents) != 0 ; } outFileWritten = GALGAS_bool (needToWrite) ; if (needToWrite) { - if (Compiler::performGeneration ()) { + if (C_Compiler::performGeneration ()) { const bool verboseOptionOn = verboseOutput () ; - bool ok = FileManager::makeDirectoryIfDoesNotExist (inFilePath.mString.stringByDeletingLastPathComponent ()) ; + bool ok = C_FileManager::makeDirectoryIfDoesNotExist (inFilePath.mString.stringByDeletingLastPathComponent ()) ; if (! ok) { - String message = "cannot create '" ; - message.appendString (inFilePath.mString) ; - message.appendCString ("' directory") ; + C_String message ; + message << "cannot create '" << inFilePath.mString << "' directory" ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; outFileWritten.drop () ; }else{ - ok = FileManager::writeStringToExecutableFile (mString, inFilePath.mString) ; + ok = C_FileManager::writeStringToExecutableFile (mString, inFilePath.mString) ; if (ok && verboseOptionOn && fileAlreadyExists) { - ggs_printFileOperationSuccess (String ("Replaced '") + inFilePath.mString + "'.\n") ; + ggs_printFileOperationSuccess (C_String ("Replaced '") + inFilePath.mString + "'.\n") ; }else if (ok && verboseOptionOn && ! fileAlreadyExists) { - ggs_printFileCreationSuccess (String ("Created '") + inFilePath.mString + "'.\n") ; + ggs_printFileCreationSuccess (C_String ("Created '") + inFilePath.mString + "'.\n") ; }else if (! ok) { - String message = "cannot write '" ; - message.appendString (inFilePath.mString) ; - message.appendCString ("' file") ; + C_String message ; + message << "cannot write '" << inFilePath.mString << "' file" ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; outFileWritten.drop () ; } } }else{ - ggs_printWarning (inCompiler, SourceTextInString (), C_IssueWithFixIt (), String ("Need to write '") + inFilePath.mString + "'." COMMA_THERE) ; + ggs_printWarning (inCompiler, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("Need to write '") + inFilePath.mString + "'." COMMA_THERE) ; } } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_string::method_makeSymbolicLinkWithPath (GALGAS_string inPath, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (isValid () && inPath.isValid ()) { - const bool ok = FileManager::makeSymbolicLinkWithPath (inPath.mString, mString) ; + const bool ok = C_FileManager::makeSymbolicLinkWithPath (inPath.mString, mString) ; if (! ok) { - String s = "'@string makeSymbolicLinkWithPath' error; cannot make a symbolic link with receiver's value '" ; - s.appendString (mString) ; - s.appendCString ("' and path given '") ; - s.appendString (inPath.mString) ; - s.appendCString ("' by argument's value") ; + C_String s ; + s << "'@string makeSymbolicLinkWithPath' error; cannot make a symbolic link with receiver's value '" + << mString + << "' and path given '" << inPath << "' by argument's value" ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// // Setters -//-------------------------------------------------------------------------------------------------- +// +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Setters #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_string::setter_appendSpacesUntilColumn (GALGAS_uint inColumnIndex, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { if (isValid () && inColumnIndex.isValid ()) { mString.appendSpacesUntilColumn (inColumnIndex.uintValue ()) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_string::setter_setCapacity (GALGAS_uint inNewCapacity, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inNewCapacity.isValid ()) { if (inNewCapacity.uintValue () <= ((uint32_t) INT32_MAX)) { - mString.setCapacity (int32_t (inNewCapacity.uintValue ())) ; + mString.setCapacity (inNewCapacity.uintValue ()) ; }else{ - String message = "setCapacity argument value (" ; + C_String message ; + message << "setCapacity argument value (" ; message.appendUnsigned (inNewCapacity.uintValue ()) ; - message.appendCString (") too large (should be <= 2**31-1)") ; + message << ") too large (should be <= 2**31-1)" ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_string::setter_incIndentation (GALGAS_uint inIndentation, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { if (isValid () && inIndentation.isValid ()) { mString.incIndentation ((int32_t) inIndentation.uintValue ()) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_string::setter_decIndentation (GALGAS_uint inIndentation, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { if (isValid () && inIndentation.isValid ()) { mString.incIndentation (- ((int32_t) inIndentation.uintValue ())) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_string::setter_setCharacterAtIndex (GALGAS_char inCharacter, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && (inCharacter.isValid ()) && (inIndex.isValid ())) { const int32_t idx = (int32_t) inIndex.uintValue () ; const int32_t stringLength = mString.length () ; if (idx >= stringLength) { - String message = "string index (" ; - message.appendSigned (idx) ; - message.appendCString (") too large (string length: ") ; - message.appendSigned (stringLength) ; - message.appendCString (")") ; + C_String message ; + message << "string index (" << cStringWithSigned (idx) << ") too large (string length: " << cStringWithSigned (stringLength) << ")" ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; }else{ - mString.setCharAtIndex (inCharacter.charValue (), idx COMMA_THERE) ; + mString.setUnicodeCharacterAtIndex (inCharacter.charValue (), idx COMMA_THERE) ; } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_string::setter_insertCharacterAtIndex (GALGAS_char inCharacter, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && (inCharacter.isValid ()) && (inIndex.isValid ())) { - const int32_t idx = int32_t (inIndex.uintValue ()) ; + const int32_t idx = (int32_t) inIndex.uintValue () ; const int32_t stringLength = mString.length () ; if (idx > stringLength) { - String message = "string index (" ; - message.appendSigned (idx) ; - message.appendCString (") too large (string length: ") ; - message.appendSigned (stringLength) ; - message.appendCString (")") ; + C_String message ; + message << "string index (" << cStringWithSigned (idx) << ") too large (string length: " << cStringWithSigned (stringLength) << ")" ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; }else{ mString.insertCharacterAtIndex (inCharacter.charValue (), idx COMMA_THERE) ; @@ -733,112 +2045,108 @@ void GALGAS_string::setter_insertCharacterAtIndex (GALGAS_char inCharacter, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_string::setter_removeCharacterAtIndex (GALGAS_char & outChar, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { outChar.drop () ; if (isValid () && (inIndex.isValid ())) { - const int32_t idx = int32_t (inIndex.uintValue ()) ; + const int32_t idx = (int32_t) inIndex.uintValue () ; const int32_t stringLength = mString.length () ; if (idx >= stringLength) { - String message = "string index (" ; - message.appendSigned (idx) ; - message.appendCString (") too large (string length: ") ; - message.appendSigned (stringLength) ; - message.appendCString (")") ; + C_String message ; + message << "string index (" << cStringWithSigned (idx) << ") too large (string length: " << cStringWithSigned (stringLength) << ")" ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; }else{ - outChar = GALGAS_char (mString.charAtIndex (idx COMMA_HERE)) ; - mString.removeCountFromIndex (1, idx COMMA_THERE) ; + outChar = GALGAS_char (mString (idx COMMA_HERE)) ; + mString.suppress (idx, 1 COMMA_THERE) ; } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// // Type methods -//-------------------------------------------------------------------------------------------------- +// +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Type methods #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_string::class_method_deleteFile (GALGAS_string inFilePath, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (inFilePath.isValid ()) { - if (! Compiler::performGeneration ()) { - ggs_printWarning (inCompiler, SourceTextInString (), C_IssueWithFixIt (), String ("Need to delete '") + inFilePath.mString + "'.\n" COMMA_THERE) ; + if (! C_Compiler::performGeneration ()) { + ggs_printWarning (inCompiler, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("Need to delete '") + inFilePath.mString + "'.\n" COMMA_THERE) ; }else if (inFilePath.mString.length () == 0) { inCompiler->onTheFlyRunTimeError ("cannot perform file delete: file name is an empty string" COMMA_THERE) ; }else{ - const String errorMessage = FileManager::deleteFile (inFilePath.mString) ; + const C_String errorMessage = C_FileManager::deleteFile (inFilePath.mString) ; if (errorMessage.length () == 0) { - ggs_printFileOperationSuccess (String ("Deleted '") + inFilePath.mString + "'.\n") ; + ggs_printFileOperationSuccess (C_String ("Deleted '") + inFilePath.mString + "'.\n") ; }else{ - String message = "cannot perform delete '" ; - message.appendString (inFilePath.mString) ; - message.appendCString ("' file: ") ; - message.appendString (errorMessage) ; + C_String message ; + message << "cannot perform delete '" << inFilePath.mString << "' file: " << errorMessage ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; } } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_string::class_method_deleteFileIfExists (GALGAS_string inFilePath, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { - if ((inFilePath.isValid ()) && FileManager::fileExistsAtPath (inFilePath.mString)) { + if ((inFilePath.isValid ()) && C_FileManager::fileExistsAtPath (inFilePath.mString)) { class_method_deleteFile (inFilePath, inCompiler COMMA_THERE) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_string::class_method_removeEmptyDirectory (GALGAS_string inDirectoryPath, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (inDirectoryPath.isValid ()) { - if (! Compiler::performGeneration ()) { - ggs_printWarning (inCompiler, SourceTextInString (), C_IssueWithFixIt (), String ("Need to remove directory '") + inDirectoryPath.mString + "'.\n" COMMA_THERE) ; + if (! C_Compiler::performGeneration ()) { + ggs_printWarning (inCompiler, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("Need to remove directory '") + inDirectoryPath.mString + "'.\n" COMMA_THERE) ; }else if (inDirectoryPath.mString.length () == 0) { inCompiler->onTheFlyRunTimeError ("cannot perform directory removing: directory path is an empty string" COMMA_THERE) ; }else{ - const String errorMessage = FileManager::removeDirectory (inDirectoryPath.mString) ; + const C_String errorMessage = C_FileManager::removeDirectory (inDirectoryPath.mString) ; if (errorMessage.length () > 0) { - String message = "cannot perform directory removing: " ; - message.appendString (errorMessage) ; + C_String message ; + message << "cannot perform directory removing: " << errorMessage ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; } } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static String recursiveRemoveDirectory (const String & inUnixDirectoryPath) { - String result ; - const String nativeStartPath = FileManager::nativePathWithUnixPath (inUnixDirectoryPath) ; - DIR * dir = ::opendir (nativeStartPath.cString ()) ; +static C_String recursiveRemoveDirectory (const C_String & inUnixDirectoryPath) { + C_String result ; + const C_String nativeStartPath = C_FileManager::nativePathWithUnixPath (inUnixDirectoryPath) ; + DIR * dir = ::opendir (nativeStartPath.cString (HERE)) ; if (dir != nullptr) { struct dirent * current = readdir (dir) ; while ((current != nullptr) && (result.length () == 0)) { if ((strcmp (current->d_name, ".") != 0) && (strcmp (current->d_name, "..") != 0)) { - String name = nativeStartPath ; - name.appendCString ("/") ; - name.appendString (current->d_name) ; - if (FileManager::directoryExistsWithNativePath (name)) { + C_String name = nativeStartPath ; + name << "/" << current->d_name ; + if (C_FileManager::directoryExistsWithNativePath (name)) { recursiveRemoveDirectory (name) ; - }else if (FileManager::fileExistsAtPath (name)) { - result = FileManager::deleteFile (name) ; + }else if (C_FileManager::fileExistsAtPath (name)) { + result = C_FileManager::deleteFile (name) ; } } current = readdir (dir) ; @@ -846,49 +2154,48 @@ static String recursiveRemoveDirectory (const String & inUnixDirectoryPath) { closedir (dir) ; } if (result.length () == 0) { - result = FileManager::removeDirectory (inUnixDirectoryPath) ; + result = C_FileManager::removeDirectory (inUnixDirectoryPath) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_string::class_method_removeDirectoryRecursively (GALGAS_string inDirectoryPath, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (inDirectoryPath.isValid ()) { - if (! Compiler::performGeneration ()) { - ggs_printWarning (inCompiler, SourceTextInString (), C_IssueWithFixIt (), String ("Need to remove directory '") + inDirectoryPath.mString + "'.\n" COMMA_THERE) ; + if (! C_Compiler::performGeneration ()) { + ggs_printWarning (inCompiler, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("Need to remove directory '") + inDirectoryPath.mString + "'.\n" COMMA_THERE) ; }else if (inDirectoryPath.mString.length () == 0) { inCompiler->onTheFlyRunTimeError ("cannot perform directory removing: directory path is an empty string" COMMA_THERE) ; }else{ - String errorMessage = recursiveRemoveDirectory (inDirectoryPath.mString) ; + C_String errorMessage = recursiveRemoveDirectory (inDirectoryPath.mString) ; if (errorMessage.length () > 0) { - String message = "cannot perform directory removing: " ; - message.appendString (errorMessage) ; + C_String message ; + message << "cannot perform directory removing: " << errorMessage ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; } } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static bool writeFile (const String & inMessage, - const String & inFullPathName, - const U8Data & inCurrentData, - Compiler * inCompiler) { +static bool writeFile (const C_String & inMessage, + const C_String & inFullPathName, + const C_Data & inCurrentData, + C_Compiler * inCompiler) { bool ok = true ; if (inCompiler->performGeneration ()) { const bool verboseOptionOn = verboseOutput () ; - const String directory = inFullPathName.stringByDeletingLastPathComponent () ; - FileManager::makeDirectoryIfDoesNotExist (directory) ; - BinaryFileWrite binaryFile (inFullPathName) ; + const C_String directory = inFullPathName.stringByDeletingLastPathComponent () ; + C_FileManager::makeDirectoryIfDoesNotExist (directory) ; + C_BinaryFileWrite binaryFile (inFullPathName) ; ok = binaryFile.isOpened () ; if (! ok) { - String message = "Cannot open '" ; - message.appendString (inFullPathName) ; - message.appendCString ("' file in write mode.") ; + C_String message ; + message << "Cannot open '" << inFullPathName << "' file in write mode." ; inCompiler->onTheFlySemanticError (message COMMA_HERE) ; } binaryFile.appendData (inCurrentData) ; @@ -900,25 +2207,25 @@ static bool writeFile (const String & inMessage, ggs_printFileOperationSuccess (inMessage + " '" + inFullPathName + "'.\n") ; } }else{ - ggs_printWarning (inCompiler, SourceTextInString(), C_IssueWithFixIt (), String ("Need to write '") + inFullPathName + "'." COMMA_HERE) ; + ggs_printWarning (inCompiler, C_SourceTextInString(), C_IssueWithFixIt (), C_String ("Need to write '") + inFullPathName + "'." COMMA_HERE) ; } return ok ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static bool updateFile (const String & inFullPathName, - const String & inContents, - Compiler * inCompiler) { - U8Data currentData ; currentData.appendString (inContents) ; +static bool updateFile (const C_String & inFullPathName, + const C_String & inContents, + C_Compiler * inCompiler) { + C_Data currentData ; currentData.appendString (inContents) ; //--- Compare file length - const uint64_t fileSize = FileManager::fileSize (inFullPathName) ; + const uint64_t fileSize = C_FileManager::fileSize (inFullPathName) ; bool needsToWriteFile = fileSize != (uint64_t) currentData.count () ; bool ok = true ; //--- Read file if (! needsToWriteFile) { - U8Data fileData ; - ok = FileManager::binaryDataWithContentOfFile (inFullPathName, fileData) ; + C_Data fileData ; + ok = C_FileManager::binaryDataWithContentOfFile (inFullPathName, fileData) ; if (ok) { needsToWriteFile = fileData != currentData ; } @@ -930,19 +2237,19 @@ static bool updateFile (const String & inFullPathName, return ok ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static void generateFile (const String & inStartPath, - const String & inFileName, - const String & inContents, +static void generateFile (const C_String & inStartPath, + const C_String & inFileName, + const C_String & inContents, const bool inMakeExecutable, - Compiler * inCompiler) { + C_Compiler * inCompiler) { bool ok = true ; //--- File exists ? - const TC_UniqueArray directoriesToExclude ; - const String fullPathName = FileManager::findFileInDirectory (inStartPath, inFileName, directoriesToExclude) ; + const TC_UniqueArray directoriesToExclude ; + const C_String fullPathName = C_FileManager::findFileInDirectory (inStartPath, inFileName, directoriesToExclude) ; if (fullPathName.length () == 0) { // No, does not exist - U8Data currentData ; currentData.appendString (inContents) ; + C_Data currentData ; currentData.appendString (inContents) ; ok = writeFile ("Created", inStartPath + "/" + inFileName, currentData, inCompiler) ; }else{ //--- File exists: read it ok = updateFile (fullPathName, inContents, inCompiler) ; @@ -951,25 +2258,25 @@ static void generateFile (const String & inStartPath, if (ok && inMakeExecutable) { #if COMPILE_FOR_WINDOWS == 0 struct stat fileStat ; - ::stat (fullPathName.cString (), & fileStat) ; - ::chmod (fullPathName.cString (), fileStat.st_mode | S_IXUSR | S_IXGRP | S_IXOTH) ; + ::stat (fullPathName.cString (HERE), & fileStat) ; + ::chmod (fullPathName.cString (HERE), fileStat.st_mode | S_IXUSR | S_IXGRP | S_IXOTH) ; #endif } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_string::class_method_generateFile (GALGAS_string inStartPath, GALGAS_string inFileName, GALGAS_string inContents, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { if (inStartPath.isValid () && inFileName.isValid () && inContents.isValid ()) { generateFile (inStartPath.mString, inFileName.mString, inContents.mString, false, inCompiler) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_string::class_method_generateFileWithPattern (GALGAS_string inStartPath, GALGAS_string inFileName, @@ -980,7 +2287,7 @@ void GALGAS_string::class_method_generateFileWithPattern (GALGAS_string inStartP GALGAS_string inDefaultUserZone2, GALGAS_string inGeneratedZone3, GALGAS_bool inMakeExecutable, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { const bool built = (inStartPath.isValid ()) && (inFileName.isValid ()) @@ -993,7 +2300,7 @@ void GALGAS_string::class_method_generateFileWithPattern (GALGAS_string inStartP && (inMakeExecutable.isValid ()) ; if (built) { - TC_UniqueArray directoriesToExclude ; + TC_UniqueArray directoriesToExclude ; inCompiler->generateFileWithPatternFromPathes ( inStartPath.mString, directoriesToExclude, @@ -1009,14 +2316,14 @@ void GALGAS_string::class_method_generateFileWithPattern (GALGAS_string inStartP } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool GALGAS_string::optional_extractBigInt (GALGAS_bigint & outBigInt) const { bool extracted = false ; outBigInt.drop () ; if (isValid () && (mString.length () > 0)) { extracted = true ; - const BigSigned bigint (mString.cString (), BigUnsignedBase::ten, extracted) ; + const C_BigInt bigint (mString.cString (HERE), 10, extracted) ; if (extracted) { outBigInt = GALGAS_bigint (bigint) ; } @@ -1024,18 +2331,14 @@ bool GALGAS_string::optional_extractBigInt (GALGAS_bigint & outBigInt) const { return extracted ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void GALGAS_string::printNonNullClassInstanceProperties (const char * inPropertyName) const { if (isValid ()) { - gCout.appendCString (" ") ; - gCout.appendString (inPropertyName) ; - gCout.appendCString (" : ") ; - gCout.appendString (mString) ; - gCout.appendNewLine () ; ; + std::cout << " " << inPropertyName << " : " << mString.cString (HERE) << std::endl ; } } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/GALGAS_stringset.cpp b/goil/build/libpm/galgas2/GALGAS_stringset.cpp index 7d017992c..62d1269b6 100644 --- a/goil/build/libpm/galgas2/GALGAS_stringset.cpp +++ b/goil/build/libpm/galgas2/GALGAS_stringset.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS_stringset // @@ -16,16 +16,16 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -#include "MF_MemoryControl.h" -#include "cCollectionElement.h" -#include "Compiler.h" +#include "utilities/MF_MemoryControl.h" +#include "galgas2/cCollectionElement.h" +#include "galgas2/C_Compiler.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // cCollectionElement_stringset -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cCollectionElement_stringset : public cCollectionElement { //--- Private member @@ -50,10 +50,10 @@ class cCollectionElement_stringset : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_stringset::cCollectionElement_stringset (const GALGAS_string & inKey COMMA_LOCATION_ARGS) : @@ -61,13 +61,13 @@ cCollectionElement (THERE), mProperty_key (inKey) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cCollectionElement_stringset::isValid (void) const { return mProperty_key.isValid () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_stringset::compare (const cCollectionElement * inOperand) const { const cCollectionElement_stringset * operand = (const cCollectionElement_stringset *) inOperand ; @@ -75,7 +75,7 @@ typeComparisonResult cCollectionElement_stringset::compare (const cCollectionEle return mProperty_key.objectCompare (operand->mProperty_key) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement * cCollectionElement_stringset::copy (void) { cCollectionElement_stringset * p = nullptr ; @@ -84,26 +84,26 @@ cCollectionElement * cCollectionElement_stringset::copy (void) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cCollectionElement_stringset::description (String & ioString, const int32_t inIndentation) const { +void cCollectionElement_stringset::description (C_String & ioString, const int32_t inIndentation) const { mProperty_key.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // c S t r i n g s e t N o d e // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cStringsetNode { public: cStringsetNode * mInfPtr ; public: cStringsetNode * mSupPtr ; public: int32_t mBalance ; - public: String mKey ; + public: C_String mKey ; //--- - public: cStringsetNode (const String & inString) ; + public: cStringsetNode (const C_String & inString) ; public: cStringsetNode (const cStringsetNode * inNode) ; //--- No copy @@ -114,16 +114,16 @@ class cStringsetNode { public: virtual ~ cStringsetNode (void) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cStringsetNode::cStringsetNode (const String & inString) : +cStringsetNode::cStringsetNode (const C_String & inString) : mInfPtr (nullptr), mSupPtr (nullptr), mBalance (0), mKey (inString) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cStringsetNode::cStringsetNode (const cStringsetNode * inNode) : mInfPtr (nullptr), @@ -138,20 +138,20 @@ mKey (inNode->mKey) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cStringsetNode::~cStringsetNode (void) { macroMyDelete (mInfPtr) ; macroMyDelete (mSupPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Insertion Implementation #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void rotateLeft (cStringsetNode * & ioRootPtr) { cStringsetNode * ptr = ioRootPtr->mSupPtr ; @@ -192,10 +192,10 @@ static void rotateRight (cStringsetNode * & ioRootPtr) { ioRootPtr = ptr ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void recursiveAddEntry (cStringsetNode * & ioRootPtr, - const String & inKey, + const C_String & inKey, bool & outEntryAdded, bool & ioExtension) { if (ioRootPtr == nullptr) { @@ -240,13 +240,13 @@ static void recursiveAddEntry (cStringsetNode * & ioRootPtr, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Remove Implementation #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void supBranchDecreased (cStringsetNode * & ioRoot, bool & ioBranchHasBeenRemoved) { @@ -275,7 +275,7 @@ static void supBranchDecreased (cStringsetNode * & ioRoot, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void infBranchDecreased (cStringsetNode * & ioRoot, bool & ioBranchHasBeenRemoved) { @@ -304,7 +304,7 @@ static void infBranchDecreased (cStringsetNode * & ioRoot, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void getPreviousElement (cStringsetNode * & ioRoot, cStringsetNode * & ioElement, @@ -321,10 +321,10 @@ static void getPreviousElement (cStringsetNode * & ioRoot, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void internalRemoveRecursively (cStringsetNode * & ioRoot, - const String & inKeyToRemove, + const C_String & inKeyToRemove, bool & outKeyHasBeenRemoved, bool & ioBranchHasBeenRemoved) { if (ioRoot != nullptr) { @@ -367,19 +367,19 @@ static void internalRemoveRecursively (cStringsetNode * & ioRoot, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark cSharedStringsetRoot #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // cSharedStringsetRoot // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class cSharedStringsetRoot : public SharedObject { +class cSharedStringsetRoot : public C_SharedObject { //--- Private data members private: cStringsetNode * mRoot ; private: uint32_t mEntryCount ; @@ -406,19 +406,19 @@ class cSharedStringsetRoot : public SharedObject { #endif //--- Get root key - public: String rootKey (void) const ; + public: C_String rootKey (void) const ; //--- Add entry - public: void addKey (const String & inKey) ; + public: void addKey (const C_String & inKey) ; //--- Remove key - public: void removeKey (const String & inKey) ; + public: void removeKey (const C_String & inKey) ; //--- Has key - public: bool hasKey (const String & inKey) const ; + public: bool hasKey (const C_String & inKey) const ; //--- Build key list - public: void buildOrderedKeyList (TC_UniqueArray & ioList) const ; + public: void buildOrderedKeyList (TC_UniqueArray & ioList) const ; //--- enter contents into stringlist public: void addToStringList (GALGAS_stringlist & ioResult) const ; @@ -428,25 +428,25 @@ class cSharedStringsetRoot : public SharedObject { //--- Description protected: void displayEntries (const cStringsetNode * inNode, - String & ioString) const ; - public: void description (String & ioString) const ; + C_String & ioString) const ; + public: void description (C_String & ioString) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cSharedStringsetRoot::cSharedStringsetRoot (LOCATION_ARGS) : -SharedObject (THERE), +C_SharedObject (THERE), mRoot (nullptr), mEntryCount (0) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cSharedStringsetRoot::~cSharedStringsetRoot (void) { macroMyDelete (mRoot) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void cSharedStringsetRoot::countStringSetNodes (const cStringsetNode * inNode, @@ -459,44 +459,42 @@ cSharedStringsetRoot::~cSharedStringsetRoot (void) { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void cSharedStringsetRoot::checkStringset (LOCATION_ARGS) const { uint32_t n = 0 ; countStringSetNodes (mRoot, n) ; - macroAssertThere (n == mEntryCount, "count %lld != mEntryCount %lld", n, mEntryCount) ; + MF_AssertThere (n == mEntryCount, "count %lld != mEntryCount %lld", n, mEntryCount) ; } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedStringsetRoot::displayEntries (const cStringsetNode * inNode, - String & ioString) const { + C_String & ioString) const { if (inNode != nullptr) { displayEntries (inNode->mInfPtr, ioString) ; - ioString.appendCString (" '") ; - ioString.appendString (inNode->mKey) ; - ioString.appendCString ("'") ; + ioString << " '" << inNode->mKey << "'" ; displayEntries (inNode->mSupPtr, ioString) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cSharedStringsetRoot::description (String & ioString) const { - ioString.appendUnsigned (mEntryCount) ; +void cSharedStringsetRoot::description (C_String & ioString) const { + ioString << cStringWithUnsigned (mEntryCount) ; if (mEntryCount > 1) { - ioString.appendCString (" entries") ; + ioString << " entries" ; }else{ - ioString.appendCString (" entry") ; + ioString << " entry" ; } displayEntries (mRoot, ioString) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cSharedStringsetRoot::addKey (const String & inKey) { +void cSharedStringsetRoot::addKey (const C_String & inKey) { macroUniqueSharedObject (this) ; bool extension = false ; bool entryAdded = false ; @@ -506,14 +504,14 @@ void cSharedStringsetRoot::addKey (const String & inKey) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String cSharedStringsetRoot::rootKey (void) const { +C_String cSharedStringsetRoot::rootKey (void) const { macroValidPointer (mRoot) ; return mRoot->mKey ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedStringsetRoot::copyFrom (const cSharedStringsetRoot * inSharedRootToCopy) { macroValidSharedObject (inSharedRootToCopy, cSharedStringsetRoot) ; @@ -523,9 +521,9 @@ void cSharedStringsetRoot::copyFrom (const cSharedStringsetRoot * inSharedRootTo } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cSharedStringsetRoot::removeKey (const String & inKey) { +void cSharedStringsetRoot::removeKey (const C_String & inKey) { macroUniqueSharedObject (this) ; bool branchHasBeenRemoved = false ; bool keyHasBeenRemoved = false ; @@ -535,10 +533,10 @@ void cSharedStringsetRoot::removeKey (const String & inKey) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void recursiveBuildKeyList (const cStringsetNode * inNode, - TC_UniqueArray & ioList) { + TC_UniqueArray & ioList) { if (inNode != nullptr) { recursiveBuildKeyList (inNode->mInfPtr, ioList) ; ioList.appendObject (inNode->mKey) ; @@ -546,15 +544,15 @@ static void recursiveBuildKeyList (const cStringsetNode * inNode, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cSharedStringsetRoot::buildOrderedKeyList (TC_UniqueArray & ioList) const { +void cSharedStringsetRoot::buildOrderedKeyList (TC_UniqueArray & ioList) const { recursiveBuildKeyList (mRoot, ioList) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool cSharedStringsetRoot::hasKey (const String & inKey) const { +bool cSharedStringsetRoot::hasKey (const C_String & inKey) const { bool found = false ; const cStringsetNode * p = mRoot ; while ((p != nullptr) && ! found) { @@ -570,7 +568,7 @@ bool cSharedStringsetRoot::hasKey (const String & inKey) const { return found ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void recursiveAddToStringList (GALGAS_stringlist & ioResult, const cStringsetNode * inNode) { @@ -581,42 +579,42 @@ static void recursiveAddToStringList (GALGAS_stringlist & ioResult, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cSharedStringsetRoot::addToStringList (GALGAS_stringlist & ioResult) const { recursiveAddToStringList (ioResult, mRoot) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark GALGAS_stringset #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // G A L G A S _ s t r i n g s e t // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_stringset::GALGAS_stringset (void) : AC_GALGAS_root (), mSharedRoot (nullptr) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_stringset::~GALGAS_stringset (void) { macroDetachSharedObject (mSharedRoot) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_stringset::drop (void) { macroDetachSharedObject (mSharedRoot) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_stringset::GALGAS_stringset (const GALGAS_stringset & inSource) : AC_GALGAS_root (), @@ -624,14 +622,14 @@ mSharedRoot (nullptr) { macroAssignSharedObject (mSharedRoot, inSource.mSharedRoot) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_stringset & GALGAS_stringset::operator = (const GALGAS_stringset & inSource) { macroAssignSharedObject (mSharedRoot, inSource.mSharedRoot) ; return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void GALGAS_stringset::checkStringset (LOCATION_ARGS) const { @@ -641,20 +639,20 @@ GALGAS_stringset & GALGAS_stringset::operator = (const GALGAS_stringset & inSour } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_stringset::description (String & ioString, +void GALGAS_stringset::description (C_String & ioString, const int32_t /* inIndentation */) const { - ioString.appendCString ("<@stringset:") ; + ioString << "<@stringset:" ; if (nullptr == mSharedRoot) { - ioString.appendCString ("not built") ; + ioString << "not built" ; }else{ mSharedRoot->description (ioString) ; } - ioString.appendCString (">") ; + ioString << ">" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_stringset::insulate (LOCATION_ARGS) { if ((nullptr != mSharedRoot) && !mSharedRoot->isUniquelyReferenced ()) { @@ -669,27 +667,7 @@ void GALGAS_stringset::insulate (LOCATION_ARGS) { } } -//-------------------------------------------------------------------------------------------------- - -void GALGAS_stringset::setter_insert (const GALGAS_string inKey, - Compiler * /* inCompiler */ - COMMA_LOCATION_ARGS) { - if (isValid () && (inKey.isValid ())) { - #ifndef DO_NOT_GENERATE_CHECKINGS - checkStringset (HERE) ; - #endif - insulate (THERE) ; - #ifndef DO_NOT_GENERATE_CHECKINGS - checkStringset (HERE) ; - #endif - mSharedRoot->addKey (inKey.stringValue ()) ; - #ifndef DO_NOT_GENERATE_CHECKINGS - checkStringset (HERE) ; - #endif - } -} - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_stringset::addAssign_operation (const GALGAS_string & inKey COMMA_LOCATION_ARGS) { @@ -708,7 +686,7 @@ void GALGAS_stringset::addAssign_operation (const GALGAS_string & inKey } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_stringset::setter_removeKey (GALGAS_string inKey COMMA_LOCATION_ARGS) { @@ -729,17 +707,17 @@ void GALGAS_stringset::setter_removeKey (GALGAS_string inKey } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark stringset operations #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // I N T E R S E C T I O N // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_stringset GALGAS_stringset::operator_and (const GALGAS_stringset & inOperand2 COMMA_LOCATION_ARGS) const { @@ -749,13 +727,13 @@ GALGAS_stringset GALGAS_stringset::operator_and (const GALGAS_stringset & inOper checkStringset (HERE) ; inOperand2.checkStringset (HERE) ; #endif - result = class_func_emptySet (THERE) ; + result = constructor_emptySet (THERE) ; if (nullptr != mSharedRoot) { const uint32_t leftCount = mSharedRoot->count () ; - TC_UniqueArray leftList ((int32_t) leftCount COMMA_THERE) ; + TC_UniqueArray leftList ((int32_t) leftCount COMMA_THERE) ; mSharedRoot->buildOrderedKeyList (leftList) ; const uint32_t rightCount = (nullptr == inOperand2.mSharedRoot) ? 0 : inOperand2.mSharedRoot->count () ; - TC_UniqueArray rightList ((int32_t) rightCount COMMA_THERE) ; + TC_UniqueArray rightList ((int32_t) rightCount COMMA_THERE) ; if (nullptr != inOperand2.mSharedRoot) { inOperand2.mSharedRoot->buildOrderedKeyList (rightList) ; } @@ -781,11 +759,11 @@ GALGAS_stringset GALGAS_stringset::operator_and (const GALGAS_stringset & inOper return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // U N I O N // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_stringset GALGAS_stringset::operator_or (const GALGAS_stringset & inOperand2 COMMA_LOCATION_ARGS) const { @@ -797,7 +775,7 @@ GALGAS_stringset GALGAS_stringset::operator_or (const GALGAS_stringset & inOpera #endif result = *this ; const uint32_t rightCount = (nullptr == inOperand2.mSharedRoot) ? 0 : inOperand2.mSharedRoot->count () ; - TC_UniqueArray rightList ((int32_t) rightCount COMMA_THERE) ; + TC_UniqueArray rightList ((int32_t) rightCount COMMA_THERE) ; if (nullptr != inOperand2.mSharedRoot) { inOperand2.mSharedRoot->buildOrderedKeyList (rightList) ; } @@ -811,10 +789,10 @@ GALGAS_stringset GALGAS_stringset::operator_or (const GALGAS_stringset & inOpera return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_stringset::plusAssign_operation (const GALGAS_stringset inOperand2, - Compiler * + C_Compiler * COMMA_LOCATION_ARGS) { if (isValid () && inOperand2.isValid ()) { #ifndef DO_NOT_GENERATE_CHECKINGS @@ -822,7 +800,7 @@ void GALGAS_stringset::plusAssign_operation (const GALGAS_stringset inOperand2, inOperand2.checkStringset (HERE) ; #endif const uint32_t rightCount = (nullptr == inOperand2.mSharedRoot) ? 0 : inOperand2.mSharedRoot->count () ; - TC_UniqueArray rightList ((int32_t) rightCount COMMA_THERE) ; + TC_UniqueArray rightList ((int32_t) rightCount COMMA_THERE) ; if (nullptr != inOperand2.mSharedRoot) { inOperand2.mSharedRoot->buildOrderedKeyList (rightList) ; } @@ -837,14 +815,14 @@ void GALGAS_stringset::plusAssign_operation (const GALGAS_stringset inOperand2, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // D I F F E R E N C E // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_stringset GALGAS_stringset::substract_operation (const GALGAS_stringset & inOperand2, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) const { GALGAS_stringset result ; if (isValid () && inOperand2.isValid ()) { @@ -852,9 +830,9 @@ GALGAS_stringset GALGAS_stringset::substract_operation (const GALGAS_stringset & checkStringset (HERE) ; inOperand2.checkStringset (HERE) ; #endif - result = class_func_emptySet (THERE) ; + result = constructor_emptySet (THERE) ; const int32_t leftCount = (int32_t) mSharedRoot->count () ; - TC_UniqueArray leftList (leftCount COMMA_THERE) ; + TC_UniqueArray leftList (leftCount COMMA_THERE) ; mSharedRoot->buildOrderedKeyList (leftList) ; for (int32_t i=0 ; ihasKey (leftList (i COMMA_HERE))) { @@ -868,36 +846,36 @@ GALGAS_stringset GALGAS_stringset::substract_operation (const GALGAS_stringset & return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Readers #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_stringlist GALGAS_stringset::getter_stringList (LOCATION_ARGS) const { GALGAS_stringlist result ; if (isValid ()) { - result = GALGAS_stringlist::class_func_emptyList (THERE) ; + result = GALGAS_stringlist::constructor_emptyList (THERE) ; mSharedRoot->addToStringList (result) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_stringset::getter_hasKey (const GALGAS_string & inKey COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; if (isValid () && inKey.isValid ()) { - const String key = inKey.stringValue () ; + const C_String key = inKey.stringValue () ; result = GALGAS_bool (mSharedRoot->hasKey (key)) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_stringset::getter_count (UNUSED_LOCATION_ARGS) const { GALGAS_uint result ; @@ -907,14 +885,14 @@ GALGAS_uint GALGAS_stringset::getter_count (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_stringset::getter_anyString (Compiler * inCompiler +GALGAS_string GALGAS_stringset::getter_anyString (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { if (mSharedRoot->count () == 0) { - String message = "@stringset anyString: receiver is empty" ; + C_String message = "@stringset anyString: receiver is empty" ; inCompiler->onTheFlySemanticError(message COMMA_THERE) ; }else{ result = GALGAS_string (mSharedRoot->rootKey ()) ; @@ -923,17 +901,17 @@ GALGAS_string GALGAS_stringset::getter_anyString (Compiler * inCompiler return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark stringset cEnumerator #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'GALGAS_stringset::cEnumerator' class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void enterAscendingEnumeration (const cStringsetNode * inNode, capCollectionElementArray & ioResult) { @@ -950,21 +928,21 @@ static void enterAscendingEnumeration (const cStringsetNode * inNode, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_stringset::populateEnumerationArray (capCollectionElementArray & inEnumerationArray) const { if (isValid ()) { inEnumerationArray.setCapacity (mSharedRoot->count ()) ; enterAscendingEnumeration (mSharedRoot->root (), inEnumerationArray) ; #ifndef DO_NOT_GENERATE_CHECKINGS - macroAssert (mSharedRoot->count () == inEnumerationArray.count (), + MF_Assert (mSharedRoot->count () == inEnumerationArray.count (), "mSharedRoot->count () %lld != inEnumerationArray.count () %lld", mSharedRoot->count (), inEnumerationArray.count ()) ; #endif } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_stringset::cEnumerator_stringset (const GALGAS_stringset & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -972,7 +950,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string cEnumerator_stringset::current_key (LOCATION_ARGS) const { const cCollectionElement_stringset * p = (const cCollectionElement_stringset *) currentObjectPtr (THERE) ; @@ -980,7 +958,7 @@ GALGAS_string cEnumerator_stringset::current_key (LOCATION_ARGS) const { return p->attribute_key () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string cEnumerator_stringset::current (LOCATION_ARGS) const { const cCollectionElement_stringset * p = (const cCollectionElement_stringset *) currentObjectPtr (THERE) ; @@ -988,11 +966,11 @@ GALGAS_string cEnumerator_stringset::current (LOCATION_ARGS) const { return p->attribute_key () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // C O M P A R I S O N // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_stringset::objectCompare (const GALGAS_stringset & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -1005,9 +983,9 @@ typeComparisonResult GALGAS_stringset::objectCompare (const GALGAS_stringset & i if (root1 != root2) { r = count1 - count2 ; if (r == 0) { - TC_UniqueArray leftList (count1 COMMA_HERE) ; + TC_UniqueArray leftList (count1 COMMA_HERE) ; mSharedRoot->buildOrderedKeyList (leftList) ; - TC_UniqueArray rightList (count2 COMMA_HERE) ; + TC_UniqueArray rightList (count2 COMMA_HERE) ; inOperand.mSharedRoot->buildOrderedKeyList (rightList) ; for (int32_t i=0 ; (i") ; + ioString << ">" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_timer GALGAS_timer::class_func_start (UNUSED_LOCATION_ARGS) { +GALGAS_timer GALGAS_timer::constructor_start (UNUSED_LOCATION_ARGS) { GALGAS_timer result ; result.mIsValid = true ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_timer::setter_stop (UNUSED_LOCATION_ARGS) { if (isValid ()) { @@ -58,15 +58,15 @@ void GALGAS_timer::setter_stop (UNUSED_LOCATION_ARGS) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_timer::setter_resume (UNUSED_LOCATION_ARGS) { if (isValid ()) { - mTimer = Timer () ; + mTimer = C_Timer () ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_timer::getter_isRunning (UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; @@ -76,7 +76,7 @@ GALGAS_bool GALGAS_timer::getter_isRunning (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_timer::getter_msFromStart (UNUSED_LOCATION_ARGS) const { GALGAS_uint result ; @@ -86,7 +86,7 @@ GALGAS_uint GALGAS_timer::getter_msFromStart (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_timer::getter_string (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; @@ -96,4 +96,4 @@ GALGAS_string GALGAS_timer::getter_string (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/GALGAS_type.cpp b/goil/build/libpm/galgas2/GALGAS_type.cpp index 134afbd1d..e4e713213 100644 --- a/goil/build/libpm/galgas2/GALGAS_type.cpp +++ b/goil/build/libpm/galgas2/GALGAS_type.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS_bool : this class implements introspection for GALGAS types // @@ -16,96 +16,96 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -#include "Compiler.h" +#include "galgas2/C_Compiler.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'GALGAS_type' class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_type::GALGAS_type (void) : AC_GALGAS_root (), mTypeDescriptor (nullptr) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_type::GALGAS_type (const C_galgas_type_descriptor * inTypeReference) : AC_GALGAS_root (), mTypeDescriptor (inTypeReference) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_type::GALGAS_type (const GALGAS_type & inSource) : AC_GALGAS_root (), mTypeDescriptor (inSource.mTypeDescriptor) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_type & GALGAS_type::operator = (const GALGAS_type & inSource) { mTypeDescriptor = inSource.mTypeDescriptor ; return *this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_type::~ GALGAS_type (void) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_type::description (String & ioString, +void GALGAS_type::description (C_String & ioString, const int32_t /* inIndentation */) const { - ioString.appendCString ("<@type: ") ; + ioString << "<@type: " ; if (nullptr == mTypeDescriptor) { - ioString.appendCString ("not built") ; + ioString << "not built" ; }else{ - ioString.appendCString ("@") ; - ioString.appendString (mTypeDescriptor->mGalgasTypeName) ; + ioString << "@" << mTypeDescriptor->mGalgasTypeName ; } - ioString.appendCString (">") ; + ioString << ">" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_typelist GALGAS_type::class_func_typeList (LOCATION_ARGS) { +GALGAS_typelist GALGAS_type::constructor_typeList (LOCATION_ARGS) { TC_UniqueArray typeList ; C_galgas_type_descriptor::typeListRoot (typeList) ; - GALGAS_typelist result = GALGAS_typelist::class_func_emptyList (THERE) ; + GALGAS_typelist result = GALGAS_typelist::constructor_emptyList (THERE) ; for (int32_t i=0 ; imGalgasTypeName) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_type::getter_hasSuperclass (UNUSED_LOCATION_ARGS) const { return GALGAS_bool (nullptr != mTypeDescriptor->mSuperclassDescriptor) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_type GALGAS_type::getter_superclass (Compiler * inCompiler +GALGAS_type GALGAS_type::getter_superclass (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_type result ; if (mTypeDescriptor != nullptr) { if (nullptr == mTypeDescriptor->mSuperclassDescriptor) { - String s = "'superclass' reader invoked on class type value '@" ; - s.appendString (mTypeDescriptor->mGalgasTypeName) ; - s.appendCString ("', without super class") ; + C_String s ; + s << "'superclass' reader invoked on class type value '@" + << mTypeDescriptor->mGalgasTypeName << "', without super class" + ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ result = GALGAS_type (mTypeDescriptor->mSuperclassDescriptor) ; @@ -114,7 +114,7 @@ GALGAS_type GALGAS_type::getter_superclass (Compiler * inCompiler return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_type::objectCompare (const GALGAS_type & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -131,4 +131,4 @@ typeComparisonResult GALGAS_type::objectCompare (const GALGAS_type & inOperand) return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/GALGAS_uint.cpp b/goil/build/libpm/galgas2/GALGAS_uint.cpp index fd1cd9095..a98956ceb 100644 --- a/goil/build/libpm/galgas2/GALGAS_uint.cpp +++ b/goil/build/libpm/galgas2/GALGAS_uint.cpp @@ -1,10 +1,10 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'GALGAS_uint' : galgas uint32 // // This file is part of libpm library // -// Copyright (C) 2009, ..., 2024 Pierre Molinaro. +// Copyright (C) 2009, ..., 2018 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -16,25 +16,25 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -#include "Compiler.h" -#include "C_galgas_io.h" -#include "unicode_character_cpp.h" -#include "galgas-random.h" +#include "galgas2/C_Compiler.h" +#include "galgas2/C_galgas_io.h" +#include "strings/unicode_character_cpp.h" +#include "utilities/galgas-random.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark C++ constructors #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // C++ Constructors // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint::GALGAS_uint (void) : AC_GALGAS_root (), @@ -42,7 +42,13 @@ mIsValid (false), mUIntValue (0) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_uint GALGAS_uint::constructor_default (UNUSED_LOCATION_ARGS) { + return GALGAS_uint (0) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint::GALGAS_uint (const uint32_t inValue) : AC_GALGAS_root (), @@ -50,7 +56,7 @@ mIsValid (true), mUIntValue (inValue) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint::GALGAS_uint (const bool inValid, const uint32_t inValue) : AC_GALGAS_root (), @@ -58,17 +64,17 @@ mIsValid (inValid), mUIntValue (inValue) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark GALGAS Class methods #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Class methods // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint::class_method_setRandomSeed (class GALGAS_uint inSeed COMMA_UNUSED_LOCATION_ARGS) { @@ -81,45 +87,45 @@ void GALGAS_uint::class_method_setRandomSeed (class GALGAS_uint inSeed } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark GALGAS constructors #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS Constructors // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_uint::class_func_random (UNUSED_LOCATION_ARGS) { +GALGAS_uint GALGAS_uint::constructor_random (UNUSED_LOCATION_ARGS) { return GALGAS_uint (uint32_t (galgas_random ())) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_uint::class_func_max (UNUSED_LOCATION_ARGS) { +GALGAS_uint GALGAS_uint::constructor_max (UNUSED_LOCATION_ARGS) { return GALGAS_uint (UINT32_MAX) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_uint::class_func_errorCount (UNUSED_LOCATION_ARGS) { +GALGAS_uint GALGAS_uint::constructor_errorCount (UNUSED_LOCATION_ARGS) { return GALGAS_uint (uint32_t (totalErrorCount ())) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_uint::class_func_warningCount (UNUSED_LOCATION_ARGS) { +GALGAS_uint GALGAS_uint::constructor_warningCount (UNUSED_LOCATION_ARGS) { return GALGAS_uint (uint32_t (totalWarningCount ())) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_uint::class_func_valueWithMask (const GALGAS_uint & inLowerIndex, +GALGAS_uint GALGAS_uint::constructor_valueWithMask (const GALGAS_uint & inLowerIndex, const GALGAS_uint & inUpperIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_uint result ; if (inLowerIndex.isValid () && inUpperIndex.isValid ()) { @@ -137,9 +143,9 @@ GALGAS_uint GALGAS_uint::class_func_valueWithMask (const GALGAS_uint & inLowerIn return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_uint::class_func_compilationMode (UNUSED_LOCATION_ARGS) { +GALGAS_uint GALGAS_uint::constructor_compilationMode (UNUSED_LOCATION_ARGS) { #ifdef __LP64__ return GALGAS_uint (64) ; #else @@ -147,17 +153,17 @@ GALGAS_uint GALGAS_uint::class_func_compilationMode (UNUSED_LOCATION_ARGS) { #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Operators #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Operators // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint::operator_and (const GALGAS_uint & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -168,7 +174,7 @@ GALGAS_uint GALGAS_uint::operator_and (const GALGAS_uint & inOperand return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint::operator_or (const GALGAS_uint & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -179,7 +185,7 @@ GALGAS_uint GALGAS_uint::operator_or (const GALGAS_uint & inOperand return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint::operator_xor (const GALGAS_uint & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -190,7 +196,7 @@ GALGAS_uint GALGAS_uint::operator_xor (const GALGAS_uint & inOperand return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint::operator_tilde (UNUSED_LOCATION_ARGS) const { GALGAS_uint result ; @@ -200,7 +206,7 @@ GALGAS_uint GALGAS_uint::operator_tilde (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_uint::objectCompare (const GALGAS_uint & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -216,13 +222,13 @@ typeComparisonResult GALGAS_uint::objectCompare (const GALGAS_uint & inOperand) return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Getters #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_uint::getter_isInRange (const GALGAS_range & inRange COMMA_UNUSED_LOCATION_ARGS) const { @@ -235,9 +241,9 @@ GALGAS_bool GALGAS_uint::getter_isInRange (const GALGAS_range & inRange return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_sint GALGAS_uint::getter_sint (Compiler * inCompiler +GALGAS_sint GALGAS_uint::getter_sint (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint result ; if (mUIntValue > (uint32_t (INT32_MAX))) { @@ -248,67 +254,67 @@ GALGAS_sint GALGAS_uint::getter_sint (Compiler * inCompiler return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_ GALGAS_uint::getter_sint_36__34_ (UNUSED_LOCATION_ARGS) const { return GALGAS_sint_36__34_ ((int64_t) mUIntValue) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_ GALGAS_uint::getter_uint_36__34_ (UNUSED_LOCATION_ARGS) const { return GALGAS_uint_36__34_ (mUIntValue) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_uint::getter_double (UNUSED_LOCATION_ARGS) const { return GALGAS_double (mUIntValue) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_uint::getter_alphaString (UNUSED_LOCATION_ARGS) const { - String s = "aaaaaaa" ; // 2**32 values needs 7 characters (base 26) : n = 32 * log (2) / log (26) + C_String s = "aaaaaaa" ; // 2**32 values needs 7 characters (base 26) : n = 32 * log (2) / log (26) uint32_t v = mUIntValue ; int32_t idx = 6 ; while (v > 0) { const utf32 c = TO_UNICODE ((v % 26) + 'a') ; - s.setCharAtIndex (c, idx COMMA_HERE) ; + s.setUnicodeCharacterAtIndex (c, idx COMMA_HERE) ; idx -= 1 ; v /= 26 ; } return GALGAS_string (s) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bigint GALGAS_uint::getter_bigint (UNUSED_LOCATION_ARGS) const { GALGAS_bigint result ; if (isValid ()) { - result = GALGAS_bigint (BigSigned (true, mUIntValue)) ; + result = GALGAS_bigint (C_BigInt (mUIntValue, false)) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_uint::getter_string (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { - String s ; + C_String s ; s.appendUnsigned (mUIntValue) ; result = GALGAS_string (s) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_uint::getter_hexString (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { - String s ; + C_String s ; s.appendCString ("0x") ; s.appendUnsignedHex (mUIntValue) ; result = GALGAS_string (s) ; @@ -316,11 +322,11 @@ GALGAS_string GALGAS_uint::getter_hexString (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_uint::getter_hexStringSeparatedBy (const GALGAS_char & inSeparator, const GALGAS_uint & inGroup, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_string result ; if (isValid () && inSeparator.isValid () && inGroup.isValid ()) { @@ -328,40 +334,40 @@ GALGAS_string GALGAS_uint::getter_hexStringSeparatedBy (const GALGAS_char & inSe if (group <= 0) { inCompiler->onTheFlyRunTimeError ("last argument should be > 0" COMMA_THERE) ; }else{ - String s ; + C_String s ; s.appendUnsignedHex (mUIntValue) ; const utf32 separator = inSeparator.charValue() ; for (int i = (int) (s.length () - group) ; i > 0 ; i -= group) { s.insertCharacterAtIndex (separator, i COMMA_HERE) ; } - result = GALGAS_string (String ("0x") + s) ; + result = GALGAS_string (C_String ("0x") + s) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_uint::getter_xString (UNUSED_LOCATION_ARGS) const { - String s ; + C_String s ; s.appendUnsignedHex (mUIntValue) ; return GALGAS_string (s) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_uint::description (String & ioString, +void GALGAS_uint::description (C_String & ioString, const int32_t /* inIndentation */) const { - ioString.appendCString ("<@uint:") ; + ioString << "<@uint:" ; if (isValid ()) { ioString.appendUnsigned (mUIntValue) ; }else{ - ioString.appendCString ("not built") ; + ioString << "not built" ; } - ioString.appendCString (">") ; + ioString << ">" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint::getter_significantBitCount (UNUSED_LOCATION_ARGS) const { GALGAS_uint result ; @@ -369,7 +375,7 @@ GALGAS_uint GALGAS_uint::getter_significantBitCount (UNUSED_LOCATION_ARGS) const uint32_t v = mUIntValue ; uint32_t idx = 0 ; while (v != 0) { - idx += 1 ; + idx ++ ; v >>= 1 ; } result = GALGAS_uint (idx) ; @@ -377,7 +383,7 @@ GALGAS_uint GALGAS_uint::getter_significantBitCount (UNUSED_LOCATION_ARGS) const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint::getter_oneBitCount (UNUSED_LOCATION_ARGS) const { GALGAS_uint result ; @@ -393,9 +399,9 @@ GALGAS_uint GALGAS_uint::getter_oneBitCount (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_uint::getter_lsbIndex (Compiler * inCompiler +GALGAS_uint GALGAS_uint::getter_lsbIndex (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; uint32_t v = mUIntValue ; @@ -412,33 +418,33 @@ GALGAS_uint GALGAS_uint::getter_lsbIndex (Compiler * inCompiler return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_uint::getter_isUnicodeValueAssigned (UNUSED_LOCATION_ARGS) const { return GALGAS_bool (isUnicodeCharacterAssigned (TO_UNICODE (mUIntValue))) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Operations #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint::increment_operation_no_overflow (void) { mUIntValue ++ ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint::decrement_operation_no_overflow (void) { mUIntValue -- ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_uint::increment_operation (Compiler * inCompiler +void GALGAS_uint::increment_operation (C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (mUIntValue == UINT32_MAX) { @@ -450,9 +456,9 @@ void GALGAS_uint::increment_operation (Compiler * inCompiler } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_uint::decrement_operation (Compiler * inCompiler +void GALGAS_uint::decrement_operation (C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { //--- Overflow ? @@ -465,15 +471,15 @@ void GALGAS_uint::decrement_operation (Compiler * inCompiler } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint::add_operation (const GALGAS_uint & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid () && inOperand.isValid ()) { - uint32_t r ; - const bool ovf = __builtin_add_overflow (mUIntValue, inOperand.mUIntValue, &r) ; + const uint32_t r = mUIntValue + inOperand.mUIntValue ; + const bool ovf = r < mUIntValue ; if (ovf) { inCompiler->onTheFlyRunTimeError ("@uint + operation overflow" COMMA_THERE) ; }else{ @@ -483,66 +489,74 @@ GALGAS_uint GALGAS_uint::add_operation (const GALGAS_uint & inOperand, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_uint::getter_canAdd (const GALGAS_uint & inOperand COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; if (isValid () && inOperand.isValid ()) { - uint32_t r ; - const bool ovf = __builtin_add_overflow (mUIntValue, inOperand.mUIntValue, &r) ; + const uint32_t r = mUIntValue + inOperand.mUIntValue ; + const bool ovf = r < mUIntValue ; result = GALGAS_bool (!ovf) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint::plusAssign_operation (const GALGAS_uint inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { - const bool ovf = __builtin_add_overflow (mUIntValue, inOperand.mUIntValue, &mUIntValue) ; + const uint32_t r = mUIntValue + inOperand.mUIntValue ; + const bool ovf = r < mUIntValue ; if (ovf) { inCompiler->onTheFlyRunTimeError ("@uint += operation overflow" COMMA_THERE) ; mIsValid = false ; + }else{ + mUIntValue = r ; } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint::minusAssign_operation (const GALGAS_uint inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { - const bool ovf = __builtin_sub_overflow (mUIntValue, inOperand.mUIntValue, &mUIntValue) ; + const bool ovf = mUIntValue < inOperand.mUIntValue ; if (ovf) { inCompiler->onTheFlyRunTimeError ("@uint -= operation overflow" COMMA_THERE) ; mIsValid = false ; + }else{ + mUIntValue -= inOperand.mUIntValue ; } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint::mulAssign_operation (const GALGAS_uint inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { - const bool ovf = __builtin_mul_overflow (mUIntValue, inOperand.mUIntValue, &mUIntValue) ; + const uint32_t r = mUIntValue * inOperand.mUIntValue ; + const bool ovf = (inOperand.mUIntValue != 0) && ((r / inOperand.mUIntValue) != mUIntValue) ; if (ovf) { inCompiler->onTheFlyRunTimeError ("@uint *= operation overflow" COMMA_THERE) ; mIsValid = false ; + }else{ + mUIntValue = r ; } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint::divAssign_operation (const GALGAS_uint inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { if (inOperand.mUIntValue == 0) { @@ -554,7 +568,7 @@ void GALGAS_uint::divAssign_operation (const GALGAS_uint inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint::add_operation_no_ovf (const GALGAS_uint & inOperand) const { GALGAS_uint result ; @@ -564,10 +578,10 @@ GALGAS_uint GALGAS_uint::add_operation_no_ovf (const GALGAS_uint & inOperand) co return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint::substract_operation (const GALGAS_uint & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid () && inOperand.isValid ()) { @@ -582,7 +596,7 @@ GALGAS_uint GALGAS_uint::substract_operation (const GALGAS_uint & inOperand, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_uint::getter_canSubstract (const GALGAS_uint & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -593,7 +607,7 @@ GALGAS_bool GALGAS_uint::getter_canSubstract (const GALGAS_uint & inOperand return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint::substract_operation_no_ovf (const GALGAS_uint & inOperand2) const { GALGAS_uint result ; @@ -603,7 +617,7 @@ GALGAS_uint GALGAS_uint::substract_operation_no_ovf (const GALGAS_uint & inOpera return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint::multiply_operation_no_ovf (const GALGAS_uint & inOperand2) const { GALGAS_uint result ; @@ -613,15 +627,15 @@ GALGAS_uint GALGAS_uint::multiply_operation_no_ovf (const GALGAS_uint & inOperan return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint::multiply_operation (const GALGAS_uint & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid () && inOperand.isValid ()) { - uint32_t r ; - const bool ovf = __builtin_mul_overflow (mUIntValue, inOperand.mUIntValue, &r) ; + const uint32_t r = mUIntValue * inOperand.mUIntValue ; + const bool ovf = (inOperand.mUIntValue != 0) && ((r / inOperand.mUIntValue) != mUIntValue) ; if (ovf) { inCompiler->onTheFlyRunTimeError ("@uint * operation overflow" COMMA_THERE) ; }else{ @@ -631,23 +645,23 @@ GALGAS_uint GALGAS_uint::multiply_operation (const GALGAS_uint & inOperand, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_uint::getter_canMultiply (const GALGAS_uint & inOperand COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; if (isValid () && inOperand.isValid ()) { - uint32_t r ; - const bool ovf = __builtin_mul_overflow (mUIntValue, inOperand.mUIntValue, &r) ; + const uint32_t r = mUIntValue * inOperand.mUIntValue ; + const bool ovf = (inOperand.mUIntValue != 0) && ((r / inOperand.mUIntValue) != mUIntValue) ; result = GALGAS_bool (!ovf) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint::divide_operation (const GALGAS_uint & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid () && inOperand.isValid ()) { @@ -660,7 +674,7 @@ GALGAS_uint GALGAS_uint::divide_operation (const GALGAS_uint & inOperand, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_uint::getter_canDivide (const GALGAS_uint & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -671,7 +685,7 @@ GALGAS_bool GALGAS_uint::getter_canDivide (const GALGAS_uint & inOperand return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint::divide_operation_no_ovf (const GALGAS_uint & inOperand) const { GALGAS_uint result ; @@ -681,10 +695,10 @@ GALGAS_uint GALGAS_uint::divide_operation_no_ovf (const GALGAS_uint & inOperand) return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint::modulo_operation (const GALGAS_uint & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid () && inOperand.isValid ()) { @@ -697,10 +711,10 @@ GALGAS_uint GALGAS_uint::modulo_operation (const GALGAS_uint & inOperand, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint::left_shift_operation (const GALGAS_uint inOperand, - class Compiler * /* inCompiler*/ + class C_Compiler * /* inCompiler*/ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid () && inOperand.isValid ()) { @@ -709,14 +723,14 @@ GALGAS_uint GALGAS_uint::left_shift_operation (const GALGAS_uint inOperand, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint::left_shift_operation (const GALGAS_bigint inShiftOperand, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid () && inShiftOperand.isValid ()) { - if (inShiftOperand.bigintValue().isStrictlyNegative ()) { + if (inShiftOperand.bigintValue().isNegative ()) { inCompiler->onTheFlyRunTimeError ("@uint left shift by a negative amount" COMMA_THERE) ; }else{ result = GALGAS_uint (mUIntValue << (inShiftOperand.bigintValue().uint32 () & 31)) ; @@ -725,10 +739,10 @@ GALGAS_uint GALGAS_uint::left_shift_operation (const GALGAS_bigint inShiftOperan return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint::right_shift_operation (const GALGAS_uint inOperand, - class Compiler * /* inCompiler*/ + class C_Compiler * /* inCompiler*/ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid () && inOperand.isValid ()) { @@ -737,14 +751,14 @@ GALGAS_uint GALGAS_uint::right_shift_operation (const GALGAS_uint inOperand, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint::right_shift_operation (const GALGAS_bigint inShiftOperand, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid () && inShiftOperand.isValid ()) { - if (inShiftOperand.bigintValue().isStrictlyNegative ()) { + if (inShiftOperand.bigintValue().isNegative ()) { inCompiler->onTheFlyRunTimeError ("@uint right shift by a negative amount" COMMA_THERE) ; }else{ result = GALGAS_uint (mUIntValue >> (inShiftOperand.bigintValue().uint32 () & 31)) ; @@ -753,4 +767,4 @@ GALGAS_uint GALGAS_uint::right_shift_operation (const GALGAS_bigint inShiftOpera return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/GALGAS_uint_36__34_.cpp b/goil/build/libpm/galgas2/GALGAS_uint_36__34_.cpp index fa446ccfb..156ee4021 100644 --- a/goil/build/libpm/galgas2/GALGAS_uint_36__34_.cpp +++ b/goil/build/libpm/galgas2/GALGAS_uint_36__34_.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'GALGAS_uint_36__34_' : galgas uint64 // @@ -16,18 +16,18 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -#include "Compiler.h" +#include "galgas2/C_Compiler.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark GALGAS Constructors #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_::GALGAS_uint_36__34_ (const uint64_t inValue) : AC_GALGAS_root (), @@ -35,7 +35,13 @@ mIsValid (true), mUInt64Value (inValue) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_uint_36__34_ GALGAS_uint_36__34_::constructor_default (UNUSED_LOCATION_ARGS) { + return GALGAS_uint_36__34_ (0) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_::GALGAS_uint_36__34_ (void) : AC_GALGAS_root (), @@ -43,16 +49,16 @@ mIsValid (false), mUInt64Value (0) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint_36__34_ GALGAS_uint_36__34_::class_func_max (UNUSED_LOCATION_ARGS) { +GALGAS_uint_36__34_ GALGAS_uint_36__34_::constructor_max (UNUSED_LOCATION_ARGS) { return GALGAS_uint_36__34_ (UINT64_MAX) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint_36__34_ GALGAS_uint_36__34_::class_func_uint_36__34_MaskWithCompressedBitString (const GALGAS_string & inBitString, - Compiler * inCompiler +GALGAS_uint_36__34_ GALGAS_uint_36__34_::constructor_uint_36__34_MaskWithCompressedBitString (const GALGAS_string & inBitString, + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_uint_36__34_ result ; if (inBitString.isValid ()) { @@ -61,7 +67,7 @@ GALGAS_uint_36__34_ GALGAS_uint_36__34_::class_func_uint_36__34_MaskWithCompress uint64_t v = 0 ; for (int32_t i=0 ; (ionTheFlyRunTimeError ("@uint64 left shift by a negative amount" COMMA_THERE) ; }else{ result = GALGAS_uint_36__34_ (mUInt64Value << (inShiftOperand.bigintValue ().uint32 () & 63)) ; @@ -226,10 +232,10 @@ GALGAS_uint_36__34_ GALGAS_uint_36__34_::left_shift_operation (const GALGAS_bigi return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_ GALGAS_uint_36__34_::right_shift_operation (const GALGAS_uint inShiftOperand, - class Compiler * /* inCompiler*/ + class C_Compiler * /* inCompiler*/ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_uint_36__34_ result ; if (isValid () && inShiftOperand.isValid ()) { @@ -238,14 +244,14 @@ GALGAS_uint_36__34_ GALGAS_uint_36__34_::right_shift_operation (const GALGAS_uin return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_ GALGAS_uint_36__34_::right_shift_operation (const GALGAS_bigint inShiftOperand, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint_36__34_ result ; if (isValid () && inShiftOperand.isValid ()) { - if (inShiftOperand.bigintValue().isStrictlyNegative ()) { + if (inShiftOperand.bigintValue().isNegative ()) { inCompiler->onTheFlyRunTimeError ("@uint64 right shift by a negative amount" COMMA_THERE) ; }else{ result = GALGAS_uint_36__34_ (mUInt64Value >> (inShiftOperand.bigintValue ().uint32 () & 63)) ; @@ -254,10 +260,10 @@ GALGAS_uint_36__34_ GALGAS_uint_36__34_::right_shift_operation (const GALGAS_big return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_ GALGAS_uint_36__34_::multiply_operation (const GALGAS_uint_36__34_ & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint_36__34_ result ; if (isValid () && inOperand.isValid ()) { @@ -272,7 +278,7 @@ GALGAS_uint_36__34_ GALGAS_uint_36__34_::multiply_operation (const GALGAS_uint_3 return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_uint_36__34_::getter_canMultiply (const GALGAS_uint_36__34_ & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -285,10 +291,10 @@ GALGAS_bool GALGAS_uint_36__34_::getter_canMultiply (const GALGAS_uint_36__34_ & return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_ GALGAS_uint_36__34_::divide_operation (const GALGAS_uint_36__34_ & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint_36__34_ result ; if (isValid () && inOperand.isValid ()) { @@ -301,7 +307,7 @@ GALGAS_uint_36__34_ GALGAS_uint_36__34_::divide_operation (const GALGAS_uint_36_ return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_uint_36__34_::getter_canDivide (const GALGAS_uint_36__34_ & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -312,7 +318,7 @@ GALGAS_bool GALGAS_uint_36__34_::getter_canDivide (const GALGAS_uint_36__34_ & i return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_ GALGAS_uint_36__34_::divide_operation_no_ovf (const GALGAS_uint_36__34_ & inOperand) const { GALGAS_uint_36__34_ result ; @@ -322,21 +328,21 @@ GALGAS_uint_36__34_ GALGAS_uint_36__34_::divide_operation_no_ovf (const GALGAS_u return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_36__34_::increment_operation_no_overflow (void) { mUInt64Value ++ ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_36__34_::decrement_operation_no_overflow (void) { mUInt64Value -- ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_uint_36__34_::increment_operation (Compiler * inCompiler +void GALGAS_uint_36__34_::increment_operation (C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (mUInt64Value == UINT64_MAX) { @@ -348,9 +354,9 @@ void GALGAS_uint_36__34_::increment_operation (Compiler * inCompiler } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_uint_36__34_::decrement_operation (Compiler * inCompiler +void GALGAS_uint_36__34_::decrement_operation (C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (mUInt64Value == 0) { @@ -362,7 +368,7 @@ void GALGAS_uint_36__34_::decrement_operation (Compiler * inCompiler } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_ GALGAS_uint_36__34_::add_operation_no_ovf (const GALGAS_uint_36__34_ & inOperand) const { GALGAS_uint_36__34_ result ; @@ -372,10 +378,10 @@ GALGAS_uint_36__34_ GALGAS_uint_36__34_::add_operation_no_ovf (const GALGAS_uint return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_ GALGAS_uint_36__34_::add_operation (const GALGAS_uint_36__34_ & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint_36__34_ result ; if (isValid () && inOperand.isValid ()) { @@ -391,10 +397,10 @@ GALGAS_uint_36__34_ GALGAS_uint_36__34_::add_operation (const GALGAS_uint_36__34 } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_36__34_::plusAssign_operation (const GALGAS_uint_36__34_ inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { const uint64_t r = mUInt64Value + inOperand.mUInt64Value ; @@ -408,10 +414,10 @@ void GALGAS_uint_36__34_::plusAssign_operation (const GALGAS_uint_36__34_ inOper } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_36__34_::minusAssign_operation (const GALGAS_uint_36__34_ inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { const bool ovf = mUInt64Value < inOperand.mUInt64Value ; @@ -424,10 +430,10 @@ void GALGAS_uint_36__34_::minusAssign_operation (const GALGAS_uint_36__34_ inOpe } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_36__34_::mulAssign_operation (const GALGAS_uint_36__34_ inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { const uint64_t r = mUInt64Value * inOperand.mUInt64Value ; @@ -441,10 +447,10 @@ void GALGAS_uint_36__34_::mulAssign_operation (const GALGAS_uint_36__34_ inOpera } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_36__34_::divAssign_operation (const GALGAS_uint_36__34_ inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { if (inOperand.mUInt64Value == 0) { @@ -456,7 +462,7 @@ void GALGAS_uint_36__34_::divAssign_operation (const GALGAS_uint_36__34_ inOpera } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_uint_36__34_::getter_canAdd (const GALGAS_uint_36__34_ & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -469,7 +475,7 @@ GALGAS_bool GALGAS_uint_36__34_::getter_canAdd (const GALGAS_uint_36__34_ & inOp return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_ GALGAS_uint_36__34_::substract_operation_no_ovf (const GALGAS_uint_36__34_ & inOperand2) const { GALGAS_uint_36__34_ result ; @@ -479,7 +485,7 @@ GALGAS_uint_36__34_ GALGAS_uint_36__34_::substract_operation_no_ovf (const GALGA return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_ GALGAS_uint_36__34_::multiply_operation_no_ovf (const GALGAS_uint_36__34_ & inOperand2) const { GALGAS_uint_36__34_ result ; @@ -489,10 +495,10 @@ GALGAS_uint_36__34_ GALGAS_uint_36__34_::multiply_operation_no_ovf (const GALGAS return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_ GALGAS_uint_36__34_::substract_operation (const GALGAS_uint_36__34_ & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint_36__34_ result ; if (isValid () && inOperand.isValid ()) { @@ -507,7 +513,7 @@ GALGAS_uint_36__34_ GALGAS_uint_36__34_::substract_operation (const GALGAS_uint_ return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_uint_36__34_::getter_canSubstract (const GALGAS_uint_36__34_ & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -518,7 +524,7 @@ GALGAS_bool GALGAS_uint_36__34_::getter_canSubstract (const GALGAS_uint_36__34_ return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_uint_36__34_::objectCompare (const GALGAS_uint_36__34_ & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -534,15 +540,15 @@ typeComparisonResult GALGAS_uint_36__34_::objectCompare (const GALGAS_uint_36__3 return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark GALGAS Readers #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_sint_36__34_ GALGAS_uint_36__34_::getter_sint_36__34_ (Compiler * inCompiler +GALGAS_sint_36__34_ GALGAS_uint_36__34_::getter_sint_36__34_ (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; if (mUInt64Value > ((uint64_t) INT64_MAX)) { @@ -553,9 +559,9 @@ GALGAS_sint_36__34_ GALGAS_uint_36__34_::getter_sint_36__34_ (Compiler * inCompi return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_sint GALGAS_uint_36__34_::getter_sint (Compiler * inCompiler +GALGAS_sint GALGAS_uint_36__34_::getter_sint (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint result ; if (mUInt64Value > ((uint64_t) INT32_MAX)) { @@ -566,9 +572,9 @@ GALGAS_sint GALGAS_uint_36__34_::getter_sint (Compiler * inCompiler return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_uint_36__34_::getter_uint (Compiler * inCompiler +GALGAS_uint GALGAS_uint_36__34_::getter_uint (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (mUInt64Value > ((uint64_t) UINT32_MAX)) { @@ -579,17 +585,17 @@ GALGAS_uint GALGAS_uint_36__34_::getter_uint (Compiler * inCompiler return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bigint GALGAS_uint_36__34_::getter_bigint (UNUSED_LOCATION_ARGS) const { GALGAS_bigint result ; if (isValid ()) { - result = GALGAS_bigint (BigSigned (true, mUInt64Value)) ; + result = GALGAS_bigint (C_BigInt (mUInt64Value, false)) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_uint_36__34_::getter_double (UNUSED_LOCATION_ARGS) const { GALGAS_double result ; @@ -599,17 +605,17 @@ GALGAS_double GALGAS_uint_36__34_::getter_double (UNUSED_LOCATION_ARGS) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_uint_36__34_::getter_alphaString (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { - String s = "aaaaaaaaaaaaaa" ; // 2**64 values needs 14 characters (base 26) : n = 64 * log (2) / log (26) + C_String s = "aaaaaaaaaaaaaa" ; // 2**64 values needs 14 characters (base 26) : n = 64 * log (2) / log (26) uint64_t v = mUInt64Value ; int32_t idx = 13 ; while (v > 0) { const utf32 c = TO_UNICODE (uint32_t ((v % 26) + 'a')) ; - s.setCharAtIndex (c, idx COMMA_HERE) ; + s.setUnicodeCharacterAtIndex (c, idx COMMA_HERE) ; idx -= 1 ; v /= 26 ; } @@ -618,24 +624,24 @@ GALGAS_string GALGAS_uint_36__34_::getter_alphaString (UNUSED_LOCATION_ARGS) con return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_uint_36__34_::getter_string (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { - String s ; + C_String s ; s.appendUnsigned (mUInt64Value) ; result = GALGAS_string (s) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_uint_36__34_::getter_hexString (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { - String s ; + C_String s ; s.appendCString ("0x") ; s.appendUnsignedHex16 (mUInt64Value) ; result = GALGAS_string (s) ; @@ -643,11 +649,11 @@ GALGAS_string GALGAS_uint_36__34_::getter_hexString (UNUSED_LOCATION_ARGS) const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_uint_36__34_::getter_hexStringSeparatedBy (const GALGAS_char & inSeparator, const GALGAS_uint & inGroup, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_string result ; if (isValid () && inSeparator.isValid () && inGroup.isValid ()) { @@ -655,48 +661,48 @@ GALGAS_string GALGAS_uint_36__34_::getter_hexStringSeparatedBy (const GALGAS_cha if (group <= 0) { inCompiler->onTheFlyRunTimeError ("last argument should be > 0" COMMA_THERE) ; }else{ - String s ; + C_String s ; s.appendUnsignedHex16 (mUInt64Value) ; const utf32 separator = inSeparator.charValue() ; for (int i = (int) (s.length () - group) ; i > 0 ; i -= group) { s.insertCharacterAtIndex (separator, i COMMA_HERE) ; } - result = GALGAS_string (String ("0x") + s) ; + result = GALGAS_string (C_String ("0x") + s) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_uint_36__34_::getter_xString (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { - String s ; + C_String s ; s.appendUnsignedHex16 (mUInt64Value) ; result = GALGAS_string (s) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_uint_36__34_::description (String & ioString, +void GALGAS_uint_36__34_::description (C_String & ioString, const int32_t /* inIndentation */) const { - ioString.appendCString ("<@uint64:") ; + ioString << "<@uint64:" ; if (isValid ()) { ioString.appendUnsigned (mUInt64Value) ; }else{ - ioString.appendCString ("not built") ; + ioString << "not built" ; } - ioString.appendCString (">") ; + ioString << ">" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint_36__34_::getter_uintSlice (const GALGAS_uint & inStartBit, const GALGAS_uint & inBitCount, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (inStartBit.isValid () && inBitCount.isValid ()) { @@ -713,4 +719,4 @@ GALGAS_uint GALGAS_uint_36__34_::getter_uintSlice (const GALGAS_uint & inStartBi return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/Lexique-parsing.cpp b/goil/build/libpm/galgas2/Lexique-parsing.cpp deleted file mode 100644 index e55f6565a..000000000 --- a/goil/build/libpm/galgas2/Lexique-parsing.cpp +++ /dev/null @@ -1,950 +0,0 @@ -//-------------------------------------------------------------------------------------------------- -// -// 'Lexique' : an abstract lexique class ; -// Galgas generated scanner classes inherit from this class. -// -// This file is part of libpm library -// -// Copyright (C) 1996, ..., 2024 Pierre Molinaro. -// -// e-mail : pierre@pcmolinaro.name -// -// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General -// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) -// any later version. -// -// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied -// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -// more details. -// -//-------------------------------------------------------------------------------------------------- - -#include "Lexique.h" -#include "all-predefined-types.h" -#include "MF_MemoryControl.h" -#include "unicode_character_cpp.h" -#include "C_galgas_CLI_Options.h" -#include "cIndexingDictionary.h" -#include "FileManager.h" -#include "F_verbose_output.h" - -//-------------------------------------------------------------------------------------------------- - -#include -#include -#include -#include - -//-------------------------------------------------------------------------------------------------- - -#ifndef DO_NOT_GENERATE_CHECKINGS - #define LINE_AND_SOURCE_FILE_FOR_LEXIQUE , sourceText ().sourceFilePath ().cString (), lineNumber () -#else - #define LINE_AND_SOURCE_FILE_FOR_LEXIQUE -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Top-down parsing -#endif - -//-------------------------------------------------------------------------------------------------- - -static bool TRACE_LL1_PARSING (void) { return false ; } - -//-------------------------------------------------------------------------------------------------- -// -// Test if a terminal symbol can be accepted in current context -// -//-------------------------------------------------------------------------------------------------- - -bool Lexique::acceptTerminalForErrorSignaling (const int32_t inTerminal, - const int32_t* inProductionArray, - const int32_t* inProductionIndexArray, - const int32_t* inFirstProductionIndexArray, - const int32_t* inDecisionTableArray, - const int32_t* inDecisionTableIndexArray, - const TC_Array & inErrorStack, - const int32_t inErrorProgramCounter) { - if (TRACE_LL1_PARSING ()) { - String m = getMessageForTerminal (inTerminal) ; - gCout.appendCString ("------ Enter 'acceptTerminalForErrorSignaling' with '") ; - gCout.appendString (m) ; - gCout.appendCString ("' (") ; - gCout.appendSigned (inTerminal) ; - gCout.appendCString (") terminal and program counter ") ; - gCout.appendSigned (inErrorProgramCounter) ; - gCout.flush () ; - } - bool accept = false ; - int32_t programCounter = inErrorProgramCounter ; - TC_Array stack = inErrorStack ; - bool loop = true ; - while (loop) { - const int32_t instruction = inProductionArray [programCounter] ; - programCounter ++ ; - if (instruction > 0) { // We reach a terminal - const int32_t reachedTerminal = (int32_t) (instruction - 1) ; - accept = reachedTerminal == inTerminal ; - if (TRACE_LL1_PARSING ()) { - const String m = getMessageForTerminal (reachedTerminal) ; - gCout.appendCString ("reached '") ; - gCout.appendString (m) ; - gCout.appendCString ("' terminal") ; - gCout.appendCString (accept ? " (accepted)" : "") ; - gCout.appendNewLine () ; - gCout.flush () ; - } - loop = false ; - }else if (instruction < 0) { // We reach a nonterminal - const int32_t reachedNonterminal = (int32_t) (- instruction - 1) ; - if (TRACE_LL1_PARSING ()) { - gCout.appendCString ("reached non-terminal ") ; - gCout.appendSigned (reachedNonterminal) ; - gCout.appendNewLine () ; - gCout.flush () ; - } - int32_t nonTerminalEntry = inDecisionTableIndexArray [reachedNonterminal] ; - if (inDecisionTableArray [nonTerminalEntry] < 0) { // Only one rule : call it - stack.appendObject (programCounter) ; - programCounter = inProductionIndexArray [inFirstProductionIndexArray [reachedNonterminal]] ; - if (TRACE_LL1_PARSING ()) { - gCout.appendCString ("One rule: goto ") ; - gCout.appendSigned (programCounter) ; - gCout.appendNewLine () ; - gCout.flush () ; - } - }else{ // More than one rule : test if terminal is accepted, and call rule - loop = false ; - int32_t choice = 0 ; - bool found = false ; - while ((inDecisionTableArray [nonTerminalEntry] >= 0) && ! found) { - while ((inDecisionTableArray [nonTerminalEntry] >= 0) && ! found) { - found = inDecisionTableArray [nonTerminalEntry] == inTerminal ; - if (TRACE_LL1_PARSING ()) { - const String m = getMessageForTerminal (inDecisionTableArray [nonTerminalEntry]) ; - gCout.appendCString ("try '") ; - gCout.appendString (m) ; - gCout.appendCString ("' non terminal") ; - gCout.appendCString (found ? " (accepted)": "") ; - gCout.appendNewLine () ; - gCout.flush () ; - } - if (found) { - int32_t newProgramCounter = programCounter ; - TC_Array newStack = stack ; - newStack.appendObject (newProgramCounter) ; - newProgramCounter = inProductionIndexArray [inFirstProductionIndexArray [reachedNonterminal] + choice] ; - accept = acceptTerminalForErrorSignaling (inTerminal, - inProductionArray, - inProductionIndexArray, - inFirstProductionIndexArray, - inDecisionTableArray, - inDecisionTableIndexArray, - newStack, - newProgramCounter) ; - } - nonTerminalEntry ++ ; - } - nonTerminalEntry ++ ; - choice ++ ; - } - } - }else if (stack.count () > 0) { // We reach a END OF PRODUCTION - programCounter = stack.lastObject (HERE) ; - stack.removeLastObject (HERE) ; - }else{ // We reach the end of production rules - accept = inTerminal == 0 ; // 0 is always "end_of_text" terminal symbol - loop = false ; - } - } - if (TRACE_LL1_PARSING ()) { - gCout.appendCString ("------ Exit 'acceptTerminalForErrorSignaling' with accept == ") ; - gCout.appendCString (accept ? "true" : "false") ; - gCout.appendNewLine () ; - } - return accept ; -} - -//-------------------------------------------------------------------------------------------------- -// -// Build expected terminals array on syntax error with LL (1) parser -// -//-------------------------------------------------------------------------------------------------- - -void Lexique::buildExpectedTerminalsArrayOnSyntaxError (const int32_t inErrorProgramCounter, - const int32_t inErrorStackCount, - const TC_Array & inStack, - const TC_Array & inErrorStack, - const int32_t* inProductionArray, - const int32_t* inProductionIndexArray, - const int32_t* inFirstProductionIndexArray, - const int32_t* inDecisionTableArray, - const int32_t* inDecisionTableIndexArray, - TC_UniqueArray & outExpectedTerminalsArray) { -//--- First, go to the next non terminal, terminal or end of productions rules - int32_t programCounter = inErrorProgramCounter ; - const int32_t countToCopy = inErrorStackCount - inErrorStack.count () ; - TC_Array errorStack (inErrorStackCount COMMA_HERE) ; - for (int32_t i=0 ; i=0 ; i--) { - errorStack.appendObject (inErrorStack (i COMMA_HERE)) ; - } - if (TRACE_LL1_PARSING ()) { - gCout.appendCString ("------ Enter 'buildExpectedTerminalsArrayOnSyntaxError'\n") ; - gCout.appendCString ("programCounter: ") ; - gCout.appendSigned (programCounter) ; - gCout.appendCString (", errorStack: ") ; - gCout.appendSigned (errorStack.count ()) ; - gCout.appendCString (" value(s):") ; - for (int32_t i=0 ; i 0) { // We reach a terminal (when >0) - loop = false ; - if (TRACE_LL1_PARSING ()) { - String m = getMessageForTerminal (inProductionArray [programCounter]) ; - gCout.appendCString ("Terminal '") ; - gCout.appendString (m) ; - gCout.appendCString ("' (") ; - gCout.appendSigned (inProductionArray [programCounter]) ; - gCout.appendCString (") reached\n") ; - gCout.flush () ; - } - }else if (inProductionArray [programCounter] < 0) { // We reach a non terminal (<0) - const int32_t nonTerminal = (int32_t) (- inProductionArray [programCounter] - 1) ; - if (TRACE_LL1_PARSING ()) { - gCout.appendCString ("Non-Terminal ") ; - gCout.appendSigned (nonTerminal) ; - gCout.appendCString (" reached\n") ; - gCout.flush () ; - } - //--- We look if we get a non terminal that has only one production rule - const int32_t nonTerminalEntry = inDecisionTableIndexArray [nonTerminal] ; - const bool onlyOneRule = inDecisionTableArray [nonTerminalEntry] < 0 ; - if (onlyOneRule) { // Go to this rule - errorStack.appendObject ((int32_t) (programCounter + 1)) ; - programCounter = inProductionIndexArray [inFirstProductionIndexArray [nonTerminal]] ; - if (TRACE_LL1_PARSING ()) { - gCout.appendCString ("Only one rule: goto ") ; - gCout.appendSigned (programCounter) ; - gCout.appendNewLine () ; - gCout.flush () ; - } - }else{ - loop = false ; // Stop searching - } - }else if (errorStack.count () > 0) { // Execute a 'return' instruction - programCounter = errorStack.lastObject (HERE) ; - errorStack.removeLastObject (HERE) ; - if (TRACE_LL1_PARSING ()) { - gCout.appendCString ("return instruction (goes to ") ; - gCout.appendSigned (programCounter) ; - gCout.appendCString (")\n") ; - gCout.flush () ; - } - }else{ // End of source reached - if (TRACE_LL1_PARSING ()) { - gCout.appendCString ("end of source reached\n") ; - gCout.flush () ; - } - loop = false ; - } - } -//--- Decision for build expected terminals array - if (errorStack.count () == 0) { // We reach end of productions rules - outExpectedTerminalsArray.appendObject (0) ; // 0 is always "end_of_text" terminal symbol - if (TRACE_LL1_PARSING ()) { - gCout.appendCString ("add 'end of source' to outExpectedTerminalsArray\n") ; - gCout.flush () ; - } - }else if (inProductionArray [programCounter] > 0) { // We reach a terminal symbol - const int32_t terminalSymbol = (int32_t) (inProductionArray [programCounter] - 1) ; - outExpectedTerminalsArray.appendObject (terminalSymbol) ; - if (TRACE_LL1_PARSING ()) { - String m = getMessageForTerminal (inProductionArray [programCounter]) ; - gCout.appendCString ("add '") ; - gCout.appendString (m) ; - gCout.appendCString ("' (") ; - gCout.appendSigned (inProductionArray [programCounter]) ; - gCout.appendCString (") to outExpectedTerminalsArray\n") ; - gCout.flush () ; - } - }else{ // We reach a non terminal symbol - const int32_t nonTerminal = (int32_t) (- inProductionArray [programCounter] - 1) ; - int32_t nonTerminalEntry = inDecisionTableIndexArray [nonTerminal] ; - while (inDecisionTableArray [nonTerminalEntry] >= 0) { - while (inDecisionTableArray [nonTerminalEntry] >= 0) { - const bool ok = acceptTerminalForErrorSignaling (inDecisionTableArray [nonTerminalEntry], - inProductionArray, - inProductionIndexArray, - inFirstProductionIndexArray, - inDecisionTableArray, - inDecisionTableIndexArray, - errorStack, - programCounter) ; - if (ok) { - if (TRACE_LL1_PARSING ()) { - String m = getMessageForTerminal (inDecisionTableArray [nonTerminalEntry]) ; - gCout.appendCString ("add '") ; - gCout.appendString (m) ; - gCout.appendCString ("' (") ; - gCout.appendSigned (inDecisionTableArray [nonTerminalEntry]) ; - gCout.appendCString (") to outExpectedTerminalsArray\n") ; - gCout.flush () ; - } - outExpectedTerminalsArray.appendObject (inDecisionTableArray [nonTerminalEntry]) ; - } - nonTerminalEntry ++ ; - } - nonTerminalEntry ++ ; - } - } - if (TRACE_LL1_PARSING ()) { - gCout.appendCString ("------ Exit 'buildExpectedTerminalsArrayOnSyntaxError'\n") ; - } -} - -//-------------------------------------------------------------------------------------------------- -// -// Perform top down parsing (called by LL (1) parser) -// -//-------------------------------------------------------------------------------------------------- - -static void indentForParseOnly (const int32_t inIndentation) { - for (int32_t i=1 ; i 0) { - gCout.appendCString ("|- ") ; - } -} - -//-------------------------------------------------------------------------------------------------- - -bool Lexique::performTopDownParsing (const int32_t * inProductionArray, - const cProductionNameDescriptor * inProductionNameArray, - const int32_t * inProductionIndexArray, - const int32_t * inFirstProductionIndexArray, - const int32_t * inDecisionTableArray, - const int32_t * inDecisionTableIndexArray, - const int32_t inProgramCounterInitialValue) { - bool result = false ; -//--- Lexical analysis - performLexicalAnalysis () ; - if (! executionModeIsLexicalAnalysisOnly ()) { - //--- Variables for generating syntax tree in a form suitable for graphviz - const bool produceSyntaxTree = gOption_galgas_5F_builtin_5F_options_outputConcreteSyntaxTree.mValue - && (sourceFilePath ().stringByDeletingPathExtension ().length () > 0) ; - String syntaxTreeDescriptionString ; - TC_Array productionUniqueNameStack ; - uint32_t uniqueProductionNameIndex = 0 ; - uint32_t uniqueTerminalIndex = 0 ; - uint32_t currentProductionName = 0 ; - if (produceSyntaxTree) { - syntaxTreeDescriptionString.appendCString ("digraph G {\n size =\"4,4\";\n") ; - } - //--- - int32_t indentationForParseOnly = 0 ; - cToken * previousTokenPtr = nullptr ; - cToken * tokenPtr = mFirstToken ; - if (executionModeIsSyntaxAnalysisOnly ()) { - gCout.appendCString ("*** PERFORM TOP-DOWN PARSING ONLY (--mode=syntax-only option) ***\n") ; - } - TC_UniqueArray listForSecondPassParsing ; - TC_Array stack (10000 COMMA_HERE) ; - TC_Array errorStack ; - int32_t errorStackCount = 0 ; - bool loop = tokenPtr != nullptr ; - result = true ; - int32_t programCounter = inProgramCounterInitialValue ; - int32_t errorProgramCounter = inProgramCounterInitialValue ; - int32_t currentToken = (tokenPtr != nullptr) ? tokenPtr->mTokenCode : int32_t (-1) ; - if (tokenPtr == nullptr) { - mCurrentLocation.resetLocation () ; - }else{ - mCurrentLocation = tokenPtr->mEndLocation ; - } - while (loop) { - //--- If no current token, get one - if (currentToken < 0) { - if (tokenPtr == nullptr) { - currentToken = 0 ; // 0 means end of source file - }else{ - previousTokenPtr = tokenPtr ; - tokenPtr = tokenPtr->mNextToken ; - currentToken = (tokenPtr != nullptr) ? tokenPtr->mTokenCode : ((int32_t) 0) ; - if (tokenPtr != nullptr) { - mCurrentLocation = tokenPtr->mEndLocation ; - } - } - } - if (TRACE_LL1_PARSING ()) { - gCout.appendCString ("---------------------------\n") ; - gCout.appendCString ("Current token is ") ; - gCout.appendString (getCurrentTokenString (tokenPtr)) ; - gCout.appendCString (" (#") ; - gCout.appendSigned (currentToken) ; - gCout.appendCString (")\n") ; - gCout.flush () ; - } - //--- Get instruction to do - const int32_t instruction = inProductionArray [programCounter] ; - programCounter ++ ; - //--- Instruction is non terminal call ? - if (instruction < 0) { - //--- Get entry of nonterminal symbol to parse - const int32_t nonTerminalToParse = (int32_t) (- instruction - 1) ; - if (TRACE_LL1_PARSING ()) { - gCout.appendCString ("Parse non terminal ") ; - gCout.appendSigned (nonTerminalToParse) ; - gCout.appendCString (": ") ; - gCout.flush () ; - } - int32_t nonTerminalEntry = inDecisionTableIndexArray [nonTerminalToParse] ; - if (inDecisionTableArray [nonTerminalEntry] < 0) { // Means only one production : don't make any choice - if (TRACE_LL1_PARSING ()) { - gCout.appendCString (" ok (only one production)\n") ; - gCout.flush () ; - } - stack.appendObject (programCounter) ; - programCounter = inProductionIndexArray [inFirstProductionIndexArray [nonTerminalToParse]] ; - if (produceSyntaxTree) { - uniqueProductionNameIndex ++ ; - syntaxTreeDescriptionString.appendCString (" NT") ; - syntaxTreeDescriptionString.appendUnsigned (uniqueProductionNameIndex) ; - syntaxTreeDescriptionString.appendCString (" [label=\"") ; - syntaxTreeDescriptionString.appendCString (inProductionNameArray [inFirstProductionIndexArray [nonTerminalToParse]].mName) ; - syntaxTreeDescriptionString.appendCString ("\", shape=box];\n") ; - if (currentProductionName > 0) { - syntaxTreeDescriptionString.appendCString (" NT") ; - syntaxTreeDescriptionString.appendUnsigned (currentProductionName) ; - syntaxTreeDescriptionString.appendCString (" -> NT") ; - syntaxTreeDescriptionString.appendUnsigned (uniqueProductionNameIndex) ; - syntaxTreeDescriptionString.appendCString (";\n") ; - } - productionUniqueNameStack.appendObject (currentProductionName) ; - currentProductionName = uniqueProductionNameIndex ; - } - if (executionModeIsSyntaxAnalysisOnly ()) { - indentForParseOnly (indentationForParseOnly) ; - gCout.appendCString (inProductionNameArray [inFirstProductionIndexArray [nonTerminalToParse]].mName) ; - gCout.appendCString (", file '") ; - gCout.appendCString (inProductionNameArray [inFirstProductionIndexArray [nonTerminalToParse]].mFileName) ; - gCout.appendCString ("', line ") ; - gCout.appendUnsigned (inProductionNameArray [inFirstProductionIndexArray [nonTerminalToParse]].mLineNumber) ; - gCout.appendNewLine () ; - indentationForParseOnly ++ ; - } - }else{ //--- There are several choices : find the one to do - if (TRACE_LL1_PARSING ()) { - gCout.appendCString (" try tokens\n") ; gCout.flush () ; - } - int32_t choice = -1 ; - bool found = false ; - while ((inDecisionTableArray [nonTerminalEntry] >= 0) && ! found) { - while ((inDecisionTableArray [nonTerminalEntry] >= 0) && ! found) { - found = currentToken == inDecisionTableArray [nonTerminalEntry] ; - if (TRACE_LL1_PARSING ()) { - String m = getMessageForTerminal (inDecisionTableArray [nonTerminalEntry]) ; - gCout.appendCString (" try ") ; - gCout.appendString (m) ; - gCout.appendCString (" (") ; - gCout.appendSigned (inDecisionTableArray [nonTerminalEntry]) ; - gCout.appendCString (")") ; - gCout.appendString (found ? " (accepted)" : "") ; - gCout.appendNewLine () ; - gCout.flush () ; - } - nonTerminalEntry ++ ; - } - choice ++ ; - nonTerminalEntry ++ ; - } - //--- Found : call production rule - if (found) { - stack.appendObject (programCounter) ; - programCounter = inProductionIndexArray [inFirstProductionIndexArray [nonTerminalToParse] + choice] ; - if (produceSyntaxTree) { - uniqueProductionNameIndex ++ ; - syntaxTreeDescriptionString.appendCString (" NT") ; - syntaxTreeDescriptionString.appendUnsigned (uniqueProductionNameIndex) ; - syntaxTreeDescriptionString.appendCString (" [label=\"") ; - syntaxTreeDescriptionString.appendString (inProductionNameArray [inFirstProductionIndexArray [nonTerminalToParse] + choice].mName) ; - syntaxTreeDescriptionString.appendCString ("\", shape=box];\n") ; - if (currentProductionName > 0) { - syntaxTreeDescriptionString.appendCString (" NT") ; - syntaxTreeDescriptionString.appendUnsigned (currentProductionName) ; - syntaxTreeDescriptionString.appendCString (" -> NT") ; - syntaxTreeDescriptionString.appendUnsigned (uniqueProductionNameIndex) ; - syntaxTreeDescriptionString.appendCString (";\n") ; - } - productionUniqueNameStack.appendObject (currentProductionName) ; - currentProductionName = uniqueProductionNameIndex ; - } - if (executionModeIsSyntaxAnalysisOnly ()) { - indentForParseOnly (indentationForParseOnly) ; - gCout.appendCString (inProductionNameArray [inFirstProductionIndexArray [nonTerminalToParse + choice]].mName) ; - gCout.appendCString (", file '") ; - gCout.appendCString (inProductionNameArray [inFirstProductionIndexArray [nonTerminalToParse + choice]].mFileName) ; - gCout.appendCString ("', line ") ; - gCout.appendUnsigned (inProductionNameArray [inFirstProductionIndexArray [nonTerminalToParse + choice]].mLineNumber) ; - gCout.appendNewLine () ; - indentationForParseOnly ++ ; - } - listForSecondPassParsing.appendObject (choice + 1) ; - }else{ // Syntax error - TC_UniqueArray expectedTerminalsArray (100 COMMA_HERE) ; - buildExpectedTerminalsArrayOnSyntaxError (errorProgramCounter, - errorStackCount, - stack, - errorStack, - inProductionArray, - inProductionIndexArray, - inFirstProductionIndexArray, - inDecisionTableArray, - inDecisionTableIndexArray, - expectedTerminalsArray) ; - if (TRACE_LL1_PARSING ()) { - gCout.appendSigned (expectedTerminalsArray.count ()) ; - gCout.appendCString (" Token(s) in syntax error message\n") ; - gCout.flush () ; - } - parsingError (expectedTerminalsArray, previousTokenPtr, tokenPtr, currentToken LINE_AND_SOURCE_FILE_FOR_LEXIQUE) ; - result = loop = false ; - listForSecondPassParsing.removeAllKeepingCapacity () ; - } - } - //--- It is a terminal symbol - }else if (instruction > 0) { - const int32_t terminalSymbol = int32_t (instruction - 1) ; - if (currentToken == terminalSymbol) { - if (executionModeIsSyntaxAnalysisOnly ()) { - indentForParseOnly (indentationForParseOnly) ; - gCout.appendString (getCurrentTokenString (tokenPtr)) ; - gCout.appendNewLine () ; - } - currentToken = -1 ; // Ok, current terminal symbol is no longer available - if (produceSyntaxTree) { - syntaxTreeDescriptionString.appendCString (" T") ; - syntaxTreeDescriptionString.appendUnsigned (uniqueTerminalIndex) ; - syntaxTreeDescriptionString.appendCString (" [shape=ellipse, label=") ; - syntaxTreeDescriptionString.appendStringAsCLiteralStringConstant (getCurrentTokenString (tokenPtr)) ; - syntaxTreeDescriptionString.appendCString ("];\n") ; - syntaxTreeDescriptionString.appendCString (" NT") ; - syntaxTreeDescriptionString.appendUnsigned (currentProductionName) ; - syntaxTreeDescriptionString.appendCString (" -> T") ; - syntaxTreeDescriptionString.appendUnsigned (uniqueTerminalIndex) ; - syntaxTreeDescriptionString.appendCString (";\n") ; - uniqueTerminalIndex ++ ; - } - errorStackCount = stack.count () ; - errorStack.removeAllKeepingCapacity () ; - errorProgramCounter = programCounter ; - }else{ // Error ! - if (TRACE_LL1_PARSING ()) { - gCout.appendCString ("ERROR: TOKEN NOT EXPECTED\n") ; gCout.flush () ; - } - TC_UniqueArray expectedTerminalsArray (100 COMMA_HERE) ; - buildExpectedTerminalsArrayOnSyntaxError (errorProgramCounter, - errorStackCount, - stack, - errorStack, - inProductionArray, - inProductionIndexArray, - inFirstProductionIndexArray, - inDecisionTableArray, - inDecisionTableIndexArray, - expectedTerminalsArray) ; - parsingError (expectedTerminalsArray, previousTokenPtr, tokenPtr, currentToken LINE_AND_SOURCE_FILE_FOR_LEXIQUE) ; - result = loop = false ; - listForSecondPassParsing.removeAllKeepingCapacity () ; - } - //--- It is the end of a production - }else if (stack.count () > 0) { - if (TRACE_LL1_PARSING ()) { - gCout.appendCString ("END OF PRODUCTION REACHED\n") ; gCout.flush () ; - } - programCounter = stack.lastObject (HERE) ; - if (errorStackCount >= stack.count ()) { - errorStack.appendObject (programCounter) ; - } - stack.removeLastObject (HERE) ; - if (produceSyntaxTree) { - currentProductionName = productionUniqueNameStack.lastObject (HERE) ; - productionUniqueNameStack.removeLastObject (HERE) ; - } - if (executionModeIsSyntaxAnalysisOnly ()) { - indentationForParseOnly -- ; - } - //--- End of start symbol analysis - }else if (currentToken == 0) { // We got the "end of text" non terminal : ok - loop = false ; - }else{ // We reach the end of text, but current terminal is not "end of text" - //--- This is a syntax error - TC_UniqueArray expectedTerminalsArray (100 COMMA_HERE) ; - buildExpectedTerminalsArrayOnSyntaxError (errorProgramCounter, - errorStackCount, - stack, - errorStack, - inProductionArray, - inProductionIndexArray, - inFirstProductionIndexArray, - inDecisionTableArray, - inDecisionTableIndexArray, - expectedTerminalsArray) ; - parsingError (expectedTerminalsArray, previousTokenPtr, tokenPtr, currentToken LINE_AND_SOURCE_FILE_FOR_LEXIQUE) ; - result = loop = false ; - listForSecondPassParsing.removeAllKeepingCapacity () ; - } - } - //--- Output graphviz file - if (produceSyntaxTree) { - syntaxTreeDescriptionString.appendCString ("}\n") ; - const String dotFilePath = sourceFilePath ().stringByDeletingPathExtension () + String (".dot") ; - GALGAS_bool fileWritten ; - GALGAS_string (syntaxTreeDescriptionString).method_writeToFileWhenDifferentContents (GALGAS_string (dotFilePath), fileWritten, this COMMA_HERE) ; - } - //--- Set current read location to 0 - listForSecondPassParsing.copyTo (mArrayForSecondPassParsing) ; - resetForSecondPass () ; - if (executionModeIsSyntaxAnalysisOnly ()) { - gCout.appendCString ("*** END OF PARSING (success: ") ; - gCout.appendString (result ? "yes" : "no") ; - gCout.appendCString (") ***\n") ; - } - } -//--- - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Bottom up parsing -#endif - -//-------------------------------------------------------------------------------------------------- -// -// Test if a given terminal symbol can be accepted for signaling an error (for bottom-up parsing) -// -//-------------------------------------------------------------------------------------------------- - -static bool acceptExpectedTerminalForBottomUpParsingError (const int32_t inExpectedTerminal, - const int32_t inExpectedAction, - const TC_Array & inSLRstack, - const int32_t * inActionTableArray, - const uint32_t * inActionTableIndexArray, - const int32_t * * inSuccessorTableArray, - const int32_t * inProductionsTableArray) { - bool accept = inExpectedAction > 1 ; // accept if it is a shift action - if (! accept) { - int32_t actionCode = inExpectedAction ; - TC_Array stack (inSLRstack) ; // Duplicate stack - bool loop = true ; - while (loop) { - //--- Perform reduce action - const int32_t reduceAction = (int32_t) (- actionCode - 1) ; - macroAssert (reduceAction >= 0, "reduceAction (%lld) < 0", reduceAction, 0) ; - const int32_t nonTerminal = inProductionsTableArray [2 * reduceAction] ; - const int32_t reduceSize = inProductionsTableArray [2 * reduceAction + 1] ; - stack.removeLastObjects (2 * reduceSize COMMA_HERE) ; - //--- Get Successor state - const int32_t tempCurrentState = stack.lastObject (HERE) ; - macroAssert (tempCurrentState >= 0, "tempCurrentState (%lld) < 0", tempCurrentState, 0) ; - const int32_t * successorTable = inSuccessorTableArray [tempCurrentState] ; - int32_t newCurrentState = -1 ; - while ((newCurrentState < 0) && ((* successorTable) >= 0)) { - if ((* successorTable) == nonTerminal) { - successorTable ++ ; - newCurrentState = (* successorTable) ; - } - successorTable += 2 ; - } - macroAssert (newCurrentState >= 0, "newCurrentState (%lld) < 0", newCurrentState, 0) ; - stack.appendObject (-1) ; // Enter any value - stack.appendObject (newCurrentState) ; // Enter next current state - //--- In the state, find action corresponding to expected terminal - const int32_t currentState = stack (stack.count () - 1 COMMA_HERE) ; - macroAssert (currentState >= 0, "currentState (%lld) < 0", currentState, 0) ; - const int32_t * actionTable = & (inActionTableArray [inActionTableIndexArray [currentState]]) ; - actionCode = 0 ; - while (((* actionTable) >= 0) && (actionCode == 0)) { - if ((* actionTable) == inExpectedTerminal) { - actionTable ++ ; - actionCode = (* actionTable) ; - } - actionTable += 2 ; - } - //--- action == 0 means the terminal is not expected : exit from loop, and return false - //--- actionCode > 0 means a shift action is done : so the terminal is accepted : exit and return true - //--- actionCode < 0 means a reduce action is done, don't exit, and perform the reduce action - loop = actionCode < 0 ; - accept = actionCode > 0 ; - } - } - return accept ; -} - -//-------------------------------------------------------------------------------------------------- -// -// Perform bottom up parsing (called by SLR and LR (1) parsers) -// -//-------------------------------------------------------------------------------------------------- - -bool Lexique::performBottomUpParsing (const int32_t * inActionTableArray, - const char * * inNonTerminalSymbolNameArray, - const uint32_t * inActionTableIndexArray, - const int32_t * * inSuccessorTableArray, - const int32_t * inProductionsTableArray) { - bool result = false ; - performLexicalAnalysis () ; - if (! executionModeIsLexicalAnalysisOnly ()) { - if (executionModeIsSyntaxAnalysisOnly ()) { - gCout.appendCString ("*** PERFORM BOTTOM-UP PARSING ONLY (--mode=syntax-only option) ***\n" - " Initial State: S0\n") ; - } - //--- Variables for generating syntax tree in a form suitable for graphviz - const bool produceSyntaxTree = gOption_galgas_5F_builtin_5F_options_outputConcreteSyntaxTree.mValue - && (sourceFilePath ().stringByDeletingPathExtension () != "") ; - String syntaxTreeDescriptionString ; - TC_Array shiftedElementStack ; - shiftedElementStack.appendObject ("TOP") ; - uint32_t uniqueTerminalIndex = 0 ; - uint32_t currentProductionName = 0 ; - if (produceSyntaxTree) { - syntaxTreeDescriptionString.appendCString ("digraph G {\n" - " size =\"4,4\";\n") ; - } - //--- Perform first pass - TC_UniqueArray > executionList (100 COMMA_HERE) ; - executionList.appendDefaultObjectUsingSwap () ; - - TC_Array stack (10000 COMMA_HERE) ; - stack.appendObject (0) ; // Enter initial state - int32_t errorSignalingUselessEntryOnTopOfStack = 0 ; - TC_Array poppedErrors (1000 COMMA_HERE) ; - cToken * previousTokenPtr = nullptr ; - cToken * tokenPtr = mFirstToken ; - - int32_t currentToken = -1 ; - if (tokenPtr == nullptr) { - mCurrentLocation.resetLocation () ; - }else{ - currentToken = tokenPtr->mTokenCode ; - mCurrentLocation = tokenPtr->mEndLocation ; - } - bool loop = true ; - result = true ; - while (loop) { - if (currentToken < 0) { - if (tokenPtr == nullptr) { - currentToken = 0 ; // 0 means end of source file - }else{ - previousTokenPtr = tokenPtr ; - tokenPtr = tokenPtr->mNextToken ; - currentToken = 0 ; - if (tokenPtr != nullptr) { - mCurrentLocation = tokenPtr->mEndLocation ; - currentToken = tokenPtr->mTokenCode ; - } - } - } - //--- Get Action code ----------------------------------- - const int32_t currentState = stack.lastObject (HERE) ; - macroAssert (currentState >= 0, "currentState (%lld) < 0", currentState, 0) ; - const int32_t * actionTable = & (inActionTableArray [inActionTableIndexArray [currentState]]) ; - int32_t actionCode = 0 ; - while ((actionCode == 0) && ((* actionTable) >= 0)) { - if ((* actionTable) == currentToken) { - actionTable += 1 ; - actionCode = (* actionTable) ; - } - actionTable += 2 ; - } - //--- Decision from action code value - if (actionCode > 1) { - //--- Token has been used - currentToken = -1 ; - //--- Shift action ------------------------------------ - actionCode = int32_t (actionCode - 2) ; - stack.appendObject (-1) ; // Enter any value - stack.appendObject (actionCode) ; // Enter next current state - poppedErrors.removeAllKeepingCapacity () ; - errorSignalingUselessEntryOnTopOfStack = 0 ; - executionList.appendDefaultObjectUsingSwap () ; - //--- - if (produceSyntaxTree) { - String terminalUniqueName ; - terminalUniqueName.appendCString ("T") ; - terminalUniqueName.appendUnsigned (uniqueTerminalIndex) ; - syntaxTreeDescriptionString.appendCString (" ") ; - syntaxTreeDescriptionString.appendString (terminalUniqueName) ; - syntaxTreeDescriptionString.appendCString (" [shape=ellipse, label=") ; - syntaxTreeDescriptionString.appendStringAsCLiteralStringConstant (getCurrentTokenString (tokenPtr)) ; - syntaxTreeDescriptionString.appendCString ("];\n") ; - shiftedElementStack.appendObject (terminalUniqueName) ; - uniqueTerminalIndex ++ ; - } - //--- Parse Only : print terminal symbol - if (executionModeIsSyntaxAnalysisOnly ()) { - gCout.appendCString (" [S") ; - gCout.appendSigned (currentState) ; - gCout.appendCString (", ") ; - gCout.appendString (getCurrentTokenString (tokenPtr)) ; - gCout.appendCString ("] |- Shift -> S") ; - gCout.appendSigned (actionCode) ; - gCout.appendNewLine () ; - } - }else if (actionCode < 0) { - //--- Reduce action ------------------------------------ - actionCode = - actionCode - 1 ; - macroAssert (actionCode >= 0, "actionCode (%lld) < 0", actionCode, 0) ; - const int32_t nonTerminal = inProductionsTableArray [2 * actionCode] ; - const int32_t reduceSize = inProductionsTableArray [2 * actionCode + 1] ; - const int32_t executionListLength = executionList.count () ; - for (int32_t i=executionListLength - reduceSize ; i 0) { - errorSignalingUselessEntryOnTopOfStack -- ; - }else{ - poppedErrors.appendObject (stack.lastObject (HERE)) ; - } - stack.removeLastObject (HERE) ; - } - if (produceSyntaxTree) { - for (int32_t i=0 ; i ") ; - syntaxTreeDescriptionString.appendString (shiftedElementStack.lastObject (HERE)) ; - syntaxTreeDescriptionString.appendCString (";\n") ; - shiftedElementStack.removeLastObject (HERE) ; - } - } - //--- Get Successor state - const int32_t tempCurrentState = stack.lastObject (HERE) ; - macroAssert (tempCurrentState >= 0, "tempCurrentState (%lld) < 0", tempCurrentState, 0) ; - const int32_t * successorTable = inSuccessorTableArray [tempCurrentState] ; - int32_t newCurrentState = -1 ; - while ((newCurrentState < 0) && ((* successorTable) >= 0)) { - if ((* successorTable) == nonTerminal) { - successorTable ++ ; - newCurrentState = (* successorTable) ; - } - successorTable += 2 ; - } - macroAssert (newCurrentState >= 0, "newCurrentState (%lld) < 0", newCurrentState, 0) ; - stack.appendObject (-1) ; // Enter any value - stack.appendObject (newCurrentState) ; // Enter next current state - errorSignalingUselessEntryOnTopOfStack += 2 ; - if (produceSyntaxTree) { - String uniqueProductionName ; - uniqueProductionName.appendCString ("NT") ; - uniqueProductionName.appendUnsigned (currentProductionName) ; - syntaxTreeDescriptionString.appendCString (" ") ; - syntaxTreeDescriptionString.appendString (uniqueProductionName) ; - syntaxTreeDescriptionString.appendCString (" [label=\"") ; - syntaxTreeDescriptionString.appendString (inNonTerminalSymbolNameArray [nonTerminal]) ; - syntaxTreeDescriptionString.appendCString ("\", shape=box];\n") ; - shiftedElementStack.appendObject (uniqueProductionName) ; - currentProductionName ++ ; - } - if (executionModeIsSyntaxAnalysisOnly ()) { - gCout.appendCString (" [S") ; - gCout.appendSigned (currentState) ; - gCout.appendCString (", ") ; - gCout.appendString (getCurrentTokenString (tokenPtr)) ; - gCout.appendCString ("] |- Reduce ") ; - gCout.appendString (inNonTerminalSymbolNameArray [nonTerminal]) ; - gCout.appendCString (" -> S") ; - gCout.appendSigned (newCurrentState) ; - gCout.appendNewLine () ; - } - }else if (actionCode == 1) { - //--- Accept action ----------------------------------- - loop = false ; - executionList (0 COMMA_HERE).appendObjectsFromArray (executionList (1 COMMA_HERE)) ; - executionList (1 COMMA_HERE).removeAllKeepingCapacity () ; - if (executionModeIsSyntaxAnalysisOnly ()) { - gCout.appendCString (" [S") ; - gCout.appendSigned (currentState) ; - gCout.appendCString (", ") ; - gCout.appendString (getCurrentTokenString (tokenPtr)) ; - gCout.appendCString ("] : Accept\n") ; - } - }else{ - //--- Parsing error ----------------------------------- - result = false ; - loop = false ; - //--- Build error stack - TC_Array actualErrorStack (stack.count () + poppedErrors.count () COMMA_HERE) ; - for (int32_t i=0 ; i<(stack.count () - errorSignalingUselessEntryOnTopOfStack) ; i++) { - actualErrorStack.appendObject (stack (i COMMA_HERE)) ; - } - for (int32_t i=poppedErrors.count () - 1 ; i>=0 ; i--) { - actualErrorStack.appendObject (poppedErrors (i COMMA_HERE)) ; - } - //--- - TC_UniqueArray expectedTerminalsArray (100 COMMA_HERE) ; - const int32_t currentErrorState = actualErrorStack.lastObject (HERE) ; - actionTable = & (inActionTableArray [inActionTableIndexArray [currentErrorState]]) ; - while ((* actionTable) >= 0) { - const int32_t expectedTerminal = * actionTable ; - actionTable += 1 ; - const int32_t expectedAction = * actionTable ; - actionTable += 1 ; - const bool terminalAccepted = acceptExpectedTerminalForBottomUpParsingError ( - expectedTerminal, - expectedAction, - actualErrorStack, - inActionTableArray, - inActionTableIndexArray, - inSuccessorTableArray, - inProductionsTableArray - ) ; - if (terminalAccepted) { - expectedTerminalsArray.appendObject (expectedTerminal) ; - } - } - parsingError (expectedTerminalsArray, previousTokenPtr, tokenPtr, currentToken LINE_AND_SOURCE_FILE_FOR_LEXIQUE) ; - } - } - if (result) { - executionList (0 COMMA_HERE).copyTo (mArrayForSecondPassParsing) ; - } - //--- Output graphviz file - if (produceSyntaxTree) { - syntaxTreeDescriptionString.appendCString ("}\n") ; - const String dotFilePath = sourceFilePath ().stringByDeletingPathExtension () + ".dot" ; - GALGAS_bool fileWritten ; - GALGAS_string (syntaxTreeDescriptionString).method_writeToFileWhenDifferentContents (GALGAS_string (dotFilePath), fileWritten, this COMMA_HERE) ; - } - if (executionModeIsSyntaxAnalysisOnly ()) { - gCout.appendCString ("*** END OF PARSING (success: ") ; - gCout.appendString (result ? "yes" : "no") ; - gCout.appendCString (") ***\n") ; - } - //--- Set current read location to 0 - resetForSecondPass () ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/Lexique.cpp b/goil/build/libpm/galgas2/Lexique.cpp deleted file mode 100644 index 978803942..000000000 --- a/goil/build/libpm/galgas2/Lexique.cpp +++ /dev/null @@ -1,869 +0,0 @@ -//-------------------------------------------------------------------------------------------------- -// -// 'Lexique' : an abstract lexique class ; -// Galgas generated scanner classes inherit from this class. -// -// This file is part of libpm library -// -// Copyright (C) 1996, ..., 2024 Pierre Molinaro. -// -// e-mail : pierre@pcmolinaro.name -// -// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General -// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) -// any later version. -// -// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied -// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -// more details. -// -//-------------------------------------------------------------------------------------------------- - -#include "Lexique.h" -#include "all-predefined-types.h" -#include "MF_MemoryControl.h" -#include "unicode_character_cpp.h" -#include "C_galgas_CLI_Options.h" -#include "cIndexingDictionary.h" -#include "FileManager.h" -#include "F_verbose_output.h" - -//-------------------------------------------------------------------------------------------------- - -#include -#include -#include -#include - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Constructors, Destructor -#endif - -//-------------------------------------------------------------------------------------------------- - -cTemplateDelimiter::cTemplateDelimiter (const std::initializer_list & inStartString, - const int32_t inStartStringLength, - const std::initializer_list & inEndString, - const int32_t inEndStringLength, - void (* inReplacementFunction) (Lexique & inLexique, const String & inElementString, String & ioTemplateString), - const bool inDiscardStartString) : -mStartString (inStartString), -mStartStringLength (inStartStringLength), -mEndString (inEndString), -mEndStringLength (inEndStringLength), -mReplacementFunction (inReplacementFunction), -mDiscardStartString (inDiscardStartString) { -} - -//-------------------------------------------------------------------------------------------------- - -cTemplateDelimiter::cTemplateDelimiter (const cTemplateDelimiter & inOperand) : -mStartString (inOperand.mStartString), -mStartStringLength (inOperand.mStartStringLength), -mEndString (inOperand.mEndString), -mEndStringLength (inOperand.mEndStringLength), -mReplacementFunction (inOperand.mReplacementFunction), -mDiscardStartString (inOperand.mDiscardStartString) { -} - -//-------------------------------------------------------------------------------------------------- - -Lexique::Lexique (Compiler * inCallerCompiler, - const String & inSourceFileName - COMMA_LOCATION_ARGS) : -Compiler (inCallerCompiler COMMA_THERE), -mIndexingDictionary (nullptr), -mFirstToken (nullptr), -mLastToken (nullptr), -mCurrentTokenPtr (nullptr), -mLastSeparatorIndex (0), -mCurrentChar (TO_UNICODE ('\0')), -mPreviousChar (TO_UNICODE ('\0')), -mTokenStartLocation (), -mTokenEndLocation (), -mTriggerNonTerminalSymbolList (), -mDebugDepthCounter (0), -mDebugIsRunning (false), -mArrayForSecondPassParsing (), -mIndexForSecondPassParsing (0), -mLatexOutputString (), -mLatexNextCharacterToEnterIndex (0) { -//--- - if (inSourceFileName.length () > 0) { - logFileRead (inSourceFileName) ; - bool ok = false ; - PMTextFileEncoding textFileEncoding ; - const String sourceString = FileManager::stringWithContentOfFile (inSourceFileName, textFileEncoding, ok) ; - if (ok) { - const SourceTextInString source (sourceString, - inSourceFileName, - false) ; // Do not print source string - resetAndLoadSourceFromText (source) ; - mTokenStartLocation.resetWithSourceText (source) ; - mTokenEndLocation.resetWithSourceText (source) ; - }else if (inCallerCompiler != nullptr) { - String errorMessage = "cannot read '" ; - errorMessage.appendString (inSourceFileName) ; - errorMessage.appendCString ("': this file does not exist or is not encoded in UTF8") ; - inCallerCompiler->onTheFlyRunTimeError (errorMessage COMMA_THERE) ; - } - } - mCurrentChar = sourceText ().readCharOrNul (0 COMMA_HERE) ; -} - -//-------------------------------------------------------------------------------------------------- - -Lexique::Lexique (Compiler * inCallerCompiler, - const String & inSourceString, - const String & inStringForError - COMMA_LOCATION_ARGS) : -Compiler (inCallerCompiler COMMA_THERE), -mIndexingDictionary (nullptr), -mFirstToken (nullptr), -mLastToken (nullptr), -mCurrentTokenPtr (nullptr), -mLastSeparatorIndex (0), -mCurrentChar (TO_UNICODE ('\0')), -mPreviousChar (TO_UNICODE ('\0')), -mTokenStartLocation (), -mTokenEndLocation (), -mTriggerNonTerminalSymbolList (), -mDebugDepthCounter (0), -mDebugIsRunning (false), -mArrayForSecondPassParsing (), -mIndexForSecondPassParsing (0), -mLatexOutputString (), -mLatexNextCharacterToEnterIndex (0) { - const SourceTextInString source (inSourceString, inStringForError, verboseOutput ()) ; - resetAndLoadSourceFromText (source) ; - mTokenStartLocation.resetWithSourceText (source) ; - mTokenEndLocation.resetWithSourceText (source) ; - mCurrentChar = sourceText ().readCharOrNul (0 COMMA_HERE) ; -} - -//-------------------------------------------------------------------------------------------------- - -Lexique::~Lexique (void) { - macroMyDelete (mIndexingDictionary) ; - mLastToken = nullptr ; - mCurrentTokenPtr = nullptr ; - while (mFirstToken != nullptr) { - cToken * p = mFirstToken->mNextToken ; - macroMyDelete (mFirstToken) ; - mFirstToken = p ; - } -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Scanner configuration -#endif - -//-------------------------------------------------------------------------------------------------- - -void Lexique::appendLastSeparatorTo (String & ioString) const { - if (nullptr != mLastToken) { - const int32_t lastSeparatorStart = mLastToken->mEndLocation.index () + 1 ; - const String lastSeparatorString = sourceText ().sourceString ().subStringFromIndex (lastSeparatorStart) ; - ioString.appendString (lastSeparatorString) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void Lexique::enterTokenFromPointer (cToken * inToken) { - macroValidPointer (inToken) ; -//--- Append separator and comments - const int32_t tokenStart = mTokenStartLocation.index () ; - if (tokenStart > mLastSeparatorIndex) { - const String sep = sourceText ().sourceString ().subString (mLastSeparatorIndex, tokenStart -mLastSeparatorIndex) ; - inToken->mSeparatorStringBeforeToken.appendString (sep) ; - } - mLastSeparatorIndex = mTokenEndLocation.index () + 1 ; -//--- Enter token in token list - if (mLastToken == nullptr) { - mFirstToken = inToken ; - }else{ - mLastToken->mNextToken = inToken ; - } - mLastToken = inToken ; -//--- - if (executionModeIsLexicalAnalysisOnly ()) { - String s ; - for (int32_t i=inToken->mStartLocation.index () ; i<=inToken->mEndLocation.index () ; i++) { - const utf32 c = sourceText ().readCharOrNul (i COMMA_HERE) ; - if (UNICODE_VALUE (c) != '\0') { - s.appendChar (c) ; - } - } - gCout.appendCString (" ") ; - gCout.appendString (getCurrentTokenString (inToken)) ; - gCout.appendCString (", from location ") ; - gCout.appendSigned (inToken->mStartLocation.index ()) ; - gCout.appendCString (" (line ") ; - gCout.appendSigned (inToken->mStartLocation.lineNumber ()) ; - gCout.appendCString (", column ") ; - gCout.appendSigned (inToken->mStartLocation.columnNumber ()) ; - gCout.appendCString (")") ; - gCout.appendCString (" to location ") ; - gCout.appendSigned (inToken->mEndLocation.index ()) ; - gCout.appendCString (" (line ") ; - gCout.appendSigned (inToken->mEndLocation.lineNumber ()) ; - gCout.appendCString (", column ") ; - gCout.appendSigned (inToken->mEndLocation.columnNumber ()) ; - gCout.appendCString (")") ; - if (inToken->mTemplateStringBeforeToken.length () > 0) { - gCout.appendCString (", template '") ; - gCout.appendString (inToken->mTemplateStringBeforeToken) ; - gCout.appendCString ("'") ; - } - gCout.appendNewLine () ; ; - }else if (executionModeIsLatex ()) { - while (mLatexNextCharacterToEnterIndex < inToken->mStartLocation.index ()) { - const utf32 c = sourceText ().readCharOrNul (mLatexNextCharacterToEnterIndex COMMA_HERE) ; - appendCharacterToLatexFile (c) ; - mLatexNextCharacterToEnterIndex += 1 ; - } - const String styleName = styleNameForIndex (styleIndexForTerminal (inToken->mTokenCode)) ; - if (styleName.length () > 0) { - mLatexOutputString.appendCString ("\\") ; - mLatexOutputString.appendString (styleName) ; - mLatexOutputString.appendString (latexModeStyleSuffixString ()) ; - mLatexOutputString.appendCString ("{") ; - } - for (int32_t i=inToken->mStartLocation.index () ; i<=inToken->mEndLocation.index () ; i++) { - const utf32 c = sourceText ().readCharOrNul (i COMMA_HERE) ; - if (UNICODE_VALUE (c) != '\0') { - appendCharacterToLatexFile (c) ; - } - } - if (styleName.length () > 0) { - mLatexOutputString.appendCString ("}") ; - } - //--- - mLatexNextCharacterToEnterIndex = inToken->mEndLocation.index () + 1 ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void Lexique::resetForSecondPass (void) { - mCurrentLocation.resetWithSourceText (sourceText ()) ; - mCurrentChar = sourceText ().readCharOrNul (0 COMMA_HERE) ; - mPreviousChar = TO_UNICODE ('\0') ; - mCurrentTokenPtr = mFirstToken ; - if (mCurrentTokenPtr != nullptr) { - mStartLocationForHere = mCurrentTokenPtr->mStartLocation ; - mEndLocationForHere = mCurrentTokenPtr->mEndLocation ; - mStartLocationForNext = mCurrentTokenPtr->mStartLocation ; - mEndLocationForNext = mCurrentTokenPtr->mEndLocation ; - mTemplateString.appendString (mCurrentTokenPtr->mTemplateStringBeforeToken) ; - mCurrentLocation = mCurrentTokenPtr->mEndLocation ; - } -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Template Delimiter Scanning -#endif - -//-------------------------------------------------------------------------------------------------- - -int32_t Lexique::findTemplateDelimiterIndex (const cTemplateDelimiter * inTemplateDelimiterArray, - const int32_t inTemplateDelimiterArrayLength) { - int32_t templateIndex = 0 ; - bool found = false ; - - while ((templateIndex < inTemplateDelimiterArrayLength) && ! found) { - found = testForInputUTF32String (inTemplateDelimiterArray [templateIndex].mStartString, - inTemplateDelimiterArray [templateIndex].mDiscardStartString) ; - templateIndex += 1 ; - } - templateIndex -= 1 ; - if (! found) { - templateIndex = -1 ; - } - return templateIndex ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Lexical Analysis -#endif - -//-------------------------------------------------------------------------------------------------- -// -// performLexicalAnalysis -// -//-------------------------------------------------------------------------------------------------- - -void Lexique::performLexicalAnalysis (void) { - if (executionModeIsLexicalAnalysisOnly ()) { - gCout.appendCString ("*** PERFORM LEXICAL ANALYSIS ONLY (--mode=lexical-only option) ***\n") ; - } - bool loop = true ; - while (loop) { - loop = parseLexicalToken () ; - } - if (executionModeIsLexicalAnalysisOnly ()) { - gCout.appendCString ("*** END OF LEXICAL ANALYSIS ***\n") ; - }else if (executionModeIsLatex ()) { - generateLatexFile () ; - } -} - -//-------------------------------------------------------------------------------------------------- -// -// Methods for scanning -// -//-------------------------------------------------------------------------------------------------- - -void Lexique::advance (void) { - mTokenEndLocation = mCurrentLocation ; - mPreviousChar = mCurrentChar ; - if (UNICODE_VALUE (mCurrentChar) != '\0') { - mCurrentLocation.gotoNextLocation () ; - mCurrentChar = sourceText ().readCharOrNul (mCurrentLocation.index () COMMA_HERE) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void Lexique::advance (const int32_t inCount) { - for (int32_t i=0 ; i & inTestCstring, - const bool inAdvanceOnMatch) { -//--- Test - bool ok = true ; - int32_t i = 0 ; - for (auto it = inTestCstring.begin () ; (it != inTestCstring.end ()) && ok ; it++) { - ok = UNICODE_VALUE (sourceText ().readCharOrNul (mCurrentLocation.index () + i COMMA_HERE)) == UNICODE_VALUE (* it) ; - i += 1 ; - } -//--- Avancer dans la lecture si test ok et fin de source non atteinte - if (ok && inAdvanceOnMatch) { - advance (int32_t (inTestCstring.size ())) ; - } -//--- - return ok ; -} - -//-------------------------------------------------------------------------------------------------- - -bool Lexique::notTestForInputUTF32String (const std::initializer_list & inTestCstring, - const char * inEndOfFileErrorMessage - COMMA_LOCATION_ARGS) { - bool ok = UNICODE_VALUE (sourceText ().readCharOrNul (mCurrentLocation.index () COMMA_HERE)) != '\0' ; - if (! ok) { // End of input file reached - lexicalError (inEndOfFileErrorMessage COMMA_THERE) ; - }else{ - //--- Test - ok = false ; - int32_t i = 0 ; - for (auto it = inTestCstring.begin () ; (it != inTestCstring.end ()) && ! ok ; it++) { - ok = UNICODE_VALUE (sourceText ().readCharOrNul (mCurrentLocation.index () + i COMMA_HERE)) != UNICODE_VALUE (* it) ; - i += 1 ; - } - if (ok) { - advance () ; - }else{ - advance (int32_t (inTestCstring.size ())) ; - } - } -//--- - return ok ; -} - -//-------------------------------------------------------------------------------------------------- - -void Lexique::lexicalLog (LOCATION_ARGS) { - String message ; - message.appendCString ("LEXICAL LOG:'") ; - message.appendStringAsCLiteralCharConstant (mCurrentChar) ; - message.appendCString ("'\n") ; - printMessage (message COMMA_THERE) ; -} - -//-------------------------------------------------------------------------------------------------- -// -// Search in an ordered list (used for searching into scanner generated tables) -// -//-------------------------------------------------------------------------------------------------- - -int32_t Lexique::searchInList (const String & inString, - const C_unicode_lexique_table_entry * inTableArray, - const int32_t inTableSize) { - const int32_t searchedStringLength = inString.length () ; - int32_t code = -1 ; // -1 means 'not found' - int32_t bottom = 0 ; - int32_t top = inTableSize - 1 ; - - while ((code < 0) && (top >= bottom)) { - const int32_t index = (bottom + top) / 2 ; - int32_t result = searchedStringLength - int32_t (inTableArray [index].mEntryString.size ()) ; - if (result == 0) { - result = inString.compareWithInitializerList (inTableArray [index].mEntryString) ; - } - if (result < 0) { // < - top = index - 1 ; - }else if (result > 0) { // > - bottom = index + 1 ; - }else{ - code = inTableArray [index].mTokenCode ; - } - } - return code ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Handling an error -#endif - -//-------------------------------------------------------------------------------------------------- - -void Lexique::internalBottomUpParserError (LOCATION_ARGS) { - #ifndef DO_NOT_GENERATE_CHECKINGS - printf ("*** Fatal error: Internal bottom-up parser error at line %d of file '%s'.\n", IN_SOURCE_LINE, IN_SOURCE_FILE) ; - #else - printf ("*** Fatal error: Internal bottom-up parser error.\n") ; - #endif - exit (1) ; -} - -//-------------------------------------------------------------------------------------------------- -// -// Lexical error -// -//-------------------------------------------------------------------------------------------------- - -void Lexique::unknownCharacterLexicalError (LOCATION_ARGS) { - String errorMessage ; - errorMessage.appendCString ("Unknown character: ") ; - errorMessage.appendString (unicodeName (mCurrentChar)) ; - errorMessage.appendCString (" (Unicode ") ; - errorMessage.appendUnsigned0xHex (UNICODE_VALUE (mCurrentChar)) ; - errorMessage.appendCString (")") ; - lexicalError (errorMessage COMMA_THERE) ; -} - -//-------------------------------------------------------------------------------------------------- - -void Lexique::lexicalError (const String & inLexicalErrorMessage - COMMA_LOCATION_ARGS) { - signalLexicalError (this, sourceText (), C_IssueWithFixIt (mCurrentLocation, mCurrentLocation, TC_Array ()), inLexicalErrorMessage COMMA_THERE) ; - if (executionModeIsLatex ()) { - signalLexicalErrorInLatexOutput () ; - } - throw C_lexicalErrorException () ; -} - -//-------------------------------------------------------------------------------------------------- -// -// Signaler une erreur syntaxique -// -//-------------------------------------------------------------------------------------------------- - -void Lexique::parsingError (const TC_UniqueArray & inExpectedTerminalsArray, - const cToken * inPreviousTokenPtr, - const cToken * inCurrentTokenPtr, - const int32_t inCurrentTokenCode - COMMA_LOCATION_ARGS) { -//--- Build error message - String foundTokenMessage = getMessageForTerminal (inCurrentTokenCode) ; - const int32_t expectedTerminalsCount = inExpectedTerminalsArray.count () ; - TC_UniqueArray expectedTokenNames (expectedTerminalsCount, String () COMMA_HERE) ; - for (int32_t i=0 ; imEndLocation, - C_IssueWithFixIt (inCurrentTokenPtr->mStartLocation, inCurrentTokenPtr->mEndLocation, TC_Array ()), - foundTokenMessage, - expectedTokenNames - COMMA_THERE - ) ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Scanner warning -#endif - -//-------------------------------------------------------------------------------------------------- - -void Lexique::lexicalWarning (const String & inLexicalWarningMessage - COMMA_LOCATION_ARGS) { - signalLexicalWarning ( - this, - sourceText (), - C_IssueWithFixIt (mCurrentLocation, mCurrentLocation, TC_Array ()), - inLexicalWarningMessage - COMMA_THERE - ) ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Second pass methods -#endif - -//-------------------------------------------------------------------------------------------------- -// -// Get next production index -// -//-------------------------------------------------------------------------------------------------- - -int32_t Lexique::nextProductionIndex (void) { - int32_t result = 0 ; - if (mIndexForSecondPassParsing < mArrayForSecondPassParsing.count ()) { - result = mArrayForSecondPassParsing (mIndexForSecondPassParsing COMMA_HERE) ; - mIndexForSecondPassParsing += 1 ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -String Lexique::separatorString (void) const { - String result ; - if (mCurrentTokenPtr != nullptr) { - result = mCurrentTokenPtr->mSeparatorStringBeforeToken ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -String Lexique::tokenString (void) const { - String result ; - if (mCurrentTokenPtr != nullptr) { - const int32_t tokenStart = mCurrentTokenPtr->mStartLocation.index () ; - const int32_t tokenLength = mCurrentTokenPtr->mEndLocation.index () - tokenStart + 1 ; - result = sourceText ().sourceString ().subString (tokenStart, tokenLength) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- -// -// Accept current token by shifting it -// -//-------------------------------------------------------------------------------------------------- - -#ifndef DO_NOT_GENERATE_CHECKINGS - #define IN_EXPECTED_TERMINAL inExpectedTerminal -#else - #define IN_EXPECTED_TERMINAL -#endif - -//-------------------------------------------------------------------------------------------------- - -void Lexique::acceptTerminal (const int32_t IN_EXPECTED_TERMINAL - COMMA_LOCATION_ARGS) { - #ifndef DO_NOT_GENERATE_CHECKINGS - int32_t currentTokenCode = 0 ; - #endif - if (mCurrentTokenPtr != nullptr) { - #ifndef DO_NOT_GENERATE_CHECKINGS - currentTokenCode = mCurrentTokenPtr->mTokenCode ; - #endif - mStartLocationForHere = mCurrentTokenPtr->mStartLocation ; - mEndLocationForHere = mCurrentTokenPtr->mEndLocation ; - mCurrentTokenPtr = mCurrentTokenPtr->mNextToken ; - if (mCurrentTokenPtr != nullptr) { - macroValidPointer (mCurrentTokenPtr) ; - mStartLocationForNext = mCurrentTokenPtr->mStartLocation ; - mEndLocationForNext = mCurrentTokenPtr->mEndLocation ; - mTemplateString.appendString (mCurrentTokenPtr->mTemplateStringBeforeToken) ; - mTemplateStringLocation = mCurrentTokenPtr->mStartLocation ; - mCurrentLocation = mCurrentTokenPtr->mEndLocation ; - } - } - #ifndef DO_NOT_GENERATE_CHECKINGS - if (currentTokenCode != inExpectedTerminal) { - const String currentTokenString = getMessageForTerminal (currentTokenCode) ; - const String expectedTokenString = getMessageForTerminal (inExpectedTerminal) ; - macroAssertThere (false, - "Internal second pass parsing error (current token:%s, expected token:%s)", - (intptr_t) currentTokenString.cString (), - (intptr_t) expectedTokenString.cString ()) ; - } - #endif -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Indexing -#endif - -//-------------------------------------------------------------------------------------------------- - -void Lexique::enterIndexing (const uint32_t inIndexingKind, - const char * inIndexedKeyPosfix) { - if ((nullptr != mIndexingDictionary) && (sourceText ().sourceFilePath ().length () > 0)) { - const uint32_t tokenStartLocation = (uint32_t) mCurrentTokenPtr->mStartLocation.index () ; - const uint32_t tokenLine = (uint32_t) mCurrentTokenPtr->mStartLocation.lineNumber () ; - const uint32_t tokenLength = ((uint32_t) mCurrentTokenPtr->mEndLocation.index ()) - tokenStartLocation + 1 ; - String indexedKey = sourceText ().sourceString ().subString ((int32_t) tokenStartLocation, (int32_t) tokenLength) + inIndexedKeyPosfix ; - mIndexingDictionary->addIndexedKey (inIndexingKind, - indexedKey, - sourceText ().sourceFilePath (), - tokenLine, - tokenStartLocation, - tokenLength) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void Lexique::enableIndexing (void) { - macroMyNew (mIndexingDictionary, cIndexingDictionary) ; -} - -//-------------------------------------------------------------------------------------------------- - -void Lexique::generateIndexFile (void) { - if (nullptr != mIndexingDictionary) { - mIndexingDictionary->generateIndexFile (indexingModeOutputFilePath ()) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Handling Parsing context -#endif - -//-------------------------------------------------------------------------------------------------- - -ParsingContext Lexique::parsingContext (void) const { - ParsingContext context ; - context.mParsingArrayIndex = mIndexForSecondPassParsing ; - context.mLocation = mCurrentLocation ; - context.mCurrentChar = mCurrentChar ; - context.mPreviousChar = mPreviousChar ; - context.mCurrentTokenPtr = mCurrentTokenPtr ; - context.mTemplateString = mTemplateString ; - return context ; -} - -//-------------------------------------------------------------------------------------------------- - -void Lexique::setParsingContext (const ParsingContext & inContext) { - mIndexForSecondPassParsing = inContext.mParsingArrayIndex ; - mCurrentTokenPtr = inContext.mCurrentTokenPtr ; - mCurrentLocation = inContext.mLocation ; - mCurrentChar = inContext.mCurrentChar ; - mPreviousChar = inContext.mPreviousChar ; - mTemplateString = inContext.mTemplateString ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark For Debugging parser -#endif - -//-------------------------------------------------------------------------------------------------- -// -// For Debugging parser -// -//-------------------------------------------------------------------------------------------------- - -void Lexique::enterProduction (const char * inProductionName, - const char * inLabel, - const char * inTag) { -//--- If Debug is not running, check if trigger list contains non terminal - if (! mDebugIsRunning) { - TC_UniqueArray stringArray ; - mTriggerNonTerminalSymbolList.componentsSeparatedByString (inProductionName, stringArray) ; - mDebugIsRunning = stringArray.count () > 1 ; - } - if (mDebugIsRunning) { - String message ; - for (uint16_t i=1 ; i 0) ? "|- " : "") ; - message.appendString (inProductionName) ; - if (inLabel != nullptr) { - message.appendCString (" label '") ; - message.appendString (inLabel) ; - message.appendCString ("'") ; - } - if ((inTag != nullptr) && (inTag [0] != '\0')) { - message.appendCString (" tag '") ; - message.appendString (inTag) ; - message.appendCString ("'") ; - } - message.appendCString ("\n") ; - ggs_printMessage (message COMMA_HERE) ; - mDebugDepthCounter ++ ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void Lexique::exitProduction (void) { - if (mDebugIsRunning) { - mDebugDepthCounter -- ; - mDebugIsRunning = mDebugDepthCounter > 0 ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void Lexique::didParseTerminal (const char * inTerminalName, - const String & inValue) { - if (mDebugIsRunning) { - String message ; - for (uint16_t i=1 ; i 0) ? "|- " : "") ; - message.appendString (inTerminalName) ; - if (inValue.length () > 0) { - message.appendString (inValue) ; - } - message.appendCString ("\n") ; - ggs_printMessage (message COMMA_HERE) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Generate Latex file -#endif - -//-------------------------------------------------------------------------------------------------- - -void Lexique::enterDroppedTerminal (const int32_t inTerminalIndex) { - if (executionModeIsLatex ()) { - while (mLatexNextCharacterToEnterIndex < mTokenStartLocation.index ()) { - const utf32 c = sourceText ().readCharOrNul (mLatexNextCharacterToEnterIndex COMMA_HERE) ; - appendCharacterToLatexFile (c) ; - mLatexNextCharacterToEnterIndex += 1 ; - } - const String styleName = styleNameForIndex (styleIndexForTerminal (inTerminalIndex)) ; - if (styleName.length () > 0) { - mLatexOutputString.appendCString ("\\") ; - mLatexOutputString.appendString (styleName) ; - mLatexOutputString.appendString (latexModeStyleSuffixString ()) ; - mLatexOutputString.appendCString ("{") ; - } - for (int32_t i=mTokenStartLocation.index () ; i<=mTokenEndLocation.index () ; i++) { - const utf32 c = sourceText ().readCharOrNul (i COMMA_HERE) ; - if (UNICODE_VALUE (c) != '\0') { - appendCharacterToLatexFile (c) ; - } - } - if (styleName.length () > 0) { - mLatexOutputString.appendCString ("}") ; - } - //--- - mLatexNextCharacterToEnterIndex = mTokenEndLocation.index () + 1 ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void Lexique::appendCharacterToLatexFile (const utf32 inUnicodeCharacter) { - switch (UNICODE_VALUE (inUnicodeCharacter)) { - case '>' : mLatexOutputString.appendCString ("\\textgreater{}") ; break ; - case '<' : mLatexOutputString.appendCString ("\\textless{}") ; break ; - case '~' : mLatexOutputString.appendCString ("$\\sim$") ; break ; - case '^' : mLatexOutputString.appendCString ("$\\wedge$") ; break ; - case '|' : mLatexOutputString.appendCString ("\\textbar{}") ; break ; - case '&' : mLatexOutputString.appendCString ("\\&") ; break ; - case '%' : mLatexOutputString.appendCString ("\\%") ; break ; - case '#' : mLatexOutputString.appendCString ("\\#") ; break ; - case '$' : mLatexOutputString.appendCString ("\\$") ; break ; - case ' ' : mLatexOutputString.appendCString ("\\hspace*{.6em}") ; break ; - case '\n' : mLatexOutputString.appendCString ("\\newline\n") ; break ; - case '{' : mLatexOutputString.appendCString ("\\{") ; break ; - case '}' : mLatexOutputString.appendCString ("\\}") ; break ; - case '_' : mLatexOutputString.appendCString ("\\_") ; break ; - case '\\' : mLatexOutputString.appendCString ("\\textbackslash{}") ; break ; - case '\'' : mLatexOutputString.appendCString ("\\textquotesingle{}") ; break ; - case '"' : mLatexOutputString.appendCString ("\"") ; break ; - default: - mLatexOutputString.appendChar (inUnicodeCharacter) ; - mLatexOutputString.appendCString ("{}") ; - break ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void Lexique::signalLexicalErrorInLatexOutput (void) { - mLatexOutputString.appendCString ("\\lexicalError") ; - mLatexOutputString.appendString (latexModeStyleSuffixString ()) ; -} - -//-------------------------------------------------------------------------------------------------- - -void Lexique::generateLatexFile (void) { - const String latexFilePath = sourceText ().sourceFilePath () + ".tex" ; -//--- Suppress last '\newline' - const String newLine = "\\newline\n" ; - if (mLatexOutputString.endsWithString (newLine)) { - mLatexOutputString = mLatexOutputString.subString (0, mLatexOutputString.length () - newLine.length ()) ; - } - FileManager::writeStringToFile (mLatexOutputString, latexFilePath) ; -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/acPtr_class.cpp b/goil/build/libpm/galgas2/acPtr_class.cpp index eb4983f3e..12bd61cd4 100644 --- a/goil/build/libpm/galgas2/acPtr_class.cpp +++ b/goil/build/libpm/galgas2/acPtr_class.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // acPtr_class : Base class for GALGAS class // @@ -16,14 +16,14 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "acPtr_class.h" +#include "galgas2/acPtr_class.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class::acPtr_class (LOCATION_ARGS) : -SharedObject (THERE) { +C_SharedObject (THERE) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/acPtr_class.h b/goil/build/libpm/galgas2/acPtr_class.h index 5bb933693..8c08e8f2b 100644 --- a/goil/build/libpm/galgas2/acPtr_class.h +++ b/goil/build/libpm/galgas2/acPtr_class.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // acPtr_class : Base class for GALGAS class // @@ -16,26 +16,26 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "SharedObject.h" -#include "typeComparisonResult.h" +#include "utilities/C_SharedObject.h" +#include "galgas2/typeComparisonResult.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class String ; +class C_String ; class C_galgas_type_descriptor ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class acPtr_class : public SharedObject { +class acPtr_class : public C_SharedObject { public: acPtr_class (LOCATION_ARGS) ; - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const = 0 ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const = 0 ; @@ -45,4 +45,4 @@ class acPtr_class : public SharedObject { public: virtual acPtr_class * duplicate (LOCATION_ARGS) const = 0 ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/acStrongPtr_class.cpp b/goil/build/libpm/galgas2/acStrongPtr_class.cpp index 01399cf09..fa26d30d2 100644 --- a/goil/build/libpm/galgas2/acStrongPtr_class.cpp +++ b/goil/build/libpm/galgas2/acStrongPtr_class.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // acStrongPtr_class : Base class for reference class class // @@ -16,24 +16,24 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "acStrongPtr_class.h" -#include "cPtr_weakReference_proxy.h" -#include "cpp-allocation.h" +#include "galgas2/acStrongPtr_class.h" +#include "galgas2/cPtr_weakReference_proxy.h" +#include "utilities/cpp-allocation.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS static acStrongPtr_class * gFirstPtr = nullptr ; static acStrongPtr_class * gLastPtr = nullptr ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acStrongPtr_class::acStrongPtr_class (LOCATION_ARGS) : acPtr_class (THERE), @@ -53,7 +53,7 @@ mProxyPtr (nullptr) { #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acStrongPtr_class::~ acStrongPtr_class (void) { #ifndef DO_NOT_GENERATE_CHECKINGS @@ -74,7 +74,7 @@ acStrongPtr_class::~ acStrongPtr_class (void) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_weakReference_proxy * acStrongPtr_class::getProxy (void) { if (mProxyPtr == nullptr) { @@ -84,14 +84,14 @@ cPtr_weakReference_proxy * acStrongPtr_class::getProxy (void) { return mProxyPtr ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void acStrongPtr_class::printNonNullClassInstanceProperties (void) const { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void acStrongPtr_class::printExistingClassInstances (void) { @@ -107,4 +107,4 @@ cPtr_weakReference_proxy * acStrongPtr_class::getProxy (void) { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/acStrongPtr_class.h b/goil/build/libpm/galgas2/acStrongPtr_class.h index e872ecfe5..71237af05 100644 --- a/goil/build/libpm/galgas2/acStrongPtr_class.h +++ b/goil/build/libpm/galgas2/acStrongPtr_class.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // acStrongPtr_class : Base class for reference class class // @@ -16,19 +16,19 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "acPtr_class.h" +#include "galgas2/acPtr_class.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_weakReference_proxy ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class acStrongPtr_class : public acPtr_class { //--- Properties @@ -63,4 +63,4 @@ class acStrongPtr_class : public acPtr_class { #endif } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/cCollectionElement.cpp b/goil/build/libpm/galgas2/cCollectionElement.cpp index a28c33841..a198bc428 100644 --- a/goil/build/libpm/galgas2/cCollectionElement.cpp +++ b/goil/build/libpm/galgas2/cCollectionElement.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS_enumerable : Base class for GALGAS enumerable object // @@ -16,14 +16,14 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "cCollectionElement.h" +#include "galgas2/cCollectionElement.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement::cCollectionElement (LOCATION_ARGS) : -SharedObject (THERE) { +C_SharedObject (THERE) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/cCollectionElement.h b/goil/build/libpm/galgas2/cCollectionElement.h index 0c4c78038..3fc65ee9e 100644 --- a/goil/build/libpm/galgas2/cCollectionElement.h +++ b/goil/build/libpm/galgas2/cCollectionElement.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS_enumerable : Base class for GALGAS enumerable object // @@ -16,22 +16,22 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "SharedObject.h" -#include "typeComparisonResult.h" +#include "utilities/C_SharedObject.h" +#include "galgas2/typeComparisonResult.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class String ; +class C_String ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class cCollectionElement : public SharedObject { +class cCollectionElement : public C_SharedObject { //--- Default constructor public: cCollectionElement (LOCATION_ARGS) ; @@ -49,7 +49,7 @@ class cCollectionElement : public SharedObject { public: virtual cCollectionElement * copy (void) = 0 ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const = 0 ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const = 0 ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/cEnumerator_range.cpp b/goil/build/libpm/galgas2/cEnumerator_range.cpp index 5d87eeefa..80bf310ac 100644 --- a/goil/build/libpm/galgas2/cEnumerator_range.cpp +++ b/goil/build/libpm/galgas2/cEnumerator_range.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'cEnumerator_range' : galgas range enumerator // @@ -16,11 +16,11 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_range::cEnumerator_range (const GALGAS_range & inEnumeratedRange, const typeEnumerationOrder inOrder) : @@ -37,12 +37,12 @@ mCurrent (0) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_range::~cEnumerator_range (void) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cEnumerator_range::hasCurrentObject (void) const { bool ok = false ; @@ -56,7 +56,7 @@ bool cEnumerator_range::hasCurrentObject (void) const { return ok ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cEnumerator_range::hasNextObject (void) const { bool ok = false ; @@ -70,7 +70,7 @@ bool cEnumerator_range::hasNextObject (void) const { return ok ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cEnumerator_range::gotoNextObject (void) { if (mAscending) { @@ -80,10 +80,10 @@ void cEnumerator_range::gotoNextObject (void) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint cEnumerator_range::current (UNUSED_LOCATION_ARGS) const { return GALGAS_uint (hasCurrentObject (), (uint32_t) (mCurrent)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/cEnumerator_range.h b/goil/build/libpm/galgas2/cEnumerator_range.h index e0819cd4b..069bf7fcf 100644 --- a/goil/build/libpm/galgas2/cEnumerator_range.h +++ b/goil/build/libpm/galgas2/cEnumerator_range.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'cEnumerator_range' : galgas range enumerator // @@ -16,20 +16,20 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "cGenericAbstractEnumerator.h" +#include "galgas2/cGenericAbstractEnumerator.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_range ; class GALGAS_uint ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cEnumerator_range final { //--- Constructor @@ -59,4 +59,4 @@ class cEnumerator_range final { private: int64_t mCurrent ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/cGenericAbstractEnumerator.cpp b/goil/build/libpm/galgas2/cGenericAbstractEnumerator.cpp index 384e24eff..54abf764b 100644 --- a/goil/build/libpm/galgas2/cGenericAbstractEnumerator.cpp +++ b/goil/build/libpm/galgas2/cGenericAbstractEnumerator.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS_enumerable : Base class for GALGAS enumerable object // @@ -16,16 +16,16 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "cGenericAbstractEnumerator.h" +#include "galgas2/cGenericAbstractEnumerator.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cGenericAbstractEnumerator::~ cGenericAbstractEnumerator (void) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const cCollectionElement * cGenericAbstractEnumerator::currentObjectPtr (LOCATION_ARGS) const { const uint32_t idx = (mOrder == kENUMERATION_UP) @@ -35,4 +35,4 @@ const cCollectionElement * cGenericAbstractEnumerator::currentObjectPtr (LOCATIO return mEnumerationArray.pointerAtIndexForReadAccess (idx COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/cGenericAbstractEnumerator.h b/goil/build/libpm/galgas2/cGenericAbstractEnumerator.h index dd5d63127..59626b87b 100644 --- a/goil/build/libpm/galgas2/cGenericAbstractEnumerator.h +++ b/goil/build/libpm/galgas2/cGenericAbstractEnumerator.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // cGenericAbstractEnumerator: base class for enumerating GALGAS enumerable objects // @@ -16,15 +16,15 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "capCollectionElementArray.h" +#include "galgas2/capCollectionElementArray.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cGenericAbstractEnumerator { //--- Private data members @@ -56,4 +56,4 @@ class cGenericAbstractEnumerator { protected: const cCollectionElement * currentObjectPtr (LOCATION_ARGS) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/cIndexingDictionary.cpp b/goil/build/libpm/galgas2/cIndexingDictionary.cpp index ce49d0636..b8f04b31a 100644 --- a/goil/build/libpm/galgas2/cIndexingDictionary.cpp +++ b/goil/build/libpm/galgas2/cIndexingDictionary.cpp @@ -1,10 +1,10 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'cIndexingDictionary': dictionary for indexing soures // // This file is part of libpm library // -// Copyright (C) 2010, ..., 2023 Pierre Molinaro. +// Copyright (C) 2010, ..., 2012 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -16,43 +16,45 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "cIndexingDictionary.h" -#include "String-class.h" -#include "FileManager.h" +#include "galgas2/cIndexingDictionary.h" +#include "strings/C_String.h" +#include "files/C_FileManager.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Entry Dictionary #endif -//-------------------------------------------------------------------------------------------------- -// cIndexEntryNode -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +// c I n d e x E n t r y N o d e +// +//---------------------------------------------------------------------------------------------------------------------- -class cIndexEntryNode final { +class cIndexEntryNode { public: cIndexEntryNode * mInfPtr ; public: cIndexEntryNode * mSupPtr ; public: int32_t mBalance ; - public: const String mKey ; - public: TC_UniqueArray mDescriptorArray ; + public: const C_String mKey ; + public: TC_UniqueArray mDescriptorArray ; //--- Constructor - public: cIndexEntryNode (const String & inKey) ; + public: cIndexEntryNode (const C_String & inKey) ; //--- Destructor - public: ~ cIndexEntryNode (void) ; + public: virtual ~ cIndexEntryNode (void) ; //--- No copy - private: cIndexEntryNode (const cIndexEntryNode &) = delete ; - private: cIndexEntryNode & operator = (const cIndexEntryNode &) = delete ; + private: cIndexEntryNode (const cIndexEntryNode &) ; + private: cIndexEntryNode & operator = (const cIndexEntryNode &) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cIndexEntryNode::cIndexEntryNode (const String & inKey) : +cIndexEntryNode::cIndexEntryNode (const C_String & inKey) : mInfPtr (nullptr), mSupPtr (nullptr), mBalance (0), @@ -60,14 +62,14 @@ mKey (inKey), mDescriptorArray () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cIndexEntryNode::~ cIndexEntryNode (void) { macroMyDelete (mInfPtr) ; macroMyDelete (mSupPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void rotateLeft (cIndexEntryNode * & ioRootPtr) { cIndexEntryNode * b = ioRootPtr->mSupPtr ; @@ -88,7 +90,7 @@ static void rotateLeft (cIndexEntryNode * & ioRootPtr) { ioRootPtr = b ; } -//-------------------------------------------------------------------------------------------------- +//--------------------------------------------------------------------- static void rotateRight (cIndexEntryNode * & ioRootPtr) { cIndexEntryNode * b = ioRootPtr->mInfPtr ; @@ -108,10 +110,10 @@ static void rotateRight (cIndexEntryNode * & ioRootPtr) { ioRootPtr = b ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cIndexEntryNode * cIndexingDictionary::findOrAddEntry (cIndexEntryNode * & ioRootPtr, - const String & inKey, + const C_String & inKey, bool & ioExtension) { cIndexEntryNode * result = nullptr ; if (ioRootPtr == nullptr) { @@ -157,84 +159,86 @@ cIndexEntryNode * cIndexingDictionary::findOrAddEntry (cIndexEntryNode * & ioRoo return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark cIndexingDictionary #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// // cIndexingDictionary -//-------------------------------------------------------------------------------------------------- +// +//---------------------------------------------------------------------------------------------------------------------- cIndexingDictionary::cIndexingDictionary (void) : mEntryRoot (nullptr) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cIndexingDictionary::~ cIndexingDictionary (void) { macroMyDelete (mEntryRoot) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cIndexingDictionary::addIndexedKey (const uint32_t inIndexingKind, - const String & inIndexedString, - const String & inSourceFilePath, + const C_String & inIndexedKey, + const C_String & inSourceFilePath, const uint32_t inTokenLineInSource, const uint32_t inTokenLocationInSource, const uint32_t inTokenLengthInSource) { + // printf ("INDEXING '%s', kind %d, file '%s' at [%d, %d]\n", inIndexedKey.cString (HERE), inIndexingKind, inSourceFilePath.cString (HERE), inTokenLocationInSource, inTokenLocationInSource + inTokenLengthInSource) ; +//--- File Path registering +// bool extension = false ; // Unused here +// const uint32_t filePathID = findOrAddFilePath (mFilePathRoot, inSourceFilePath, extension) ; //--- Entry registering bool extension = false ; - cIndexEntryNode * entryNode = findOrAddEntry (mEntryRoot, inIndexedString, extension) ; + cIndexEntryNode * entryNode = findOrAddEntry (mEntryRoot, inIndexedKey, extension) ; //--- Register index - String entryDescriptor ; - entryDescriptor.appendUnsigned (inIndexingKind) ; - entryDescriptor.appendCString (":") ; - entryDescriptor.appendUnsigned (inTokenLineInSource) ; - entryDescriptor.appendCString (":") ; - entryDescriptor.appendUnsigned (inTokenLocationInSource) ; - entryDescriptor.appendCString (":") ; - entryDescriptor.appendUnsigned (inTokenLengthInSource) ; - entryDescriptor.appendCString (":") ; - entryDescriptor.appendString (inSourceFilePath) ; + C_String entryDescriptor ; + entryDescriptor << cStringWithUnsigned (inIndexingKind) ; + entryDescriptor << ":" ; + entryDescriptor << cStringWithUnsigned (inTokenLineInSource) ; + entryDescriptor << ":" ; + entryDescriptor << cStringWithUnsigned (inTokenLocationInSource) ; + entryDescriptor << ":" ; + entryDescriptor << cStringWithUnsigned (inTokenLengthInSource) ; + entryDescriptor << ":" ; + entryDescriptor << inSourceFilePath ; entryNode->mDescriptorArray.appendObject (entryDescriptor) ; } -//-------------------------------------------------------------------------------------------------- +//--------------------------------------------------------------------- static void enumerateEntries (const cIndexEntryNode * inNode, - String & ioContents) { + C_String & ioContents) { if (nullptr != inNode) { enumerateEntries (inNode->mInfPtr, ioContents) ; - ioContents.appendCString ("") ; - ioContents.appendString (inNode->mKey.HTMLRepresentation ()) ; - ioContents.appendCString ("") ; - ioContents.appendCString ("") ; + ioContents << "" << inNode->mKey.HTMLRepresentation () << "" ; + ioContents << "" ; for (int32_t i=0 ; imDescriptorArray.count () ; i++) { - ioContents.appendCString ("") ; - ioContents.appendString (inNode->mDescriptorArray (i COMMA_HERE).HTMLRepresentation ()) ; - ioContents.appendCString ("") ; + ioContents << "" << inNode->mDescriptorArray (i COMMA_HERE).HTMLRepresentation () << "" ; } - ioContents.appendCString ("") ; + ioContents << "" ; enumerateEntries (inNode->mSupPtr, ioContents) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cIndexingDictionary::generateIndexFile (const String & inOutputIndexFilePath) const { - String contents = "" - "" - "" ; +void cIndexingDictionary::generateIndexFile (const C_String & inOutputIndexFilePath) const { + C_String contents = "" + "" + "" ; //--- Write entries as dictionary - contents.appendCString ("") ; + contents << "" ; enumerateEntries (mEntryRoot, contents) ; - contents.appendCString ("") ; + contents << "" ; //--- End of file - contents.appendCString ("") ; - FileManager::writeStringToFile (contents, inOutputIndexFilePath) ; + contents << "" ; + C_FileManager::writeStringToFile (contents, inOutputIndexFilePath) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/cIndexingDictionary.h b/goil/build/libpm/galgas2/cIndexingDictionary.h index 4ab9f0674..2f1bbc85f 100644 --- a/goil/build/libpm/galgas2/cIndexingDictionary.h +++ b/goil/build/libpm/galgas2/cIndexingDictionary.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'cIndexingDictionary': dictionary for indexing soures // @@ -16,24 +16,24 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "M_machine.h" +#include "utilities/M_machine.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class String ; +class C_String ; class cIndexEntryNode ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // cIndexingDictionary // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cIndexingDictionary final { @@ -49,22 +49,22 @@ class cIndexingDictionary final { //--- Add indexed entry public: void addIndexedKey (const uint32_t inIndexingKind, - const String & inIndexedKey, - const String & inSourceFilePath, + const C_String & inIndexedKey, + const C_String & inSourceFilePath, const uint32_t inTokenLineInSource, const uint32_t inTokenLocationInSource, const uint32_t inTokenLengthInSource) ; //--- Generate Index file (in a plist format) - public: void generateIndexFile (const String & inOutputIndexFilePath) const ; + public: void generateIndexFile (const C_String & inOutputIndexFilePath) const ; //--- Internal private method private: cIndexEntryNode * findOrAddEntry (cIndexEntryNode * & ioRootPtr, - const String & inKey, + const C_String & inKey, bool & ioExtension) ; //--- Private attributes private: cIndexEntryNode * mEntryRoot ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/cIssueDescriptor.cpp b/goil/build/libpm/galgas2/cIssueDescriptor.cpp index 7fa5c4196..94157f74c 100644 --- a/goil/build/libpm/galgas2/cIssueDescriptor.cpp +++ b/goil/build/libpm/galgas2/cIssueDescriptor.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'cIssueDescriptor' // @@ -16,11 +16,11 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "cIssueDescriptor.h" +#include "galgas2/cIssueDescriptor.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cIssueDescriptor::cIssueDescriptor (void) : mIsError (false), @@ -31,14 +31,14 @@ mEndColumn (0), mMessage ("") { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cIssueDescriptor::cIssueDescriptor (const bool inIsError, - const String & inFile, + const C_String & inFile, const int32_t inLine, const int32_t inStartColumn, const int32_t inEndColumn, - const String & inMessage) : + const C_String & inMessage) : mIsError (inIsError), mFile (inFile), mLine (inLine), @@ -47,7 +47,7 @@ mEndColumn (inEndColumn), mMessage (inMessage) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cIssueDescriptor::cIssueDescriptor (const cIssueDescriptor & inSource) : mIsError (inSource.mIsError), @@ -58,7 +58,7 @@ mEndColumn (inSource.mEndColumn), mMessage (inSource.mMessage) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cIssueDescriptor & cIssueDescriptor::operator = (const cIssueDescriptor & inSource) { if (this != & inSource) { @@ -72,31 +72,19 @@ cIssueDescriptor & cIssueDescriptor::operator = (const cIssueDescriptor & inSour return *this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cIssueDescriptor::appendToJSONstring (String & ioJSONstring, const bool inIsFirstIssue) const { - String s = mMessage.stringByReplacingStringByString (String ("\n"), String ("\\n")) ; - s = s.stringByReplacingStringByString (String ("\""), String ("\\\"")) ; - ioJSONstring.appendCString (inIsFirstIssue ? "" : ",\n") ; - ioJSONstring.appendCString (" { \"ERROR\" : ") ; - ioJSONstring.appendCString (mIsError ? "true" : "false") ; - ioJSONstring.appendCString (",\n") ; - ioJSONstring.appendCString (" \"SOURCE\" : \"") ; - ioJSONstring.appendString (mFile.lastPathComponent ()) ; - ioJSONstring.appendCString ("\",\n") ; - ioJSONstring.appendCString (" \"LINE\" : ") ; - ioJSONstring.appendSigned (mLine) ; - ioJSONstring.appendCString (",\n") ; - ioJSONstring.appendCString (" \"START_COLUMN\" : ") ; - ioJSONstring.appendSigned (mStartColumn) ; - ioJSONstring.appendCString (",\n") ; - ioJSONstring.appendCString (" \"END_COLUMN\" : ") ; - ioJSONstring.appendSigned (mEndColumn) ; - ioJSONstring.appendCString (",\n") ; - ioJSONstring.appendCString (" \"MESSAGE\" : \"") ; - ioJSONstring.appendString (s) ; - ioJSONstring.appendCString ("\"\n" - " }") ; +void cIssueDescriptor::appendToJSONstring (C_String & ioJSONstring, const bool inIsFirstIssue) const { + C_String s = mMessage.stringByReplacingStringByString("\n", "\\n") ; + s = s.stringByReplacingStringByString("\"", "\\\"") ; + ioJSONstring << (inIsFirstIssue ? "" : ",\n") + << " { \"ERROR\" : " << (mIsError ? "true" : "false") << ",\n" + << " \"SOURCE\" : \"" << mFile.lastPathComponent () << "\",\n" + << " \"LINE\" : " << cStringWithSigned (mLine) << ",\n" + << " \"START_COLUMN\" : " << cStringWithSigned (mStartColumn) << ",\n" + << " \"END_COLUMN\" : " << cStringWithSigned (mEndColumn) << ",\n" + << " \"MESSAGE\" : \"" << s << "\"\n" + << " }" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/cIssueDescriptor.h b/goil/build/libpm/galgas2/cIssueDescriptor.h index 7dc518b03..26c001a12 100644 --- a/goil/build/libpm/galgas2/cIssueDescriptor.h +++ b/goil/build/libpm/galgas2/cIssueDescriptor.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'cIssueDescriptor' // @@ -16,19 +16,19 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "String-class.h" +#include "strings/C_String.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // cIssueDescriptor // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cIssueDescriptor final { //--- Default constructor @@ -36,11 +36,11 @@ class cIssueDescriptor final { //--- Constructor public: cIssueDescriptor (const bool inIsError, - const String & inFile, + const C_String & inFile, const int32_t inLine, const int32_t inStartColumn, const int32_t inEndColumn, - const String & inMessage) ; + const C_String & inMessage) ; //--- Copy constructor public: cIssueDescriptor (const cIssueDescriptor & inSource) ; @@ -49,15 +49,15 @@ class cIssueDescriptor final { public: cIssueDescriptor & operator = (const cIssueDescriptor & inSource) ; //--- Append issue to JSON string - public: void appendToJSONstring (String & ioJSONstring, const bool inIsFirstIssue) const ; + public: void appendToJSONstring (C_String & ioJSONstring, const bool inIsFirstIssue) const ; //--- Properties private: bool mIsError ; // false: warning - private: String mFile ; + private: C_String mFile ; private: int32_t mLine ; private: int32_t mStartColumn ; private: int32_t mEndColumn ; - private: String mMessage ; + private: C_String mMessage ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/cLexiqueIntrospection.cpp b/goil/build/libpm/galgas2/cLexiqueIntrospection.cpp index e9800e61c..e29e0ca08 100644 --- a/goil/build/libpm/galgas2/cLexiqueIntrospection.cpp +++ b/goil/build/libpm/galgas2/cLexiqueIntrospection.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Lexique introspection // @@ -16,20 +16,20 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "cLexiqueIntrospection.h" -#include "C_galgas_CLI_Options.h" -#include "Compiler.h" -#include "FileManager.h" +#include "galgas2/cLexiqueIntrospection.h" +#include "galgas2/C_galgas_CLI_Options.h" +#include "galgas2/C_Compiler.h" +#include "files/C_FileManager.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static cLexiqueIntrospection * gLexiqueIntrospectionRoot = nullptr ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cLexiqueIntrospection::cLexiqueIntrospection (void (*appendKeywordListNames) (TC_UniqueArray & ioList), +cLexiqueIntrospection::cLexiqueIntrospection (void (*appendKeywordListNames) (TC_UniqueArray & ioList), Type_getKeywordsForIdentifier getKeywordsForIdentifier) : mNext (gLexiqueIntrospectionRoot), mAppendKeywordListNames (appendKeywordListNames), @@ -37,9 +37,9 @@ mGetKeywordsForIdentifier (getKeywordsForIdentifier) { gLexiqueIntrospectionRoot = this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cLexiqueIntrospection::getKeywordListNames (TC_UniqueArray & outList) { +void cLexiqueIntrospection::getKeywordListNames (TC_UniqueArray & outList) { outList.removeAllKeepingCapacity () ; cLexiqueIntrospection * p = gLexiqueIntrospectionRoot ; while (nullptr != p) { @@ -48,11 +48,11 @@ void cLexiqueIntrospection::getKeywordListNames (TC_UniqueArray & outLi } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cLexiqueIntrospection::getKeywordListForIdentifier (const String & inIdentifier, +void cLexiqueIntrospection::getKeywordListForIdentifier (const C_String & inIdentifier, bool & outFound, - TC_UniqueArray & outList) { + TC_UniqueArray & outList) { outFound = false ; outList.removeAllKeepingCapacity () ; cLexiqueIntrospection * p = gLexiqueIntrospectionRoot ; @@ -60,86 +60,69 @@ void cLexiqueIntrospection::getKeywordListForIdentifier (const String & inIdenti p->mGetKeywordsForIdentifier (inIdentifier, outFound, outList) ; p = p->mNext ; } -//--- Sort keyword list - outList.sortArrayUsingComparisonOperators () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cLexiqueIntrospection::handleGetKeywordListOption (Compiler * inCompiler) { - const String option = gOption_galgas_5F_builtin_5F_options_outputKeywordList.readProperty_value () ; +void cLexiqueIntrospection::handleGetKeywordListOption (C_Compiler * inCompiler) { + const C_String option = gOption_galgas_5F_builtin_5F_options_outputKeywordList.readProperty_value () ; if (option != "") { - const String optionFormat = "lexique_name:list_name:columns:prefix:postfix:path" ; - gCout.appendCString ("Option \"--") ; - gCout.appendString (gOption_galgas_5F_builtin_5F_options_outputKeywordList.mCommandString) ; - gCout.appendCString ("=") ; - gCout.appendString (option) ; - gCout.appendCString ("\":\n") ; - TC_UniqueArray components ; + const C_String optionFormat = "lexique_name:list_name:columns:prefix:postfix:path" ; + co << "Option \"--" << gOption_galgas_5F_builtin_5F_options_outputKeywordList.mCommandString + << "=" << option << "\":\n" ; + TC_UniqueArray components ; option.componentsSeparatedByString (":", components) ; if (components.count () != 6) { - String message = "invalid option ; should be \"--" ; - message.appendString (gOption_galgas_5F_builtin_5F_options_outputKeywordList.mCommandString) ; - message.appendCString ("=") ; - message.appendString (optionFormat + "\"") ; + C_String message = "invalid option ; should be \"--" ; + message << gOption_galgas_5F_builtin_5F_options_outputKeywordList.mCommandString << "=" << optionFormat + "\"" ; inCompiler->onTheFlyRunTimeError (message COMMA_HERE) ; }else if (!components (2 COMMA_HERE).isUnsignedInteger ()) { - String message = "invalid option ; in \"--" ; - message.appendString (gOption_galgas_5F_builtin_5F_options_outputKeywordList.mCommandString) ; - message.appendCString ("=") ; - message.appendString (optionFormat + "\", ") ; - message.appendCString ("\"columns\" should be an decimal unsigned number") ; + C_String message = "invalid option ; in \"--" ; + message << gOption_galgas_5F_builtin_5F_options_outputKeywordList.mCommandString << "=" << optionFormat + "\", " + << "\"columns\" should be an decimal unsigned number" ; inCompiler->onTheFlyRunTimeError (message COMMA_HERE) ; }else{ const uint32_t columns = components (2 COMMA_HERE).unsignedIntegerValue () ; - const String prefix = components (3 COMMA_HERE) ; - const String postfix = components (4 COMMA_HERE) ; - const String identifier = components (0 COMMA_HERE) + ":" + components (1 COMMA_HERE) ; - TC_UniqueArray nameList ; + const C_String prefix = components (3 COMMA_HERE) ; + const C_String postfix = components (4 COMMA_HERE) ; + const C_String identifier = components (0 COMMA_HERE) + ":" + components (1 COMMA_HERE) ; + TC_UniqueArray nameList ; bool found = false ; getKeywordListForIdentifier (identifier, found, nameList) ; if (!found) { - String message = "invalid option ; in \"--" ; - message.appendString (gOption_galgas_5F_builtin_5F_options_outputKeywordList.mCommandString) ; - message.appendCString ("=") ; - message.appendString (optionFormat + "\", ") ; - message.appendCString ("available values for \"lexique_name:list_name\" are:") ; - TC_UniqueArray keywordListNames ; getKeywordListNames (keywordListNames) ; + C_String message = "invalid option ; in \"--" ; + message << gOption_galgas_5F_builtin_5F_options_outputKeywordList.mCommandString << "=" << optionFormat + "\", " + << "available values for \"lexique_name:list_name\" are:" ; + TC_UniqueArray keywordListNames ; getKeywordListNames (keywordListNames) ; for (int32_t i=0 ; ionTheFlyRunTimeError (message COMMA_HERE) ; }else{ uint32_t idx = 0 ; - String s ; + C_String s ; for (int32_t i=0 ; i 0) { for (uint32_t i = idx+1 ; i & ioList) ; +typedef void (* Type_appendKeywordListNames) (TC_UniqueArray & ioList) ; -typedef void (* Type_getKeywordsForIdentifier) (const String & inIdentifier, +typedef void (* Type_getKeywordsForIdentifier) (const C_String & inIdentifier, bool & ioFound, - TC_UniqueArray & ioList) ; + TC_UniqueArray & ioList) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cLexiqueIntrospection final { //--- Constructor @@ -40,12 +40,12 @@ class cLexiqueIntrospection final { Type_getKeywordsForIdentifier getKeywordsForIdentifier) ; //--- Accessors - public: static void getKeywordListNames (TC_UniqueArray & outList) ; - public: static void getKeywordListForIdentifier (const String & inIdentifier, + public: static void getKeywordListNames (TC_UniqueArray & outList) ; + public: static void getKeywordListForIdentifier (const C_String & inIdentifier, bool & outFound, - TC_UniqueArray & outList) ; + TC_UniqueArray & outList) ; - public: static void handleGetKeywordListOption (class Compiler * inCompiler) ; + public: static void handleGetKeywordListOption (class C_Compiler * inCompiler) ; //--- No copy private: cLexiqueIntrospection (const cLexiqueIntrospection &) ; @@ -57,4 +57,4 @@ class cLexiqueIntrospection final { private: Type_getKeywordsForIdentifier mGetKeywordsForIdentifier ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/cObjectArray.cpp b/goil/build/libpm/galgas2/cObjectArray.cpp index 6bf2ec151..a5604ec87 100644 --- a/goil/build/libpm/galgas2/cObjectArray.cpp +++ b/goil/build/libpm/galgas2/cObjectArray.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // cObjectArray // @@ -16,15 +16,15 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "cObjectArray.h" +#include "galgas2/cObjectArray.h" #include "all-predefined-types.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cObjectArray::cObjectArray (const GALGAS_objectlist & inObjectList, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) : mArray (nullptr), mCount (0) { @@ -35,19 +35,19 @@ mCount (0) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cObjectArray::~cObjectArray (void) { macroMyDeleteArray (mArray) ; mCount = 0 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_object cObjectArray::objectAtIndex (const uint32_t inIndex COMMA_LOCATION_ARGS) const { - macroAssertThere (inIndex < mCount, "inIndex (%ld) >= mCount (%ld)", inIndex, mCount) ; + MF_AssertThere (inIndex < mCount, "inIndex (%ld) >= mCount (%ld)", inIndex, mCount) ; return mArray [inIndex] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/cObjectArray.h b/goil/build/libpm/galgas2/cObjectArray.h index a48afc2e9..2b1e1a92a 100644 --- a/goil/build/libpm/galgas2/cObjectArray.h +++ b/goil/build/libpm/galgas2/cObjectArray.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // capCollectionElementArray // @@ -16,26 +16,26 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "SharedObject.h" +#include "utilities/C_SharedObject.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_object ; class GALGAS_objectlist ; -class Compiler ; +class C_Compiler ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cObjectArray final { //--- Default constructor public: cObjectArray (const GALGAS_objectlist & inObjectList, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--- Virtual destructor @@ -56,4 +56,4 @@ class cObjectArray final { private: uint32_t mCount ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/cProductionNameDescriptor.h b/goil/build/libpm/galgas2/cProductionNameDescriptor.h index 3ff1326d5..ba8af553f 100644 --- a/goil/build/libpm/galgas2/cProductionNameDescriptor.h +++ b/goil/build/libpm/galgas2/cProductionNameDescriptor.h @@ -1,6 +1,6 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// 'Lexique' : an abstract lexique class ; +// 'C_Lexique' : an abstract lexique class ; // Galgas generated scanner classes inherit from this class. // // This file is part of libpm library @@ -17,19 +17,19 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "M_machine.h" +#include "utilities/M_machine.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // P R O D U C T I O N N A M E D E S C R I P T O R // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cProductionNameDescriptor final { public: const char * mName ; @@ -37,4 +37,4 @@ class cProductionNameDescriptor final { public: const uint32_t mLineNumber ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/cPtr_object.cpp b/goil/build/libpm/galgas2/cPtr_object.cpp index c2428bbc4..71914e45f 100644 --- a/goil/build/libpm/galgas2/cPtr_object.cpp +++ b/goil/build/libpm/galgas2/cPtr_object.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // acPtr_class : Base class for GALGAS class // @@ -16,35 +16,35 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "cPtr_object.h" +#include "galgas2/cPtr_object.h" #include "all-predefined-types.h" -#include "MF_MemoryControl.h" +#include "utilities/MF_MemoryControl.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_object::cPtr_object (LOCATION_ARGS) : -SharedObject (THERE), +C_SharedObject (THERE), mEmbeddedObjectPtr (nullptr) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_object::cPtr_object (AC_GALGAS_root * inObjectPointer COMMA_LOCATION_ARGS) : -SharedObject (THERE), +C_SharedObject (THERE), mEmbeddedObjectPtr (nullptr) { mEmbeddedObjectPtr = inObjectPointer ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_object::~cPtr_object (void) { macroMyDelete (mEmbeddedObjectPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_type cPtr_object::objectStaticType (void) const { GALGAS_type result ; @@ -54,7 +54,7 @@ GALGAS_type cPtr_object::objectStaticType (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_type cPtr_object::objectDynamicType (void) const { GALGAS_type result ; @@ -64,4 +64,4 @@ GALGAS_type cPtr_object::objectDynamicType (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/cPtr_object.h b/goil/build/libpm/galgas2/cPtr_object.h index f476a836d..1f50dc2e9 100644 --- a/goil/build/libpm/galgas2/cPtr_object.h +++ b/goil/build/libpm/galgas2/cPtr_object.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // acPtr_class : Base class for GALGAS class // @@ -16,22 +16,22 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "SharedObject.h" +#include "utilities/C_SharedObject.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_type ; class AC_GALGAS_root ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class cPtr_object : public SharedObject { +class cPtr_object : public C_SharedObject { //--- Default Constructor public: cPtr_object (LOCATION_ARGS) ; @@ -55,4 +55,4 @@ class cPtr_object : public SharedObject { public: GALGAS_type objectDynamicType (void) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/cPtr_weakReference_proxy.cpp b/goil/build/libpm/galgas2/cPtr_weakReference_proxy.cpp index a1d27e427..773a8bf99 100644 --- a/goil/build/libpm/galgas2/cPtr_weakReference_proxy.cpp +++ b/goil/build/libpm/galgas2/cPtr_weakReference_proxy.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // cPtr_weakReference_proxy : Base class for reference class class // @@ -16,20 +16,20 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "cPtr_weakReference_proxy.h" -#include "acStrongPtr_class.h" -#include "String-class.h" +#include "galgas2/cPtr_weakReference_proxy.h" +#include "galgas2/acStrongPtr_class.h" +#include "strings/C_String.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_weakReference_proxy::cPtr_weakReference_proxy (LOCATION_ARGS) : acPtr_class (THERE), mStrongObjectPtr (nullptr) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_weakReference_proxy::~ cPtr_weakReference_proxy (void) { if (mStrongObjectPtr != nullptr) { @@ -37,7 +37,7 @@ cPtr_weakReference_proxy::~ cPtr_weakReference_proxy (void) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_weakReference_proxy::classDescriptor (void) const { const C_galgas_type_descriptor * result = nullptr ; @@ -47,10 +47,10 @@ const C_galgas_type_descriptor * cPtr_weakReference_proxy::classDescriptor (void return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_weakReference_proxy::duplicate (UNUSED_LOCATION_ARGS) const { return nullptr ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/cPtr_weakReference_proxy.h b/goil/build/libpm/galgas2/cPtr_weakReference_proxy.h index cda4ce8ab..ca6ac6cbf 100644 --- a/goil/build/libpm/galgas2/cPtr_weakReference_proxy.h +++ b/goil/build/libpm/galgas2/cPtr_weakReference_proxy.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // cPtr_weakReference_proxy : Base class for reference class class // @@ -16,19 +16,19 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "acPtr_class.h" +#include "galgas2/acPtr_class.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class acStrongPtr_class ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_weakReference_proxy final : public acPtr_class { //--- Public default constructor @@ -42,7 +42,7 @@ class cPtr_weakReference_proxy final : public acPtr_class { public: acStrongPtr_class * strongObject (void) const { return mStrongObjectPtr ; } //--- Virtual methods from acPtr_class - public: virtual void description (String &, const int32_t) const {} // Never invoked + public: virtual void description (C_String &, const int32_t) const {} // Never invoked public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class *) const { // Never invoked return typeComparisonResult::kOperandNotValid ; @@ -60,4 +60,4 @@ class cPtr_weakReference_proxy final : public acPtr_class { friend class acStrongPtr_class ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/cSortedListElement.cpp b/goil/build/libpm/galgas2/cSortedListElement.cpp index 2fe46e426..18c687c7b 100644 --- a/goil/build/libpm/galgas2/cSortedListElement.cpp +++ b/goil/build/libpm/galgas2/cSortedListElement.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS_enumerable : Base class for GALGAS enumerable object // @@ -16,14 +16,14 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "cSortedListElement.h" +#include "galgas2/cSortedListElement.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cSortedListElement::cSortedListElement (LOCATION_ARGS) : cCollectionElement (THERE) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/cSortedListElement.h b/goil/build/libpm/galgas2/cSortedListElement.h index f19690569..a539cf189 100644 --- a/goil/build/libpm/galgas2/cSortedListElement.h +++ b/goil/build/libpm/galgas2/cSortedListElement.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS_enumerable : Base class for GALGAS enumerable object // @@ -16,15 +16,15 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "cCollectionElement.h" +#include "galgas2/cCollectionElement.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cSortedListElement : public cCollectionElement { //--- Default constructor @@ -38,4 +38,4 @@ class cSortedListElement : public cCollectionElement { public: virtual typeComparisonResult compareForSorting (const cSortedListElement * inOperand) const = 0 ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/cTemplateDelimiter.h b/goil/build/libpm/galgas2/cTemplateDelimiter.h index b89085c58..a889ad553 100644 --- a/goil/build/libpm/galgas2/cTemplateDelimiter.h +++ b/goil/build/libpm/galgas2/cTemplateDelimiter.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'cTemplateDelimiter' : a helper class for template scanner // @@ -16,45 +16,45 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "Compiler.h" +#include "galgas2/C_Compiler.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class Lexique ; +class C_Lexique ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // T E M P L A T E D E L I M I T E R S C L A S S // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cTemplateDelimiter final { - public: const std::initializer_list mStartString ; + public: const utf32 * mStartString ; public: const int32_t mStartStringLength ; - public: const std::initializer_list mEndString ; + public: const utf32 * mEndString ; public: const int32_t mEndStringLength ; - public: void (* mReplacementFunction) (Lexique & inLexique, const String & inElementString, String & ioTemplateString) ; + public: void (* mReplacementFunction) (C_Lexique & inLexique, const C_String & inElementString, C_String & ioTemplateString) ; public: const bool mDiscardStartString ; //--- Constructor - public: cTemplateDelimiter (const std::initializer_list & inStartString, - const int32_t inStartStringLength, - const std::initializer_list & inEndString, - const int32_t inEndStringLength, - void (* inReplacementFunction) (Lexique & inLexique, const String & inElementString, String & ioTemplateString), - const bool inDiscardStartString) ; + public: cTemplateDelimiter (const utf32 * inStartString, + const int32_t inStartStringLength, + const utf32 * inEndString, + const int32_t inEndStringLength, + void (* inReplacementFunction) (C_Lexique & inLexique, const C_String & inElementString, C_String & ioTemplateString), + const bool inDiscardStartString) ; //--- Copy public: cTemplateDelimiter (const cTemplateDelimiter & inOperand) ; //--- No assignment - private: cTemplateDelimiter & operator = (const cTemplateDelimiter &) = delete ; + private: cTemplateDelimiter & operator = (const cTemplateDelimiter &) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/capCollectionElement.cpp b/goil/build/libpm/galgas2/capCollectionElement.cpp index ae57bf221..db674b7e1 100644 --- a/goil/build/libpm/galgas2/capCollectionElement.cpp +++ b/goil/build/libpm/galgas2/capCollectionElement.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS_enumerable : Base class for GALGAS enumerable object // @@ -16,45 +16,45 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "capCollectionElement.h" -#include "cCollectionElement.h" -#include "String-class.h" +#include "galgas2/capCollectionElement.h" +#include "galgas2/cCollectionElement.h" +#include "strings/C_String.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- capCollectionElement::capCollectionElement (void) : mPtr (nullptr) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void capCollectionElement::setPointer (cCollectionElement * inObjectPointer) { macroAssignSharedObject (mPtr, inObjectPointer) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- capCollectionElement:: ~capCollectionElement (void) { macroDetachSharedObject (mPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- capCollectionElement::capCollectionElement (const capCollectionElement & inSource) : mPtr (nullptr) { macroAssignSharedObject (mPtr, inSource.mPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- capCollectionElement & capCollectionElement::operator = (const capCollectionElement & inSource) { macroAssignSharedObject (mPtr, inSource.mPtr) ; return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool capCollectionElement::isValid (void) const { bool result = nullptr != mPtr ; @@ -64,7 +64,7 @@ bool capCollectionElement::isValid (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult capCollectionElement::compare (const capCollectionElement & inOperand) const { macroValidSharedObject (mPtr, cCollectionElement) ; @@ -72,7 +72,7 @@ typeComparisonResult capCollectionElement::compare (const capCollectionElement & return mPtr->compare (inOperand.mPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- capCollectionElement capCollectionElement::copy (void) { capCollectionElement result ; @@ -82,13 +82,13 @@ capCollectionElement capCollectionElement::copy (void) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void capCollectionElement::drop (void) { macroDetachSharedObject (mPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void capCollectionElement::insulate (void) { if ((nullptr != mPtr) && !mPtr->isUniquelyReferenced ()) { @@ -98,14 +98,14 @@ void capCollectionElement::insulate (void) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void capCollectionElement::description (String & ioString, const int32_t inIndentation) const { +void capCollectionElement::description (C_String & ioString, const int32_t inIndentation) const { if (nullptr == mPtr) { - ioString.appendCString ("NULL") ; + ioString << "NULL" ; }else{ mPtr->description (ioString, inIndentation) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/capCollectionElement.h b/goil/build/libpm/galgas2/capCollectionElement.h index 73d5a415d..6b5a5cdf0 100644 --- a/goil/build/libpm/galgas2/capCollectionElement.h +++ b/goil/build/libpm/galgas2/capCollectionElement.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS_enumerable : Base class for GALGAS enumerable object // @@ -16,21 +16,21 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "SharedObject.h" -#include "typeComparisonResult.h" +#include "utilities/C_SharedObject.h" +#include "galgas2/typeComparisonResult.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class String ; +class C_String ; class cCollectionElement ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class capCollectionElement final { //--- Private pointer @@ -69,7 +69,7 @@ class capCollectionElement final { public: capCollectionElement copy (void) ; //--- Description - public: void description (String & ioString, const int32_t inIndentation) const ; + public: void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/capCollectionElementArray.cpp b/goil/build/libpm/galgas2/capCollectionElementArray.cpp index ae8de139c..f8559a864 100644 --- a/goil/build/libpm/galgas2/capCollectionElementArray.cpp +++ b/goil/build/libpm/galgas2/capCollectionElementArray.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // capCollectionElementArray // @@ -16,24 +16,24 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "capCollectionElementArray.h" -#include "MF_MemoryControl.h" -#include "String-class.h" -#include "Compiler.h" +#include "galgas2/capCollectionElementArray.h" +#include "utilities/MF_MemoryControl.h" +#include "strings/C_String.h" +#include "galgas2/C_Compiler.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // capCollectionRoot -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark capCollectionRoot #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class capCollectionRoot : public SharedObject { +class capCollectionRoot : public C_SharedObject { //--- Default constructor public: capCollectionRoot (void) ; @@ -56,19 +56,19 @@ class capCollectionRoot : public SharedObject { friend class capCollectionElementArray ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- capCollectionRoot::capCollectionRoot (void) : -SharedObject (HERE), +C_SharedObject (HERE), mArray (nullptr), mCapacity (0), mCount (0) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- capCollectionRoot::capCollectionRoot (const capCollectionRoot * inSource) : -SharedObject (HERE), +C_SharedObject (HERE), mArray (nullptr), mCapacity (0), mCount (0) { @@ -83,41 +83,41 @@ mCount (0) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- capCollectionRoot::~ capCollectionRoot (void) { macroMyDeleteArray (mArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // capCollectionElementArray -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark capCollectionElementArray #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- capCollectionElementArray::capCollectionElementArray (void) : mSharedRoot (nullptr) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- capCollectionElementArray::capCollectionElementArray (const uint32_t inCapacity) : mSharedRoot (nullptr) { setCapacity (inCapacity) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- capCollectionElementArray::capCollectionElementArray (const capCollectionElementArray & inSource) : mSharedRoot (nullptr) { macroAssignSharedObject (mSharedRoot, inSource.mSharedRoot) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- capCollectionElementArray & capCollectionElementArray::operator = (const capCollectionElementArray & inSource) { if (mSharedRoot != inSource.mSharedRoot) { @@ -126,25 +126,25 @@ capCollectionElementArray & capCollectionElementArray::operator = (const capColl return *this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- capCollectionElementArray::~capCollectionElementArray (void) { macroDetachSharedObject (mSharedRoot) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t capCollectionElementArray::count (void) const { return (nullptr == mSharedRoot) ? 0 : mSharedRoot->mCount ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t capCollectionElementArray::capacity (void) const { return (nullptr == mSharedRoot) ? 0 : mSharedRoot->mCapacity ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void capCollectionElementArray::insulateOrCreate (void) { if (nullptr == mSharedRoot) { @@ -157,7 +157,7 @@ void capCollectionElementArray::insulateOrCreate (void) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void capCollectionElementArray::setCapacity (const uint32_t inNewCapacity) { insulateOrCreate () ; @@ -177,25 +177,25 @@ void capCollectionElementArray::setCapacity (const uint32_t inNewCapacity) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void capCollectionElementArray::appendObject (const capCollectionElement & inObject) { setCapacity (count () + 1) ; macroUniqueSharedObject (mSharedRoot) ; - macroAssert (count () < capacity (), "mCount (%lld) >= mCapacity (%lld)", count (), capacity ()) ; + MF_Assert (count () < capacity (), "mCount (%lld) >= mCapacity (%lld)", count (), capacity ()) ; mSharedRoot->mArray [mSharedRoot->mCount] = inObject ; mSharedRoot->mCount ++ ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void capCollectionElementArray::insertObjectAtIndex (const capCollectionElement & inObject, const uint32_t inInsertionIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { setCapacity (count () + 1) ; macroUniqueSharedObject (mSharedRoot) ; - macroAssert (count () < capacity (), "mCount (%lld) >= mCapacity (%lld)", count (), capacity ()) ; + MF_Assert (count () < capacity (), "mCount (%lld) >= mCapacity (%lld)", count (), capacity ()) ; if (inInsertionIndex <= mSharedRoot->mCount) { for (uint32_t i=mSharedRoot->mCount ; i>inInsertionIndex ; i--) { mSharedRoot->mArray [i] = mSharedRoot->mArray [i-1] ; @@ -203,24 +203,21 @@ void capCollectionElementArray::insertObjectAtIndex (const capCollectionElement mSharedRoot->mArray [inInsertionIndex] = inObject ; mSharedRoot->mCount ++ ; }else{ - String s ("insertAtIndex: insertion index (") ; - s.appendUnsigned (inInsertionIndex) ; - s.appendCString (") > length (") ; - s.appendUnsigned (count ()) ; - s.appendCString (")") ; + C_String s = "insertAtIndex: insertion index (" ; + s << cStringWithUnsigned (inInsertionIndex) << ") > length (" << cStringWithUnsigned (count ()) << ")" ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void capCollectionElementArray::removeObjectAtIndex (capCollectionElement & outObject, const uint32_t inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { insulateOrCreate () ; macroUniqueSharedObject (mSharedRoot) ; - macroAssert (count () > 0, "empty array", 0, 0) ; + MF_Assert (count () > 0, "empty array", 0, 0) ; if (inIndex < mSharedRoot->mCount) { outObject = mSharedRoot->mArray [inIndex] ; for (uint32_t i=inIndex + 1 ; imCount ; i++) { @@ -229,24 +226,21 @@ void capCollectionElementArray::removeObjectAtIndex (capCollectionElement & outO mSharedRoot->mCount -- ; mSharedRoot->mArray [mSharedRoot->mCount].drop () ; }else{ - String s ("removeObjectAtIndex: index (") ; - s.appendUnsigned (inIndex) ; - s.appendCString (") >= length (") ; - s.appendUnsigned (count ()) ; - s.appendCString (")") ; + C_String s = "removeObjectAtIndex: index (" ; + s << cStringWithUnsigned (inIndex) << ") >= length (" << cStringWithUnsigned (count ()) << ")" ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void capCollectionElementArray::removeFirstObject (capCollectionElement & outObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { insulateOrCreate () ; macroUniqueSharedObject (mSharedRoot) ; if (count () == 0) { - String s = "removeFirstObject: empty list" ; + C_String s = "removeFirstObject: empty list" ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ outObject = mSharedRoot->mArray [0] ; @@ -258,28 +252,28 @@ void capCollectionElementArray::removeFirstObject (capCollectionElement & outObj } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void capCollectionElementArray::readFirstObject (capCollectionElement & outObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (count () == 0) { - String s = "firstObject: empty list" ; + C_String s = "firstObject: empty list" ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ outObject = mSharedRoot->mArray [0] ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void capCollectionElementArray::removeLastObject (capCollectionElement & outObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { insulateOrCreate () ; macroUniqueSharedObject (mSharedRoot) ; if (count () == 0) { - String s = "removeLastObject: empty list" ; + C_String s = "removeLastObject: empty list" ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ mSharedRoot->mCount -- ; @@ -288,63 +282,63 @@ void capCollectionElementArray::removeLastObject (capCollectionElement & outObje } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void capCollectionElementArray::readLastObject (capCollectionElement & outObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (count () == 0) { - String s = "lastObject: empty list" ; + C_String s = "lastObject: empty list" ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ outObject = mSharedRoot->mArray [mSharedRoot->mCount - 1] ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void capCollectionElementArray::replaceObjectAtIndex (const capCollectionElement & inObject, const uint32_t inIndex COMMA_LOCATION_ARGS) { insulateOrCreate () ; macroUniqueSharedObject (mSharedRoot) ; - macroAssertThere (inIndex < count (), "inIndex (%ld) >= mCount (%ld)", inIndex, count ()) ; + MF_AssertThere (inIndex < count (), "inIndex (%ld) >= mCount (%ld)", inIndex, count ()) ; mSharedRoot->mArray [inIndex] = inObject ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- capCollectionElement capCollectionElementArray::objectAtIndex (const uint32_t inIndex COMMA_LOCATION_ARGS) const { - macroAssertThere (inIndex < count (), "inIndex (%ld) >= mCount (%ld)", inIndex, count ()) ; + MF_AssertThere (inIndex < count (), "inIndex (%ld) >= mCount (%ld)", inIndex, count ()) ; return mSharedRoot->mArray [inIndex] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement * capCollectionElementArray::uniquelyReferencedPointerAtIndex (const uint32_t inIndex COMMA_LOCATION_ARGS) { insulateOrCreate () ; macroUniqueSharedObject (mSharedRoot) ; - macroAssertThere (inIndex < count (), "inIndex (%ld) >= mCount (%ld)", inIndex, count ()) ; + MF_AssertThere (inIndex < count (), "inIndex (%ld) >= mCount (%ld)", inIndex, count ()) ; mSharedRoot->mArray [inIndex].insulate () ; return mSharedRoot->mArray [inIndex].ptr () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const cCollectionElement * capCollectionElementArray::pointerAtIndexForReadAccess (const uint32_t inIndex COMMA_LOCATION_ARGS) const { - macroAssertThere (inIndex < count (), "inIndex (%ld) >= mCount (%ld)", inIndex, count ()) ; + MF_AssertThere (inIndex < count (), "inIndex (%ld) >= mCount (%ld)", inIndex, count ()) ; return mSharedRoot->mArray [inIndex].ptr () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void capCollectionElementArray::removeObjectAtIndex (const uint32_t inIndex) { insulateOrCreate () ; macroUniqueSharedObject (mSharedRoot) ; - macroAssert (count () > inIndex, "mCount (%ld) <= inIndex (%lld)", count (), inIndex) ; + MF_Assert (count () > inIndex, "mCount (%ld) <= inIndex (%lld)", count (), inIndex) ; for (uint32_t i=inIndex+1 ; imCount ; i++) { mSharedRoot->mArray [i - 1] = mSharedRoot->mArray [i] ; } @@ -352,12 +346,12 @@ void capCollectionElementArray::removeObjectAtIndex (const uint32_t inIndex) { mSharedRoot->mArray [mSharedRoot->mCount].drop () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void capCollectionElementArray::predendObject (const capCollectionElement & inObject) { setCapacity (count () + 1) ; macroUniqueSharedObject (mSharedRoot) ; - macroAssert (count () < capacity (), "mCount (%lld) >= mCapacity (%lld)", count (), capacity ()) ; + MF_Assert (count () < capacity (), "mCount (%lld) >= mCapacity (%lld)", count (), capacity ()) ; for (uint32_t i=count () ; i>0 ; i--) { mSharedRoot->mArray [i] = mSharedRoot->mArray [i-1] ; } @@ -365,7 +359,7 @@ void capCollectionElementArray::predendObject (const capCollectionElement & inOb mSharedRoot->mCount ++ ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void capCollectionElementArray::removeAllObjects (void) { insulateOrCreate () ; @@ -376,7 +370,7 @@ void capCollectionElementArray::removeAllObjects (void) { mSharedRoot->mCount = 0 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void capCollectionElementArray::appendObjects (const capCollectionElementArray inObjects) { const uint32_t operandCount = inObjects.count () ; @@ -391,7 +385,7 @@ void capCollectionElementArray::appendObjects (const capCollectionElementArray i } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult capCollectionElementArray::compareCollectionElementArray (const capCollectionElementArray & inOperand) const { typeComparisonResult result = kOperandEqual ; @@ -407,34 +401,33 @@ typeComparisonResult capCollectionElementArray::compareCollectionElementArray (c return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void capCollectionElementArray::description (String & ioString, +void capCollectionElementArray::description (C_String & ioString, const int32_t inIndentation) const { for (uint32_t i=0 ; imArray [i].description (ioString, inIndentation + 1) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void capCollectionElementArray::subListToIndex (capCollectionElementArray & outSubList, const uint32_t inIndex, bool & outOk, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { outSubList.removeAllObjects () ; outOk = false ; if (inIndex >= count ()) { - String s ; - s.appendCString ("Cannot get a sub list from index ") ; - s.appendUnsigned (inIndex) ; - s.appendCString (" with a list of length ") ; - s.appendUnsigned (count ()) ; + C_String s ; + s << "Cannot get a sub list from index " + << cStringWithUnsigned (inIndex) + << " with a list of length " + << cStringWithUnsigned (count ()) ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ const uint32_t length = inIndex + 1 ; @@ -446,24 +439,24 @@ void capCollectionElementArray::subListToIndex (capCollectionElementArray & outS } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void capCollectionElementArray::subListWithRange (capCollectionElementArray & outSubList, const uint32_t inStartIndex, const uint32_t inLength, bool & outOk, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { outOk = false ; outSubList.removeAllObjects () ; if ((inStartIndex + inLength) > count ()) { - String s ; - s.appendCString ("Cannot get a sub list of range [") ; - s.appendUnsigned (inStartIndex) ; - s.appendCString (":") ; - s.appendUnsigned (inLength) ; - s.appendCString ("] from a list of length ") ; - s.appendUnsigned (count ()) ; + C_String s ; + s << "Cannot get a sub list of range [" + << cStringWithUnsigned (inStartIndex) + << ":" + << cStringWithUnsigned (inLength) + << "] from a list of length " + << cStringWithUnsigned (count ()) ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ outSubList.setCapacity (inLength) ; @@ -474,20 +467,21 @@ void capCollectionElementArray::subListWithRange (capCollectionElementArray & ou } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void capCollectionElementArray::subListFromIndex (capCollectionElementArray & outSubList, const uint32_t inIndex, bool & outOk, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { outOk = false ; outSubList.removeAllObjects () ; if (inIndex > count ()) { - String s ("Cannot get a sub list from index ") ; - s.appendUnsigned (inIndex) ; - s.appendCString (" with a list of length ") ; - s.appendUnsigned (count ()) ; + C_String s ; + s << "Cannot get a sub list from index " + << cStringWithUnsigned (inIndex) + << " with a list of length " + << cStringWithUnsigned (count ()) ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ const uint32_t length = count () - inIndex ; @@ -499,4 +493,4 @@ void capCollectionElementArray::subListFromIndex (capCollectionElementArray & ou } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/capCollectionElementArray.h b/goil/build/libpm/galgas2/capCollectionElementArray.h index 11e22824a..e906f0029 100644 --- a/goil/build/libpm/galgas2/capCollectionElementArray.h +++ b/goil/build/libpm/galgas2/capCollectionElementArray.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // capCollectionElementArray // @@ -16,19 +16,19 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "capCollectionElement.h" +#include "galgas2/capCollectionElement.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class Compiler ; +class C_Compiler ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class capCollectionElementArray final { //--- Default constructor @@ -52,28 +52,28 @@ class capCollectionElementArray final { public: void insertObjectAtIndex (const capCollectionElement & inObject, const uint32_t inInsertionIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: void removeObjectAtIndex (capCollectionElement & outObject, const uint32_t inInsertionIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: void removeFirstObject (capCollectionElement & outObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: void readFirstObject (capCollectionElement & outObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: void removeLastObject (capCollectionElement & outObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: void readLastObject (capCollectionElement & outObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: void replaceObjectAtIndex (const capCollectionElement & inObject, @@ -112,27 +112,27 @@ class capCollectionElementArray final { public: void subListToIndex (capCollectionElementArray & outSubList, const uint32_t inIndex, bool & outOk, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: void subListWithRange (capCollectionElementArray & ioSubList, const uint32_t inStartIndex, const uint32_t inLength, bool & outOk, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: void subListFromIndex (capCollectionElementArray & ioSubList, const uint32_t inIndex, bool & outOk, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--- Compare public: typeComparisonResult compareCollectionElementArray (const capCollectionElementArray & inOperand) const ; //--- Description - public: void description (String & ioString, + public: void description (C_String & ioString, const int32_t inIndentation) const ; //--- Internal @@ -142,4 +142,4 @@ class capCollectionElementArray final { private: class capCollectionRoot * mSharedRoot ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/capSortedListElement.cpp b/goil/build/libpm/galgas2/capSortedListElement.cpp index a2f575332..5e5d313f5 100644 --- a/goil/build/libpm/galgas2/capSortedListElement.cpp +++ b/goil/build/libpm/galgas2/capSortedListElement.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS_enumerable : Base class for GALGAS enumerable object // @@ -16,45 +16,45 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "capSortedListElement.h" -#include "cSortedListElement.h" -#include "String-class.h" +#include "galgas2/capSortedListElement.h" +#include "galgas2/cSortedListElement.h" +#include "strings/C_String.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- capSortedListElement::capSortedListElement (void) : mPtr (nullptr) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void capSortedListElement::setPointer (cSortedListElement * inObjectPointer) { macroAssignSharedObject (mPtr, inObjectPointer) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- capSortedListElement::~ capSortedListElement (void) { macroDetachSharedObject (mPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- capSortedListElement::capSortedListElement (const capSortedListElement & inSource) : mPtr (nullptr) { macroAssignSharedObject (mPtr, inSource.mPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- capSortedListElement & capSortedListElement::operator = (const capSortedListElement & inSource) { macroAssignSharedObject (mPtr, inSource.mPtr) ; return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool capSortedListElement::isValid (void) const { bool result = nullptr != mPtr ; @@ -64,7 +64,7 @@ bool capSortedListElement::isValid (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult capSortedListElement::compare (capSortedListElement & inOperand) { macroValidSharedObject (mPtr, cSortedListElement) ; @@ -72,7 +72,7 @@ typeComparisonResult capSortedListElement::compare (capSortedListElement & inOpe return mPtr->compare (inOperand.mPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- capSortedListElement capSortedListElement::copy (void) { capSortedListElement result ; @@ -83,13 +83,13 @@ capSortedListElement capSortedListElement::copy (void) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void capSortedListElement::drop (void) { macroDetachSharedObject (mPtr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void capSortedListElement::insulate (void) { if ((nullptr != mPtr) && !mPtr->isUniquelyReferenced ()) { @@ -100,17 +100,17 @@ void capSortedListElement::insulate (void) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void capSortedListElement::description (String & ioString, const int32_t inIndentation) const { +void capSortedListElement::description (C_String & ioString, const int32_t inIndentation) const { if (nullptr == mPtr) { - ioString.appendCString ("NULL") ; + ioString << "NULL" ; }else{ mPtr->description (ioString, inIndentation) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult capSortedListElement::compareForSorting (const capSortedListElement & inOperand) { typeComparisonResult result = kOperandNotValid ; @@ -120,4 +120,4 @@ typeComparisonResult capSortedListElement::compareForSorting (const capSortedLis return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/capSortedListElement.h b/goil/build/libpm/galgas2/capSortedListElement.h index db527a310..779c0ae02 100644 --- a/goil/build/libpm/galgas2/capSortedListElement.h +++ b/goil/build/libpm/galgas2/capSortedListElement.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS_enumerable : Base class for GALGAS enumerable object // @@ -16,21 +16,21 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "SharedObject.h" -#include "typeComparisonResult.h" +#include "utilities/C_SharedObject.h" +#include "galgas2/typeComparisonResult.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class String ; +class C_String ; class cSortedListElement ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class capSortedListElement final { //--- Private pointer @@ -69,10 +69,10 @@ class capSortedListElement final { public: capSortedListElement copy (void) ; //--- Description - public: void description (String & ioString, const int32_t inIndentation) const ; + public: void description (C_String & ioString, const int32_t inIndentation) const ; //--- Virtual method that comparing element for sorting public: typeComparisonResult compareForSorting (const capSortedListElement & inOperand) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/scanner_actions.cpp b/goil/build/libpm/galgas2/scanner_actions.cpp index d90311b07..5e1760396 100644 --- a/goil/build/libpm/galgas2/scanner_actions.cpp +++ b/goil/build/libpm/galgas2/scanner_actions.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // scanner_actions: hand-coded routines for building attribute values during scanning. // @@ -16,32 +16,32 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "scanner_actions.h" -#include "unicode_character_cpp.h" -#include "BigSigned.h" +#include "galgas2/scanner_actions.h" +#include "strings/unicode_character_cpp.h" +#include "big-integers/C_BigInt.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS - #define LINE_AND_SOURCE_FILE_FOR_SCANNER_ACTIONS , inLexique.sourceText ().sourceFilePath ().cString (), inLexique.lineNumber () + #define LINE_AND_SOURCE_FILE_FOR_SCANNER_ACTIONS , inLexique.sourceText ().sourceFilePath ().cString (HERE), inLexique.lineNumber () #else #define LINE_AND_SOURCE_FILE_FOR_SCANNER_ACTIONS #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // P R E D E F I N E D S C A N N E R A C T I O N S // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_enterHexDigitIntoASCIIcharacter (Lexique & inLexique, +void scanner_routine_enterHexDigitIntoASCIIcharacter (C_Lexique & inLexique, utf32 & ioValue, const utf32 inChar, const char * inErrorCodeGreaterThan255, @@ -65,9 +65,9 @@ void scanner_routine_enterHexDigitIntoASCIIcharacter (Lexique & inLexique, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_enterDigitIntoASCIIcharacter (Lexique & inLexique, +void scanner_routine_enterDigitIntoASCIIcharacter (C_Lexique & inLexique, utf32 & ioValue, const utf32 inChar, const char * inErrorCodeGreaterThan255, @@ -86,21 +86,21 @@ void scanner_routine_enterDigitIntoASCIIcharacter (Lexique & inLexique, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_enterCharacterIntoString (Lexique & /* inLexique */, - String & ioString, +void scanner_routine_enterCharacterIntoString (C_Lexique & /* inLexique */, + C_String & ioString, const utf32 inChar) { - ioString.appendChar (inChar) ; + ioString.appendUnicodeCharacter (inChar COMMA_HERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_convertStringToDouble (Lexique & inLexique, - const String & inString, +void scanner_routine_convertStringToDouble (C_Lexique & inLexique, + const C_String & inString, double & outValue, const char * inConversionError) { - const double value = ::strtod (inString.cString (), nullptr) ; + const double value = ::strtod (inString.cString (HERE), nullptr) ; if (errno == ERANGE) { inLexique.lexicalError (inConversionError LINE_AND_SOURCE_FILE_FOR_SCANNER_ACTIONS) ; }else{ @@ -108,35 +108,35 @@ void scanner_routine_convertStringToDouble (Lexique & inLexique, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_enterCharacterIntoCharacter (Lexique & /* inLexique */, +void scanner_routine_enterCharacterIntoCharacter (C_Lexique & /* inLexique */, utf32 & outCharacter, const utf32 inCharacter) { outCharacter = inCharacter ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -utf32 scanner_function_toLower (Lexique & /* inLexique */, const utf32 c) { +utf32 scanner_function_toLower (C_Lexique & /* inLexique */, const utf32 c) { return unicodeToLower (c) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -utf32 scanner_function_toUpper (Lexique & /* inLexique */, const utf32 c) { +utf32 scanner_function_toUpper (C_Lexique & /* inLexique */, const utf32 c) { return unicodeToUpper (c) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Predefined Scanner Actions (from GALGAS 1.4.0) #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_negateSInt (Lexique & inLexique, +void scanner_routine_negateSInt (C_Lexique & inLexique, int32_t & ioValue, const char * inNumberTooLargeError) { if (ioValue == INT32_MIN) { @@ -146,9 +146,9 @@ void scanner_routine_negateSInt (Lexique & inLexique, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_negateSInt64 (Lexique & inLexique, +void scanner_routine_negateSInt64 (C_Lexique & inLexique, int64_t & ioValue, const char * inNumberTooLargeError) { if (ioValue == INT64_MIN) { @@ -158,9 +158,9 @@ void scanner_routine_negateSInt64 (Lexique & inLexique, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_convertUIntToSInt (Lexique & inLexique, +void scanner_routine_convertUIntToSInt (C_Lexique & inLexique, const uint32_t inValue, int32_t & outValue, const char * inNumberTooLargeError) { @@ -171,9 +171,9 @@ void scanner_routine_convertUIntToSInt (Lexique & inLexique, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_convertUInt64ToSInt64 (Lexique & inLexique, +void scanner_routine_convertUInt64ToSInt64 (C_Lexique & inLexique, const uint64_t inValue, int64_t & outValue, const char * inNumberTooLargeError) { @@ -184,9 +184,9 @@ void scanner_routine_convertUInt64ToSInt64 (Lexique & inLexique, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_enterDigitIntoUInt (Lexique & inLexique, +void scanner_routine_enterDigitIntoUInt (C_Lexique & inLexique, const utf32 inCharacter, uint32_t & inValue, const char * inNumberTooLargeError, @@ -206,9 +206,9 @@ void scanner_routine_enterDigitIntoUInt (Lexique & inLexique, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_enterDigitIntoUInt64 (Lexique & inLexique, +void scanner_routine_enterDigitIntoUInt64 (C_Lexique & inLexique, const utf32 inCharacter, uint64_t & ioValue, const char * inNumberTooLargeError, @@ -228,9 +228,9 @@ void scanner_routine_enterDigitIntoUInt64 (Lexique & inLexique, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_enterHexDigitIntoUInt (Lexique & inLexique, +void scanner_routine_enterHexDigitIntoUInt (C_Lexique & inLexique, const utf32 inCharacter, uint32_t & ioValue, const char * inNumberTooLargeError, @@ -257,9 +257,9 @@ void scanner_routine_enterHexDigitIntoUInt (Lexique & inLexique, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_enterHexDigitIntoUInt64 (Lexique & inLexique, +void scanner_routine_enterHexDigitIntoUInt64 (C_Lexique & inLexique, const utf32 inCharacter, uint64_t & ioValue, const char * inNumberTooLargeError, @@ -286,10 +286,10 @@ void scanner_routine_enterHexDigitIntoUInt64 (Lexique & inLexique, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_convertDecimalStringIntoUInt (Lexique & inLexique, - const String & inDecimalString, +void scanner_routine_convertDecimalStringIntoUInt (C_Lexique & inLexique, + const C_String & inDecimalString, uint32_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotDecimalDigitError) { @@ -297,7 +297,7 @@ void scanner_routine_convertDecimalStringIntoUInt (Lexique & inLexique, bool ok = true ; const uint32_t max = UINT32_MAX / 10 ; for (int32_t i=0 ; (i '9')) { inLexique.lexicalError (inCharacterIsNotDecimalDigitError LINE_AND_SOURCE_FILE_FOR_SCANNER_ACTIONS) ; ok = false ; @@ -316,17 +316,17 @@ void scanner_routine_convertDecimalStringIntoUInt (Lexique & inLexique, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_convertDecimalStringIntoSInt (Lexique & inLexique, - const String & inDecimalString, +void scanner_routine_convertDecimalStringIntoSInt (C_Lexique & inLexique, + const C_String & inDecimalString, int32_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotDecimalDigitError) { outValue = 0 ; bool ok = true ; for (int32_t i=0 ; (i '9')) { inLexique.lexicalError (inCharacterIsNotDecimalDigitError LINE_AND_SOURCE_FILE_FOR_SCANNER_ACTIONS) ; }else{ @@ -345,17 +345,17 @@ void scanner_routine_convertDecimalStringIntoSInt (Lexique & inLexique, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_convertDecimalStringIntoUInt64 (Lexique & inLexique, - const String & inDecimalString, +void scanner_routine_convertDecimalStringIntoUInt64 (C_Lexique & inLexique, + const C_String & inDecimalString, uint64_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotDecimalDigitError) { outValue = 0 ; bool ok = true ; for (int32_t i=0 ; (i '9')) { inLexique.lexicalError (inCharacterIsNotDecimalDigitError LINE_AND_SOURCE_FILE_FOR_SCANNER_ACTIONS) ; }else{ @@ -374,17 +374,17 @@ void scanner_routine_convertDecimalStringIntoUInt64 (Lexique & inLexique, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_convertDecimalStringIntoSInt64 (Lexique & inLexique, - const String & inDecimalString, +void scanner_routine_convertDecimalStringIntoSInt64 (C_Lexique & inLexique, + const C_String & inDecimalString, int64_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotDecimalDigitError) { outValue = 0 ; bool ok = true ; for (int32_t i=0 ; (i '9')) { inLexique.lexicalError (inCharacterIsNotDecimalDigitError LINE_AND_SOURCE_FILE_FOR_SCANNER_ACTIONS) ; }else{ @@ -403,15 +403,15 @@ void scanner_routine_convertDecimalStringIntoSInt64 (Lexique & inLexique, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Predefined Scanner Actions (from GALGAS 1.4.3) #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_enterBinDigitIntoUInt (Lexique & inLexique, +void scanner_routine_enterBinDigitIntoUInt (C_Lexique & inLexique, const utf32 inCharacter, uint32_t & inValue, const char * inNumberTooLargeError, @@ -429,9 +429,9 @@ void scanner_routine_enterBinDigitIntoUInt (Lexique & inLexique, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_enterBinDigitIntoUInt64 (Lexique & inLexique, +void scanner_routine_enterBinDigitIntoUInt64 (C_Lexique & inLexique, const utf32 inCharacter, uint64_t & ioValue, const char * inNumberTooLargeError, @@ -449,15 +449,15 @@ void scanner_routine_enterBinDigitIntoUInt64 (Lexique & inLexique, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Predefined Scanner Actions (from GALGAS 1.4.7) #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_enterOctDigitIntoUInt (Lexique & inLexique, +void scanner_routine_enterOctDigitIntoUInt (C_Lexique & inLexique, const utf32 inCharacter, uint32_t & inValue, const char * inNumberTooLargeError, @@ -475,9 +475,9 @@ void scanner_routine_enterOctDigitIntoUInt (Lexique & inLexique, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_enterOctDigitIntoUInt64 (Lexique & inLexique, +void scanner_routine_enterOctDigitIntoUInt64 (C_Lexique & inLexique, const utf32 inCharacter, uint64_t & ioValue, const char * inNumberTooLargeError, @@ -495,15 +495,15 @@ void scanner_routine_enterOctDigitIntoUInt64 (Lexique & inLexique, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Predefined Scanner Actions (from GALGAS 1.6.9) #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_multiplyUInt (Lexique & inLexique, +void scanner_routine_multiplyUInt (C_Lexique & inLexique, const uint32_t inFactor, uint32_t & ioValue, const char * inResultTooLargeError) { @@ -517,9 +517,9 @@ void scanner_routine_multiplyUInt (Lexique & inLexique, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_multiplyUInt64 (Lexique & inLexique, +void scanner_routine_multiplyUInt64 (C_Lexique & inLexique, const uint64_t inFactor, uint64_t & ioValue, const char * inResultTooLargeError) { @@ -537,16 +537,16 @@ void scanner_routine_multiplyUInt64 (Lexique & inLexique, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Predefined Scanner Actions (from GALGAS 1.7.7) #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_convertHexStringIntoUInt (Lexique & inLexique, - const String & inHexString, +void scanner_routine_convertHexStringIntoUInt (C_Lexique & inLexique, + const C_String & inHexString, uint32_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotHexDigitError) { @@ -554,7 +554,7 @@ void scanner_routine_convertHexStringIntoUInt (Lexique & inLexique, bool ok = true ; const uint32_t max = UINT32_MAX >> 4 ; for (int32_t i=0 ; (i max) { inLexique.lexicalError (inNumberTooLargeError LINE_AND_SOURCE_FILE_FOR_SCANNER_ACTIONS) ; ok = false ; @@ -574,10 +574,10 @@ void scanner_routine_convertHexStringIntoUInt (Lexique & inLexique, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_convertHexStringIntoUInt64 (Lexique & inLexique, - const String & inHexString, +void scanner_routine_convertHexStringIntoUInt64 (C_Lexique & inLexique, + const C_String & inHexString, uint64_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotHexDigitError) { @@ -585,7 +585,7 @@ void scanner_routine_convertHexStringIntoUInt64 (Lexique & inLexique, bool ok = true ; const uint64_t max = UINT64_MAX >> 4 ; for (int32_t i=0 ; (i max) { inLexique.lexicalError (inNumberTooLargeError LINE_AND_SOURCE_FILE_FOR_SCANNER_ACTIONS) ; ok = false ; @@ -605,10 +605,10 @@ void scanner_routine_convertHexStringIntoUInt64 (Lexique & inLexique, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_convertHexStringIntoSInt (Lexique & inLexique, - const String & inHexString, +void scanner_routine_convertHexStringIntoSInt (C_Lexique & inLexique, + const C_String & inHexString, int32_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotHexDigitError) { @@ -616,7 +616,7 @@ void scanner_routine_convertHexStringIntoSInt (Lexique & inLexique, bool ok = true ; const int32_t max = INT32_MAX >> 4 ; for (int32_t i=0 ; (i max) { inLexique.lexicalError (inNumberTooLargeError LINE_AND_SOURCE_FILE_FOR_SCANNER_ACTIONS) ; ok = false ; @@ -636,10 +636,10 @@ void scanner_routine_convertHexStringIntoSInt (Lexique & inLexique, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_convertHexStringIntoSInt64 (Lexique & inLexique, - const String & inHexString, +void scanner_routine_convertHexStringIntoSInt64 (C_Lexique & inLexique, + const C_String & inHexString, int64_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotHexDigitError) { @@ -647,7 +647,7 @@ void scanner_routine_convertHexStringIntoSInt64 (Lexique & inLexique, bool ok = true ; const int64_t max = INT64_MAX >> 4 ; for (int32_t i=0 ; (i max) { inLexique.lexicalError (inNumberTooLargeError LINE_AND_SOURCE_FILE_FOR_SCANNER_ACTIONS) ; ok = false ; @@ -667,15 +667,15 @@ void scanner_routine_convertHexStringIntoSInt64 (Lexique & inLexique, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Predefined Scanner Actions (from GALGAS 1.8.3) #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_convertUnsignedNumberToUnicodeChar (Lexique & inLexique, +void scanner_routine_convertUnsignedNumberToUnicodeChar (C_Lexique & inLexique, uint32_t & ioValue, utf32 & outUnicodeCharacter, const char * inUnassignedUnicodeValueError) { @@ -686,32 +686,32 @@ void scanner_routine_convertUnsignedNumberToUnicodeChar (Lexique & inLexique, ioValue = 0 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_convertHTMLSequenceToUnicodeCharacter (Lexique & inLexique, - String & ioStringValue, +void scanner_routine_convertHTMLSequenceToUnicodeCharacter (C_Lexique & inLexique, + C_String & ioStringValue, utf32 & outUnicodeCharacter, const char * inUnassignedHTMLSequenceError) { outUnicodeCharacter = unicodeCharacterFromHTMLSequence (ioStringValue) ; if (UNICODE_VALUE (outUnicodeCharacter) == 0) { inLexique.lexicalError (inUnassignedHTMLSequenceError LINE_AND_SOURCE_FILE_FOR_SCANNER_ACTIONS) ; } - ioStringValue.removeAllKeepingCapacity () ; + ioStringValue.setLengthToZero () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_codePointToUnicode (Lexique & inLexique, - const String & inElementString, - String & ioTemplateString) { +void scanner_routine_codePointToUnicode (C_Lexique & inLexique, + const C_String & inElementString, + C_String & ioTemplateString) { if (inElementString.length () == 0) { inLexique.lexicalError ("the escape sequence '&#...;' contains no character(s)" COMMA_HERE) ; - }else if ((UNICODE_VALUE (inElementString.charAtIndex (0 COMMA_HERE)) == 'x') || (UNICODE_VALUE (inElementString.charAtIndex (0 COMMA_HERE)) == 'X')) { + }else if ((UNICODE_VALUE (inElementString (0 COMMA_HERE)) == 'x') || (UNICODE_VALUE (inElementString (0 COMMA_HERE)) == 'X')) { bool ok = true ; uint32_t code = 0 ; for (int32_t i=1 ; (i= '0') && (UNICODE_VALUE (c) <= '9')) { code += UNICODE_VALUE (c) - '0' ; }else if ((UNICODE_VALUE (c) >= 'A') && (UNICODE_VALUE (c) <= 'F')) { @@ -724,7 +724,7 @@ void scanner_routine_codePointToUnicode (Lexique & inLexique, } } if (isUnicodeCharacterAssigned (TO_UNICODE (code))) { - ioTemplateString.appendChar (TO_UNICODE (code)) ; + ioTemplateString.appendUnicodeCharacter (TO_UNICODE (code) COMMA_HERE) ; }else{ inLexique.lexicalError ("the escape sequence '&#...;' is not an assigned unicode character" COMMA_HERE) ; } @@ -733,7 +733,7 @@ void scanner_routine_codePointToUnicode (Lexique & inLexique, uint32_t code = 0 ; for (int32_t i=0 ; (i= '0') && (UNICODE_VALUE (c) <= '9')) { code += UNICODE_VALUE (c) - '0' ; }else{ @@ -742,64 +742,64 @@ void scanner_routine_codePointToUnicode (Lexique & inLexique, } } if (isUnicodeCharacterAssigned (TO_UNICODE (code))) { - ioTemplateString.appendChar (TO_UNICODE (code)) ; + ioTemplateString.appendUnicodeCharacter (TO_UNICODE (code) COMMA_HERE) ; }else{ inLexique.lexicalError ("the escape sequence '&#...;' is not an assigned unicode character" COMMA_HERE) ; } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Predefined Scanner Actions (from GALGAS 3.0.0) #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_resetString (Lexique & /* inLexique */, - String & ioString) { - ioString.removeAllKeepingCapacity () ; +void scanner_routine_resetString (C_Lexique & /* inLexique */, + C_String & ioString) { + ioString.setLengthToZero () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Predefined Scanner Actions (from GALGAS 3.1.0) #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_enterDecimalDigitIntoBigInt (Lexique & inLexique, +void scanner_routine_enterDecimalDigitIntoBigInt (C_Lexique & inLexique, const utf32 inCharacter, - BigSigned & ioBigInt, + C_BigInt & ioBigInt, const char * inCharacterIsNotDecimalDigitError) { if ((UNICODE_VALUE (inCharacter) < '0') || (UNICODE_VALUE (inCharacter) > '9')) { inLexique.lexicalError (inCharacterIsNotDecimalDigitError LINE_AND_SOURCE_FILE_FOR_SCANNER_ACTIONS) ; }else{ - const uint8_t digit = uint8_t (UNICODE_VALUE (inCharacter) - '0') ; + const uint32_t digit = UNICODE_VALUE (inCharacter) - '0' ; ioBigInt *= 10 ; ioBigInt += digit ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_enterHexDigitIntoBigInt (Lexique & inLexique, +void scanner_routine_enterHexDigitIntoBigInt (C_Lexique & inLexique, const utf32 inCharacter, - BigSigned & ioBigInt, + C_BigInt & ioBigInt, const char * inCharacterIsNotDecimalDigitError) { if ((UNICODE_VALUE (inCharacter) >= '0') && (UNICODE_VALUE (inCharacter) <= '9')) { - const uint8_t digit = uint8_t (UNICODE_VALUE (inCharacter) - '0') ; + const uint32_t digit = UNICODE_VALUE (inCharacter) - '0' ; ioBigInt *= 16 ; ioBigInt += digit ; }else if ((UNICODE_VALUE (inCharacter) >= 'A') && (UNICODE_VALUE (inCharacter) <= 'F')) { - const uint8_t digit = uint8_t (UNICODE_VALUE (inCharacter) - 'A' + 10) ; + const uint32_t digit = UNICODE_VALUE (inCharacter) - 'A' + 10 ; ioBigInt *= 16 ; ioBigInt += digit ; }else if ((UNICODE_VALUE (inCharacter) >= 'a') && (UNICODE_VALUE (inCharacter) <= 'f')) { - const uint8_t digit = uint8_t (UNICODE_VALUE (inCharacter) - 'a' + 10) ; + const uint32_t digit = UNICODE_VALUE (inCharacter) - 'a' + 10 ; ioBigInt *= 16 ; ioBigInt += digit ; }else{ @@ -807,73 +807,73 @@ void scanner_routine_enterHexDigitIntoBigInt (Lexique & inLexique, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_convertDecimalStringIntoBigInt (Lexique & inLexique, - const String & inDecimalString, - BigSigned & outValue, +void scanner_routine_convertDecimalStringIntoBigInt (C_Lexique & inLexique, + const C_String & inDecimalString, + C_BigInt & outValue, const char * inCharacterIsNotDecimalDigitError) { bool ok = true ; - outValue = BigSigned (inDecimalString.cString (), BigUnsignedBase::ten, ok) ; + outValue = C_BigInt (inDecimalString.cString (HERE), 10, ok) ; if (! ok) { inLexique.lexicalError (inCharacterIsNotDecimalDigitError LINE_AND_SOURCE_FILE_FOR_SCANNER_ACTIONS) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_convertHexStringIntoBigInt (Lexique & inLexique, - const String & inHexString, - BigSigned & outValue, +void scanner_routine_convertHexStringIntoBigInt (C_Lexique & inLexique, + const C_String & inHexString, + C_BigInt & outValue, const char * inCharacterIsNotHexDigitError) { bool ok = true ; - outValue = BigSigned (inHexString.cString (), BigUnsignedBase::sixteen, ok) ; + outValue = C_BigInt (inHexString.cString (HERE), 16, ok) ; if (! ok) { inLexique.lexicalError (inCharacterIsNotHexDigitError LINE_AND_SOURCE_FILE_FOR_SCANNER_ACTIONS) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Predefined Scanner Actions (from GALGAS 3.1.6) #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_enterBinaryDigitIntoBigInt (Lexique & inLexique, +void scanner_routine_enterBinaryDigitIntoBigInt (C_Lexique & inLexique, const utf32 inCharacter, - BigSigned & ioBigInt, + C_BigInt & ioBigInt, const char * inCharacterIsNotBinaryDigitError) { if ((UNICODE_VALUE (inCharacter) < '0') || (UNICODE_VALUE (inCharacter) > '1')) { inLexique.lexicalError (inCharacterIsNotBinaryDigitError LINE_AND_SOURCE_FILE_FOR_SCANNER_ACTIONS) ; }else{ - const uint8_t digit = uint8_t (UNICODE_VALUE (inCharacter) - '0') ; + const uint32_t digit = UNICODE_VALUE (inCharacter) - '0' ; ioBigInt *= 2 ; ioBigInt += digit ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_convertBinaryStringIntoBigInt (Lexique & inLexique, - const String & inBinaryString, - BigSigned & outValue, +void scanner_routine_convertBinaryStringIntoBigInt (C_Lexique & inLexique, + const C_String & inBinaryString, + C_BigInt & outValue, const char * inCharacterIsNotBinaryDigitError) { bool ok = true ; - outValue = BigSigned (inBinaryString.cString (), BigUnsignedBase::two, ok) ; + outValue = C_BigInt (inBinaryString.cString (HERE), 2, ok) ; if (! ok) { inLexique.lexicalError (inCharacterIsNotBinaryDigitError LINE_AND_SOURCE_FILE_FOR_SCANNER_ACTIONS) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_negateBigInt (Lexique & /* inLexique */, - BigSigned & ioValue) { +void scanner_routine_negateBigInt (C_Lexique & /* inLexique */, + C_BigInt & ioValue) { ioValue.negateInPlace () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/scanner_actions.h b/goil/build/libpm/galgas2/scanner_actions.h index f93e3710b..a028d6735 100644 --- a/goil/build/libpm/galgas2/scanner_actions.h +++ b/goil/build/libpm/galgas2/scanner_actions.h @@ -1,10 +1,10 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // scanner_actions: hand-coded routines for building attribute values during scanning. // // This file is part of libpm library // -// Copyright (C) 2009, ..., 2023 Pierre Molinaro. +// Copyright (C) 2009, ..., 2016 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -16,60 +16,60 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "Lexique.h" +#include "galgas2/C_Lexique.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS - #define LINE_AND_SOURCE_FILE sourceText ().sourceFilePath ().cString (), lineNumber () + #define LINE_AND_SOURCE_FILE sourceText ().sourceFilePath ().cString (HERE), lineNumber () #define COMMA_LINE_AND_SOURCE_FILE , LINE_AND_SOURCE_FILE #else #define LINE_AND_SOURCE_FILE #define COMMA_LINE_AND_SOURCE_FILE #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // S C A N N E R A C T I O N S // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void scanner_routine_multiplyUInt (Lexique & inLexique, +void scanner_routine_multiplyUInt (C_Lexique & inLexique, const uint32_t inFactor, uint32_t & ioValue, const char * inResultTooLargeError) ; -void scanner_routine_multiplyUInt64 (Lexique & inLexique, +void scanner_routine_multiplyUInt64 (C_Lexique & inLexique, const uint64_t inFactor, uint64_t & ioValue, const char * inResultTooLargeError) ; -void scanner_routine_enterCharacterIntoCharacter (Lexique & inLexique, +void scanner_routine_enterCharacterIntoCharacter (C_Lexique & inLexique, utf32 & outCharacter, const utf32 inCharacter) ; -void scanner_routine_convertStringToDouble (Lexique & inLexique, - const String & inString, +void scanner_routine_convertStringToDouble (C_Lexique & inLexique, + const C_String & inString, double & outValue, const char * inConversionError) ; -void scanner_routine_enterCharacterIntoString (Lexique & inLexique, - String & ioString, +void scanner_routine_enterCharacterIntoString (C_Lexique & inLexique, + C_String & ioString, const utf32 inCharacter) ; -void scanner_routine_enterHexDigitIntoASCIIcharacter (Lexique & inLexique, +void scanner_routine_enterHexDigitIntoASCIIcharacter (C_Lexique & inLexique, utf32 & ioValue, const utf32 inCharacter, const char * inNumberTooLargeError, const char * inCharacterIsNotHexDigitError) ; -void scanner_routine_enterDigitIntoASCIIcharacter (Lexique & inLexique, +void scanner_routine_enterDigitIntoASCIIcharacter (C_Lexique & inLexique, utf32 & ioValue, const utf32 inCharacter, const char * inNumberTooLargeError, @@ -77,81 +77,81 @@ void scanner_routine_enterDigitIntoASCIIcharacter (Lexique & inLexique, //--- Methods introduced in GALGAS 1.4.0 -void scanner_routine_convertDecimalStringIntoUInt (Lexique & inLexique, - const String & inDecimalString, +void scanner_routine_convertDecimalStringIntoUInt (C_Lexique & inLexique, + const C_String & inDecimalString, uint32_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotDecimalDigitError) ; -void scanner_routine_convertDecimalStringIntoSInt (Lexique & inLexique, - const String & inDecimalString, +void scanner_routine_convertDecimalStringIntoSInt (C_Lexique & inLexique, + const C_String & inDecimalString, int32_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotDecimalDigitError) ; -void scanner_routine_convertDecimalStringIntoUInt64 (Lexique & inLexique, - const String & inDecimalString, +void scanner_routine_convertDecimalStringIntoUInt64 (C_Lexique & inLexique, + const C_String & inDecimalString, uint64_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotDecimalDigitError) ; -void scanner_routine_convertDecimalStringIntoSInt64 (Lexique & inLexique, - const String & inDecimalString, +void scanner_routine_convertDecimalStringIntoSInt64 (C_Lexique & inLexique, + const C_String & inDecimalString, int64_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotDecimalDigitError) ; -void scanner_routine_enterDigitIntoUInt (Lexique & inLexique, +void scanner_routine_enterDigitIntoUInt (C_Lexique & inLexique, const utf32 inCharacter, uint32_t & ioValue, const char * inNumberTooLargeError, const char * inCharacterIsNotDecimalDigitError) ; -void scanner_routine_enterDigitIntoUInt64 (Lexique & inLexique, +void scanner_routine_enterDigitIntoUInt64 (C_Lexique & inLexique, const utf32 inCharacter, uint64_t & ioValue, const char * inNumberTooLargeError, const char * inCharacterIsNotDecimalDigitError) ; -void scanner_routine_enterHexDigitIntoUInt (Lexique & inLexique, +void scanner_routine_enterHexDigitIntoUInt (C_Lexique & inLexique, const utf32 inCharacter, uint32_t & ioValue, const char * inNumberTooLargeError, const char * inCharacterIsNotHexDigitError) ; -void scanner_routine_enterHexDigitIntoUInt64 (Lexique & inLexique, +void scanner_routine_enterHexDigitIntoUInt64 (C_Lexique & inLexique, const utf32 inCharacter, uint64_t & ioValue, const char * inNumberTooLargeError, const char * inCharacterIsNotHexDigitError) ; -void scanner_routine_convertUIntToSInt (Lexique & inLexique, +void scanner_routine_convertUIntToSInt (C_Lexique & inLexique, const uint32_t inValue, int32_t & outValue, const char * inNumberTooLargeError) ; -void scanner_routine_convertUInt64ToSInt64 (Lexique & inLexique, +void scanner_routine_convertUInt64ToSInt64 (C_Lexique & inLexique, const uint64_t inValue, int64_t & outValue, const char * inNumberTooLargeError) ; -void scanner_routine_negateSInt (Lexique & inLexique, +void scanner_routine_negateSInt (C_Lexique & inLexique, int32_t & ioValue, const char * inNumberTooLargeError) ; -void scanner_routine_negateSInt64 (Lexique & inLexique, +void scanner_routine_negateSInt64 (C_Lexique & inLexique, int64_t & ioValue, const char * inNumberTooLargeError) ; //--- Methods introduced in GALGAS 1.4.3 (thanks to Mikael Briday) -void scanner_routine_enterBinDigitIntoUInt (Lexique & inLexique, +void scanner_routine_enterBinDigitIntoUInt (C_Lexique & inLexique, const utf32 inCharacter, uint32_t & ioValue, const char * inNumberTooLargeError, const char * inCharacterIsNotBinDigitError) ; -void scanner_routine_enterBinDigitIntoUInt64 (Lexique & inLexique, +void scanner_routine_enterBinDigitIntoUInt64 (C_Lexique & inLexique, const utf32 inCharacter, uint64_t & ioValue, const char * inNumberTooLargeError, @@ -159,103 +159,103 @@ void scanner_routine_enterBinDigitIntoUInt64 (Lexique & inLexique, //--- Methods introduced in GALGAS 1.4.7 (thanks to Mikael Briday) -void scanner_routine_enterOctDigitIntoUInt (Lexique & inLexique, +void scanner_routine_enterOctDigitIntoUInt (C_Lexique & inLexique, const utf32 inCharacter, uint32_t & ioValue, const char * inNumberTooLargeError, const char * inCharacterIsNotOctDigitError) ; -void scanner_routine_enterOctDigitIntoUInt64 (Lexique & inLexique, +void scanner_routine_enterOctDigitIntoUInt64 (C_Lexique & inLexique, const utf32 inCharacter, uint64_t & ioValue, const char * inNumberTooLargeError, const char * inCharacterIsNotOctDigitError) ; //--- Methods introduced in GALGAS 1.7.7 -void scanner_routine_convertHexStringIntoUInt (Lexique & inLexique, - const String & inDecimalString, +void scanner_routine_convertHexStringIntoUInt (C_Lexique & inLexique, + const C_String & inDecimalString, uint32_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotHexDigitError) ; -void scanner_routine_convertHexStringIntoUInt64 (Lexique & inLexique, - const String & inDecimalString, +void scanner_routine_convertHexStringIntoUInt64 (C_Lexique & inLexique, + const C_String & inDecimalString, uint64_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotHexDigitError) ; -void scanner_routine_convertHexStringIntoSInt (Lexique & inLexique, - const String & inDecimalString, +void scanner_routine_convertHexStringIntoSInt (C_Lexique & inLexique, + const C_String & inDecimalString, int32_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotHexDigitError) ; -void scanner_routine_convertHexStringIntoSInt64 (Lexique & inLexique, - const String & inHexString, +void scanner_routine_convertHexStringIntoSInt64 (C_Lexique & inLexique, + const C_String & inHexString, int64_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotHexDigitError) ; //--- Methods introduced in GALGAS 1.8.3 -void scanner_routine_convertUnsignedNumberToUnicodeChar (Lexique & inLexique, +void scanner_routine_convertUnsignedNumberToUnicodeChar (C_Lexique & inLexique, uint32_t & ioValue, utf32 & outUnicodeCharacter, const char * inUnassignedUnicodeValueError) ; -void scanner_routine_convertHTMLSequenceToUnicodeCharacter (Lexique & inLexique, - String & ioStringValue, +void scanner_routine_convertHTMLSequenceToUnicodeCharacter (C_Lexique & inLexique, + C_String & ioStringValue, utf32 & outUnicodeCharacter, const char * inUnassignedHTMLSequenceError) ; void -scanner_routine_codePointToUnicode (Lexique & inLexique, - const String & inElementString, - String & ioTemplateString) ; +scanner_routine_codePointToUnicode (C_Lexique & inLexique, + const C_String & inElementString, + C_String & ioTemplateString) ; //--- Methods introduced in GALGAS 3.0.0 -void scanner_routine_resetString (Lexique & inLexique, - String & ioString) ; +void scanner_routine_resetString (C_Lexique & inLexique, + C_String & ioString) ; //--- Methods introduced in GALGAS 3.1.0 -void scanner_routine_enterDecimalDigitIntoBigInt (Lexique & inLexique, +void scanner_routine_enterDecimalDigitIntoBigInt (C_Lexique & inLexique, const utf32 inCharacter, - class BigSigned & ioBigInt, + class C_BigInt & ioBigInt, const char * inCharacterIsNotDecimalDigitError) ; -void scanner_routine_enterHexDigitIntoBigInt (Lexique & inLexique, +void scanner_routine_enterHexDigitIntoBigInt (C_Lexique & inLexique, const utf32 inCharacter, - class BigSigned & ioBigInt, + class C_BigInt & ioBigInt, const char * inCharacterIsNotDecimalDigitError) ; -void scanner_routine_convertDecimalStringIntoBigInt (Lexique & inLexique, - const String & inDecimalString, - BigSigned & outValue, +void scanner_routine_convertDecimalStringIntoBigInt (C_Lexique & inLexique, + const C_String & inDecimalString, + C_BigInt & outValue, const char * inCharacterIsNotDecimalDigitError) ; -void scanner_routine_convertHexStringIntoBigInt (Lexique & inLexique, - const String & inHexString, - BigSigned & outValue, +void scanner_routine_convertHexStringIntoBigInt (C_Lexique & inLexique, + const C_String & inHexString, + C_BigInt & outValue, const char * inCharacterIsNotHexDigitError) ; //--- Methods introduced in GALGAS 3.1.6 -void scanner_routine_enterBinaryDigitIntoBigInt (Lexique & inLexique, +void scanner_routine_enterBinaryDigitIntoBigInt (C_Lexique & inLexique, const utf32 inCharacter, - class BigSigned & ioBigInt, + class C_BigInt & ioBigInt, const char * inCharacterIsNotBinaryDigitError) ; -void scanner_routine_convertBinaryStringIntoBigInt (Lexique & inLexique, - const String & inBinaryString, - BigSigned & outValue, +void scanner_routine_convertBinaryStringIntoBigInt (C_Lexique & inLexique, + const C_String & inBinaryString, + C_BigInt & outValue, const char * inCharacterIsNotBinaryDigitError) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -utf32 scanner_function_toLower (Lexique & inLexique, const utf32 inCharacter) ; +utf32 scanner_function_toLower (C_Lexique & inLexique, const utf32 inCharacter) ; -utf32 scanner_function_toUpper (Lexique & inLexique, const utf32 inCharacter) ; +utf32 scanner_function_toUpper (C_Lexique & inLexique, const utf32 inCharacter) ; -void scanner_routine_negateBigInt (Lexique & inLexique, - BigSigned & ioValue) ; +void scanner_routine_negateBigInt (C_Lexique & inLexique, + C_BigInt & ioValue) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/typeComparisonResult.cpp b/goil/build/libpm/galgas2/typeComparisonResult.cpp index be6f4ba9f..4cd506f23 100644 --- a/goil/build/libpm/galgas2/typeComparisonResult.cpp +++ b/goil/build/libpm/galgas2/typeComparisonResult.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Types for comparison results // @@ -16,11 +16,11 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "typeComparisonResult.h" +#include "galgas2/typeComparisonResult.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS typeComparisonResult::typeComparisonResult (const enumComparisonResult inComparisonResult) : @@ -28,7 +28,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS typeComparisonResult typeComparisonResult::operandNotValid (void) { @@ -36,7 +36,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS typeComparisonResult typeComparisonResult::firstOperandLowerThanSecond (void) { @@ -44,7 +44,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS typeComparisonResult typeComparisonResult::operandEqual (void) { @@ -52,7 +52,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS typeComparisonResult typeComparisonResult::firstOperandGreaterThanSecond (void) { @@ -60,7 +60,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS bool typeComparisonResult::operator == (const typeComparisonResult & inOperand) const { @@ -68,7 +68,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS bool typeComparisonResult::operator != (const typeComparisonResult & inOperand) const { @@ -76,7 +76,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS bool typeComparisonResult::operator <= (const typeComparisonResult & inOperand) const { @@ -84,7 +84,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS bool typeComparisonResult::operator >= (const typeComparisonResult & inOperand) const { @@ -92,7 +92,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS bool typeComparisonResult::operator < (const typeComparisonResult & inOperand) const { @@ -100,7 +100,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS bool typeComparisonResult::operator > (const typeComparisonResult & inOperand) const { @@ -108,11 +108,11 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // typeComparisonKind // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef DO_NOT_GENERATE_CHECKINGS bool boolValueFromComparisonKindAndComparisonResult (const typeComparisonKind inComparisonKind, @@ -132,7 +132,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS bool boolValueFromComparisonKindAndComparisonResult (const typeComparisonKind inComparisonKind, @@ -152,7 +152,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS typeComparisonKind::typeComparisonKind (const enumComparisonKind inComparisonKind) : @@ -160,7 +160,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS typeComparisonKind typeComparisonKind::isEqual (void) { @@ -168,7 +168,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS typeComparisonKind typeComparisonKind::isNotEqual (void) { @@ -176,7 +176,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS typeComparisonKind typeComparisonKind::isSupOrEqual (void) { @@ -184,7 +184,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS typeComparisonKind typeComparisonKind::isInfOrEqual (void) { @@ -192,7 +192,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS typeComparisonKind typeComparisonKind::isStrictSup (void) { @@ -200,7 +200,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS typeComparisonKind typeComparisonKind::isStrictInf (void) { @@ -208,4 +208,4 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/typeComparisonResult.h b/goil/build/libpm/galgas2/typeComparisonResult.h index 42e1c775a..a62d479d0 100644 --- a/goil/build/libpm/galgas2/typeComparisonResult.h +++ b/goil/build/libpm/galgas2/typeComparisonResult.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Types for comparison results // @@ -16,11 +16,11 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS class typeComparisonResult { @@ -60,7 +60,7 @@ } typeComparisonResult ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS class typeComparisonKind { @@ -105,20 +105,20 @@ } typeComparisonKind ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool boolValueFromComparisonKindAndComparisonResult (const typeComparisonKind inComparisonKind, const typeComparisonResult inComparisonResult) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // typeEnumerationOrder // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typedef enum { kENUMERATION_DOWN, kENUMERATION_UP } typeEnumerationOrder ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/generic-arraies/TC_Array.h b/goil/build/libpm/generic-arraies/TC_Array.h index 10719d8e5..c88a3b640 100644 --- a/goil/build/libpm/generic-arraies/TC_Array.h +++ b/goil/build/libpm/generic-arraies/TC_Array.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // G E N E R I C A R R A Y // @@ -15,42 +15,42 @@ // This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "SharedObject.h" -#include "M_SourceLocation.h" -#include "TF_Swap.h" -#include "MF_MemoryControl.h" -#include "cpp-allocation.h" -#include "TC_UniqueArray.h" +#include "utilities/C_SharedObject.h" +#include "utilities/M_SourceLocation.h" +#include "utilities/TF_Swap.h" +#include "utilities/MF_MemoryControl.h" +#include "utilities/cpp-allocation.h" +#include "generic-arraies/TC_UniqueArray.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Template class predeclaration // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template class TC_Array ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // swap function for TC_Array classes // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void swap (TC_Array & ioOperand1, TC_Array & ioOperand2) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -template class cSharedArray final : public SharedObject { +template class cSharedArray final : public C_SharedObject { //--- Default Constructor public: cSharedArray (void) : - SharedObject (HERE), + C_SharedObject (HERE), mUniqueArray () { } @@ -60,14 +60,14 @@ template class cSharedArray final : public SharedObject { //--- Allocation Constructor (empty array) public: cSharedArray (const int inCapacity COMMA_LOCATION_ARGS) : - SharedObject (THERE), + C_SharedObject (THERE), mUniqueArray (inCapacity COMMA_THERE) { } //--- Allocation Constructor (array initialized with inValue) public: cSharedArray (const int inCount, const TYPE & inValue COMMA_LOCATION_ARGS) : - SharedObject (THERE), + C_SharedObject (THERE), mUniqueArray (inCount, inValue COMMA_THERE) { } @@ -75,11 +75,11 @@ template class cSharedArray final : public SharedObject { public: TC_UniqueArray mUniqueArray ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Template class declaration // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template class TC_Array final { //--- Default Constructor @@ -199,64 +199,64 @@ template class TC_Array final { private: cSharedArray * mSharedArray ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Default Constructor // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template TC_Array ::TC_Array (void) : mSharedArray (nullptr) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Destructor // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template TC_Array ::~ TC_Array (void) { macroDetachSharedObject (mSharedArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Allocation Constructor // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template TC_Array ::TC_Array (const int inCapacity COMMA_LOCATION_ARGS) : mSharedArray (nullptr) { macroMyNew (mSharedArray, cSharedArray (inCapacity COMMA_THERE)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Allocation Constructor // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template TC_Array :: TC_Array (const int inCount, const TYPE & inValue COMMA_LOCATION_ARGS) : mSharedArray (nullptr) { macroMyNew (mSharedArray, cSharedArray (inCount, inValue COMMA_THERE)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Copy Constructor // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template TC_Array ::TC_Array (const TC_Array & inOperand) : mSharedArray (nullptr) { macroAssignSharedObject (mSharedArray, inOperand.mSharedArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Assignment Operator // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template TC_Array & TC_Array ::operator = (const TC_Array & inOperand) { if (mSharedArray != inOperand.mSharedArray) { @@ -265,22 +265,22 @@ template TC_Array & TC_Array ::operator = (const TC return *this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // swap function for TC_Array classes // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void swap (TC_Array & ioOperand1, TC_Array & ioOperand2) { swap (ioOperand1.mSharedArray, ioOperand2.mSharedArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Count // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template int32_t TC_Array ::count (void) const { int32_t result = 0 ; @@ -290,11 +290,11 @@ template int32_t TC_Array ::count (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // unsafeArrayPointer // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template const TYPE * TC_Array ::unsafeArrayPointer (void) const { const TYPE * result = 0 ; @@ -304,11 +304,11 @@ template const TYPE * TC_Array ::unsafeArrayPointer (void) return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // insulate // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_Array ::insulate (void) { if ((nullptr != mSharedArray) && !mSharedArray->isUniquelyReferenced ()) { @@ -320,9 +320,9 @@ template void TC_Array ::insulate (void) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // appendObject (inValue is copied) -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_Array ::appendObject (const TYPE & inValue) { if (nullptr == mSharedArray) { @@ -333,7 +333,7 @@ template void TC_Array ::appendObject (const TYPE & inValu mSharedArray->mUniqueArray.appendObject (inValue) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_Array ::appendObjects (const int32_t inCount, const TYPE & inValue) { // inValue is copied @@ -347,7 +347,7 @@ template void TC_Array ::appendObjects (const int32_t inCo } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_Array ::insertObjectsAtIndex (const int32_t inCount, const TYPE & inValue, @@ -363,21 +363,21 @@ template void TC_Array ::insertObjectsAtIndex (const int32 } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // free (remove all objects and deallocate) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_Array ::free (void) { macroDetachSharedObject (mSharedArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // CALL operators // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template TYPE & TC_Array ::operator () (const int32_t inIndex COMMA_LOCATION_ARGS) { if (nullptr == mSharedArray) { @@ -389,23 +389,23 @@ template TYPE & TC_Array ::operator () (const int32_t inIn return mSharedArray->mUniqueArray (inIndex COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template TYPE TC_Array ::operator () (const int32_t inIndex COMMA_LOCATION_ARGS) const { macroValidPointer (mSharedArray) ; return mSharedArray->mUniqueArray (inIndex COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Last object access (with index checking) -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template TYPE TC_Array ::lastObject (LOCATION_ARGS) const { macroValidPointer (mSharedArray) ; return mSharedArray->mUniqueArray.lastObject (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template TYPE & TC_Array ::lastObject (LOCATION_ARGS) { if (nullptr == mSharedArray) { @@ -417,11 +417,11 @@ template TYPE & TC_Array ::lastObject (LOCATION_ARGS) { return mSharedArray->mUniqueArray.lastObject (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Remove last object // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_Array ::removeLastObject (LOCATION_ARGS) { insulate () ; @@ -429,11 +429,11 @@ template void TC_Array ::removeLastObject (LOCATION_ARGS) mSharedArray->mUniqueArray.removeLastObject (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Remove last objects // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_Array ::removeLastObjects (const int32_t inCount COMMA_LOCATION_ARGS) { insulate () ; @@ -441,11 +441,11 @@ template void TC_Array ::removeLastObjects (const int32_t mSharedArray->mUniqueArray.removeLastObjects (inCount COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Set Count To zero // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_Array ::removeAllKeepingCapacity (void) { if (nullptr != mSharedArray) { @@ -454,11 +454,11 @@ template void TC_Array ::removeAllKeepingCapacity (void) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // == // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template bool TC_Array ::operator == (const TC_Array & inOperand) const { bool result = mSharedArray == inOperand.mSharedArray ; @@ -468,11 +468,11 @@ template bool TC_Array ::operator == (const TC_Array void TC_Array ::setDataFromPointer (TYPE * & ioDataPtr, const int32_t inDataLength) { @@ -483,11 +483,11 @@ template void TC_Array ::setDataFromPointer (TYPE * & ioDa mSharedArray->mUniqueArray.setDataFromPointer (ioDataPtr, inDataLength) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // appendDataFromPointer // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_Array ::appendDataFromPointer (const TYPE * inDataPtr, const int32_t inDataLength) { @@ -499,11 +499,11 @@ template void TC_Array ::appendDataFromPointer (const TYPE mSharedArray->mUniqueArray.appendDataFromPointer (inDataPtr, inDataLength) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // setCapacity // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_Array ::setCapacity (const int32_t inNewCapacity) { if (nullptr == mSharedArray) { @@ -514,11 +514,11 @@ template void TC_Array ::setCapacity (const int32_t inNewC } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Remove objects at index (0 <= index < count) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_Array ::removeObjectAtIndex (const int32_t inIndex COMMA_LOCATION_ARGS) { @@ -527,7 +527,7 @@ template void TC_Array ::removeObjectAtIndex (const int32_ mSharedArray->mUniqueArray.removeObjectAtIndex (inIndex COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_Array ::removeObjectsAtIndex (const int32_t inCount, const int32_t inStartingIndex @@ -537,11 +537,11 @@ template void TC_Array ::removeObjectsAtIndex (const int32 mSharedArray->mUniqueArray.removeObjectsAtIndex (inCount, inStartingIndex COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // setObjectAtIndex // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_Array ::setObjectAtIndex (const TYPE & inObject, const int32_t inIndex @@ -551,11 +551,11 @@ template void TC_Array ::setObjectAtIndex (const TYPE & in mSharedArray->mUniqueArray.setObjectAtIndex (inObject, inIndex COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // insertObjectAtIndex // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_Array ::insertObjectAtIndex (const TYPE & inObject, const int32_t inIndex // inValue is copied @@ -569,11 +569,11 @@ template void TC_Array ::insertObjectAtIndex (const TYPE & mSharedArray->mUniqueArray.insertObjectAtIndex (inObject, inIndex COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // appendUniqueObjectInOrderedArray // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_Array ::appendUniqueObjectInOrderedArray (const TYPE & inKey) { if (nullptr == mSharedArray) { @@ -585,11 +585,11 @@ template void TC_Array ::appendUniqueObjectInOrderedArray mSharedArray->mUniqueArray.appendUniqueObjectInOrderedArray (inKey) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // removeObjectFromOrderedArray // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_Array ::removeObjectFromOrderedArray (const TYPE & inKey) { if (nullptr != mSharedArray) { @@ -599,11 +599,11 @@ template void TC_Array ::removeObjectFromOrderedArray (con } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // indexOfObjectInOrderedArray // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template int32_t TC_Array ::indexOfObjectInOrderedArray (const TYPE & inKey) const { int32_t result = -1 ; // Not found @@ -614,11 +614,11 @@ template int32_t TC_Array ::indexOfObjectInOrderedArray (c return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // intersectionOfOrderedArraies // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_Array ::intersectionOfOrderedArraies (const TC_Array & inOperand, TC_Array & outResult) const { @@ -636,11 +636,11 @@ template void TC_Array ::intersectionOfOrderedArraies (con } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // unionOfOrderedArraies // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_Array ::unionOfOrderedArraies (const TC_Array & inOperand, TC_Array & outResult) const { @@ -662,11 +662,11 @@ template void TC_Array ::unionOfOrderedArraies (const TC_A } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // substractOfOrderedArraies // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_Array ::subtractOfOrderedArraies (const TC_Array & inSubstractedSet, TC_Array & outResult) const { @@ -688,4 +688,4 @@ template void TC_Array ::subtractOfOrderedArraies (const T } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/generic-arraies/TC_UniqueArray.h b/goil/build/libpm/generic-arraies/TC_UniqueArray.h index 43000ed05..4484d2c16 100644 --- a/goil/build/libpm/generic-arraies/TC_UniqueArray.h +++ b/goil/build/libpm/generic-arraies/TC_UniqueArray.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Declaration and implementation of the template class 'TC_UniqueArray' // @@ -18,40 +18,40 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "macroAssert.h" -#include "M_SourceLocation.h" -#include "TF_Swap.h" -#include "MF_MemoryControl.h" -#include "cpp-allocation.h" +#include "utilities/MF_Assert.h" +#include "utilities/M_SourceLocation.h" +#include "utilities/TF_Swap.h" +#include "utilities/MF_MemoryControl.h" +#include "utilities/cpp-allocation.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Template class predeclaration // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template class TC_UniqueArray ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // swap function for TC_UniqueArray classes // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void swap (TC_UniqueArray & ioOperand1, TC_UniqueArray & ioOperand2) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Template class declaration // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template class TC_UniqueArray final { //--- Default Constructor @@ -175,7 +175,8 @@ template class TC_UniqueArray final { //--- Force entry public: void forceObjectAtIndex (const int32_t inIndex, const TYPE & inValue, - const TYPE & inDefaultValue) ; + const TYPE & inDefaultValue + COMMA_LOCATION_ARGS) ; //--- Prepend object public: void prependObject (const TYPE & inValue) ; // inValue is copied @@ -314,11 +315,11 @@ template class TC_UniqueArray final { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Default Constructor // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template TC_UniqueArray ::TC_UniqueArray (void) : mArray ((TYPE *) nullptr), @@ -326,18 +327,18 @@ mCount (0), mCapacity (0) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Allocation Constructor // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template TC_UniqueArray ::TC_UniqueArray (const int32_t inCapacity COMMA_LOCATION_ARGS) : mArray (nullptr), mCount (0), mCapacity (0) { #ifndef DO_NOT_GENERATE_CHECKINGS - macroAssertThere (inCapacity >= 0, "inCapacity (%ld) < 0", inCapacity, 0) ; + MF_AssertThere (inCapacity >= 0, "inCapacity (%ld) < 0", inCapacity, 0) ; #endif if (inCapacity > 0) { macroMyNewArray (mArray, TYPE, uint32_t (inCapacity)) ; @@ -345,11 +346,11 @@ mCapacity (0) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Allocation Constructor // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template TC_UniqueArray ::TC_UniqueArray (const int32_t inCapacity, const TYPE & inValue @@ -358,7 +359,7 @@ mArray (nullptr), mCount (0), mCapacity (0) { #ifndef DO_NOT_GENERATE_CHECKINGS - macroAssertThere (inCapacity >= 0, "inCapacity (%ld) < 0", inCapacity, 0) ; + MF_AssertThere (inCapacity >= 0, "inCapacity (%ld) < 0", inCapacity, 0) ; #endif if (inCapacity > 0) { macroMyNewArray (mArray, TYPE, uint32_t (inCapacity)) ; @@ -370,11 +371,11 @@ mCapacity (0) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Allocation Constructor // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::setDataFromPointer (TYPE * & ioDataPtr, const int32_t inDataLength) { @@ -385,7 +386,7 @@ template void TC_UniqueArray ::setDataFromPointer (TYPE * ioDataPtr = nullptr ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::appendDataFromPointer (const TYPE * inDataPtr, const int32_t inDataLength) { @@ -394,31 +395,31 @@ template void TC_UniqueArray ::appendDataFromPointer (cons } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Destructor // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template TC_UniqueArray ::~TC_UniqueArray (void) { macroMyDeleteArray (mArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Destructor // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::removeAllKeepingCapacity (void) { mCount = 0 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Method for making room using copy // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::copyTo (TC_UniqueArray & outArray) const { outArray.removeAllKeepingCapacity () ; @@ -427,11 +428,11 @@ template void TC_UniqueArray ::copyTo (TC_UniqueArray void TC_UniqueArray ::setCapacity (const int32_t inNewCapacity) { if (mCapacity < inNewCapacity) { @@ -449,35 +450,43 @@ template void TC_UniqueArray ::setCapacity (const int32_t } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Method for making room using copy // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::forceObjectAtIndex (const int32_t inIndex, const TYPE & inValue, - const TYPE & inDefaultValue) { -//--- Realloc if necessary - if (mCapacity < (inIndex + 1)) { - setCapacity (inIndex + 1) ; + const TYPE & inDefaultValue + COMMA_LOCATION_ARGS) { + if (mCapacity <= inIndex) { + int32_t newCapacity = (mCapacity > 32) ? mCapacity : 32 ; + while (newCapacity <= inIndex) { + newCapacity <<= 1 ; + } + TYPE * newArray = nullptr ; + macroMyNewArrayThere (newArray, TYPE, uint32_t (newCapacity)) ; + for (int32_t i=0 ; i void TC_UniqueArray ::setCapacityUsingSwap (const int32_t inNewCapacity) { if (mCapacity < inNewCapacity) { @@ -495,11 +504,11 @@ template void TC_UniqueArray ::setCapacityUsingSwap (const } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Remove all objects and deallocate // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::removeAll (void) { mCount = 0 ; @@ -507,11 +516,11 @@ template void TC_UniqueArray ::removeAll (void) { mCapacity = 0 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Add object at the end of the array // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::appendObject (const TYPE & inValue) { if (mCount >= mCapacity) { @@ -521,11 +530,11 @@ template void TC_UniqueArray ::appendObject (const TYPE & mCount ++ ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Add object at the end of the array, if object is not already in array // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::appendObjectIfUnique (const TYPE & inValue) { bool found = false ; @@ -539,11 +548,11 @@ template void TC_UniqueArray ::appendObjectIfUnique (const } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Add objects at the end of the array // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::appendObjects (const int32_t inCount, const TYPE & inValue) { if (inCount > 0) { @@ -556,11 +565,11 @@ template void TC_UniqueArray ::appendObjects (const int32_ } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Add object at the end of the array // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::appendObjectUsingSwap (TYPE & ioValue) { setCapacityUsingSwap (mCount + 1) ; @@ -568,11 +577,11 @@ template void TC_UniqueArray ::appendObjectUsingSwap (TYPE mCount ++ ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Add default object at the end of the array // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::appendDefaultObjectUsingSwap (void) { setCapacityUsingSwap (mCount + 1) ; @@ -581,11 +590,11 @@ template void TC_UniqueArray ::appendDefaultObjectUsingSwa mCount ++ ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Add objects at the end of the array from an other array // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::appendObjectsFromArray (const TC_UniqueArray & inObjectArray) { if (inObjectArray.mCount > 0) { @@ -597,20 +606,20 @@ template void TC_UniqueArray ::appendObjectsFromArray (con } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Check index before insertion // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS template void TC_UniqueArray ::checkIndexForInsertion (const int32_t inIndex COMMA_LOCATION_ARGS) const { - macroAssertThere (inIndex >= 0, "inIndex (%ld) < 0", inIndex, 0) ; - macroAssertThere (inIndex <= mCount, "inIndex (%d) > mCount (%ld)", inIndex, mCount) ; + MF_AssertThere (inIndex >= 0, "inIndex (%ld) < 0", inIndex, 0) ; + MF_AssertThere (inIndex <= mCount, "inIndex (%d) > mCount (%ld)", inIndex, mCount) ; } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::prependObjects (const TC_UniqueArray & inObjectArray) { // Values are copied const int32_t n = inObjectArray.mCount ; @@ -626,7 +635,7 @@ template void TC_UniqueArray ::prependObjects (const TC_Un } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::prependObject (const TYPE & inValue) { // inValue is copied setCapacity (mCount + 1) ; @@ -636,7 +645,7 @@ template void TC_UniqueArray ::prependObject (const TYPE & mArray [0] = inValue ; mCount ++ ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::insertObjectAtIndex (const TYPE & inValue, const int32_t inIndex @@ -652,11 +661,11 @@ template void TC_UniqueArray ::insertObjectAtIndex (const mCount ++ ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Insert objects at index // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::insertObjectsAtIndex (const int32_t inCount, const TYPE & inValue, @@ -677,11 +686,11 @@ template void TC_UniqueArray ::insertObjectsAtIndex (const } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Insert objects at index using swap // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray :: insertObjectUsingSwap (TYPE & ioValue, const int32_t inIndex COMMA_LOCATION_ARGS) { // inValue is copied @@ -696,11 +705,11 @@ insertObjectUsingSwap (TYPE & ioValue, const int32_t inIndex COMMA_LOCATION_ARGS mCount ++ ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Insert objects at index using default constructor // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray :: insertObjectsUsingExchangeAndClear (const int32_t inCount, @@ -720,11 +729,11 @@ insertObjectsUsingExchangeAndClear (const int32_t inCount, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // remove last object // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::removeLastObject (LOCATION_ARGS) { #ifndef DO_NOT_GENERATE_CHECKINGS @@ -733,11 +742,11 @@ template void TC_UniqueArray ::removeLastObject (LOCATION_ mCount -- ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // remove last objects // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::removeLastObjects (const int32_t inCount COMMA_LOCATION_ARGS) { if (inCount > 0) { @@ -748,11 +757,11 @@ template void TC_UniqueArray ::removeLastObjects (const in } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // remove object at index (0 <= index < count) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::exchangeObjectAtIndexes (const int32_t inIndex1, const int32_t inIndex2 @@ -766,11 +775,11 @@ template void TC_UniqueArray ::exchangeObjectAtIndexes (co } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // remove object at index (0 <= index < count) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::removeObjectAtIndex (const int32_t inIndex COMMA_LOCATION_ARGS) { #ifndef DO_NOT_GENERATE_CHECKINGS @@ -782,11 +791,11 @@ template void TC_UniqueArray ::removeObjectAtIndex (const mCount -- ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // delete objects from index (0<=index void TC_UniqueArray :: removeObjectsAtIndex (const int32_t inCount, const int32_t inStartingIndex COMMA_LOCATION_ARGS) { @@ -802,11 +811,11 @@ removeObjectsAtIndex (const int32_t inCount, const int32_t inStartingIndex COMMA } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Search Objects // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template int32_t TC_UniqueArray ::indexOfFirstObjectEqualTo (const TYPE & inValue) const { int32_t result = -1 ; @@ -818,20 +827,20 @@ template int32_t TC_UniqueArray ::indexOfFirstObjectEqualT return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Array Access // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS template void TC_UniqueArray ::checkIndex (const int32_t inIndex COMMA_LOCATION_ARGS) const { - macroAssertThere (inIndex >= 0, "inIndex (%lld) < 0", inIndex, 0) ; - macroAssertThere (inIndex < mCount, "inIndex (%lld) >= mCount (%lld)", inIndex, mCount) ; + MF_AssertThere (inIndex >= 0, "inIndex (%lld) < 0", inIndex, 0) ; + MF_AssertThere (inIndex < mCount, "inIndex (%lld) >= mCount (%lld)", inIndex, mCount) ; } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::setObjectAtIndex (const TYPE & inObject, const int32_t inIndex @@ -844,7 +853,7 @@ template void TC_UniqueArray ::setObjectAtIndex (const TYP } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::incrementAtIndex (const int32_t inIndex COMMA_LOCATION_ARGS) { @@ -854,7 +863,7 @@ template void TC_UniqueArray ::incrementAtIndex (const int mArray [inIndex] ++ ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::decrementAtIndex (const int32_t inIndex COMMA_LOCATION_ARGS) { @@ -864,7 +873,7 @@ template void TC_UniqueArray ::decrementAtIndex (const int mArray [inIndex] -- ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template TYPE & TC_UniqueArray ::operator () (const int32_t inIndex COMMA_LOCATION_ARGS) { #ifndef DO_NOT_GENERATE_CHECKINGS @@ -873,7 +882,7 @@ template TYPE & TC_UniqueArray ::operator () (const int32_ return mArray [inIndex] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template TYPE & TC_UniqueArray :: operator () (const int32_t inIndex COMMA_LOCATION_ARGS) const { @@ -883,7 +892,7 @@ operator () (const int32_t inIndex COMMA_LOCATION_ARGS) const { return mArray [inIndex] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template TYPE TC_UniqueArray ::lastObject (LOCATION_ARGS) const { #ifndef DO_NOT_GENERATE_CHECKINGS @@ -892,7 +901,7 @@ template TYPE TC_UniqueArray ::lastObject (LOCATION_ARGS) return mArray [mCount-1] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template TYPE & TC_UniqueArray ::lastObject (LOCATION_ARGS) { #ifndef DO_NOT_GENERATE_CHECKINGS @@ -901,11 +910,11 @@ template TYPE & TC_UniqueArray ::lastObject (LOCATION_ARGS return mArray [mCount-1] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Extract sub array // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray :: subArrayUsingFunction (bool (* inFunction) (const TYPE & inObject), @@ -921,11 +930,11 @@ subArrayUsingFunction (bool (* inFunction) (const TYPE & inObject), } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Sort array using >= and <= operators // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray::internalSortArrayUsingOperators (const int32_t inFirst, const int32_t inLast) { @@ -950,17 +959,17 @@ template void TC_UniqueArray::internalSortArrayUsingOperat } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray::sortArrayUsingComparisonOperators (void) { internalSortArrayUsingOperators (0, mCount - 1) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Reverse sort array using >= and <= operators // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray::internalReverseSortArrayUsingOperators (const int32_t inFirst, const int32_t inLast) { @@ -985,17 +994,17 @@ template void TC_UniqueArray::internalReverseSortArrayUsin } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray::reverseSortArrayUsingComparisonOperators (void) { internalReverseSortArrayUsingOperators (0, mCount - 1) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Sort array using comare method // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray::internalSortArrayUsingCompareMethod (const int32_t inFirst, const int32_t inLast) { @@ -1020,17 +1029,17 @@ template void TC_UniqueArray::internalSortArrayUsingCompare } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray::sortArrayUsingCompareMethod (void) { internalSortArrayUsingCompareMethod (0, mCount - 1) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Reverse sort array using compare method // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray:: internalReverseSortArrayUsingCompareMethod (const int32_t inFirst, @@ -1056,17 +1065,17 @@ internalReverseSortArrayUsingCompareMethod (const int32_t inFirst, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray::reverseSortArrayUsingCompareMethod (void) { internalReverseSortArrayUsingCompareMethod (0, mCount - 1) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Sort array using comparison function // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray:: internalSortArrayUsingFunction (const int32_t inFirst, @@ -1093,7 +1102,7 @@ internalSortArrayUsingFunction (const int32_t inFirst, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray:: sortArrayUsingFunction (int32_t (* inSortFunction) (const TYPE & inOperand1, const TYPE & inOperand2)) { @@ -1102,11 +1111,11 @@ sortArrayUsingFunction (int32_t (* inSortFunction) (const TYPE & inOperand1, con } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Reverse sort array using comparison function // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray:: internalReverseSortArrayUsingFunction (const int32_t inFirst, @@ -1133,7 +1142,7 @@ internalReverseSortArrayUsingFunction (const int32_t inFirst, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray :: reverseSortArrayUsingFunction (int32_t (* inSortFunction) (const TYPE & inOperand1, const TYPE & inOperand2)) { @@ -1142,11 +1151,11 @@ reverseSortArrayUsingFunction (int32_t (* inSortFunction) (const TYPE & inOperan } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Comparisons (based on == operator on objects) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template bool TC_UniqueArray::operator == (const TC_UniqueArray & inOperand) const { bool areEqual = mCount == inOperand.mCount ; @@ -1156,11 +1165,11 @@ template bool TC_UniqueArray::operator == (const TC_Unique return areEqual ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Remove from an other array (using assignment operator) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::removeObjectsFromArray (const TC_UniqueArray & inArray) { int32_t sourceIndex = 0 ; @@ -1185,11 +1194,11 @@ template void TC_UniqueArray ::removeObjectsFromArray (con mCount = targetIndex ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Remove from an other array (using swap function) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray :: removeObjectsFromArrayUsingSwapAndClear (const TC_UniqueArray & inArray) { @@ -1218,11 +1227,11 @@ removeObjectsFromArrayUsingSwapAndClear (const TC_UniqueArray & inArray) mCount = targetIndex ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Remove identical objects (based on == operator) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::removeIdenticalObjects (void) { int32_t sourceIndex = 1 ; @@ -1246,11 +1255,11 @@ template void TC_UniqueArray ::removeIdenticalObjects (voi mCount -= sourceIndex - targetIndex ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Remove identical objects (based on == operator) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::removeIdenticalObjectsUsingSwapAndClear (void) { int32_t sourceIndex = 1 ; @@ -1277,11 +1286,11 @@ template void TC_UniqueArray ::removeIdenticalObjectsUsing mCount -= sourceIndex - targetIndex ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Has objects equal to method actual argument value (based on == operator) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template bool TC_UniqueArray ::containsObjectEqualTo (const TYPE & inObject) const { bool hasObject = false ; @@ -1291,11 +1300,11 @@ template bool TC_UniqueArray ::containsObjectEqualTo (cons return hasObject ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Count objects equal to method actual argument value (based on == operator) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template int32_t TC_UniqueArray ::countObjectsEqualTo (const TYPE & inObject) const { int32_t matchCount = 0 ; @@ -1305,11 +1314,11 @@ template int32_t TC_UniqueArray ::countObjectsEqualTo (con return matchCount ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Count objects that respond true to function // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template int32_t TC_UniqueArray :: countObjectsThatRespondsTrueToFunction (bool (inFunction) (const TYPE & inObject)) const { @@ -1322,11 +1331,11 @@ countObjectsThatRespondsTrueToFunction (bool (inFunction) (const TYPE & inObject return matchCount ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Intersection with an other array // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray :: intersectionWithArray (const TC_UniqueArray & inOperand, @@ -1352,11 +1361,11 @@ intersectionWithArray (const TC_UniqueArray & inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Multi Set Intersection with an other array // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray :: multiSetIntersectionWithArray (const TC_UniqueArray & inOperand, @@ -1393,11 +1402,11 @@ multiSetIntersectionWithArray (const TC_UniqueArray & inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Union with an other array // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::unionWithArray (const TC_UniqueArray & inOperand, TC_UniqueArray & outResult) const { @@ -1422,21 +1431,21 @@ template void TC_UniqueArray ::unionWithArray (const TC_Un } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Union with an other array // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template const TYPE * TC_UniqueArray ::unsafeArrayPointer (void) const { return mArray ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // swap function for TC_UniqueArray classes // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void swap (TC_UniqueArray & ioOperand1, @@ -1446,26 +1455,26 @@ void swap (TC_UniqueArray & ioOperand1, swap (ioOperand1.mArray, ioOperand2.mArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Add object in array, maintaining array sorted // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS template void TC_UniqueArray ::checkOrdered (LOCATION_ARGS) const { for (int32_t i=1 ; i void TC_UniqueArray ::appendUniqueObjectInOrderedArray (const TYPE & inKey) { //--- Search @@ -1501,11 +1510,11 @@ template void TC_UniqueArray ::appendUniqueObjectInOrdered #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // indexOfObjectInOrderedArray // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template int32_t TC_UniqueArray ::indexOfObjectInOrderedArray (const TYPE & inValue) const { //--- Search @@ -1528,11 +1537,11 @@ template int32_t TC_UniqueArray ::indexOfObjectInOrderedAr return found ? idx : -1 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // intersectionOfOrderedArraies // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::intersectionOfOrderedArraies (const TC_UniqueArray & inOperand, @@ -1557,11 +1566,11 @@ void TC_UniqueArray ::intersectionOfOrderedArraies (const TC_UniqueArray void TC_UniqueArray ::unionOfOrderedArraies (const TC_UniqueArray & inOperand, @@ -1596,11 +1605,11 @@ void TC_UniqueArray ::unionOfOrderedArraies (const TC_UniqueArray & #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // substractOfOrderedArraies // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::substractOfOrderedArraies (const TC_UniqueArray & inSubstractedSet, @@ -1629,11 +1638,11 @@ void TC_UniqueArray ::substractOfOrderedArraies (const TC_UniqueArray operators) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::removeObjectFromOrderedArray (const TYPE & inKey) { bool found = false ; @@ -1657,4 +1666,4 @@ template void TC_UniqueArray ::removeObjectFromOrderedArra #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/generic-arraies/TC_UniqueArray2.h b/goil/build/libpm/generic-arraies/TC_UniqueArray2.h index 6edad0e64..09934b1e7 100644 --- a/goil/build/libpm/generic-arraies/TC_UniqueArray2.h +++ b/goil/build/libpm/generic-arraies/TC_UniqueArray2.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Declaration and implementation of the template class 'TC_UniqueArray2' // @@ -20,27 +20,27 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "MF_MemoryControl.h" -#include "TF_Swap.h" +#include "utilities/MF_MemoryControl.h" +#include "utilities/TF_Swap.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template class TC_UniqueArray2 ; template void swap (TC_UniqueArray2 & ioOperand1, TC_UniqueArray2 & ioOperand2) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template class TC_UniqueArray2 { protected: TYPE * mArray ; @@ -49,7 +49,7 @@ template class TC_UniqueArray2 { //--- Constructor public: TC_UniqueArray2 (const int32_t inRowCount, - const int32_t inColumnCount) ; + const int32_t inColumnCount) ; //--- Destructor public: virtual ~TC_UniqueArray2 (void) ; @@ -80,28 +80,28 @@ template class TC_UniqueArray2 { #endif protected: size_t long2size_t (const int32_t inRowIndex, const int32_t inColumnIndex COMMA_LOCATION_ARGS) const { - macroAssertThere (inRowIndex >= 0, "indice ligne (%ld) < 0", inRowIndex, 0) ; - macroAssertThere (inRowIndex < mCurrentRowCount, "indice ligne (%ld) >= nombre de lignes (%ld)", inRowIndex, mCurrentRowCount) ; - macroAssertThere (inColumnIndex >= 0, "indice colonne (%ld) < 0", inColumnIndex, 0) ; - macroAssertThere (inColumnIndex < mCurrentColumnCount, "indice ligne (%ld) >= nombre de colonnes (%ld)", inColumnIndex, mCurrentColumnCount) ; + MF_AssertThere (inRowIndex >= 0, "indice ligne (%ld) < 0", inRowIndex, 0) ; + MF_AssertThere (inRowIndex < mCurrentRowCount, "indice ligne (%ld) >= nombre de lignes (%ld)", inRowIndex, mCurrentRowCount) ; + MF_AssertThere (inColumnIndex >= 0, "indice colonne (%ld) < 0", inColumnIndex, 0) ; + MF_AssertThere (inColumnIndex < mCurrentColumnCount, "indice ligne (%ld) >= nombre de colonnes (%ld)", inColumnIndex, mCurrentColumnCount) ; return (size_t) (inRowIndex * mCurrentColumnCount + inColumnIndex) ; } public: void setObjectAtIndexes (const TYPE & inObject, - const int32_t inRowIndex, - const int32_t inColumnIndex - COMMA_LOCATION_ARGS) ; + const int32_t inRowIndex, + const int32_t inColumnIndex + COMMA_LOCATION_ARGS) ; //--- Exchange friend void swap (TC_UniqueArray2 & ioOperand1, TC_UniqueArray2 & ioOperand2) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template TC_UniqueArray2 :: @@ -117,14 +117,14 @@ mCurrentColumnCount (0) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template TC_UniqueArray2 ::~TC_UniqueArray2 (void) { macroMyDeleteArray (mArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS template @@ -133,7 +133,7 @@ TC_UniqueArray2 ::~TC_UniqueArray2 (void) { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS template @@ -142,7 +142,7 @@ TC_UniqueArray2 ::~TC_UniqueArray2 (void) { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void swap (TC_UniqueArray2 & ioOperand1, @@ -153,7 +153,7 @@ void swap (TC_UniqueArray2 & ioOperand1, swap (ioOperand1.mCapacity, ioOperand2.mCapacity) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template void TC_UniqueArray2 ::setObjectAtIndexes (const TYPE & inObject, @@ -166,4 +166,4 @@ void TC_UniqueArray2 ::setObjectAtIndexes (const TYPE & inObject, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/gmp/32-mp_bases.c b/goil/build/libpm/gmp/32-mp_bases.c new file mode 100644 index 000000000..95cc2d335 --- /dev/null +++ b/goil/build/libpm/gmp/32-mp_bases.c @@ -0,0 +1,269 @@ +/* This file generated by gen-bases.c - DO NOT EDIT. */ + +#include "gmp.h" +#include "gmp-impl.h" + +#if GMP_NUMB_BITS == 32 +const struct bases mp_bases[257] = +{ + /* 0 */ { 0, 0, 0, 0, 0 }, + /* 1 */ { 0, 0, 0, 0, 0 }, + /* 2 */ { 32, CNST_LIMB(0xffffffff), CNST_LIMB(0x1fffffff), CNST_LIMB(0x1), CNST_LIMB(0x0) }, + /* 3 */ { 20, CNST_LIMB(0xa1849cc1), CNST_LIMB(0x32b80347), CNST_LIMB(0xcfd41b91), CNST_LIMB(0x3b563c24) }, + /* 4 */ { 16, CNST_LIMB(0x7fffffff), CNST_LIMB(0x3fffffff), CNST_LIMB(0x2), CNST_LIMB(0x0) }, + /* 5 */ { 13, CNST_LIMB(0x6e40d1a4), CNST_LIMB(0x4a4d3c25), CNST_LIMB(0x48c27395), CNST_LIMB(0xc25c2684) }, + /* 6 */ { 12, CNST_LIMB(0x6308c91b), CNST_LIMB(0x52b80347), CNST_LIMB(0x81bf1000), CNST_LIMB(0xf91bd1b6) }, + /* 7 */ { 11, CNST_LIMB(0x5b3064eb), CNST_LIMB(0x59d5d9fd), CNST_LIMB(0x75db9c97), CNST_LIMB(0x1607a2cb) }, + /* 8 */ { 10, CNST_LIMB(0x55555555), CNST_LIMB(0x5fffffff), CNST_LIMB(0x3), CNST_LIMB(0x0) }, + /* 9 */ { 10, CNST_LIMB(0x50c24e60), CNST_LIMB(0x6570068e), CNST_LIMB(0xcfd41b91), CNST_LIMB(0x3b563c24) }, + /* 10 */ { 9, CNST_LIMB(0x4d104d42), CNST_LIMB(0x6a4d3c25), CNST_LIMB(0x3b9aca00), CNST_LIMB(0x12e0be82) }, + /* 11 */ { 9, CNST_LIMB(0x4a002707), CNST_LIMB(0x6eb3a9f0), CNST_LIMB(0x8c8b6d2b), CNST_LIMB(0xd24cde04) }, + /* 12 */ { 8, CNST_LIMB(0x4768ce0d), CNST_LIMB(0x72b80347), CNST_LIMB(0x19a10000), CNST_LIMB(0x3fa39ab5) }, + /* 13 */ { 8, CNST_LIMB(0x452e53e3), CNST_LIMB(0x766a008e), CNST_LIMB(0x309f1021), CNST_LIMB(0x50f8ac5f) }, + /* 14 */ { 8, CNST_LIMB(0x433cfffb), CNST_LIMB(0x79d5d9fd), CNST_LIMB(0x57f6c100), CNST_LIMB(0x74843b1e) }, + /* 15 */ { 8, CNST_LIMB(0x41867711), CNST_LIMB(0x7d053f6d), CNST_LIMB(0x98c29b81), CNST_LIMB(0xad0326c2) }, + /* 16 */ { 8, CNST_LIMB(0x3fffffff), CNST_LIMB(0x7fffffff), CNST_LIMB(0x4), CNST_LIMB(0x0) }, + /* 17 */ { 7, CNST_LIMB(0x3ea16afd), CNST_LIMB(0x82cc7edf), CNST_LIMB(0x18754571), CNST_LIMB(0x4ef0b6bd) }, + /* 18 */ { 7, CNST_LIMB(0x3d64598d), CNST_LIMB(0x8570068e), CNST_LIMB(0x247dbc80), CNST_LIMB(0xc0fc48a1) }, + /* 19 */ { 7, CNST_LIMB(0x3c43c230), CNST_LIMB(0x87ef05ae), CNST_LIMB(0x3547667b), CNST_LIMB(0x33838942) }, + /* 20 */ { 7, CNST_LIMB(0x3b3b9a42), CNST_LIMB(0x8a4d3c25), CNST_LIMB(0x4c4b4000), CNST_LIMB(0xad7f29ab) }, + /* 21 */ { 7, CNST_LIMB(0x3a4898f0), CNST_LIMB(0x8c8ddd44), CNST_LIMB(0x6b5a6e1d), CNST_LIMB(0x313c3d15) }, + /* 22 */ { 7, CNST_LIMB(0x39680b13), CNST_LIMB(0x8eb3a9f0), CNST_LIMB(0x94ace180), CNST_LIMB(0xb8cca9e0) }, + /* 23 */ { 7, CNST_LIMB(0x3897b2b7), CNST_LIMB(0x90c10500), CNST_LIMB(0xcaf18367), CNST_LIMB(0x42ed6de9) }, + /* 24 */ { 6, CNST_LIMB(0x37d5aed1), CNST_LIMB(0x92b80347), CNST_LIMB(0xb640000), CNST_LIMB(0x67980e0b) }, + /* 25 */ { 6, CNST_LIMB(0x372068d2), CNST_LIMB(0x949a784b), CNST_LIMB(0xe8d4a51), CNST_LIMB(0x19799812) }, + /* 26 */ { 6, CNST_LIMB(0x3676867e), CNST_LIMB(0x966a008e), CNST_LIMB(0x1269ae40), CNST_LIMB(0xbce85396) }, + /* 27 */ { 6, CNST_LIMB(0x35d6deeb), CNST_LIMB(0x982809d5), CNST_LIMB(0x17179149), CNST_LIMB(0x62c103a9) }, + /* 28 */ { 6, CNST_LIMB(0x354071d6), CNST_LIMB(0x99d5d9fd), CNST_LIMB(0x1cb91000), CNST_LIMB(0x1d353d43) }, + /* 29 */ { 6, CNST_LIMB(0x34b260c5), CNST_LIMB(0x9b74948f), CNST_LIMB(0x23744899), CNST_LIMB(0xce1decea) }, + /* 30 */ { 6, CNST_LIMB(0x342be986), CNST_LIMB(0x9d053f6d), CNST_LIMB(0x2b73a840), CNST_LIMB(0x790fc511) }, + /* 31 */ { 6, CNST_LIMB(0x33ac61b9), CNST_LIMB(0x9e88c6b3), CNST_LIMB(0x34e63b41), CNST_LIMB(0x35b865a0) }, + /* 32 */ { 6, CNST_LIMB(0x33333333), CNST_LIMB(0x9fffffff), CNST_LIMB(0x5), CNST_LIMB(0x0) }, + /* 33 */ { 6, CNST_LIMB(0x32bfd901), CNST_LIMB(0xa16bad37), CNST_LIMB(0x4cfa3cc1), CNST_LIMB(0xa9aed1b3) }, + /* 34 */ { 6, CNST_LIMB(0x3251dcf6), CNST_LIMB(0xa2cc7edf), CNST_LIMB(0x5c13d840), CNST_LIMB(0x63dfc229) }, + /* 35 */ { 6, CNST_LIMB(0x31e8d59f), CNST_LIMB(0xa4231623), CNST_LIMB(0x6d91b519), CNST_LIMB(0x2b0fee30) }, + /* 36 */ { 6, CNST_LIMB(0x3184648d), CNST_LIMB(0xa570068e), CNST_LIMB(0x81bf1000), CNST_LIMB(0xf91bd1b6) }, + /* 37 */ { 6, CNST_LIMB(0x312434e8), CNST_LIMB(0xa6b3d78b), CNST_LIMB(0x98ede0c9), CNST_LIMB(0xac89c3a9) }, + /* 38 */ { 6, CNST_LIMB(0x30c7fa34), CNST_LIMB(0xa7ef05ae), CNST_LIMB(0xb3773e40), CNST_LIMB(0x6d2c32fe) }, + /* 39 */ { 6, CNST_LIMB(0x306f6f4c), CNST_LIMB(0xa92203d5), CNST_LIMB(0xd1bbc4d1), CNST_LIMB(0x387907c9) }, + /* 40 */ { 6, CNST_LIMB(0x301a557f), CNST_LIMB(0xaa4d3c25), CNST_LIMB(0xf4240000), CNST_LIMB(0xc6f7a0b) }, + /* 41 */ { 5, CNST_LIMB(0x2fc873d1), CNST_LIMB(0xab7110e6), CNST_LIMB(0x6e7d349), CNST_LIMB(0x28928154) }, + /* 42 */ { 5, CNST_LIMB(0x2f799652), CNST_LIMB(0xac8ddd44), CNST_LIMB(0x7ca30a0), CNST_LIMB(0x6e8629d) }, + /* 43 */ { 5, CNST_LIMB(0x2f2d8d8f), CNST_LIMB(0xada3f5fb), CNST_LIMB(0x8c32bbb), CNST_LIMB(0xd373dca0) }, + /* 44 */ { 5, CNST_LIMB(0x2ee42e16), CNST_LIMB(0xaeb3a9f0), CNST_LIMB(0x9d46c00), CNST_LIMB(0xa0b17895) }, + /* 45 */ { 5, CNST_LIMB(0x2e9d5009), CNST_LIMB(0xafbd42b4), CNST_LIMB(0xaffacfd), CNST_LIMB(0x746811a5) }, + /* 46 */ { 5, CNST_LIMB(0x2e58cec0), CNST_LIMB(0xb0c10500), CNST_LIMB(0xc46bee0), CNST_LIMB(0x4da6500f) }, + /* 47 */ { 5, CNST_LIMB(0x2e168874), CNST_LIMB(0xb1bf311e), CNST_LIMB(0xdab86ef), CNST_LIMB(0x2ba23582) }, + /* 48 */ { 5, CNST_LIMB(0x2dd65df7), CNST_LIMB(0xb2b80347), CNST_LIMB(0xf300000), CNST_LIMB(0xdb20a88) }, + /* 49 */ { 5, CNST_LIMB(0x2d983275), CNST_LIMB(0xb3abb3fa), CNST_LIMB(0x10d63af1), CNST_LIMB(0xe68d5ce4) }, + /* 50 */ { 5, CNST_LIMB(0x2d5beb38), CNST_LIMB(0xb49a784b), CNST_LIMB(0x12a05f20), CNST_LIMB(0xb7cdfd9d) }, + /* 51 */ { 5, CNST_LIMB(0x2d216f79), CNST_LIMB(0xb5848226), CNST_LIMB(0x1490aae3), CNST_LIMB(0x8e583933) }, + /* 52 */ { 5, CNST_LIMB(0x2ce8a82e), CNST_LIMB(0xb66a008e), CNST_LIMB(0x16a97400), CNST_LIMB(0x697cc3ea) }, + /* 53 */ { 5, CNST_LIMB(0x2cb17fea), CNST_LIMB(0xb74b1fd6), CNST_LIMB(0x18ed2825), CNST_LIMB(0x48a5ca6c) }, + /* 54 */ { 5, CNST_LIMB(0x2c7be2b0), CNST_LIMB(0xb82809d5), CNST_LIMB(0x1b5e4d60), CNST_LIMB(0x2b52db16) }, + /* 55 */ { 5, CNST_LIMB(0x2c47bddb), CNST_LIMB(0xb900e615), CNST_LIMB(0x1dff8297), CNST_LIMB(0x111586a6) }, + /* 56 */ { 5, CNST_LIMB(0x2c14fffc), CNST_LIMB(0xb9d5d9fd), CNST_LIMB(0x20d38000), CNST_LIMB(0xf31d2b36) }, + /* 57 */ { 5, CNST_LIMB(0x2be398c3), CNST_LIMB(0xbaa708f5), CNST_LIMB(0x23dd1799), CNST_LIMB(0xc8d76d19) }, + /* 58 */ { 5, CNST_LIMB(0x2bb378e7), CNST_LIMB(0xbb74948f), CNST_LIMB(0x271f35a0), CNST_LIMB(0xa2cb1eb4) }, + /* 59 */ { 5, CNST_LIMB(0x2b849210), CNST_LIMB(0xbc3e9ca2), CNST_LIMB(0x2a9ce10b), CNST_LIMB(0x807c3ec3) }, + /* 60 */ { 5, CNST_LIMB(0x2b56d6c7), CNST_LIMB(0xbd053f6d), CNST_LIMB(0x2e593c00), CNST_LIMB(0x617ec8bf) }, + /* 61 */ { 5, CNST_LIMB(0x2b2a3a60), CNST_LIMB(0xbdc899ab), CNST_LIMB(0x3257844d), CNST_LIMB(0x45746cbe) }, + /* 62 */ { 5, CNST_LIMB(0x2afeb0f1), CNST_LIMB(0xbe88c6b3), CNST_LIMB(0x369b13e0), CNST_LIMB(0x2c0aa273) }, + /* 63 */ { 5, CNST_LIMB(0x2ad42f3c), CNST_LIMB(0xbf45e08b), CNST_LIMB(0x3b27613f), CNST_LIMB(0x14f90805) }, + /* 64 */ { 5, CNST_LIMB(0x2aaaaaaa), CNST_LIMB(0xbfffffff), CNST_LIMB(0x6), CNST_LIMB(0x0) }, + /* 65 */ { 5, CNST_LIMB(0x2a82193a), CNST_LIMB(0xc0b73cb4), CNST_LIMB(0x4528a141), CNST_LIMB(0xd9cf0829) }, + /* 66 */ { 5, CNST_LIMB(0x2a5a7176), CNST_LIMB(0xc16bad37), CNST_LIMB(0x4aa51420), CNST_LIMB(0xb6fc4841) }, + /* 67 */ { 5, CNST_LIMB(0x2a33aa6e), CNST_LIMB(0xc21d6713), CNST_LIMB(0x50794633), CNST_LIMB(0x973054cb) }, + /* 68 */ { 5, CNST_LIMB(0x2a0dbbaa), CNST_LIMB(0xc2cc7edf), CNST_LIMB(0x56a94400), CNST_LIMB(0x7a1dbe4b) }, + /* 69 */ { 5, CNST_LIMB(0x29e89d24), CNST_LIMB(0xc3790848), CNST_LIMB(0x5d393975), CNST_LIMB(0x5f7fcd7f) }, + /* 70 */ { 5, CNST_LIMB(0x29c44740), CNST_LIMB(0xc4231623), CNST_LIMB(0x642d7260), CNST_LIMB(0x47196c84) }, + /* 71 */ { 5, CNST_LIMB(0x29a0b2c7), CNST_LIMB(0xc4caba78), CNST_LIMB(0x6b8a5ae7), CNST_LIMB(0x30b43635) }, + /* 72 */ { 5, CNST_LIMB(0x297dd8db), CNST_LIMB(0xc570068e), CNST_LIMB(0x73548000), CNST_LIMB(0x1c1fa5f6) }, + /* 73 */ { 5, CNST_LIMB(0x295bb2f9), CNST_LIMB(0xc6130af4), CNST_LIMB(0x7b908fe9), CNST_LIMB(0x930634a) }, + /* 74 */ { 5, CNST_LIMB(0x293a3aeb), CNST_LIMB(0xc6b3d78b), CNST_LIMB(0x84435aa0), CNST_LIMB(0xef7f4a3c) }, + /* 75 */ { 5, CNST_LIMB(0x29196acc), CNST_LIMB(0xc7527b93), CNST_LIMB(0x8d71d25b), CNST_LIMB(0xcf5552d2) }, + /* 76 */ { 5, CNST_LIMB(0x28f93cfb), CNST_LIMB(0xc7ef05ae), CNST_LIMB(0x97210c00), CNST_LIMB(0xb1a47c8e) }, + /* 77 */ { 5, CNST_LIMB(0x28d9ac1b), CNST_LIMB(0xc88983ed), CNST_LIMB(0xa1563f9d), CNST_LIMB(0x9634b43e) }, + /* 78 */ { 5, CNST_LIMB(0x28bab310), CNST_LIMB(0xc92203d5), CNST_LIMB(0xac16c8e0), CNST_LIMB(0x7cd3817d) }, + /* 79 */ { 5, CNST_LIMB(0x289c4cf8), CNST_LIMB(0xc9b89267), CNST_LIMB(0xb768278f), CNST_LIMB(0x65536761) }, + /* 80 */ { 5, CNST_LIMB(0x287e7529), CNST_LIMB(0xca4d3c25), CNST_LIMB(0xc3500000), CNST_LIMB(0x4f8b588e) }, + /* 81 */ { 5, CNST_LIMB(0x28612730), CNST_LIMB(0xcae00d1c), CNST_LIMB(0xcfd41b91), CNST_LIMB(0x3b563c24) }, + /* 82 */ { 5, CNST_LIMB(0x28445ec9), CNST_LIMB(0xcb7110e6), CNST_LIMB(0xdcfa6920), CNST_LIMB(0x28928154) }, + /* 83 */ { 5, CNST_LIMB(0x282817e1), CNST_LIMB(0xcc0052b1), CNST_LIMB(0xeac8fd83), CNST_LIMB(0x1721bfb0) }, + /* 84 */ { 5, CNST_LIMB(0x280c4e90), CNST_LIMB(0xcc8ddd44), CNST_LIMB(0xf9461400), CNST_LIMB(0x6e8629d) }, + /* 85 */ { 4, CNST_LIMB(0x27f0ff1b), CNST_LIMB(0xcd19bb05), CNST_LIMB(0x31c84b1), CNST_LIMB(0x491cc17c) }, + /* 86 */ { 4, CNST_LIMB(0x27d625ec), CNST_LIMB(0xcda3f5fb), CNST_LIMB(0x342ab10), CNST_LIMB(0x3a11d83b) }, + /* 87 */ { 4, CNST_LIMB(0x27bbbf95), CNST_LIMB(0xce2c97d6), CNST_LIMB(0x36a2c21), CNST_LIMB(0x2be074cd) }, + /* 88 */ { 4, CNST_LIMB(0x27a1c8c8), CNST_LIMB(0xceb3a9f0), CNST_LIMB(0x3931000), CNST_LIMB(0x1e7a02e7) }, + /* 89 */ { 4, CNST_LIMB(0x27883e5e), CNST_LIMB(0xcf393550), CNST_LIMB(0x3bd5ee1), CNST_LIMB(0x11d10edd) }, + /* 90 */ { 4, CNST_LIMB(0x276f1d4c), CNST_LIMB(0xcfbd42b4), CNST_LIMB(0x3e92110), CNST_LIMB(0x5d92c68) }, + /* 91 */ { 4, CNST_LIMB(0x275662a8), CNST_LIMB(0xd03fda8b), CNST_LIMB(0x4165ef1), CNST_LIMB(0xf50dbfb2) }, + /* 92 */ { 4, CNST_LIMB(0x273e0ba3), CNST_LIMB(0xd0c10500), CNST_LIMB(0x4452100), CNST_LIMB(0xdf9f1316) }, + /* 93 */ { 4, CNST_LIMB(0x2726158c), CNST_LIMB(0xd140c9fa), CNST_LIMB(0x4756fd1), CNST_LIMB(0xcb52a684) }, + /* 94 */ { 4, CNST_LIMB(0x270e7dc9), CNST_LIMB(0xd1bf311e), CNST_LIMB(0x4a75410), CNST_LIMB(0xb8163e97) }, + /* 95 */ { 4, CNST_LIMB(0x26f741dd), CNST_LIMB(0xd23c41d4), CNST_LIMB(0x4dad681), CNST_LIMB(0xa5d8f269) }, + /* 96 */ { 4, CNST_LIMB(0x26e05f5f), CNST_LIMB(0xd2b80347), CNST_LIMB(0x5100000), CNST_LIMB(0x948b0fcd) }, + /* 97 */ { 4, CNST_LIMB(0x26c9d3fe), CNST_LIMB(0xd3327c6a), CNST_LIMB(0x546d981), CNST_LIMB(0x841e0215) }, + /* 98 */ { 4, CNST_LIMB(0x26b39d7f), CNST_LIMB(0xd3abb3fa), CNST_LIMB(0x57f6c10), CNST_LIMB(0x74843b1e) }, + /* 99 */ { 4, CNST_LIMB(0x269db9bc), CNST_LIMB(0xd423b07e), CNST_LIMB(0x5b9c0d1), CNST_LIMB(0x65b11e6e) }, + /* 100 */ { 4, CNST_LIMB(0x268826a1), CNST_LIMB(0xd49a784b), CNST_LIMB(0x5f5e100), CNST_LIMB(0x5798ee23) }, + /* 101 */ { 4, CNST_LIMB(0x2672e22d), CNST_LIMB(0xd5101187), CNST_LIMB(0x633d5f1), CNST_LIMB(0x4a30b99b) }, + /* 102 */ { 4, CNST_LIMB(0x265dea72), CNST_LIMB(0xd5848226), CNST_LIMB(0x673a910), CNST_LIMB(0x3d6e4d94) }, + /* 103 */ { 4, CNST_LIMB(0x26493d93), CNST_LIMB(0xd5f7cff4), CNST_LIMB(0x6b563e1), CNST_LIMB(0x314825b0) }, + /* 104 */ { 4, CNST_LIMB(0x2634d9c2), CNST_LIMB(0xd66a008e), CNST_LIMB(0x6f91000), CNST_LIMB(0x25b55f2e) }, + /* 105 */ { 4, CNST_LIMB(0x2620bd41), CNST_LIMB(0xd6db196a), CNST_LIMB(0x73eb721), CNST_LIMB(0x1aadaccb) }, + /* 106 */ { 4, CNST_LIMB(0x260ce662), CNST_LIMB(0xd74b1fd6), CNST_LIMB(0x7866310), CNST_LIMB(0x10294ba2) }, + /* 107 */ { 4, CNST_LIMB(0x25f95385), CNST_LIMB(0xd7ba18f9), CNST_LIMB(0x7d01db1), CNST_LIMB(0x620f8f6) }, + /* 108 */ { 4, CNST_LIMB(0x25e60316), CNST_LIMB(0xd82809d5), CNST_LIMB(0x81bf100), CNST_LIMB(0xf91bd1b6) }, + /* 109 */ { 4, CNST_LIMB(0x25d2f390), CNST_LIMB(0xd894f74b), CNST_LIMB(0x869e711), CNST_LIMB(0xe6d37b2a) }, + /* 110 */ { 4, CNST_LIMB(0x25c02379), CNST_LIMB(0xd900e615), CNST_LIMB(0x8ba0a10), CNST_LIMB(0xd55cff6e) }, + /* 111 */ { 4, CNST_LIMB(0x25ad9165), CNST_LIMB(0xd96bdad2), CNST_LIMB(0x90c6441), CNST_LIMB(0xc4ad2db2) }, + /* 112 */ { 4, CNST_LIMB(0x259b3bf3), CNST_LIMB(0xd9d5d9fd), CNST_LIMB(0x9610000), CNST_LIMB(0xb4b985cf) }, + /* 113 */ { 4, CNST_LIMB(0x258921cb), CNST_LIMB(0xda3ee7f3), CNST_LIMB(0x9b7e7c1), CNST_LIMB(0xa5782bef) }, + /* 114 */ { 4, CNST_LIMB(0x257741a2), CNST_LIMB(0xdaa708f5), CNST_LIMB(0xa112610), CNST_LIMB(0x96dfdd2a) }, + /* 115 */ { 4, CNST_LIMB(0x25659a37), CNST_LIMB(0xdb0e4126), CNST_LIMB(0xa6cc591), CNST_LIMB(0x88e7e509) }, + /* 116 */ { 4, CNST_LIMB(0x25542a50), CNST_LIMB(0xdb74948f), CNST_LIMB(0xacad100), CNST_LIMB(0x7b8813d3) }, + /* 117 */ { 4, CNST_LIMB(0x2542f0c2), CNST_LIMB(0xdbda071c), CNST_LIMB(0xb2b5331), CNST_LIMB(0x6eb8b595) }, + /* 118 */ { 4, CNST_LIMB(0x2531ec64), CNST_LIMB(0xdc3e9ca2), CNST_LIMB(0xb8e5710), CNST_LIMB(0x627289db) }, + /* 119 */ { 4, CNST_LIMB(0x25211c1c), CNST_LIMB(0xdca258dc), CNST_LIMB(0xbf3e7a1), CNST_LIMB(0x56aebc07) }, + /* 120 */ { 4, CNST_LIMB(0x25107ed5), CNST_LIMB(0xdd053f6d), CNST_LIMB(0xc5c1000), CNST_LIMB(0x4b66dc33) }, + /* 121 */ { 4, CNST_LIMB(0x25001383), CNST_LIMB(0xdd6753e0), CNST_LIMB(0xcc6db61), CNST_LIMB(0x4094d8a3) }, + /* 122 */ { 4, CNST_LIMB(0x24efd921), CNST_LIMB(0xddc899ab), CNST_LIMB(0xd345510), CNST_LIMB(0x3632f7a5) }, + /* 123 */ { 4, CNST_LIMB(0x24dfceb3), CNST_LIMB(0xde29142e), CNST_LIMB(0xda48871), CNST_LIMB(0x2c3bd1f0) }, + /* 124 */ { 4, CNST_LIMB(0x24cff343), CNST_LIMB(0xde88c6b3), CNST_LIMB(0xe178100), CNST_LIMB(0x22aa4d5f) }, + /* 125 */ { 4, CNST_LIMB(0x24c045e1), CNST_LIMB(0xdee7b471), CNST_LIMB(0xe8d4a51), CNST_LIMB(0x19799812) }, + /* 126 */ { 4, CNST_LIMB(0x24b0c5a6), CNST_LIMB(0xdf45e08b), CNST_LIMB(0xf05f010), CNST_LIMB(0x10a523e5) }, + /* 127 */ { 4, CNST_LIMB(0x24a171b0), CNST_LIMB(0xdfa34e11), CNST_LIMB(0xf817e01), CNST_LIMB(0x828a237) }, + /* 128 */ { 4, CNST_LIMB(0x24924924), CNST_LIMB(0xdfffffff), CNST_LIMB(0x7), CNST_LIMB(0x0) }, + /* 129 */ { 4, CNST_LIMB(0x24834b2c), CNST_LIMB(0xe05bf942), CNST_LIMB(0x10818201), CNST_LIMB(0xf04ec452) }, + /* 130 */ { 4, CNST_LIMB(0x247476f9), CNST_LIMB(0xe0b73cb4), CNST_LIMB(0x11061010), CNST_LIMB(0xe136444a) }, + /* 131 */ { 4, CNST_LIMB(0x2465cbc0), CNST_LIMB(0xe111cd1d), CNST_LIMB(0x118db651), CNST_LIMB(0xd2af9589) }, + /* 132 */ { 4, CNST_LIMB(0x245748bc), CNST_LIMB(0xe16bad37), CNST_LIMB(0x12188100), CNST_LIMB(0xc4b42a83) }, + /* 133 */ { 4, CNST_LIMB(0x2448ed2f), CNST_LIMB(0xe1c4dfab), CNST_LIMB(0x12a67c71), CNST_LIMB(0xb73dccf5) }, + /* 134 */ { 4, CNST_LIMB(0x243ab85d), CNST_LIMB(0xe21d6713), CNST_LIMB(0x1337b510), CNST_LIMB(0xaa4698c5) }, + /* 135 */ { 4, CNST_LIMB(0x242ca992), CNST_LIMB(0xe27545fb), CNST_LIMB(0x13cc3761), CNST_LIMB(0x9dc8f729) }, + /* 136 */ { 4, CNST_LIMB(0x241ec01b), CNST_LIMB(0xe2cc7edf), CNST_LIMB(0x14641000), CNST_LIMB(0x91bf9a30) }, + /* 137 */ { 4, CNST_LIMB(0x2410fb4d), CNST_LIMB(0xe323142d), CNST_LIMB(0x14ff4ba1), CNST_LIMB(0x86257887) }, + /* 138 */ { 4, CNST_LIMB(0x24035a80), CNST_LIMB(0xe3790848), CNST_LIMB(0x159df710), CNST_LIMB(0x7af5c98c) }, + /* 139 */ { 4, CNST_LIMB(0x23f5dd10), CNST_LIMB(0xe3ce5d82), CNST_LIMB(0x16401f31), CNST_LIMB(0x702c01a0) }, + /* 140 */ { 4, CNST_LIMB(0x23e8825d), CNST_LIMB(0xe4231623), CNST_LIMB(0x16e5d100), CNST_LIMB(0x65c3ceb1) }, + /* 141 */ { 4, CNST_LIMB(0x23db49cc), CNST_LIMB(0xe4773465), CNST_LIMB(0x178f1991), CNST_LIMB(0x5bb91502) }, + /* 142 */ { 4, CNST_LIMB(0x23ce32c4), CNST_LIMB(0xe4caba78), CNST_LIMB(0x183c0610), CNST_LIMB(0x5207ec23) }, + /* 143 */ { 4, CNST_LIMB(0x23c13cb3), CNST_LIMB(0xe51daa7e), CNST_LIMB(0x18eca3c1), CNST_LIMB(0x48ac9c19) }, + /* 144 */ { 4, CNST_LIMB(0x23b46706), CNST_LIMB(0xe570068e), CNST_LIMB(0x19a10000), CNST_LIMB(0x3fa39ab5) }, + /* 145 */ { 4, CNST_LIMB(0x23a7b132), CNST_LIMB(0xe5c1d0b5), CNST_LIMB(0x1a592841), CNST_LIMB(0x36e98912) }, + /* 146 */ { 4, CNST_LIMB(0x239b1aac), CNST_LIMB(0xe6130af4), CNST_LIMB(0x1b152a10), CNST_LIMB(0x2e7b3140) }, + /* 147 */ { 4, CNST_LIMB(0x238ea2ef), CNST_LIMB(0xe663b741), CNST_LIMB(0x1bd51311), CNST_LIMB(0x2655840b) }, + /* 148 */ { 4, CNST_LIMB(0x23824976), CNST_LIMB(0xe6b3d78b), CNST_LIMB(0x1c98f100), CNST_LIMB(0x1e7596ea) }, + /* 149 */ { 4, CNST_LIMB(0x23760dc3), CNST_LIMB(0xe7036db3), CNST_LIMB(0x1d60d1b1), CNST_LIMB(0x16d8a20d) }, + /* 150 */ { 4, CNST_LIMB(0x2369ef58), CNST_LIMB(0xe7527b93), CNST_LIMB(0x1e2cc310), CNST_LIMB(0xf7bfe87) }, + /* 151 */ { 4, CNST_LIMB(0x235dedbb), CNST_LIMB(0xe7a102f9), CNST_LIMB(0x1efcd321), CNST_LIMB(0x85d2492) }, + /* 152 */ { 4, CNST_LIMB(0x23520874), CNST_LIMB(0xe7ef05ae), CNST_LIMB(0x1fd11000), CNST_LIMB(0x179a9f4) }, + /* 153 */ { 4, CNST_LIMB(0x23463f10), CNST_LIMB(0xe83c856d), CNST_LIMB(0x20a987e1), CNST_LIMB(0xf59e80eb) }, + /* 154 */ { 4, CNST_LIMB(0x233a911b), CNST_LIMB(0xe88983ed), CNST_LIMB(0x21864910), CNST_LIMB(0xe8b768db) }, + /* 155 */ { 4, CNST_LIMB(0x232efe26), CNST_LIMB(0xe8d602d9), CNST_LIMB(0x226761f1), CNST_LIMB(0xdc39d6d5) }, + /* 156 */ { 4, CNST_LIMB(0x232385c6), CNST_LIMB(0xe92203d5), CNST_LIMB(0x234ce100), CNST_LIMB(0xd021c5d1) }, + /* 157 */ { 4, CNST_LIMB(0x2318278e), CNST_LIMB(0xe96d887e), CNST_LIMB(0x2436d4d1), CNST_LIMB(0xc46b5e37) }, + /* 158 */ { 4, CNST_LIMB(0x230ce318), CNST_LIMB(0xe9b89267), CNST_LIMB(0x25254c10), CNST_LIMB(0xb912f39c) }, + /* 159 */ { 4, CNST_LIMB(0x2301b7fd), CNST_LIMB(0xea03231d), CNST_LIMB(0x26185581), CNST_LIMB(0xae150294) }, + /* 160 */ { 4, CNST_LIMB(0x22f6a5d9), CNST_LIMB(0xea4d3c25), CNST_LIMB(0x27100000), CNST_LIMB(0xa36e2eb1) }, + /* 161 */ { 4, CNST_LIMB(0x22ebac4c), CNST_LIMB(0xea96defe), CNST_LIMB(0x280c5a81), CNST_LIMB(0x991b4094) }, + /* 162 */ { 4, CNST_LIMB(0x22e0caf6), CNST_LIMB(0xeae00d1c), CNST_LIMB(0x290d7410), CNST_LIMB(0x8f19241e) }, + /* 163 */ { 4, CNST_LIMB(0x22d60179), CNST_LIMB(0xeb28c7f2), CNST_LIMB(0x2a135bd1), CNST_LIMB(0x8564e6b7) }, + /* 164 */ { 4, CNST_LIMB(0x22cb4f7a), CNST_LIMB(0xeb7110e6), CNST_LIMB(0x2b1e2100), CNST_LIMB(0x7bfbb5b4) }, + /* 165 */ { 4, CNST_LIMB(0x22c0b4a1), CNST_LIMB(0xebb8e95d), CNST_LIMB(0x2c2dd2f1), CNST_LIMB(0x72dadcc8) }, + /* 166 */ { 4, CNST_LIMB(0x22b63095), CNST_LIMB(0xec0052b1), CNST_LIMB(0x2d428110), CNST_LIMB(0x69ffc498) }, + /* 167 */ { 4, CNST_LIMB(0x22abc300), CNST_LIMB(0xec474e39), CNST_LIMB(0x2e5c3ae1), CNST_LIMB(0x6167f154) }, + /* 168 */ { 4, CNST_LIMB(0x22a16b90), CNST_LIMB(0xec8ddd44), CNST_LIMB(0x2f7b1000), CNST_LIMB(0x5911016e) }, + /* 169 */ { 4, CNST_LIMB(0x229729f1), CNST_LIMB(0xecd4011c), CNST_LIMB(0x309f1021), CNST_LIMB(0x50f8ac5f) }, + /* 170 */ { 4, CNST_LIMB(0x228cfdd4), CNST_LIMB(0xed19bb05), CNST_LIMB(0x31c84b10), CNST_LIMB(0x491cc17c) }, + /* 171 */ { 4, CNST_LIMB(0x2282e6e9), CNST_LIMB(0xed5f0c3c), CNST_LIMB(0x32f6d0b1), CNST_LIMB(0x417b26d8) }, + /* 172 */ { 4, CNST_LIMB(0x2278e4e3), CNST_LIMB(0xeda3f5fb), CNST_LIMB(0x342ab100), CNST_LIMB(0x3a11d83b) }, + /* 173 */ { 4, CNST_LIMB(0x226ef777), CNST_LIMB(0xede87974), CNST_LIMB(0x3563fc11), CNST_LIMB(0x32dee622) }, + /* 174 */ { 4, CNST_LIMB(0x22651e5a), CNST_LIMB(0xee2c97d6), CNST_LIMB(0x36a2c210), CNST_LIMB(0x2be074cd) }, + /* 175 */ { 4, CNST_LIMB(0x225b5944), CNST_LIMB(0xee705249), CNST_LIMB(0x37e71341), CNST_LIMB(0x2514bb58) }, + /* 176 */ { 4, CNST_LIMB(0x2251a7ee), CNST_LIMB(0xeeb3a9f0), CNST_LIMB(0x39310000), CNST_LIMB(0x1e7a02e7) }, + /* 177 */ { 4, CNST_LIMB(0x22480a11), CNST_LIMB(0xeef69fea), CNST_LIMB(0x3a8098c1), CNST_LIMB(0x180ea5d0) }, + /* 178 */ { 4, CNST_LIMB(0x223e7f69), CNST_LIMB(0xef393550), CNST_LIMB(0x3bd5ee10), CNST_LIMB(0x11d10edd) }, + /* 179 */ { 4, CNST_LIMB(0x223507b4), CNST_LIMB(0xef7b6b39), CNST_LIMB(0x3d311091), CNST_LIMB(0xbbfb88e) }, + /* 180 */ { 4, CNST_LIMB(0x222ba2af), CNST_LIMB(0xefbd42b4), CNST_LIMB(0x3e921100), CNST_LIMB(0x5d92c68) }, + /* 181 */ { 4, CNST_LIMB(0x22225019), CNST_LIMB(0xeffebccd), CNST_LIMB(0x3ff90031), CNST_LIMB(0x1c024c) }, + /* 182 */ { 4, CNST_LIMB(0x22190fb4), CNST_LIMB(0xf03fda8b), CNST_LIMB(0x4165ef10), CNST_LIMB(0xf50dbfb2) }, + /* 183 */ { 4, CNST_LIMB(0x220fe141), CNST_LIMB(0xf0809cf2), CNST_LIMB(0x42d8eea1), CNST_LIMB(0xea30efa3) }, + /* 184 */ { 4, CNST_LIMB(0x2206c483), CNST_LIMB(0xf0c10500), CNST_LIMB(0x44521000), CNST_LIMB(0xdf9f1316) }, + /* 185 */ { 4, CNST_LIMB(0x21fdb93f), CNST_LIMB(0xf10113b1), CNST_LIMB(0x45d16461), CNST_LIMB(0xd555c0c9) }, + /* 186 */ { 4, CNST_LIMB(0x21f4bf3a), CNST_LIMB(0xf140c9fa), CNST_LIMB(0x4756fd10), CNST_LIMB(0xcb52a684) }, + /* 187 */ { 4, CNST_LIMB(0x21ebd639), CNST_LIMB(0xf18028cf), CNST_LIMB(0x48e2eb71), CNST_LIMB(0xc193881f) }, + /* 188 */ { 4, CNST_LIMB(0x21e2fe06), CNST_LIMB(0xf1bf311e), CNST_LIMB(0x4a754100), CNST_LIMB(0xb8163e97) }, + /* 189 */ { 4, CNST_LIMB(0x21da3667), CNST_LIMB(0xf1fde3d3), CNST_LIMB(0x4c0e0f51), CNST_LIMB(0xaed8b724) }, + /* 190 */ { 4, CNST_LIMB(0x21d17f28), CNST_LIMB(0xf23c41d4), CNST_LIMB(0x4dad6810), CNST_LIMB(0xa5d8f269) }, + /* 191 */ { 4, CNST_LIMB(0x21c8d811), CNST_LIMB(0xf27a4c05), CNST_LIMB(0x4f535d01), CNST_LIMB(0x9d15039d) }, + /* 192 */ { 4, CNST_LIMB(0x21c040ef), CNST_LIMB(0xf2b80347), CNST_LIMB(0x51000000), CNST_LIMB(0x948b0fcd) }, + /* 193 */ { 4, CNST_LIMB(0x21b7b98f), CNST_LIMB(0xf2f56875), CNST_LIMB(0x52b36301), CNST_LIMB(0x8c394d1d) }, + /* 194 */ { 4, CNST_LIMB(0x21af41bc), CNST_LIMB(0xf3327c6a), CNST_LIMB(0x546d9810), CNST_LIMB(0x841e0215) }, + /* 195 */ { 4, CNST_LIMB(0x21a6d947), CNST_LIMB(0xf36f3ffb), CNST_LIMB(0x562eb151), CNST_LIMB(0x7c3784f8) }, + /* 196 */ { 4, CNST_LIMB(0x219e7ffd), CNST_LIMB(0xf3abb3fa), CNST_LIMB(0x57f6c100), CNST_LIMB(0x74843b1e) }, + /* 197 */ { 4, CNST_LIMB(0x219635af), CNST_LIMB(0xf3e7d937), CNST_LIMB(0x59c5d971), CNST_LIMB(0x6d02985d) }, + /* 198 */ { 4, CNST_LIMB(0x218dfa2e), CNST_LIMB(0xf423b07e), CNST_LIMB(0x5b9c0d10), CNST_LIMB(0x65b11e6e) }, + /* 199 */ { 4, CNST_LIMB(0x2185cd4c), CNST_LIMB(0xf45f3a98), CNST_LIMB(0x5d796e61), CNST_LIMB(0x5e8e5c64) }, + /* 200 */ { 4, CNST_LIMB(0x217daeda), CNST_LIMB(0xf49a784b), CNST_LIMB(0x5f5e1000), CNST_LIMB(0x5798ee23) }, + /* 201 */ { 4, CNST_LIMB(0x21759eac), CNST_LIMB(0xf4d56a5b), CNST_LIMB(0x614a04a1), CNST_LIMB(0x50cf7bde) }, + /* 202 */ { 4, CNST_LIMB(0x216d9c96), CNST_LIMB(0xf5101187), CNST_LIMB(0x633d5f10), CNST_LIMB(0x4a30b99b) }, + /* 203 */ { 4, CNST_LIMB(0x2165a86e), CNST_LIMB(0xf54a6e8c), CNST_LIMB(0x65383231), CNST_LIMB(0x43bb66bd) }, + /* 204 */ { 4, CNST_LIMB(0x215dc207), CNST_LIMB(0xf5848226), CNST_LIMB(0x673a9100), CNST_LIMB(0x3d6e4d94) }, + /* 205 */ { 4, CNST_LIMB(0x2155e939), CNST_LIMB(0xf5be4d0c), CNST_LIMB(0x69448e91), CNST_LIMB(0x374842ee) }, + /* 206 */ { 4, CNST_LIMB(0x214e1ddb), CNST_LIMB(0xf5f7cff4), CNST_LIMB(0x6b563e10), CNST_LIMB(0x314825b0) }, + /* 207 */ { 4, CNST_LIMB(0x21465fc4), CNST_LIMB(0xf6310b8f), CNST_LIMB(0x6d6fb2c1), CNST_LIMB(0x2b6cde75) }, + /* 208 */ { 4, CNST_LIMB(0x213eaecd), CNST_LIMB(0xf66a008e), CNST_LIMB(0x6f910000), CNST_LIMB(0x25b55f2e) }, + /* 209 */ { 4, CNST_LIMB(0x21370ace), CNST_LIMB(0xf6a2af9e), CNST_LIMB(0x71ba3941), CNST_LIMB(0x2020a2c5) }, + /* 210 */ { 4, CNST_LIMB(0x212f73a0), CNST_LIMB(0xf6db196a), CNST_LIMB(0x73eb7210), CNST_LIMB(0x1aadaccb) }, + /* 211 */ { 4, CNST_LIMB(0x2127e920), CNST_LIMB(0xf7133e9b), CNST_LIMB(0x7624be11), CNST_LIMB(0x155b891f) }, + /* 212 */ { 4, CNST_LIMB(0x21206b26), CNST_LIMB(0xf74b1fd6), CNST_LIMB(0x78663100), CNST_LIMB(0x10294ba2) }, + /* 213 */ { 4, CNST_LIMB(0x2118f98f), CNST_LIMB(0xf782bdbf), CNST_LIMB(0x7aafdeb1), CNST_LIMB(0xb160fe9) }, + /* 214 */ { 4, CNST_LIMB(0x21119436), CNST_LIMB(0xf7ba18f9), CNST_LIMB(0x7d01db10), CNST_LIMB(0x620f8f6) }, + /* 215 */ { 4, CNST_LIMB(0x210a3af8), CNST_LIMB(0xf7f13221), CNST_LIMB(0x7f5c3a21), CNST_LIMB(0x14930ef) }, + /* 216 */ { 4, CNST_LIMB(0x2102edb3), CNST_LIMB(0xf82809d5), CNST_LIMB(0x81bf1000), CNST_LIMB(0xf91bd1b6) }, + /* 217 */ { 4, CNST_LIMB(0x20fbac44), CNST_LIMB(0xf85ea0b0), CNST_LIMB(0x842a70e1), CNST_LIMB(0xefdcb0c7) }, + /* 218 */ { 4, CNST_LIMB(0x20f4768a), CNST_LIMB(0xf894f74b), CNST_LIMB(0x869e7110), CNST_LIMB(0xe6d37b2a) }, + /* 219 */ { 4, CNST_LIMB(0x20ed4c62), CNST_LIMB(0xf8cb0e3b), CNST_LIMB(0x891b24f1), CNST_LIMB(0xddfeb94a) }, + /* 220 */ { 4, CNST_LIMB(0x20e62dae), CNST_LIMB(0xf900e615), CNST_LIMB(0x8ba0a100), CNST_LIMB(0xd55cff6e) }, + /* 221 */ { 4, CNST_LIMB(0x20df1a4b), CNST_LIMB(0xf9367f6d), CNST_LIMB(0x8e2ef9d1), CNST_LIMB(0xcceced50) }, + /* 222 */ { 4, CNST_LIMB(0x20d8121c), CNST_LIMB(0xf96bdad2), CNST_LIMB(0x90c64410), CNST_LIMB(0xc4ad2db2) }, + /* 223 */ { 4, CNST_LIMB(0x20d11500), CNST_LIMB(0xf9a0f8d3), CNST_LIMB(0x93669481), CNST_LIMB(0xbc9c75f9) }, + /* 224 */ { 4, CNST_LIMB(0x20ca22d9), CNST_LIMB(0xf9d5d9fd), CNST_LIMB(0x96100000), CNST_LIMB(0xb4b985cf) }, + /* 225 */ { 4, CNST_LIMB(0x20c33b88), CNST_LIMB(0xfa0a7eda), CNST_LIMB(0x98c29b81), CNST_LIMB(0xad0326c2) }, + /* 226 */ { 4, CNST_LIMB(0x20bc5ef1), CNST_LIMB(0xfa3ee7f3), CNST_LIMB(0x9b7e7c10), CNST_LIMB(0xa5782bef) }, + /* 227 */ { 4, CNST_LIMB(0x20b58cf5), CNST_LIMB(0xfa7315d0), CNST_LIMB(0x9e43b6d1), CNST_LIMB(0x9e1771a9) }, + /* 228 */ { 4, CNST_LIMB(0x20aec579), CNST_LIMB(0xfaa708f5), CNST_LIMB(0xa1126100), CNST_LIMB(0x96dfdd2a) }, + /* 229 */ { 4, CNST_LIMB(0x20a8085e), CNST_LIMB(0xfadac1e7), CNST_LIMB(0xa3ea8ff1), CNST_LIMB(0x8fd05c41) }, + /* 230 */ { 4, CNST_LIMB(0x20a1558b), CNST_LIMB(0xfb0e4126), CNST_LIMB(0xa6cc5910), CNST_LIMB(0x88e7e509) }, + /* 231 */ { 4, CNST_LIMB(0x209aace2), CNST_LIMB(0xfb418734), CNST_LIMB(0xa9b7d1e1), CNST_LIMB(0x8225759d) }, + /* 232 */ { 4, CNST_LIMB(0x20940e49), CNST_LIMB(0xfb74948f), CNST_LIMB(0xacad1000), CNST_LIMB(0x7b8813d3) }, + /* 233 */ { 4, CNST_LIMB(0x208d79a5), CNST_LIMB(0xfba769b3), CNST_LIMB(0xafac2921), CNST_LIMB(0x750eccf9) }, + /* 234 */ { 4, CNST_LIMB(0x2086eedb), CNST_LIMB(0xfbda071c), CNST_LIMB(0xb2b53310), CNST_LIMB(0x6eb8b595) }, + /* 235 */ { 4, CNST_LIMB(0x20806dd2), CNST_LIMB(0xfc0c6d44), CNST_LIMB(0xb5c843b1), CNST_LIMB(0x6884e923) }, + /* 236 */ { 4, CNST_LIMB(0x2079f671), CNST_LIMB(0xfc3e9ca2), CNST_LIMB(0xb8e57100), CNST_LIMB(0x627289db) }, + /* 237 */ { 4, CNST_LIMB(0x2073889d), CNST_LIMB(0xfc7095ae), CNST_LIMB(0xbc0cd111), CNST_LIMB(0x5c80c07b) }, + /* 238 */ { 4, CNST_LIMB(0x206d243e), CNST_LIMB(0xfca258dc), CNST_LIMB(0xbf3e7a10), CNST_LIMB(0x56aebc07) }, + /* 239 */ { 4, CNST_LIMB(0x2066c93c), CNST_LIMB(0xfcd3e6a0), CNST_LIMB(0xc27a8241), CNST_LIMB(0x50fbb19b) }, + /* 240 */ { 4, CNST_LIMB(0x2060777e), CNST_LIMB(0xfd053f6d), CNST_LIMB(0xc5c10000), CNST_LIMB(0x4b66dc33) }, + /* 241 */ { 4, CNST_LIMB(0x205a2eed), CNST_LIMB(0xfd3663b2), CNST_LIMB(0xc91209c1), CNST_LIMB(0x45ef7c7c) }, + /* 242 */ { 4, CNST_LIMB(0x2053ef71), CNST_LIMB(0xfd6753e0), CNST_LIMB(0xcc6db610), CNST_LIMB(0x4094d8a3) }, + /* 243 */ { 4, CNST_LIMB(0x204db8f3), CNST_LIMB(0xfd981064), CNST_LIMB(0xcfd41b91), CNST_LIMB(0x3b563c24) }, + /* 244 */ { 4, CNST_LIMB(0x20478b5c), CNST_LIMB(0xfdc899ab), CNST_LIMB(0xd3455100), CNST_LIMB(0x3632f7a5) }, + /* 245 */ { 4, CNST_LIMB(0x20416696), CNST_LIMB(0xfdf8f020), CNST_LIMB(0xd6c16d31), CNST_LIMB(0x312a60c3) }, + /* 246 */ { 4, CNST_LIMB(0x203b4a8b), CNST_LIMB(0xfe29142e), CNST_LIMB(0xda488710), CNST_LIMB(0x2c3bd1f0) }, + /* 247 */ { 4, CNST_LIMB(0x20353725), CNST_LIMB(0xfe59063c), CNST_LIMB(0xdddab5a1), CNST_LIMB(0x2766aa45) }, + /* 248 */ { 4, CNST_LIMB(0x202f2c4e), CNST_LIMB(0xfe88c6b3), CNST_LIMB(0xe1781000), CNST_LIMB(0x22aa4d5f) }, + /* 249 */ { 4, CNST_LIMB(0x202929f0), CNST_LIMB(0xfeb855f8), CNST_LIMB(0xe520ad61), CNST_LIMB(0x1e06233c) }, + /* 250 */ { 4, CNST_LIMB(0x20232ff8), CNST_LIMB(0xfee7b471), CNST_LIMB(0xe8d4a510), CNST_LIMB(0x19799812) }, + /* 251 */ { 4, CNST_LIMB(0x201d3e50), CNST_LIMB(0xff16e281), CNST_LIMB(0xec940e71), CNST_LIMB(0x15041c33) }, + /* 252 */ { 4, CNST_LIMB(0x201754e5), CNST_LIMB(0xff45e08b), CNST_LIMB(0xf05f0100), CNST_LIMB(0x10a523e5) }, + /* 253 */ { 4, CNST_LIMB(0x201173a1), CNST_LIMB(0xff74aef0), CNST_LIMB(0xf4359451), CNST_LIMB(0xc5c2749) }, + /* 254 */ { 4, CNST_LIMB(0x200b9a71), CNST_LIMB(0xffa34e11), CNST_LIMB(0xf817e010), CNST_LIMB(0x828a237) }, + /* 255 */ { 4, CNST_LIMB(0x2005c942), CNST_LIMB(0xffd1be4c), CNST_LIMB(0xfc05fc01), CNST_LIMB(0x40a1423) }, + /* 256 */ { 4, CNST_LIMB(0x1fffffff), CNST_LIMB(0xffffffff), CNST_LIMB(0x8), CNST_LIMB(0x0) }, +}; + +#endif + diff --git a/goil/build/libpm/gmp/32-mp_bases.h b/goil/build/libpm/gmp/32-mp_bases.h new file mode 100644 index 000000000..73ddaf6d0 --- /dev/null +++ b/goil/build/libpm/gmp/32-mp_bases.h @@ -0,0 +1,11 @@ +/* This file generated by gen-bases.c - DO NOT EDIT. */ + +#if GMP_NUMB_BITS != 32 +Error, error, this data is for 32 bits +#endif + +/* mp_bases[10] data, as literal values */ +#define MP_BASES_CHARS_PER_LIMB_10 9 +#define MP_BASES_BIG_BASE_10 CNST_LIMB(0x3b9aca00) +#define MP_BASES_BIG_BASE_INVERTED_10 CNST_LIMB(0x12e0be82) +#define MP_BASES_NORMALIZATION_STEPS_10 2 diff --git a/goil/build/libpm/gmp/64-mp_bases.c b/goil/build/libpm/gmp/64-mp_bases.c new file mode 100644 index 000000000..787513763 --- /dev/null +++ b/goil/build/libpm/gmp/64-mp_bases.c @@ -0,0 +1,269 @@ +/* This file generated by gen-bases.c - DO NOT EDIT. */ + +#include "gmp.h" +#include "gmp-impl.h" + +#if GMP_NUMB_BITS == 64 + +const struct bases mp_bases[257] = +{ + /* 0 */ { 0, 0, 0, 0, 0 }, + /* 1 */ { 0, 0, 0, 0, 0 }, + /* 2 */ { 64, CNST_LIMB(0xffffffffffffffff), CNST_LIMB(0x1fffffffffffffff), CNST_LIMB(0x1), CNST_LIMB(0x0) }, + /* 3 */ { 40, CNST_LIMB(0xa1849cc1a9a9e94e), CNST_LIMB(0x32b803473f7ad0f3), CNST_LIMB(0xa8b8b452291fe821), CNST_LIMB(0x846d550e37b5063d) }, + /* 4 */ { 32, CNST_LIMB(0x7fffffffffffffff), CNST_LIMB(0x3fffffffffffffff), CNST_LIMB(0x2), CNST_LIMB(0x0) }, + /* 5 */ { 27, CNST_LIMB(0x6e40d1a4143dcb94), CNST_LIMB(0x4a4d3c25e68dc57f), CNST_LIMB(0x6765c793fa10079d), CNST_LIMB(0x3ce9a36f23c0fc90) }, + /* 6 */ { 24, CNST_LIMB(0x6308c91b702a7cf4), CNST_LIMB(0x52b803473f7ad0f3), CNST_LIMB(0x41c21cb8e1000000), CNST_LIMB(0xf24f62335024a295) }, + /* 7 */ { 22, CNST_LIMB(0x5b3064eb3aa6d388), CNST_LIMB(0x59d5d9fd5010b366), CNST_LIMB(0x3642798750226111), CNST_LIMB(0x2df495ccaa57147b) }, + /* 8 */ { 21, CNST_LIMB(0x5555555555555555), CNST_LIMB(0x5fffffffffffffff), CNST_LIMB(0x3), CNST_LIMB(0x0) }, + /* 9 */ { 20, CNST_LIMB(0x50c24e60d4d4f4a7), CNST_LIMB(0x6570068e7ef5a1e7), CNST_LIMB(0xa8b8b452291fe821), CNST_LIMB(0x846d550e37b5063d) }, + /* 10 */ { 19, CNST_LIMB(0x4d104d427de7fbcc), CNST_LIMB(0x6a4d3c25e68dc57f), CNST_LIMB(0x8ac7230489e80000), CNST_LIMB(0xd83c94fb6d2ac34a) }, + /* 11 */ { 18, CNST_LIMB(0x4a00270775914e88), CNST_LIMB(0x6eb3a9f01975077f), CNST_LIMB(0x4d28cb56c33fa539), CNST_LIMB(0xa8adf7ae45e7577b) }, + /* 12 */ { 17, CNST_LIMB(0x4768ce0d05818e12), CNST_LIMB(0x72b803473f7ad0f3), CNST_LIMB(0x1eca170c00000000), CNST_LIMB(0xa10c2bec5da8f8f) }, + /* 13 */ { 17, CNST_LIMB(0x452e53e365907bda), CNST_LIMB(0x766a008e4788cbcd), CNST_LIMB(0x780c7372621bd74d), CNST_LIMB(0x10f4becafe412ec3) }, + /* 14 */ { 16, CNST_LIMB(0x433cfffb4b5aae55), CNST_LIMB(0x79d5d9fd5010b366), CNST_LIMB(0x1e39a5057d810000), CNST_LIMB(0xf08480f672b4e86) }, + /* 15 */ { 16, CNST_LIMB(0x41867711b4f85355), CNST_LIMB(0x7d053f6d26089673), CNST_LIMB(0x5b27ac993df97701), CNST_LIMB(0x6779c7f90dc42f48) }, + /* 16 */ { 16, CNST_LIMB(0x3fffffffffffffff), CNST_LIMB(0x7fffffffffffffff), CNST_LIMB(0x4), CNST_LIMB(0x0) }, + /* 17 */ { 15, CNST_LIMB(0x3ea16afd58b10966), CNST_LIMB(0x82cc7edf592262cf), CNST_LIMB(0x27b95e997e21d9f1), CNST_LIMB(0x9c71e11bab279323) }, + /* 18 */ { 15, CNST_LIMB(0x3d64598d154dc4de), CNST_LIMB(0x8570068e7ef5a1e7), CNST_LIMB(0x5da0e1e53c5c8000), CNST_LIMB(0x5dfaa697ec6f6a1c) }, + /* 19 */ { 15, CNST_LIMB(0x3c43c23018bb5563), CNST_LIMB(0x87ef05ae409a0288), CNST_LIMB(0xd2ae3299c1c4aedb), CNST_LIMB(0x3711783f6be7e9ec) }, + /* 20 */ { 14, CNST_LIMB(0x3b3b9a42873069c7), CNST_LIMB(0x8a4d3c25e68dc57f), CNST_LIMB(0x16bcc41e90000000), CNST_LIMB(0x6849b86a12b9b01e) }, + /* 21 */ { 14, CNST_LIMB(0x3a4898f06cf41ac9), CNST_LIMB(0x8c8ddd448f8b845a), CNST_LIMB(0x2d04b7fdd9c0ef49), CNST_LIMB(0x6bf097ba5ca5e239) }, + /* 22 */ { 14, CNST_LIMB(0x39680b13582e7c18), CNST_LIMB(0x8eb3a9f01975077f), CNST_LIMB(0x5658597bcaa24000), CNST_LIMB(0x7b8015c8d7af8f08) }, + /* 23 */ { 14, CNST_LIMB(0x3897b2b751ae561a), CNST_LIMB(0x90c10500d63aa658), CNST_LIMB(0xa0e2073737609371), CNST_LIMB(0x975a24b3a3151b38) }, + /* 24 */ { 13, CNST_LIMB(0x37d5aed131f19c98), CNST_LIMB(0x92b803473f7ad0f3), CNST_LIMB(0xc29e98000000000), CNST_LIMB(0x50bd367972689db1) }, + /* 25 */ { 13, CNST_LIMB(0x372068d20a1ee5ca), CNST_LIMB(0x949a784bcd1b8afe), CNST_LIMB(0x14adf4b7320334b9), CNST_LIMB(0x8c240c4aecb13bb5) }, + /* 26 */ { 13, CNST_LIMB(0x3676867e5d60de29), CNST_LIMB(0x966a008e4788cbcd), CNST_LIMB(0x226ed36478bfa000), CNST_LIMB(0xdbd2e56854e118c9) }, + /* 27 */ { 13, CNST_LIMB(0x35d6deeb388df86f), CNST_LIMB(0x982809d5be7072db), CNST_LIMB(0x383d9170b85ff80b), CNST_LIMB(0x2351ffcaa9c7c4ae) }, + /* 28 */ { 13, CNST_LIMB(0x354071d61c77fa2e), CNST_LIMB(0x99d5d9fd5010b366), CNST_LIMB(0x5a3c23e39c000000), CNST_LIMB(0x6b24188ca33b0636) }, + /* 29 */ { 13, CNST_LIMB(0x34b260c5671b18ac), CNST_LIMB(0x9b74948f5532da4b), CNST_LIMB(0x8e65137388122bcd), CNST_LIMB(0xcc3dceaf2b8ba99d) }, + /* 30 */ { 13, CNST_LIMB(0x342be986572b45cc), CNST_LIMB(0x9d053f6d26089673), CNST_LIMB(0xdd41bb36d259e000), CNST_LIMB(0x2832e835c6c7d6b6) }, + /* 31 */ { 12, CNST_LIMB(0x33ac61b998fbbdf2), CNST_LIMB(0x9e88c6b3626a72aa), CNST_LIMB(0xaee5720ee830681), CNST_LIMB(0x76b6aa272e1873c5) }, + /* 32 */ { 12, CNST_LIMB(0x3333333333333333), CNST_LIMB(0x9fffffffffffffff), CNST_LIMB(0x5), CNST_LIMB(0x0) }, + /* 33 */ { 12, CNST_LIMB(0x32bfd90114c12861), CNST_LIMB(0xa16bad3758efd873), CNST_LIMB(0x172588ad4f5f0981), CNST_LIMB(0x61eaf5d402c7bf4f) }, + /* 34 */ { 12, CNST_LIMB(0x3251dcf6169e45f2), CNST_LIMB(0xa2cc7edf592262cf), CNST_LIMB(0x211e44f7d02c1000), CNST_LIMB(0xeeb658123ffb27ec) }, + /* 35 */ { 12, CNST_LIMB(0x31e8d59f180dc630), CNST_LIMB(0xa4231623369e78e5), CNST_LIMB(0x2ee56725f06e5c71), CNST_LIMB(0x5d5e3762e6fdf509) }, + /* 36 */ { 12, CNST_LIMB(0x3184648db8153e7a), CNST_LIMB(0xa570068e7ef5a1e7), CNST_LIMB(0x41c21cb8e1000000), CNST_LIMB(0xf24f62335024a295) }, + /* 37 */ { 12, CNST_LIMB(0x312434e89c35dacd), CNST_LIMB(0xa6b3d78b6d3b24fb), CNST_LIMB(0x5b5b57f8a98a5dd1), CNST_LIMB(0x66ae7831762efb6f) }, + /* 38 */ { 12, CNST_LIMB(0x30c7fa349460a541), CNST_LIMB(0xa7ef05ae409a0288), CNST_LIMB(0x7dcff8986ea31000), CNST_LIMB(0x47388865a00f544) }, + /* 39 */ { 12, CNST_LIMB(0x306f6f4c8432bc6d), CNST_LIMB(0xa92203d587039cc1), CNST_LIMB(0xabd4211662a6b2a1), CNST_LIMB(0x7d673c33a123b54c) }, + /* 40 */ { 12, CNST_LIMB(0x301a557ffbfdd252), CNST_LIMB(0xaa4d3c25e68dc57f), CNST_LIMB(0xe8d4a51000000000), CNST_LIMB(0x19799812dea11197) }, + /* 41 */ { 11, CNST_LIMB(0x2fc873d1fda55f3b), CNST_LIMB(0xab7110e6ce866f2b), CNST_LIMB(0x7a32956ad081b79), CNST_LIMB(0xc27e62e0686feae) }, + /* 42 */ { 11, CNST_LIMB(0x2f799652a4e6dc49), CNST_LIMB(0xac8ddd448f8b845a), CNST_LIMB(0x9f49aaff0e86800), CNST_LIMB(0x9b6e7507064ce7c7) }, + /* 43 */ { 11, CNST_LIMB(0x2f2d8d8f64460aad), CNST_LIMB(0xada3f5fb9c415052), CNST_LIMB(0xce583bb812d37b3), CNST_LIMB(0x3d9ac2bf66cfed94) }, + /* 44 */ { 11, CNST_LIMB(0x2ee42e164e8f53a4), CNST_LIMB(0xaeb3a9f01975077f), CNST_LIMB(0x109b79a654c00000), CNST_LIMB(0xed46bc50ce59712a) }, + /* 45 */ { 11, CNST_LIMB(0x2e9d500984041dbd), CNST_LIMB(0xafbd42b465836767), CNST_LIMB(0x1543beff214c8b95), CNST_LIMB(0x813d97e2c89b8d46) }, + /* 46 */ { 11, CNST_LIMB(0x2e58cec05a6a8144), CNST_LIMB(0xb0c10500d63aa658), CNST_LIMB(0x1b149a79459a3800), CNST_LIMB(0x2e81751956af8083) }, + /* 47 */ { 11, CNST_LIMB(0x2e1688743ef9104c), CNST_LIMB(0xb1bf311e95d00de3), CNST_LIMB(0x224edfb5434a830f), CNST_LIMB(0xdd8e0a95e30c0988) }, + /* 48 */ { 11, CNST_LIMB(0x2dd65df7a583598f), CNST_LIMB(0xb2b803473f7ad0f3), CNST_LIMB(0x2b3fb00000000000), CNST_LIMB(0x7ad4dd48a0b5b167) }, + /* 49 */ { 11, CNST_LIMB(0x2d9832759d5369c4), CNST_LIMB(0xb3abb3faa02166cc), CNST_LIMB(0x3642798750226111), CNST_LIMB(0x2df495ccaa57147b) }, + /* 50 */ { 11, CNST_LIMB(0x2d5beb38dcd1394c), CNST_LIMB(0xb49a784bcd1b8afe), CNST_LIMB(0x43c33c1937564800), CNST_LIMB(0xe392010175ee5962) }, + /* 51 */ { 11, CNST_LIMB(0x2d216f7943e2ba6a), CNST_LIMB(0xb5848226989d33c3), CNST_LIMB(0x54411b2441c3cd8b), CNST_LIMB(0x84eaf11b2fe7738e) }, + /* 52 */ { 11, CNST_LIMB(0x2ce8a82efbb3ff2c), CNST_LIMB(0xb66a008e4788cbcd), CNST_LIMB(0x6851455acd400000), CNST_LIMB(0x3a1e3971e008995d) }, + /* 53 */ { 11, CNST_LIMB(0x2cb17fea7ad7e332), CNST_LIMB(0xb74b1fd64e0753c6), CNST_LIMB(0x80a23b117c8feb6d), CNST_LIMB(0xfd7a462344ffce25) }, + /* 54 */ { 11, CNST_LIMB(0x2c7be2b0cfa1ba50), CNST_LIMB(0xb82809d5be7072db), CNST_LIMB(0x9dff7d32d5dc1800), CNST_LIMB(0x9eca40b40ebcef8a) }, + /* 55 */ { 11, CNST_LIMB(0x2c47bddba92d7463), CNST_LIMB(0xb900e6160002ccfe), CNST_LIMB(0xc155af6faeffe6a7), CNST_LIMB(0x52fa161a4a48e43d) }, + /* 56 */ { 11, CNST_LIMB(0x2c14fffcaa8b131e), CNST_LIMB(0xb9d5d9fd5010b366), CNST_LIMB(0xebb7392e00000000), CNST_LIMB(0x1607a2cbacf930c1) }, + /* 57 */ { 10, CNST_LIMB(0x2be398c3a38be053), CNST_LIMB(0xbaa708f58014d37c), CNST_LIMB(0x50633659656d971), CNST_LIMB(0x97a014f8e3be55f1) }, + /* 58 */ { 10, CNST_LIMB(0x2bb378e758451068), CNST_LIMB(0xbb74948f5532da4b), CNST_LIMB(0x5fa8624c7fba400), CNST_LIMB(0x568df8b76cbf212c) }, + /* 59 */ { 10, CNST_LIMB(0x2b8492108be5e5f7), CNST_LIMB(0xbc3e9ca2e1a05533), CNST_LIMB(0x717d9faa73c5679), CNST_LIMB(0x20ba7c4b4e6ef492) }, + /* 60 */ { 10, CNST_LIMB(0x2b56d6c70d55481b), CNST_LIMB(0xbd053f6d26089673), CNST_LIMB(0x86430aac6100000), CNST_LIMB(0xe81ee46b9ef492f5) }, + /* 61 */ { 10, CNST_LIMB(0x2b2a3a608c72ddd5), CNST_LIMB(0xbdc899ab3ff56c5e), CNST_LIMB(0x9e64d9944b57f29), CNST_LIMB(0x9dc0d10d51940416) }, + /* 62 */ { 10, CNST_LIMB(0x2afeb0f1060c7e41), CNST_LIMB(0xbe88c6b3626a72aa), CNST_LIMB(0xba5ca5392cb0400), CNST_LIMB(0x5fa8ed2f450272a5) }, + /* 63 */ { 10, CNST_LIMB(0x2ad42f3c9aca595c), CNST_LIMB(0xbf45e08bcf06554e), CNST_LIMB(0xdab2ce1d022cd81), CNST_LIMB(0x2ba9eb8c5e04e641) }, + /* 64 */ { 10, CNST_LIMB(0x2aaaaaaaaaaaaaaa), CNST_LIMB(0xbfffffffffffffff), CNST_LIMB(0x6), CNST_LIMB(0x0) }, + /* 65 */ { 10, CNST_LIMB(0x2a82193a13425883), CNST_LIMB(0xc0b73cb42e16914c), CNST_LIMB(0x12aeed5fd3e2d281), CNST_LIMB(0xb67759cc00287bf1) }, + /* 66 */ { 10, CNST_LIMB(0x2a5a717672f66450), CNST_LIMB(0xc16bad3758efd873), CNST_LIMB(0x15c3da1572d50400), CNST_LIMB(0x78621feeb7f4ed33) }, + /* 67 */ { 10, CNST_LIMB(0x2a33aa6e56d9c71c), CNST_LIMB(0xc21d6713f453f356), CNST_LIMB(0x194c05534f75ee29), CNST_LIMB(0x43d55b5f72943bc0) }, + /* 68 */ { 10, CNST_LIMB(0x2a0dbbaa3bdfcea4), CNST_LIMB(0xc2cc7edf592262cf), CNST_LIMB(0x1d56299ada100000), CNST_LIMB(0x173decb64d1d4409) }, + /* 69 */ { 10, CNST_LIMB(0x29e89d244eb4bfaf), CNST_LIMB(0xc379084815b5774c), CNST_LIMB(0x21f2a089a4ff4f79), CNST_LIMB(0xe29fb54fd6b6074f) }, + /* 70 */ { 10, CNST_LIMB(0x29c44740d7db51e6), CNST_LIMB(0xc4231623369e78e5), CNST_LIMB(0x2733896c68d9a400), CNST_LIMB(0xa1f1f5c210d54e62) }, + /* 71 */ { 10, CNST_LIMB(0x29a0b2c743b14d74), CNST_LIMB(0xc4caba789e2b8687), CNST_LIMB(0x2d2cf2c33b533c71), CNST_LIMB(0x6aac7f9bfafd57b2) }, + /* 72 */ { 10, CNST_LIMB(0x297dd8dbb7c22a2d), CNST_LIMB(0xc570068e7ef5a1e7), CNST_LIMB(0x33f506e440000000), CNST_LIMB(0x3b563c2478b72ee2) }, + /* 73 */ { 10, CNST_LIMB(0x295bb2f9285c8c1b), CNST_LIMB(0xc6130af40bc0ecbf), CNST_LIMB(0x3ba43bec1d062211), CNST_LIMB(0x12b536b574e92d1b) }, + /* 74 */ { 10, CNST_LIMB(0x293a3aebe2be1c92), CNST_LIMB(0xc6b3d78b6d3b24fb), CNST_LIMB(0x4455872d8fd4e400), CNST_LIMB(0xdf86c03020404fa5) }, + /* 75 */ { 10, CNST_LIMB(0x29196acc815ebd9f), CNST_LIMB(0xc7527b930c965bf2), CNST_LIMB(0x4e2694539f2f6c59), CNST_LIMB(0xa34adf02234eea8e) }, + /* 76 */ { 10, CNST_LIMB(0x28f93cfb40f5c22a), CNST_LIMB(0xc7ef05ae409a0288), CNST_LIMB(0x5938006c18900000), CNST_LIMB(0x6f46eb8574eb59dd) }, + /* 77 */ { 10, CNST_LIMB(0x28d9ac1badc64117), CNST_LIMB(0xc88983ed6985bae5), CNST_LIMB(0x65ad9912474aa649), CNST_LIMB(0x42459b481df47cec) }, + /* 78 */ { 10, CNST_LIMB(0x28bab310a196b478), CNST_LIMB(0xc92203d587039cc1), CNST_LIMB(0x73ae9ff4241ec400), CNST_LIMB(0x1b424b95d80ca505) }, + /* 79 */ { 10, CNST_LIMB(0x289c4cf88b774469), CNST_LIMB(0xc9b892675266f66c), CNST_LIMB(0x836612ee9c4ce1e1), CNST_LIMB(0xf2c1b982203a0dac) }, + /* 80 */ { 10, CNST_LIMB(0x287e7529fb244e91), CNST_LIMB(0xca4d3c25e68dc57f), CNST_LIMB(0x9502f90000000000), CNST_LIMB(0xb7cdfd9d7bdbab7d) }, + /* 81 */ { 10, CNST_LIMB(0x286127306a6a7a53), CNST_LIMB(0xcae00d1cfdeb43cf), CNST_LIMB(0xa8b8b452291fe821), CNST_LIMB(0x846d550e37b5063d) }, + /* 82 */ { 10, CNST_LIMB(0x28445ec93f792b1e), CNST_LIMB(0xcb7110e6ce866f2b), CNST_LIMB(0xbebf59a07dab4400), CNST_LIMB(0x57931eeaf85cf64f) }, + /* 83 */ { 10, CNST_LIMB(0x282817e1038950fa), CNST_LIMB(0xcc0052b18b0e2a19), CNST_LIMB(0xd7540d4093bc3109), CNST_LIMB(0x305a944507c82f47) }, + /* 84 */ { 10, CNST_LIMB(0x280c4e90c9ab1f45), CNST_LIMB(0xcc8ddd448f8b845a), CNST_LIMB(0xf2b96616f1900000), CNST_LIMB(0xe007ccc9c22781a) }, + /* 85 */ { 9, CNST_LIMB(0x27f0ff1bc1ee87cd), CNST_LIMB(0xcd19bb053fb0284e), CNST_LIMB(0x336de62af2bca35), CNST_LIMB(0x3e92c42e000eeed4) }, + /* 86 */ { 9, CNST_LIMB(0x27d625ecf571c340), CNST_LIMB(0xcda3f5fb9c415052), CNST_LIMB(0x39235ec33d49600), CNST_LIMB(0x1ebe59130db2795e) }, + /* 87 */ { 9, CNST_LIMB(0x27bbbf95282fcd45), CNST_LIMB(0xce2c97d694adab3f), CNST_LIMB(0x3f674e539585a17), CNST_LIMB(0x268859e90f51b89) }, + /* 88 */ { 9, CNST_LIMB(0x27a1c8c8ddaf84da), CNST_LIMB(0xceb3a9f01975077f), CNST_LIMB(0x4645b6958000000), CNST_LIMB(0xd24cde0463108cfa) }, + /* 89 */ { 9, CNST_LIMB(0x27883e5e7df3f518), CNST_LIMB(0xcf393550f3aa6906), CNST_LIMB(0x4dcb74afbc49c19), CNST_LIMB(0xa536009f37adc383) }, + /* 90 */ { 9, CNST_LIMB(0x276f1d4c9847e90e), CNST_LIMB(0xcfbd42b465836767), CNST_LIMB(0x56064e1d18d9a00), CNST_LIMB(0x7cea06ce1c9ace10) }, + /* 91 */ { 9, CNST_LIMB(0x275662a841b30191), CNST_LIMB(0xd03fda8b97997f33), CNST_LIMB(0x5f04fe2cd8a39fb), CNST_LIMB(0x58db032e72e8ba43) }, + /* 92 */ { 9, CNST_LIMB(0x273e0ba38d15a47b), CNST_LIMB(0xd0c10500d63aa658), CNST_LIMB(0x68d74421f5c0000), CNST_LIMB(0x388cc17cae105447) }, + /* 93 */ { 9, CNST_LIMB(0x2726158c1b13cf03), CNST_LIMB(0xd140c9faa1e5439e), CNST_LIMB(0x738df1f6ab4827d), CNST_LIMB(0x1b92672857620ce0) }, + /* 94 */ { 9, CNST_LIMB(0x270e7dc9c01d8e9b), CNST_LIMB(0xd1bf311e95d00de3), CNST_LIMB(0x7f3afbc9cfb5e00), CNST_LIMB(0x18c6a9575c2ade4) }, + /* 95 */ { 9, CNST_LIMB(0x26f741dd3f070d61), CNST_LIMB(0xd23c41d42727c808), CNST_LIMB(0x8bf187fba88f35f), CNST_LIMB(0xd44da7da8e44b24f) }, + /* 96 */ { 9, CNST_LIMB(0x26e05f5f16c2159e), CNST_LIMB(0xd2b803473f7ad0f3), CNST_LIMB(0x99c600000000000), CNST_LIMB(0xaa2f78f1b4cc6794) }, + /* 97 */ { 9, CNST_LIMB(0x26c9d3fe61e80598), CNST_LIMB(0xd3327c6ab49ca6c8), CNST_LIMB(0xa8ce21eb6531361), CNST_LIMB(0x843c067d091ee4cc) }, + /* 98 */ { 9, CNST_LIMB(0x26b39d7fc6ddab08), CNST_LIMB(0xd3abb3faa02166cc), CNST_LIMB(0xb92112c1a0b6200), CNST_LIMB(0x62005e1e913356e3) }, + /* 99 */ { 9, CNST_LIMB(0x269db9bc7772a5cc), CNST_LIMB(0xd423b07e986aa967), CNST_LIMB(0xcad7718b8747c43), CNST_LIMB(0x4316eed01dedd518) }, + /* 100 */ { 9, CNST_LIMB(0x268826a13ef3fde6), CNST_LIMB(0xd49a784bcd1b8afe), CNST_LIMB(0xde0b6b3a7640000), CNST_LIMB(0x2725dd1d243aba0e) }, + /* 101 */ { 9, CNST_LIMB(0x2672e22d9dbdbd9f), CNST_LIMB(0xd510118708a8f8dd), CNST_LIMB(0xf2d8cf5fe6d74c5), CNST_LIMB(0xddd9057c24cb54f) }, + /* 102 */ { 9, CNST_LIMB(0x265dea72f169cc99), CNST_LIMB(0xd5848226989d33c3), CNST_LIMB(0x1095d25bfa712600), CNST_LIMB(0xedeee175a736d2a1) }, + /* 103 */ { 9, CNST_LIMB(0x26493d93a8cb2514), CNST_LIMB(0xd5f7cff41e09aeb8), CNST_LIMB(0x121b7c4c3698faa7), CNST_LIMB(0xc4699f3df8b6b328) }, + /* 104 */ { 9, CNST_LIMB(0x2634d9c282f3ef82), CNST_LIMB(0xd66a008e4788cbcd), CNST_LIMB(0x13c09e8d68000000), CNST_LIMB(0x9ebbe7d859cb5a7c) }, + /* 105 */ { 9, CNST_LIMB(0x2620bd41d8933adc), CNST_LIMB(0xd6db196a761949d9), CNST_LIMB(0x15876ccb0b709ca9), CNST_LIMB(0x7c828b9887eb2179) }, + /* 106 */ { 9, CNST_LIMB(0x260ce662ef04088a), CNST_LIMB(0xd74b1fd64e0753c6), CNST_LIMB(0x17723c2976da2a00), CNST_LIMB(0x5d652ab99001adcf) }, + /* 107 */ { 9, CNST_LIMB(0x25f95385547353fd), CNST_LIMB(0xd7ba18f93502e409), CNST_LIMB(0x198384e9c259048b), CNST_LIMB(0x4114f1754e5d7b32) }, + /* 108 */ { 9, CNST_LIMB(0x25e60316448db8e1), CNST_LIMB(0xd82809d5be7072db), CNST_LIMB(0x1bbde41dfeec0000), CNST_LIMB(0x274b7c902f7e0188) }, + /* 109 */ { 9, CNST_LIMB(0x25d2f390152f74f5), CNST_LIMB(0xd894f74b06ef8b40), CNST_LIMB(0x1e241d6e3337910d), CNST_LIMB(0xfc9e0fbb32e210c) }, + /* 110 */ { 9, CNST_LIMB(0x25c02379aa9ad043), CNST_LIMB(0xd900e6160002ccfe), CNST_LIMB(0x20b91cee9901ee00), CNST_LIMB(0xf4afa3e594f8ea1f) }, + /* 111 */ { 9, CNST_LIMB(0x25ad9165f2c18907), CNST_LIMB(0xd96bdad2acb5f5ef), CNST_LIMB(0x237ff9079863dfef), CNST_LIMB(0xcd85c32e9e4437b0) }, + /* 112 */ { 9, CNST_LIMB(0x259b3bf36735c90c), CNST_LIMB(0xd9d5d9fd5010b366), CNST_LIMB(0x267bf47000000000), CNST_LIMB(0xa9bbb147e0dd92a8) }, + /* 113 */ { 9, CNST_LIMB(0x258921cb955e7693), CNST_LIMB(0xda3ee7f38e181ed0), CNST_LIMB(0x29b08039fbeda7f1), CNST_LIMB(0x8900447b70e8eb82) }, + /* 114 */ { 9, CNST_LIMB(0x257741a2ac9170af), CNST_LIMB(0xdaa708f58014d37c), CNST_LIMB(0x2d213df34f65f200), CNST_LIMB(0x6b0a92adaad5848a) }, + /* 115 */ { 9, CNST_LIMB(0x25659a3711bc827d), CNST_LIMB(0xdb0e4126bcc86bd7), CNST_LIMB(0x30d201d957a7c2d3), CNST_LIMB(0x4f990ad8740f0ee5) }, + /* 116 */ { 9, CNST_LIMB(0x25542a50f84b9c39), CNST_LIMB(0xdb74948f5532da4b), CNST_LIMB(0x34c6d52160f40000), CNST_LIMB(0x3670a9663a8d3610) }, + /* 117 */ { 9, CNST_LIMB(0x2542f0c20000377d), CNST_LIMB(0xdbda071cc67e6db5), CNST_LIMB(0x3903f855d8f4c755), CNST_LIMB(0x1f5c44188057be3c) }, + /* 118 */ { 9, CNST_LIMB(0x2531ec64d772bd64), CNST_LIMB(0xdc3e9ca2e1a05533), CNST_LIMB(0x3d8de5c8ec59b600), CNST_LIMB(0xa2bea956c4e4977) }, + /* 119 */ { 9, CNST_LIMB(0x25211c1ce2fb5a6e), CNST_LIMB(0xdca258dca9331635), CNST_LIMB(0x4269541d1ff01337), CNST_LIMB(0xed68b23033c3637e) }, + /* 120 */ { 9, CNST_LIMB(0x25107ed5e7c3ec3b), CNST_LIMB(0xdd053f6d26089673), CNST_LIMB(0x479b38e478000000), CNST_LIMB(0xc99cf624e50549c5) }, + /* 121 */ { 9, CNST_LIMB(0x25001383bac8a744), CNST_LIMB(0xdd6753e032ea0efe), CNST_LIMB(0x4d28cb56c33fa539), CNST_LIMB(0xa8adf7ae45e7577b) }, + /* 122 */ { 9, CNST_LIMB(0x24efd921f390bce3), CNST_LIMB(0xddc899ab3ff56c5e), CNST_LIMB(0x5317871fa13aba00), CNST_LIMB(0x8a5bc740b1c113e5) }, + /* 123 */ { 9, CNST_LIMB(0x24dfceb3a26bb203), CNST_LIMB(0xde29142e0e01401f), CNST_LIMB(0x596d2f44de9fa71b), CNST_LIMB(0x6e6c7efb81cfbb9b) }, + /* 124 */ { 9, CNST_LIMB(0x24cff3430a0341a7), CNST_LIMB(0xde88c6b3626a72aa), CNST_LIMB(0x602fd125c47c0000), CNST_LIMB(0x54aba5c5cada5f10) }, + /* 125 */ { 9, CNST_LIMB(0x24c045e15c149931), CNST_LIMB(0xdee7b471b3a9507d), CNST_LIMB(0x6765c793fa10079d), CNST_LIMB(0x3ce9a36f23c0fc90) }, + /* 126 */ { 9, CNST_LIMB(0x24b0c5a679267ae2), CNST_LIMB(0xdf45e08bcf06554e), CNST_LIMB(0x6f15be069b847e00), CNST_LIMB(0x26fb43de2c8cd2a8) }, + /* 127 */ { 9, CNST_LIMB(0x24a171b0b31461c8), CNST_LIMB(0xdfa34e1177c23362), CNST_LIMB(0x7746b3e82a77047f), CNST_LIMB(0x12b94793db8486a1) }, + /* 128 */ { 9, CNST_LIMB(0x2492492492492492), CNST_LIMB(0xdfffffffffffffff), CNST_LIMB(0x7), CNST_LIMB(0x0) }, + /* 129 */ { 9, CNST_LIMB(0x24834b2c9d85cdfe), CNST_LIMB(0xe05bf942dbbc2145), CNST_LIMB(0x894953f7ea890481), CNST_LIMB(0xdd5deca404c0156d) }, + /* 130 */ { 9, CNST_LIMB(0x247476f924137501), CNST_LIMB(0xe0b73cb42e16914c), CNST_LIMB(0x932abffea4848200), CNST_LIMB(0xbd51373330291de0) }, + /* 131 */ { 9, CNST_LIMB(0x2465cbc00a40cec0), CNST_LIMB(0xe111cd1d5133412e), CNST_LIMB(0x9dacb687d3d6a163), CNST_LIMB(0x9fa4025d66f23085) }, + /* 132 */ { 9, CNST_LIMB(0x245748bc980e0427), CNST_LIMB(0xe16bad3758efd873), CNST_LIMB(0xa8d8102a44840000), CNST_LIMB(0x842530ee2db4949d) }, + /* 133 */ { 9, CNST_LIMB(0x2448ed2f49eb0633), CNST_LIMB(0xe1c4dfab90aab5ef), CNST_LIMB(0xb4b60f9d140541e5), CNST_LIMB(0x6aa7f2766b03dc25) }, + /* 134 */ { 9, CNST_LIMB(0x243ab85da36e3167), CNST_LIMB(0xe21d6713f453f356), CNST_LIMB(0xc15065d4856e4600), CNST_LIMB(0x53035ba7ebf32e8d) }, + /* 135 */ { 9, CNST_LIMB(0x242ca99203ea8c18), CNST_LIMB(0xe27545fba4fe385a), CNST_LIMB(0xceb1363f396d23c7), CNST_LIMB(0x3d12091fc9fb4914) }, + /* 136 */ { 9, CNST_LIMB(0x241ec01b7cce4ea0), CNST_LIMB(0xe2cc7edf592262cf), CNST_LIMB(0xdce31b2488000000), CNST_LIMB(0x28b1cb81b1ef1849) }, + /* 137 */ { 9, CNST_LIMB(0x2410fb4da9b3b0fc), CNST_LIMB(0xe323142dc8c66b55), CNST_LIMB(0xebf12a24bca135c9), CNST_LIMB(0x15c35be67ae3e2c9) }, + /* 138 */ { 9, CNST_LIMB(0x24035a808a0f315e), CNST_LIMB(0xe379084815b5774c), CNST_LIMB(0xfbe6f8dbf88f4a00), CNST_LIMB(0x42a17bd09be1ff0) }, + /* 139 */ { 8, CNST_LIMB(0x23f5dd105c67ab9d), CNST_LIMB(0xe3ce5d822ff4b643), CNST_LIMB(0x1ef156c084ce761), CNST_LIMB(0x8bf461f03cf0bbf) }, + /* 140 */ { 8, CNST_LIMB(0x23e8825d7b05abb1), CNST_LIMB(0xe4231623369e78e5), CNST_LIMB(0x20c4e3b94a10000), CNST_LIMB(0xf3fbb43f68a32d05) }, + /* 141 */ { 8, CNST_LIMB(0x23db49cc3a0866fe), CNST_LIMB(0xe4773465d54aded7), CNST_LIMB(0x22b0695a08ba421), CNST_LIMB(0xd84f44c48564dc19) }, + /* 142 */ { 8, CNST_LIMB(0x23ce32c4c6cfb9f5), CNST_LIMB(0xe4caba789e2b8687), CNST_LIMB(0x24b4f35d7a4c100), CNST_LIMB(0xbe58ebcce7956abe) }, + /* 143 */ { 8, CNST_LIMB(0x23c13cb308ab6ab7), CNST_LIMB(0xe51daa7e60fdd34c), CNST_LIMB(0x26d397284975781), CNST_LIMB(0xa5fac463c7c134b7) }, + /* 144 */ { 8, CNST_LIMB(0x23b4670682c0c709), CNST_LIMB(0xe570068e7ef5a1e7), CNST_LIMB(0x290d74100000000), CNST_LIMB(0x8f19241e28c7d757) }, + /* 145 */ { 8, CNST_LIMB(0x23a7b13237187c8b), CNST_LIMB(0xe5c1d0b53bc09fca), CNST_LIMB(0x2b63b3a37866081), CNST_LIMB(0x799a6d046c0ae1ae) }, + /* 146 */ { 8, CNST_LIMB(0x239b1aac8ac74728), CNST_LIMB(0xe6130af40bc0ecbf), CNST_LIMB(0x2dd789f4d894100), CNST_LIMB(0x6566e37d746a9e40) }, + /* 147 */ { 8, CNST_LIMB(0x238ea2ef2b24c379), CNST_LIMB(0xe663b741df9c37c0), CNST_LIMB(0x306a35e51b58721), CNST_LIMB(0x526887dbfb5f788f) }, + /* 148 */ { 8, CNST_LIMB(0x23824976f4045a26), CNST_LIMB(0xe6b3d78b6d3b24fb), CNST_LIMB(0x331d01712e10000), CNST_LIMB(0x408af3382b8efd3d) }, + /* 149 */ { 8, CNST_LIMB(0x23760dc3d6e4d729), CNST_LIMB(0xe7036db376537b90), CNST_LIMB(0x35f14200a827c61), CNST_LIMB(0x2fbb374806ec05f1) }, + /* 150 */ { 8, CNST_LIMB(0x2369ef58c30bd43e), CNST_LIMB(0xe7527b930c965bf2), CNST_LIMB(0x38e858b62216100), CNST_LIMB(0x1fe7c0f0afce87fe) }, + /* 151 */ { 8, CNST_LIMB(0x235dedbb8e82aa1c), CNST_LIMB(0xe7a102f9d39a9331), CNST_LIMB(0x3c03b2c13176a41), CNST_LIMB(0x11003d517540d32e) }, + /* 152 */ { 8, CNST_LIMB(0x23520874dfeb1ffd), CNST_LIMB(0xe7ef05ae409a0288), CNST_LIMB(0x3f44c9b21000000), CNST_LIMB(0x2f5810f98eff0dc) }, + /* 153 */ { 8, CNST_LIMB(0x23463f1019228dd7), CNST_LIMB(0xe83c856dd81804b7), CNST_LIMB(0x42ad23cef3113c1), CNST_LIMB(0xeb72e35e7840d910) }, + /* 154 */ { 8, CNST_LIMB(0x233a911b42aa9b3c), CNST_LIMB(0xe88983ed6985bae5), CNST_LIMB(0x463e546b19a2100), CNST_LIMB(0xd27de19593dc3614) }, + /* 155 */ { 8, CNST_LIMB(0x232efe26f7cf33f9), CNST_LIMB(0xe8d602d948f83829), CNST_LIMB(0x49f9fc3f96684e1), CNST_LIMB(0xbaf391fd3e5e6fc2) }, + /* 156 */ { 8, CNST_LIMB(0x232385c65381b485), CNST_LIMB(0xe92203d587039cc1), CNST_LIMB(0x4de1c9c5dc10000), CNST_LIMB(0xa4bd38c55228c81d) }, + /* 157 */ { 8, CNST_LIMB(0x2318278edde1b39b), CNST_LIMB(0xe96d887e26cd57b7), CNST_LIMB(0x51f77994116d2a1), CNST_LIMB(0x8fc5a8de8e1de782) }, + /* 158 */ { 8, CNST_LIMB(0x230ce3187a6c2be9), CNST_LIMB(0xe9b892675266f66c), CNST_LIMB(0x563cd6bb3398100), CNST_LIMB(0x7bf9265bea9d3a3b) }, + /* 159 */ { 8, CNST_LIMB(0x2301b7fd56ca21bb), CNST_LIMB(0xea03231d8d8224ba), CNST_LIMB(0x5ab3bb270beeb01), CNST_LIMB(0x69454b325983dccd) }, + /* 160 */ { 8, CNST_LIMB(0x22f6a5d9da38341c), CNST_LIMB(0xea4d3c25e68dc57f), CNST_LIMB(0x5f5e10000000000), CNST_LIMB(0x5798ee2308c39df9) }, + /* 161 */ { 8, CNST_LIMB(0x22ebac4c9580d89f), CNST_LIMB(0xea96defe264b59be), CNST_LIMB(0x643dce0ec16f501), CNST_LIMB(0x46e40ba0fa66a753) }, + /* 162 */ { 8, CNST_LIMB(0x22e0caf633834beb), CNST_LIMB(0xeae00d1cfdeb43cf), CNST_LIMB(0x6954fe21e3e8100), CNST_LIMB(0x3717b0870b0db3a7) }, + /* 163 */ { 8, CNST_LIMB(0x22d601796a418886), CNST_LIMB(0xeb28c7f233bdd372), CNST_LIMB(0x6ea5b9755f440a1), CNST_LIMB(0x2825e6775d11cdeb) }, + /* 164 */ { 8, CNST_LIMB(0x22cb4f7aec6fd8b4), CNST_LIMB(0xeb7110e6ce866f2b), CNST_LIMB(0x74322a1c0410000), CNST_LIMB(0x1a01a1c09d1b4dac) }, + /* 165 */ { 8, CNST_LIMB(0x22c0b4a15b80d83e), CNST_LIMB(0xebb8e95d3f7d9df2), CNST_LIMB(0x79fc8b6ae8a46e1), CNST_LIMB(0xc9eb0a8bebc8f3e) }, + /* 166 */ { 8, CNST_LIMB(0x22b630953a28f77a), CNST_LIMB(0xec0052b18b0e2a19), CNST_LIMB(0x80072a66d512100), CNST_LIMB(0xffe357ff59e6a004) }, + /* 167 */ { 8, CNST_LIMB(0x22abc300df54ca7c), CNST_LIMB(0xec474e39705912d2), CNST_LIMB(0x86546633b42b9c1), CNST_LIMB(0xe7dfd1be05fa61a8) }, + /* 168 */ { 8, CNST_LIMB(0x22a16b90698da5d2), CNST_LIMB(0xec8ddd448f8b845a), CNST_LIMB(0x8ce6b0861000000), CNST_LIMB(0xd11ed6fc78f760e5) }, + /* 169 */ { 8, CNST_LIMB(0x229729f1b2c83ded), CNST_LIMB(0xecd4011c8f11979a), CNST_LIMB(0x93c08e16a022441), CNST_LIMB(0xbb8db609dd29ebfe) }, + /* 170 */ { 8, CNST_LIMB(0x228cfdd444992f78), CNST_LIMB(0xed19bb053fb0284e), CNST_LIMB(0x9ae49717f026100), CNST_LIMB(0xa71aec8d1813d532) }, + /* 171 */ { 8, CNST_LIMB(0x2282e6e94ccb8588), CNST_LIMB(0xed5f0c3cbf8fa470), CNST_LIMB(0xa25577ae24c1a61), CNST_LIMB(0x93b612a9f20fbc02) }, + /* 172 */ { 8, CNST_LIMB(0x2278e4e392557ecf), CNST_LIMB(0xeda3f5fb9c415052), CNST_LIMB(0xaa15f068e610000), CNST_LIMB(0x814fc7b19a67d317) }, + /* 173 */ { 8, CNST_LIMB(0x226ef7776aa7fd29), CNST_LIMB(0xede87974f3c81855), CNST_LIMB(0xb228d6bf7577921), CNST_LIMB(0x6fd9a03f2e0a4b7c) }, + /* 174 */ { 8, CNST_LIMB(0x22651e5aaf5532d0), CNST_LIMB(0xee2c97d694adab3f), CNST_LIMB(0xba91158ef5c4100), CNST_LIMB(0x5f4615a38d0d316e) }, + /* 175 */ { 8, CNST_LIMB(0x225b5944b40b4694), CNST_LIMB(0xee7052491d2c3e64), CNST_LIMB(0xc351ad9aec0b681), CNST_LIMB(0x4f8876863479a286) }, + /* 176 */ { 8, CNST_LIMB(0x2251a7ee3cdfcca5), CNST_LIMB(0xeeb3a9f01975077f), CNST_LIMB(0xcc6db6100000000), CNST_LIMB(0x4094d8a3041b60eb) }, + /* 177 */ { 8, CNST_LIMB(0x22480a1174e913d9), CNST_LIMB(0xeef69fea211b2627), CNST_LIMB(0xd5e85d09025c181), CNST_LIMB(0x32600b8ed883a09b) }, + /* 178 */ { 8, CNST_LIMB(0x223e7f69e522683c), CNST_LIMB(0xef393550f3aa6906), CNST_LIMB(0xdfc4e816401c100), CNST_LIMB(0x24df8c6eb4b6d1f1) }, + /* 179 */ { 8, CNST_LIMB(0x223507b46b988abe), CNST_LIMB(0xef7b6b399471103e), CNST_LIMB(0xea06b4c72947221), CNST_LIMB(0x18097a8ee151acef) }, + /* 180 */ { 8, CNST_LIMB(0x222ba2af32dbbb9e), CNST_LIMB(0xefbd42b465836767), CNST_LIMB(0xf4b139365210000), CNST_LIMB(0xbd48cc8ec1cd8e3) }, + /* 181 */ { 8, CNST_LIMB(0x22225019a9b4d16c), CNST_LIMB(0xeffebccd41ffcd5c), CNST_LIMB(0xffc80497d520961), CNST_LIMB(0x3807a8d67485fb) }, + /* 182 */ { 8, CNST_LIMB(0x22190fb47b1af172), CNST_LIMB(0xf03fda8b97997f33), CNST_LIMB(0x10b4ebfca1dee100), CNST_LIMB(0xea5768860b62e8d8) }, + /* 183 */ { 8, CNST_LIMB(0x220fe14186679801), CNST_LIMB(0xf0809cf27f703d52), CNST_LIMB(0x117492de921fc141), CNST_LIMB(0xd54faf5b635c5005) }, + /* 184 */ { 8, CNST_LIMB(0x2206c483d7c6b786), CNST_LIMB(0xf0c10500d63aa658), CNST_LIMB(0x123bb2ce41000000), CNST_LIMB(0xc14a56233a377926) }, + /* 185 */ { 8, CNST_LIMB(0x21fdb93fa0e0ccc5), CNST_LIMB(0xf10113b153c8ea7b), CNST_LIMB(0x130a8b6157bdecc1), CNST_LIMB(0xae39a88db7cd329f) }, + /* 186 */ { 8, CNST_LIMB(0x21f4bf3a31bcdcaa), CNST_LIMB(0xf140c9faa1e5439e), CNST_LIMB(0x13e15dede0e8a100), CNST_LIMB(0x9c10bde69efa7ab6) }, + /* 187 */ { 8, CNST_LIMB(0x21ebd639f1d86584), CNST_LIMB(0xf18028cf72976a4e), CNST_LIMB(0x14c06d941c0ca7e1), CNST_LIMB(0x8ac36c42a2836497) }, + /* 188 */ { 8, CNST_LIMB(0x21e2fe06597361a6), CNST_LIMB(0xf1bf311e95d00de3), CNST_LIMB(0x15a7ff487a810000), CNST_LIMB(0x7a463c8b84f5ef67) }, + /* 189 */ { 8, CNST_LIMB(0x21da3667eb0e8ccb), CNST_LIMB(0xf1fde3d30e812642), CNST_LIMB(0x169859ddc5c697a1), CNST_LIMB(0x6a8e5f5ad090fd4b) }, + /* 190 */ { 8, CNST_LIMB(0x21d17f282d1a300e), CNST_LIMB(0xf23c41d42727c808), CNST_LIMB(0x1791c60f6fed0100), CNST_LIMB(0x5b91a2943596fc56) }, + /* 191 */ { 8, CNST_LIMB(0x21c8d811a3d3c9e1), CNST_LIMB(0xf27a4c0585cbf805), CNST_LIMB(0x18948e8c0e6fba01), CNST_LIMB(0x4d4667b1c468e8f0) }, + /* 192 */ { 8, CNST_LIMB(0x21c040efcb50f858), CNST_LIMB(0xf2b803473f7ad0f3), CNST_LIMB(0x19a1000000000000), CNST_LIMB(0x3fa39ab547994daf) }, + /* 193 */ { 8, CNST_LIMB(0x21b7b98f11b61c1a), CNST_LIMB(0xf2f56875eb3f2614), CNST_LIMB(0x1ab769203dafc601), CNST_LIMB(0x32a0a9b2faee1e2a) }, + /* 194 */ { 8, CNST_LIMB(0x21af41bcd19739ba), CNST_LIMB(0xf3327c6ab49ca6c8), CNST_LIMB(0x1bd81ab557f30100), CNST_LIMB(0x26357ceac0e96962) }, + /* 195 */ { 8, CNST_LIMB(0x21a6d9474c81adf0), CNST_LIMB(0xf36f3ffb6d916240), CNST_LIMB(0x1d0367a69fed1ba1), CNST_LIMB(0x1a5a6f65caa5859e) }, + /* 196 */ { 8, CNST_LIMB(0x219e7ffda5ad572a), CNST_LIMB(0xf3abb3faa02166cc), CNST_LIMB(0x1e39a5057d810000), CNST_LIMB(0xf08480f672b4e86) }, + /* 197 */ { 8, CNST_LIMB(0x219635afdcd3e46d), CNST_LIMB(0xf3e7d9379f70166a), CNST_LIMB(0x1f7b2a18f29ac3e1), CNST_LIMB(0x4383340615612ca) }, + /* 198 */ { 8, CNST_LIMB(0x218dfa2ec92d0643), CNST_LIMB(0xf423b07e986aa967), CNST_LIMB(0x20c850694c2aa100), CNST_LIMB(0xf3c77969ee4be5a2) }, + /* 199 */ { 8, CNST_LIMB(0x2185cd4c148e4ae2), CNST_LIMB(0xf45f3a98a20738a4), CNST_LIMB(0x222173cc014980c1), CNST_LIMB(0xe00993cc187c5ec9) }, + /* 200 */ { 8, CNST_LIMB(0x217daeda36ad7a5c), CNST_LIMB(0xf49a784bcd1b8afe), CNST_LIMB(0x2386f26fc1000000), CNST_LIMB(0xcd2b297d889bc2b6) }, + /* 201 */ { 8, CNST_LIMB(0x21759eac708452fe), CNST_LIMB(0xf4d56a5b33cec44a), CNST_LIMB(0x24f92ce8af296d41), CNST_LIMB(0xbb214d5064862b22) }, + /* 202 */ { 8, CNST_LIMB(0x216d9c96c7d490d4), CNST_LIMB(0xf510118708a8f8dd), CNST_LIMB(0x2678863cd0ece100), CNST_LIMB(0xa9e1a7ca7ea10e20) }, + /* 203 */ { 8, CNST_LIMB(0x2165a86e02cb358c), CNST_LIMB(0xf54a6e8ca5438db1), CNST_LIMB(0x280563f0a9472d61), CNST_LIMB(0x99626e72b39ea0cf) }, + /* 204 */ { 8, CNST_LIMB(0x215dc207a3c20fdf), CNST_LIMB(0xf5848226989d33c3), CNST_LIMB(0x29a02e1406210000), CNST_LIMB(0x899a5ba9c13fafd9) }, + /* 205 */ { 8, CNST_LIMB(0x2155e939e51e8b37), CNST_LIMB(0xf5be4d0cb51434aa), CNST_LIMB(0x2b494f4efe6d2e21), CNST_LIMB(0x7a80a705391e96ff) }, + /* 206 */ { 8, CNST_LIMB(0x214e1ddbb54cd933), CNST_LIMB(0xf5f7cff41e09aeb8), CNST_LIMB(0x2d0134ef21cbc100), CNST_LIMB(0x6c0cfe23de23042a) }, + /* 207 */ { 8, CNST_LIMB(0x21465fc4b2d68f98), CNST_LIMB(0xf6310b8f55304840), CNST_LIMB(0x2ec84ef4da2ef581), CNST_LIMB(0x5e377df359c944dd) }, + /* 208 */ { 8, CNST_LIMB(0x213eaecd2893dd60), CNST_LIMB(0xf66a008e4788cbcd), CNST_LIMB(0x309f102100000000), CNST_LIMB(0x50f8ac5fc8f53985) }, + /* 209 */ { 8, CNST_LIMB(0x21370ace09f681c6), CNST_LIMB(0xf6a2af9e5a0f0a08), CNST_LIMB(0x3285ee02a1420281), CNST_LIMB(0x44497266278e35b7) }, + /* 210 */ { 8, CNST_LIMB(0x212f73a0ef6db7cb), CNST_LIMB(0xf6db196a761949d9), CNST_LIMB(0x347d6104fc324100), CNST_LIMB(0x382316831f7ee175) }, + /* 211 */ { 8, CNST_LIMB(0x2127e92012e25004), CNST_LIMB(0xf7133e9b156c7be5), CNST_LIMB(0x3685e47dade53d21), CNST_LIMB(0x2c7f377833b8946e) }, + /* 212 */ { 8, CNST_LIMB(0x21206b264c4a39a7), CNST_LIMB(0xf74b1fd64e0753c6), CNST_LIMB(0x389ff6bb15610000), CNST_LIMB(0x2157c761ab4163ef) }, + /* 213 */ { 8, CNST_LIMB(0x2118f98f0e52c28f), CNST_LIMB(0xf782bdbfdda6577b), CNST_LIMB(0x3acc1912ebb57661), CNST_LIMB(0x16a7071803cc49a9) }, + /* 214 */ { 8, CNST_LIMB(0x211194366320dc66), CNST_LIMB(0xf7ba18f93502e409), CNST_LIMB(0x3d0acff111946100), CNST_LIMB(0xc6781d80f8224fc) }, + /* 215 */ { 8, CNST_LIMB(0x210a3af8e926bb78), CNST_LIMB(0xf7f1322182cf15d1), CNST_LIMB(0x3f5ca2e692eaf841), CNST_LIMB(0x294092d370a900b) }, + /* 216 */ { 8, CNST_LIMB(0x2102edb3d00e29a6), CNST_LIMB(0xf82809d5be7072db), CNST_LIMB(0x41c21cb8e1000000), CNST_LIMB(0xf24f62335024a295) }, + /* 217 */ { 8, CNST_LIMB(0x20fbac44d5b6edc2), CNST_LIMB(0xf85ea0b0b27b2610), CNST_LIMB(0x443bcb714399a5c1), CNST_LIMB(0xe03b98f103fad6d2) }, + /* 218 */ { 8, CNST_LIMB(0x20f4768a4348ad08), CNST_LIMB(0xf894f74b06ef8b40), CNST_LIMB(0x46ca406c81af2100), CNST_LIMB(0xcee3d32cad2a9049) }, + /* 219 */ { 8, CNST_LIMB(0x20ed4c62ea57b1f0), CNST_LIMB(0xf8cb0e3b4b3bbdb3), CNST_LIMB(0x496e106ac22aaae1), CNST_LIMB(0xbe3f9df9277fdada) }, + /* 220 */ { 8, CNST_LIMB(0x20e62dae221c087a), CNST_LIMB(0xf900e6160002ccfe), CNST_LIMB(0x4c27d39fa5410000), CNST_LIMB(0xae46f0d94c05e933) }, + /* 221 */ { 8, CNST_LIMB(0x20df1a4bc4ba6525), CNST_LIMB(0xf9367f6da0ab2e9c), CNST_LIMB(0x4ef825c296e43ca1), CNST_LIMB(0x9ef2280fb437a33d) }, + /* 222 */ { 8, CNST_LIMB(0x20d8121c2c9e506e), CNST_LIMB(0xf96bdad2acb5f5ef), CNST_LIMB(0x51dfa61f5ad88100), CNST_LIMB(0x9039ff426d3f284b) }, + /* 223 */ { 8, CNST_LIMB(0x20d1150031e51549), CNST_LIMB(0xf9a0f8d3b0e04fde), CNST_LIMB(0x54def7a6d2f16901), CNST_LIMB(0x82178c6d6b51f8f4) }, + /* 224 */ { 8, CNST_LIMB(0x20ca22d927d8f54d), CNST_LIMB(0xf9d5d9fd5010b366), CNST_LIMB(0x57f6c10000000000), CNST_LIMB(0x74843b1ee4c1e053) }, + /* 225 */ { 8, CNST_LIMB(0x20c33b88da7c29aa), CNST_LIMB(0xfa0a7eda4c112ce6), CNST_LIMB(0x5b27ac993df97701), CNST_LIMB(0x6779c7f90dc42f48) }, + /* 226 */ { 8, CNST_LIMB(0x20bc5ef18c233bdf), CNST_LIMB(0xfa3ee7f38e181ed0), CNST_LIMB(0x5e7268b9bbdf8100), CNST_LIMB(0x5af23c74f9ad9fe9) }, + /* 227 */ { 8, CNST_LIMB(0x20b58cf5f31e4526), CNST_LIMB(0xfa7315d02f20c7bd), CNST_LIMB(0x61d7a7932ff3d6a1), CNST_LIMB(0x4ee7eae2acdc617e) }, + /* 228 */ { 8, CNST_LIMB(0x20aec5793770a74d), CNST_LIMB(0xfaa708f58014d37c), CNST_LIMB(0x65581f53c8c10000), CNST_LIMB(0x43556aa2ac262a0b) }, + /* 229 */ { 8, CNST_LIMB(0x20a8085ef096d530), CNST_LIMB(0xfadac1e711c832d1), CNST_LIMB(0x68f48a385b8320e1), CNST_LIMB(0x3835949593b8ddd1) }, + /* 230 */ { 8, CNST_LIMB(0x20a1558b2359c4b1), CNST_LIMB(0xfb0e4126bcc86bd7), CNST_LIMB(0x6cada69ed07c2100), CNST_LIMB(0x2d837fbe78458762) }, + /* 231 */ { 8, CNST_LIMB(0x209aace23fafa72e), CNST_LIMB(0xfb418734a9008bd9), CNST_LIMB(0x70843718cdbf27c1), CNST_LIMB(0x233a7e150a54a555) }, + /* 232 */ { 8, CNST_LIMB(0x20940e491ea988d7), CNST_LIMB(0xfb74948f5532da4b), CNST_LIMB(0x7479027ea1000000), CNST_LIMB(0x19561984a50ff8fe) }, + /* 233 */ { 8, CNST_LIMB(0x208d79a5006d7a47), CNST_LIMB(0xfba769b39e49640e), CNST_LIMB(0x788cd40268f39641), CNST_LIMB(0xfd211159fe3490f) }, + /* 234 */ { 8, CNST_LIMB(0x2086eedb8a3cead3), CNST_LIMB(0xfbda071cc67e6db5), CNST_LIMB(0x7cc07b437ecf6100), CNST_LIMB(0x6aa563e655033e3) }, + /* 235 */ { 8, CNST_LIMB(0x20806dd2c486dcc6), CNST_LIMB(0xfc0c6d447c5dd362), CNST_LIMB(0x8114cc6220762061), CNST_LIMB(0xfbb614b3f2d3b14c) }, + /* 236 */ { 8, CNST_LIMB(0x2079f67119059fae), CNST_LIMB(0xfc3e9ca2e1a05533), CNST_LIMB(0x858aa0135be10000), CNST_LIMB(0xeac0f8837fb05773) }, + /* 237 */ { 8, CNST_LIMB(0x2073889d50e7bf63), CNST_LIMB(0xfc7095ae91e1c760), CNST_LIMB(0x8a22d3b53c54c321), CNST_LIMB(0xda6e4c10e8615ca5) }, + /* 238 */ { 8, CNST_LIMB(0x206d243e9303d929), CNST_LIMB(0xfca258dca9331635), CNST_LIMB(0x8ede496339f34100), CNST_LIMB(0xcab755a8d01fa67f) }, + /* 239 */ { 8, CNST_LIMB(0x2066c93c62170aa8), CNST_LIMB(0xfcd3e6a0ca8906c2), CNST_LIMB(0x93bde80aec3a1481), CNST_LIMB(0xbb95a9ae71aa3e0c) }, + /* 240 */ { 8, CNST_LIMB(0x2060777e9b0db0f6), CNST_LIMB(0xfd053f6d26089673), CNST_LIMB(0x98c29b8100000000), CNST_LIMB(0xad0326c296b4f529) }, + /* 241 */ { 8, CNST_LIMB(0x205a2eed73563032), CNST_LIMB(0xfd3663b27f31d529), CNST_LIMB(0x9ded549671832381), CNST_LIMB(0x9ef9f21eed31b7c1) }, + /* 242 */ { 8, CNST_LIMB(0x2053ef71773d7e6a), CNST_LIMB(0xfd6753e032ea0efe), CNST_LIMB(0xa33f092e0b1ac100), CNST_LIMB(0x91747422be14b0b2) }, + /* 243 */ { 8, CNST_LIMB(0x204db8f388552ea9), CNST_LIMB(0xfd9810643d6614c3), CNST_LIMB(0xa8b8b452291fe821), CNST_LIMB(0x846d550e37b5063d) }, + /* 244 */ { 8, CNST_LIMB(0x20478b5cdbe2bb2f), CNST_LIMB(0xfdc899ab3ff56c5e), CNST_LIMB(0xae5b564ac3a10000), CNST_LIMB(0x77df79e9a96c06f6) }, + /* 245 */ { 8, CNST_LIMB(0x20416696f957cfbf), CNST_LIMB(0xfdf8f02086af2c4b), CNST_LIMB(0xb427f4b3be74c361), CNST_LIMB(0x6bc6019636c7d0c2) }, + /* 246 */ { 8, CNST_LIMB(0x203b4a8bb8d356e7), CNST_LIMB(0xfe29142e0e01401f), CNST_LIMB(0xba1f9a938041e100), CNST_LIMB(0x601c4205aebd9e47) }, + /* 247 */ { 8, CNST_LIMB(0x2035372541ab0f0d), CNST_LIMB(0xfe59063c8822ce56), CNST_LIMB(0xc0435871d1110f41), CNST_LIMB(0x54ddc59756f05016) }, + /* 248 */ { 8, CNST_LIMB(0x202f2c4e08fd6dcc), CNST_LIMB(0xfe88c6b3626a72aa), CNST_LIMB(0xc694446f01000000), CNST_LIMB(0x4a0648979c838c18) }, + /* 249 */ { 8, CNST_LIMB(0x202929f0d04b99e9), CNST_LIMB(0xfeb855f8ca88fb0d), CNST_LIMB(0xcd137a5b57ac3ec1), CNST_LIMB(0x3f91b6e0bb3a053d) }, + /* 250 */ { 8, CNST_LIMB(0x20232ff8a41b45eb), CNST_LIMB(0xfee7b471b3a9507d), CNST_LIMB(0xd3c21bcecceda100), CNST_LIMB(0x357c299a88ea76a5) }, + /* 251 */ { 8, CNST_LIMB(0x201d3e50daa036db), CNST_LIMB(0xff16e281db76303b), CNST_LIMB(0xdaa150410b788de1), CNST_LIMB(0x2bc1e517aecc56e3) }, + /* 252 */ { 8, CNST_LIMB(0x201754e5126d446d), CNST_LIMB(0xff45e08bcf06554e), CNST_LIMB(0xe1b24521be010000), CNST_LIMB(0x225f56ceb3da9f5d) }, + /* 253 */ { 8, CNST_LIMB(0x201173a1312ca135), CNST_LIMB(0xff74aef0efafadd7), CNST_LIMB(0xe8f62df12777c1a1), CNST_LIMB(0x1951136d53ad63ac) }, + /* 254 */ { 8, CNST_LIMB(0x200b9a71625f3b13), CNST_LIMB(0xffa34e1177c23362), CNST_LIMB(0xf06e445906fc0100), CNST_LIMB(0x1093d504b3cd7d93) }, + /* 255 */ { 8, CNST_LIMB(0x2005c94216230568), CNST_LIMB(0xffd1be4c7f2af942), CNST_LIMB(0xf81bc845c81bf801), CNST_LIMB(0x824794d1ec1814f) }, + /* 256 */ { 8, CNST_LIMB(0x1fffffffffffffff), CNST_LIMB(0xffffffffffffffff), CNST_LIMB(0x8), CNST_LIMB(0x0) }, +}; + +#endif diff --git a/goil/build/libpm/gmp/64-mp_bases.h b/goil/build/libpm/gmp/64-mp_bases.h new file mode 100644 index 000000000..49abbb21c --- /dev/null +++ b/goil/build/libpm/gmp/64-mp_bases.h @@ -0,0 +1,11 @@ +/* This file generated by gen-bases.c - DO NOT EDIT. */ + +#if GMP_NUMB_BITS != 64 +Error, error, this data is for 64 bits +#endif + +/* mp_bases[10] data, as literal values */ +#define MP_BASES_CHARS_PER_LIMB_10 19 +#define MP_BASES_BIG_BASE_10 CNST_LIMB(0x8ac7230489e80000) +#define MP_BASES_BIG_BASE_INVERTED_10 CNST_LIMB(0xd83c94fb6d2ac34a) +#define MP_BASES_NORMALIZATION_STEPS_10 0 diff --git a/goil/build/libpm/gmp/gmp-impl.h b/goil/build/libpm/gmp/gmp-impl.h new file mode 100644 index 000000000..7a9d2bfc7 --- /dev/null +++ b/goil/build/libpm/gmp/gmp-impl.h @@ -0,0 +1,5245 @@ +/* Include file for internal GNU MP types and definitions. + + THE CONTENTS OF THIS FILE ARE FOR INTERNAL USE AND ARE ALMOST CERTAIN TO + BE SUBJECT TO INCOMPATIBLE CHANGES IN FUTURE GNU MP RELEASES. + +Copyright 1991, 1993-1997, 1999-2014 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +/* __GMP_DECLSPEC must be given on any global data that will be accessed + from outside libgmp, meaning from the test or development programs, or + from libgmpxx. Failing to do this will result in an incorrect address + being used for the accesses. On functions __GMP_DECLSPEC makes calls + from outside libgmp more efficient, but they'll still work fine without + it. */ + +// http://nadeausoftware.com/articles/2011/12/c_c_tip_how_list_compiler_predefined_macros + +#pragma once +//#ifndef __GMP_IMPL_H__ +//#define __GMP_IMPL_H__ + +#if defined (__clang_major__) && (__clang_major__ > 3) + #pragma GCC diagnostic ignored "-Wsign-conversion" +#endif + +#if defined (__GNUC__) && ! defined (__APPLE__) +#endif + +#pragma GCC diagnostic ignored "-Wconversion" +#pragma GCC diagnostic ignored "-Wsign-conversion" +#pragma GCC diagnostic ignored "-Wsign-compare" +#pragma GCC diagnostic ignored "-Wunused-value" +#pragma GCC diagnostic ignored "-Wunused-parameter" +#pragma GCC diagnostic ignored "-Wmissing-prototypes" +#pragma GCC diagnostic ignored "-Wparentheses" +#pragma GCC diagnostic ignored "-Wall" +#pragma GCC diagnostic ignored "-Wpointer-arith" +#pragma GCC diagnostic ignored "-Wundef" +#if __GNUC__ < 6 + // #pragma GCC diagnostic ignored "-Werror" + #pragma GCC diagnostic error "-w" +#endif + +#if __GNUC__ >= 10 + #pragma GCC diagnostic ignored "-Wmaybe-uninitialized" +#endif + +#ifdef __cplusplus + #error "C++" +#endif + +#if defined _CRAY +#include /* for _popcnt */ +#endif + +/* For INT_MAX, etc. We used to avoid it because of a bug (on solaris, + gcc 2.95 under -mcpu=ultrasparc in ABI=32 ends up getting wrong + values (the ABI=64 values)), but it should be safe now. + + On Cray vector systems, however, we need the system limits.h since sizes + of signed and unsigned types can differ there, depending on compiler + options (eg. -hnofastmd), making our SHRT_MAX etc expressions fail. For + reference, int can be 46 or 64 bits, whereas uint is always 64 bits; and + short can be 24, 32, 46 or 64 bits, and different for ushort. */ + +#include + +/* For fat.h and other fat binary stuff. + No need for __GMP_ATTRIBUTE_PURE or __GMP_NOTHROW, since functions + declared this way are only used to set function pointers in __gmpn_cpuvec, + they're not called directly. */ +#define DECL_add_n(name) \ + __GMP_DECLSPEC mp_limb_t name (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t) +#define DECL_addlsh1_n(name) \ + DECL_add_n (name) +#define DECL_addlsh2_n(name) \ + DECL_add_n (name) +#define DECL_addmul_1(name) \ + __GMP_DECLSPEC mp_limb_t name (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) +#define DECL_addmul_2(name) \ + __GMP_DECLSPEC mp_limb_t name (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr) +#define DECL_bdiv_dbm1c(name) \ + __GMP_DECLSPEC mp_limb_t name (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) +#define DECL_cnd_add_n(name) \ + __GMP_DECLSPEC mp_limb_t name (mp_limb_t, mp_ptr, mp_srcptr, mp_srcptr, mp_size_t) +#define DECL_cnd_sub_n(name) \ + __GMP_DECLSPEC mp_limb_t name (mp_limb_t, mp_ptr, mp_srcptr, mp_srcptr, mp_size_t) +#define DECL_com(name) \ + __GMP_DECLSPEC void name (mp_ptr, mp_srcptr, mp_size_t) +#define DECL_copyd(name) \ + __GMP_DECLSPEC void name (mp_ptr, mp_srcptr, mp_size_t) +#define DECL_copyi(name) \ + DECL_copyd (name) +#define DECL_divexact_1(name) \ + __GMP_DECLSPEC void name (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) +#define DECL_divexact_by3c(name) \ + __GMP_DECLSPEC mp_limb_t name (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) +#define DECL_divrem_1(name) \ + __GMP_DECLSPEC mp_limb_t name (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t) +#define DECL_gcd_1(name) \ + __GMP_DECLSPEC mp_limb_t name (mp_srcptr, mp_size_t, mp_limb_t) +#define DECL_lshift(name) \ + __GMP_DECLSPEC mp_limb_t name (mp_ptr, mp_srcptr, mp_size_t, unsigned) +#define DECL_lshiftc(name) \ + DECL_lshift (name) +#define DECL_mod_1(name) \ + __GMP_DECLSPEC mp_limb_t name (mp_srcptr, mp_size_t, mp_limb_t) +#define DECL_mod_1_1p(name) \ + __GMP_DECLSPEC mp_limb_t name (mp_srcptr, mp_size_t, mp_limb_t, const mp_limb_t []) +#define DECL_mod_1_1p_cps(name) \ + __GMP_DECLSPEC void name (mp_limb_t cps[], mp_limb_t b) +#define DECL_mod_1s_2p(name) \ + DECL_mod_1_1p (name) +#define DECL_mod_1s_2p_cps(name) \ + DECL_mod_1_1p_cps (name) +#define DECL_mod_1s_4p(name) \ + DECL_mod_1_1p (name) +#define DECL_mod_1s_4p_cps(name) \ + DECL_mod_1_1p_cps (name) +#define DECL_mod_34lsub1(name) \ + __GMP_DECLSPEC mp_limb_t name (mp_srcptr, mp_size_t) +#define DECL_modexact_1c_odd(name) \ + __GMP_DECLSPEC mp_limb_t name (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) +#define DECL_mul_1(name) \ + DECL_addmul_1 (name) +#define DECL_mul_basecase(name) \ + __GMP_DECLSPEC void name (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t) +#define DECL_mullo_basecase(name) \ + __GMP_DECLSPEC void name (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t) +#define DECL_preinv_divrem_1(name) \ + __GMP_DECLSPEC mp_limb_t name (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t, int) +#define DECL_preinv_mod_1(name) \ + __GMP_DECLSPEC mp_limb_t name (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) +#define DECL_redc_1(name) \ + __GMP_DECLSPEC mp_limb_t name (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) +#define DECL_redc_2(name) \ + __GMP_DECLSPEC mp_limb_t name (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr) +#define DECL_rshift(name) \ + DECL_lshift (name) +#define DECL_sqr_basecase(name) \ + __GMP_DECLSPEC void name (mp_ptr, mp_srcptr, mp_size_t) +#define DECL_sub_n(name) \ + DECL_add_n (name) +#define DECL_sublsh1_n(name) \ + DECL_add_n (name) +#define DECL_submul_1(name) \ + DECL_addmul_1 (name) + +#if ! defined (__GMP_WITHIN_CONFIGURE) +/*--- Commented out by PM +#include "config.h" +#include "gmp-mparam.h" +#include "fib_table.h" +#include "fac_table.h" +#include "mp_bases.h" +*/ +/*--- Added by PM */ +#ifdef _WIN32 + #include "32-mp_bases.h" +#else + #if LLONG_MAX == INT32_MAX + #include "32-mp_bases.h" + #elif LLONG_MAX == INT64_MAX + #include "64-mp_bases.h" + #else + #error "LLONG_MAX is != 32 and != 64" + #endif +#endif +/*#ifndef SIZEOF_MP_LIMB_T + #error "Undefined SIZEOF_MP_LIMB_T" +#elif SIZEOF_MP_LIMB_T == 4 + #include "32-mp_bases.h" +#elif SIZEOF_MP_LIMB_T == 8 + #include "64-mp_bases.h" +#else + #error "SIZEOF_MP_LIMB_T ?" +#endif */ +/*--- Added by PM */ +/*#if WANT_FAT_BINARY +#include "fat.h" +#endif */ +#endif + +/*--- Added by PM */ +#define WANT_TMP_NOTREENTRANT + +/* #ifdef HAVE_INTTYPES_H */ /* for uint_least32_t */ +#include +/* #else */ +/* # if HAVE_STDINT_H */ +#include +/* # endif +#endif */ + +#ifdef __cplusplus +#include /* for strlen */ +#include /* for std::string */ +#endif + + +#ifndef WANT_TMP_DEBUG /* for TMP_ALLOC_LIMBS_2 and others */ +#define WANT_TMP_DEBUG 0 +#endif + +/* The following tries to get a good version of alloca. The tests are + adapted from autoconf AC_FUNC_ALLOCA, with a couple of additions. + Whether this succeeds is tested by GMP_FUNC_ALLOCA and HAVE_ALLOCA will + be setup appropriately. + + ifndef alloca - a cpp define might already exist. + glibc includes which uses GCC __builtin_alloca. + HP cc +Olibcalls adds a #define of alloca to __builtin_alloca. + + GCC __builtin_alloca - preferred whenever available. + + _AIX pragma - IBM compilers need a #pragma in "each module that needs to + use alloca". Pragma indented to protect pre-ANSI cpp's. _IBMR2 was + used in past versions of GMP, retained still in case it matters. + + The autoconf manual says this pragma needs to be at the start of a C + file, apart from comments and preprocessor directives. Is that true? + xlc on aix 4.xxx doesn't seem to mind it being after prototypes etc + from gmp.h. +*/ + +#ifndef alloca +# ifdef __GNUC__ +# define alloca __builtin_alloca +# else +# ifdef __DECC +# define alloca(x) __ALLOCA(x) +# else +# ifdef _MSC_VER +# include +# define alloca _alloca +# else +# if HAVE_ALLOCA_H +# include +# else +# if defined (_AIX) || defined (_IBMR2) + #pragma alloca +# else + char *alloca (); +# endif +# endif +# endif +# endif +# endif +#endif + + +/* if not provided by gmp-mparam.h */ +#ifndef GMP_LIMB_BYTES +#define GMP_LIMB_BYTES SIZEOF_MP_LIMB_T +#endif +#ifndef GMP_LIMB_BITS +#define GMP_LIMB_BITS (8 * SIZEOF_MP_LIMB_T) +#endif + +#define BITS_PER_ULONG (8 * SIZEOF_UNSIGNED_LONG) + + +/* gmp_uint_least32_t is an unsigned integer type with at least 32 bits. */ +/*#ifdef HAVE_UINT_LEAST32_T + typedef uint_least32_t gmp_uint_least32_t; +#else + #if SIZEOF_UNSIGNED_SHORT >= 4 + typedef unsigned short gmp_uint_least32_t; + #else + #if SIZEOF_UNSIGNED >= 4 + typedef unsigned gmp_uint_least32_t; + #else + typedef unsigned long gmp_uint_least32_t; + #endif + #endif +#endif */ + typedef unsigned long gmp_uint_least32_t; + + +/* gmp_intptr_t, for pointer to integer casts */ +#ifdef HAVE_INTPTR_T +typedef intptr_t gmp_intptr_t; +#else /* fallback */ +typedef size_t gmp_intptr_t; +#endif + + +/* pre-inverse types for truncating division and modulo */ +typedef struct {mp_limb_t inv32;} gmp_pi1_t; +typedef struct {mp_limb_t inv21, inv32, inv53;} gmp_pi2_t; + + +/* "const" basically means a function does nothing but examine its arguments + and give a return value, it doesn't read or write any memory (neither + global nor pointed to by arguments), and has no other side-effects. This + is more restrictive than "pure". See info node "(gcc)Function + Attributes". __GMP_NO_ATTRIBUTE_CONST_PURE lets tune/common.c etc turn + this off when trying to write timing loops. */ +#if defined (HAVE_ATTRIBUTE_CONST) && ! defined (__GMP_NO_ATTRIBUTE_CONST_PURE) +#define ATTRIBUTE_CONST __attribute__ ((const)) +#else +#define ATTRIBUTE_CONST +#endif + +#ifdef HAVE_ATTRIBUTE_NORETURN +#define ATTRIBUTE_NORETURN __attribute__ ((noreturn)) +#else +#define ATTRIBUTE_NORETURN +#endif + +/* "malloc" means a function behaves like malloc in that the pointer it + returns doesn't alias anything. */ +#ifdef HAVE_ATTRIBUTE_MALLOC +#define ATTRIBUTE_MALLOC __attribute__ ((malloc)) +#else +#define ATTRIBUTE_MALLOC +#endif + +/* +#if ! HAVE_STRCHR +#define strchr(s,c) index(s,c) +#endif +*/ + +/*--- Commented out by PM */ +/* #if ! HAVE_MEMSET +#define memset(p, c, n) \ + do { \ + ASSERT ((n) >= 0); \ + char *__memset__p = (p); \ + int __i; \ + for (__i = 0; __i < (n); __i++) \ + __memset__p[__i] = (c); \ + } while (0) +#endif +*/ + +/* va_copy is standard in C99, and gcc provides __va_copy when in strict C89 + mode. Falling back to a memcpy will give maximum portability, since it + works no matter whether va_list is a pointer, struct or array. */ +#if ! defined (va_copy) && defined (__va_copy) +#define va_copy(dst,src) __va_copy(dst,src) +#endif +#if ! defined (va_copy) +#define va_copy(dst,src) \ + do { memcpy (&(dst), &(src), sizeof (va_list)); } while (0) +#endif + + +/* HAVE_HOST_CPU_alpha_CIX is 1 on an alpha with the CIX instructions + (ie. ctlz, ctpop, cttz). */ +/*#if HAVE_HOST_CPU_alphaev67 || HAVE_HOST_CPU_alphaev68 \ + || HAVE_HOST_CPU_alphaev7 +#define HAVE_HOST_CPU_alpha_CIX 1 +#endif */ + + +#if defined (__cplusplus) +extern "C" { +#endif + + +/* Usage: TMP_DECL; + TMP_MARK; + ptr = TMP_ALLOC (bytes); + TMP_FREE; + + Small allocations should use TMP_SALLOC, big allocations should use + TMP_BALLOC. Allocations that might be small or big should use TMP_ALLOC. + + Functions that use just TMP_SALLOC should use TMP_SDECL, TMP_SMARK, and + TMP_SFREE. + + TMP_DECL just declares a variable, but might be empty and so must be last + in a list of variables. TMP_MARK must be done before any TMP_ALLOC. + TMP_ALLOC(0) is not allowed. TMP_FREE doesn't need to be done if a + TMP_MARK was made, but then no TMP_ALLOCs. */ + +/* The alignment in bytes, used for TMP_ALLOCed blocks, when alloca or + __gmp_allocate_func doesn't already determine it. Currently TMP_ALLOC + isn't used for "double"s, so that's not in the union. */ +union tmp_align_t { + mp_limb_t l; + char *p; +}; +#define __TMP_ALIGN sizeof (union tmp_align_t) + +/* Return "a" rounded upwards to a multiple of "m", if it isn't already. + "a" must be an unsigned type. + This is designed for use with a compile-time constant "m". + The POW2 case is expected to be usual, and gcc 3.0 and up recognises + "(-(8*n))%8" or the like is always zero, which means the rounding up in + the WANT_TMP_NOTREENTRANT version of TMP_ALLOC below will be a noop. */ +#define ROUND_UP_MULTIPLE(a,m) \ + (POW2_P(m) ? (a) + (-(a))%(m) \ + : (a)+(m)-1 - (((a)+(m)-1) % (m))) + +#if defined (WANT_TMP_ALLOCA) || defined (WANT_TMP_REENTRANT) +struct tmp_reentrant_t { + struct tmp_reentrant_t *next; + size_t size; /* bytes, including header */ +}; +__GMP_DECLSPEC void *__gmp_tmp_reentrant_alloc (struct tmp_reentrant_t **, size_t) ATTRIBUTE_MALLOC; +__GMP_DECLSPEC void __gmp_tmp_reentrant_free (struct tmp_reentrant_t *); +#endif + +#ifdef WANT_TMP_ALLOCA +#define TMP_SDECL +#define TMP_DECL struct tmp_reentrant_t *__tmp_marker +#define TMP_SMARK +#define TMP_MARK __tmp_marker = 0 +#define TMP_SALLOC(n) alloca(n) +#define TMP_BALLOC(n) __gmp_tmp_reentrant_alloc (&__tmp_marker, n) +#define TMP_ALLOC(n) \ + (LIKELY ((n) < 65536) ? TMP_SALLOC(n) : TMP_BALLOC(n)) +#define TMP_SFREE +#define TMP_FREE \ + do { \ + if (UNLIKELY (__tmp_marker != 0)) \ + __gmp_tmp_reentrant_free (__tmp_marker); \ + } while (0) +#endif + +#ifdef WANT_TMP_REENTRANT +#define TMP_SDECL TMP_DECL +#define TMP_DECL struct tmp_reentrant_t *__tmp_marker +#define TMP_SMARK TMP_MARK +#define TMP_MARK __tmp_marker = 0 +#define TMP_SALLOC(n) TMP_ALLOC(n) +#define TMP_BALLOC(n) TMP_ALLOC(n) +#define TMP_ALLOC(n) __gmp_tmp_reentrant_alloc (&__tmp_marker, n) +#define TMP_SFREE TMP_FREE +#define TMP_FREE __gmp_tmp_reentrant_free (__tmp_marker) +#endif + +/* --- #if changed to #ifdef by PM */ +#ifdef WANT_TMP_NOTREENTRANT +struct tmp_marker +{ + struct tmp_stack *which_chunk; + void *alloc_point; +}; +__GMP_DECLSPEC void *__gmp_tmp_alloc (unsigned long) ATTRIBUTE_MALLOC; +__GMP_DECLSPEC void __gmp_tmp_mark (struct tmp_marker *); +__GMP_DECLSPEC void __gmp_tmp_free (struct tmp_marker *); +#define TMP_SDECL TMP_DECL +#define TMP_DECL struct tmp_marker __tmp_marker +#define TMP_SMARK TMP_MARK +#define TMP_MARK __gmp_tmp_mark (&__tmp_marker) +#define TMP_SALLOC(n) TMP_ALLOC(n) +#define TMP_BALLOC(n) TMP_ALLOC(n) +#define TMP_ALLOC(n) \ + __gmp_tmp_alloc (ROUND_UP_MULTIPLE ((unsigned long) (n), __TMP_ALIGN)) +#define TMP_SFREE TMP_FREE +#define TMP_FREE __gmp_tmp_free (&__tmp_marker) +#endif + +#if WANT_TMP_DEBUG +/* See tal-debug.c for some comments. */ +struct tmp_debug_t { + struct tmp_debug_entry_t *list; + const char *file; + int line; +}; +struct tmp_debug_entry_t { + struct tmp_debug_entry_t *next; + charblock; + size_t size; +}; +__GMP_DECLSPEC void __gmp_tmp_debug_mark (const char *, int, struct tmp_debug_t **, + struct tmp_debug_t *, + const char *, const char *); +__GMP_DECLSPEC void *__gmp_tmp_debug_alloc (const char *, int, int, + struct tmp_debug_t **, const char *, + size_t) ATTRIBUTE_MALLOC; +__GMP_DECLSPEC void __gmp_tmp_debug_free (const char *, int, int, + struct tmp_debug_t **, + const char *, const char *); +#define TMP_SDECL TMP_DECL_NAME(__tmp_xmarker, "__tmp_marker") +#define TMP_DECL TMP_DECL_NAME(__tmp_xmarker, "__tmp_marker") +#define TMP_SMARK TMP_MARK_NAME(__tmp_xmarker, "__tmp_marker") +#define TMP_MARK TMP_MARK_NAME(__tmp_xmarker, "__tmp_marker") +#define TMP_SFREE TMP_FREE_NAME(__tmp_xmarker, "__tmp_marker") +#define TMP_FREE TMP_FREE_NAME(__tmp_xmarker, "__tmp_marker") +/* The marker variable is designed to provoke an uninitialized variable + warning from the compiler if TMP_FREE is used without a TMP_MARK. + __tmp_marker_inscope does the same for TMP_ALLOC. Runtime tests pick + these things up too. */ +#define TMP_DECL_NAME(marker, marker_name) \ + int marker; \ + int __tmp_marker_inscope; \ + const char *__tmp_marker_name = marker_name; \ + struct tmp_debug_t __tmp_marker_struct; \ + /* don't demand NULL, just cast a zero */ \ + struct tmp_debug_t *__tmp_marker = (struct tmp_debug_t *) 0 +#define TMP_MARK_NAME(marker, marker_name) \ + do { \ + marker = 1; \ + __tmp_marker_inscope = 1; \ + __gmp_tmp_debug_mark (ASSERT_FILE, ASSERT_LINE, \ + &__tmp_marker, &__tmp_marker_struct, \ + __tmp_marker_name, marker_name); \ + } while (0) +#define TMP_SALLOC(n) TMP_ALLOC(n) +#define TMP_BALLOC(n) TMP_ALLOC(n) +#define TMP_ALLOC(size) \ + __gmp_tmp_debug_alloc (ASSERT_FILE, ASSERT_LINE, \ + __tmp_marker_inscope, \ + &__tmp_marker, __tmp_marker_name, size) +#define TMP_FREE_NAME(marker, marker_name) \ + do { \ + __gmp_tmp_debug_free (ASSERT_FILE, ASSERT_LINE, \ + marker, &__tmp_marker, \ + __tmp_marker_name, marker_name); \ + } while (0) +#endif /* WANT_TMP_DEBUG */ + + +/* Allocating various types. */ +/* (n) changed to ((size_t) n) by PM */ +#define TMP_ALLOC_TYPE(n,type) ((type *) TMP_ALLOC (((size_t) n) * sizeof (type))) +#define TMP_SALLOC_TYPE(n,type) ((type *) TMP_SALLOC (((size_t) n) * sizeof (type))) +#define TMP_BALLOC_TYPE(n,type) ((type *) TMP_BALLOC (((size_t) n) * sizeof (type))) +#define TMP_ALLOC_LIMBS(n) TMP_ALLOC_TYPE(n,mp_limb_t) +#define TMP_SALLOC_LIMBS(n) TMP_SALLOC_TYPE(n,mp_limb_t) +#define TMP_BALLOC_LIMBS(n) TMP_BALLOC_TYPE(n,mp_limb_t) +#define TMP_ALLOC_MP_PTRS(n) TMP_ALLOC_TYPE(n,mp_ptr) +#define TMP_SALLOC_MP_PTRS(n) TMP_SALLOC_TYPE(n,mp_ptr) +#define TMP_BALLOC_MP_PTRS(n) TMP_BALLOC_TYPE(n,mp_ptr) + +/* It's more efficient to allocate one block than two. This is certainly + true of the malloc methods, but it can even be true of alloca if that + involves copying a chunk of stack (various RISCs), or a call to a stack + bounds check (mingw). In any case, when debugging keep separate blocks + so a redzoning malloc debugger can protect each individually. */ +/* TMP_ALLOC_LIMBS ((xsize) + (ysize)) changed tp TMP_ALLOC_LIMBS ((size_t) ((xsize) + (ysize))) by PM */ +#define TMP_ALLOC_LIMBS_2(xp,xsize, yp,ysize) \ + do { \ + if (WANT_TMP_DEBUG) \ + { \ + (xp) = TMP_ALLOC_LIMBS (xsize); \ + (yp) = TMP_ALLOC_LIMBS (ysize); \ + } \ + else \ + { \ + (xp) = TMP_ALLOC_LIMBS ((size_t) ((xsize) + (ysize))); \ + (yp) = (xp) + (xsize); \ + } \ + } while (0) + + +/* From gmp.h, nicer names for internal use. */ +#define CRAY_Pragma(str) __GMP_CRAY_Pragma(str) +#define MPN_CMP(result, xp, yp, size) __GMPN_CMP(result, xp, yp, size) +#define LIKELY(cond) __GMP_LIKELY(cond) +#define UNLIKELY(cond) __GMP_UNLIKELY(cond) + +#define ABS(x) ((x) >= 0 ? (x) : -(x)) +#define NEG_CAST(T,x) (- (__GMP_CAST (T, (x) + 1) - 1)) +#define ABS_CAST(T,x) ((x) >= 0 ? __GMP_CAST (T, x) : NEG_CAST (T,x)) +#undef MIN +#define MIN(l,o) ((l) < (o) ? (l) : (o)) +#undef MAX +#define MAX(h,i) ((h) > (i) ? (h) : (i)) +#define numberof(x) (sizeof (x) / sizeof ((x)[0])) + +/* Field access macros. */ +#define SIZ(x) ((x)->_mp_size) +#define ABSIZ(x) ABS (SIZ (x)) +#define PTR(x) ((x)->_mp_d) +#define EXP(x) ((x)->_mp_exp) +#define PREC(x) ((x)->_mp_prec) +#define ALLOC(x) ((x)->_mp_alloc) +#define NUM(x) mpq_numref(x) +#define DEN(x) mpq_denref(x) + +/* n-1 inverts any low zeros and the lowest one bit. If n&(n-1) leaves zero + then that lowest one bit must have been the only bit set. n==0 will + return true though, so avoid that. */ +#define POW2_P(n) (((n) & ((n) - 1)) == 0) + +/* This is intended for constant THRESHOLDs only, where the compiler + can completely fold the result. */ +#define LOG2C(n) \ + (((n) >= 0x1) + ((n) >= 0x2) + ((n) >= 0x4) + ((n) >= 0x8) + \ + ((n) >= 0x10) + ((n) >= 0x20) + ((n) >= 0x40) + ((n) >= 0x80) + \ + ((n) >= 0x100) + ((n) >= 0x200) + ((n) >= 0x400) + ((n) >= 0x800) + \ + ((n) >= 0x1000) + ((n) >= 0x2000) + ((n) >= 0x4000) + ((n) >= 0x8000)) + +/* The "short" defines are a bit different because shorts are promoted to + ints by ~ or >> etc. + + #ifndef's are used since on some systems (HP?) header files other than + limits.h setup these defines. We could forcibly #undef in that case, but + there seems no need to worry about that. + + Now that we include we should be able to remove all this. */ + +#ifndef ULONG_MAX +#define ULONG_MAX __GMP_ULONG_MAX +#endif +#ifndef UINT_MAX +#define UINT_MAX __GMP_UINT_MAX +#endif +#ifndef USHRT_MAX +#define USHRT_MAX __GMP_USHRT_MAX +#endif +#define MP_LIMB_T_MAX (~ (mp_limb_t) 0) + +/* Must cast ULONG_MAX etc to unsigned long etc, since they might not be + unsigned on a K&R compiler. In particular the HP-UX 10 bundled K&R cc + treats the plain decimal values in as signed. */ +#define ULONG_HIGHBIT (ULONG_MAX ^ ((unsigned long) ULONG_MAX >> 1)) +#define UINT_HIGHBIT (UINT_MAX ^ ((unsigned) UINT_MAX >> 1)) +#define USHRT_HIGHBIT (USHRT_MAX ^ ((unsigned short) USHRT_MAX >> 1)) +#define GMP_LIMB_HIGHBIT (MP_LIMB_T_MAX ^ (MP_LIMB_T_MAX >> 1)) + +#ifndef LONG_MIN +#define LONG_MIN ((long) ULONG_HIGHBIT) +#endif +#ifndef LONG_MAX +#define LONG_MAX (-(LONG_MIN+1)) +#endif + +#ifndef INT_MIN +#define INT_MIN ((int) UINT_HIGHBIT) +#endif +#ifndef INT_MAX +#define INT_MAX (-(INT_MIN+1)) +#endif + +#ifndef SHRT_MIN +#define SHRT_MIN ((int) (short) USHRT_HIGHBIT) +#endif +#ifndef SHRT_MAX +#define SHRT_MAX (-(SHRT_MIN+1)) +#endif + +#if __GMP_MP_SIZE_T_INT +#define MP_SIZE_T_MAX INT_MAX +#define MP_SIZE_T_MIN INT_MIN +#else +#define MP_SIZE_T_MAX LONG_MAX +#define MP_SIZE_T_MIN LONG_MIN +#endif + +/* mp_exp_t is the same as mp_size_t */ +#define MP_EXP_T_MAX MP_SIZE_T_MAX +#define MP_EXP_T_MIN MP_SIZE_T_MIN + +#define LONG_HIGHBIT LONG_MIN +#define INT_HIGHBIT INT_MIN +#define SHRT_HIGHBIT SHRT_MIN + + +#define GMP_NUMB_HIGHBIT (CNST_LIMB(1) << (GMP_NUMB_BITS-1)) + +#if GMP_NAIL_BITS == 0 +#define GMP_NAIL_LOWBIT CNST_LIMB(0) +#else +#define GMP_NAIL_LOWBIT (CNST_LIMB(1) << GMP_NUMB_BITS) +#endif + +#if GMP_NAIL_BITS != 0 +/* Set various *_THRESHOLD values to be used for nails. Thus we avoid using + code that has not yet been qualified. */ + +#undef DC_DIV_QR_THRESHOLD +#define DC_DIV_QR_THRESHOLD 50 + +#undef DIVREM_1_NORM_THRESHOLD +#undef DIVREM_1_UNNORM_THRESHOLD +#undef MOD_1_NORM_THRESHOLD +#undef MOD_1_UNNORM_THRESHOLD +#undef USE_PREINV_DIVREM_1 +#undef DIVREM_2_THRESHOLD +#undef DIVEXACT_1_THRESHOLD +#define DIVREM_1_NORM_THRESHOLD MP_SIZE_T_MAX /* no preinv */ +#define DIVREM_1_UNNORM_THRESHOLD MP_SIZE_T_MAX /* no preinv */ +#define MOD_1_NORM_THRESHOLD MP_SIZE_T_MAX /* no preinv */ +#define MOD_1_UNNORM_THRESHOLD MP_SIZE_T_MAX /* no preinv */ +#define USE_PREINV_DIVREM_1 0 /* no preinv */ +#define DIVREM_2_THRESHOLD MP_SIZE_T_MAX /* no preinv */ + +/* mpn/generic/mul_fft.c is not nails-capable. */ +#undef MUL_FFT_THRESHOLD +#undef SQR_FFT_THRESHOLD +#define MUL_FFT_THRESHOLD MP_SIZE_T_MAX +#define SQR_FFT_THRESHOLD MP_SIZE_T_MAX +#endif + +/* Swap macros. */ + +#define MP_LIMB_T_SWAP(x, y) \ + do { \ + mp_limb_t __mp_limb_t_swap__tmp = (x); \ + (x) = (y); \ + (y) = __mp_limb_t_swap__tmp; \ + } while (0) +#define MP_SIZE_T_SWAP(x, y) \ + do { \ + mp_size_t __mp_size_t_swap__tmp = (x); \ + (x) = (y); \ + (y) = __mp_size_t_swap__tmp; \ + } while (0) + +#define MP_PTR_SWAP(x, y) \ + do { \ + mp_ptr __mp_ptr_swap__tmp = (x); \ + (x) = (y); \ + (y) = __mp_ptr_swap__tmp; \ + } while (0) +#define MP_SRCPTR_SWAP(x, y) \ + do { \ + mp_srcptr __mp_srcptr_swap__tmp = (x); \ + (x) = (y); \ + (y) = __mp_srcptr_swap__tmp; \ + } while (0) + +#define MPN_PTR_SWAP(xp,xs, yp,ys) \ + do { \ + MP_PTR_SWAP (xp, yp); \ + MP_SIZE_T_SWAP (xs, ys); \ + } while(0) +#define MPN_SRCPTR_SWAP(xp,xs, yp,ys) \ + do { \ + MP_SRCPTR_SWAP (xp, yp); \ + MP_SIZE_T_SWAP (xs, ys); \ + } while(0) + +#define MPZ_PTR_SWAP(x, y) \ + do { \ + mpz_ptr __mpz_ptr_swap__tmp = (x); \ + (x) = (y); \ + (y) = __mpz_ptr_swap__tmp; \ + } while (0) +#define MPZ_SRCPTR_SWAP(x, y) \ + do { \ + mpz_srcptr __mpz_srcptr_swap__tmp = (x); \ + (x) = (y); \ + (y) = __mpz_srcptr_swap__tmp; \ + } while (0) + + +/* Enhancement: __gmp_allocate_func could have "__attribute__ ((malloc))", + but current gcc (3.0) doesn't seem to support that. */ +__GMP_DECLSPEC extern void * (*__gmp_allocate_func) (size_t); +__GMP_DECLSPEC extern void * (*__gmp_reallocate_func) (void *, size_t, size_t); +__GMP_DECLSPEC extern void (*__gmp_free_func) (void *, size_t); + +__GMP_DECLSPEC void *__gmp_default_allocate (size_t); +__GMP_DECLSPEC void *__gmp_default_reallocate (void *, size_t, size_t); +__GMP_DECLSPEC void __gmp_default_free (void *, size_t); + +#define __GMP_ALLOCATE_FUNC_TYPE(n,type) \ + ((type *) (*__gmp_allocate_func) ((n) * sizeof (type))) +#define __GMP_ALLOCATE_FUNC_LIMBS(n) __GMP_ALLOCATE_FUNC_TYPE (n, mp_limb_t) + +#define __GMP_REALLOCATE_FUNC_TYPE(p, old_size, new_size, type) \ + ((type *) (*__gmp_reallocate_func) \ + (p, ((size_t) old_size) * sizeof (type), ((size_t) new_size) * sizeof (type))) +#define __GMP_REALLOCATE_FUNC_LIMBS(p, old_size, new_size) \ + __GMP_REALLOCATE_FUNC_TYPE(p, old_size, new_size, mp_limb_t) + +#define __GMP_FREE_FUNC_TYPE(p,n,type) (*__gmp_free_func) (p, (n) * sizeof (type)) +#define __GMP_FREE_FUNC_LIMBS(p,n) __GMP_FREE_FUNC_TYPE (p, n, mp_limb_t) + +#define __GMP_REALLOCATE_FUNC_MAYBE(ptr, oldsize, newsize) \ + do { \ + if ((oldsize) != (newsize)) \ + (ptr) = (*__gmp_reallocate_func) (ptr, oldsize, newsize); \ + } while (0) + +#define __GMP_REALLOCATE_FUNC_MAYBE_TYPE(ptr, oldsize, newsize, type) \ + do { \ + if ((oldsize) != (newsize)) \ + (ptr) = (type *) (*__gmp_reallocate_func) \ + (ptr, (oldsize) * sizeof (type), (newsize) * sizeof (type)); \ + } while (0) + + +/* Dummy for non-gcc, code involving it will go dead. */ +#if ! defined (__GNUC__) || __GNUC__ < 2 +#define __builtin_constant_p(x) 0 +#endif + + +/* In gcc 2.96 and up on i386, tail calls are optimized to jumps if the + stack usage is compatible. __attribute__ ((regparm (N))) helps by + putting leading parameters in registers, avoiding extra stack. + + regparm cannot be used with calls going through the PLT, because the + binding code there may clobber the registers (%eax, %edx, %ecx) used for + the regparm parameters. Calls to local (ie. static) functions could + still use this, if we cared to differentiate locals and globals. + + On athlon-unknown-freebsd4.9 with gcc 3.3.3, regparm cannot be used with + -p or -pg profiling, since that version of gcc doesn't realize the + .mcount calls will clobber the parameter registers. Other systems are + ok, like debian with glibc 2.3.2 (mcount doesn't clobber), but we don't + bother to try to detect this. regparm is only an optimization so we just + disable it when profiling (profiling being a slowdown anyway). */ + +/* #if HAVE_HOST_CPU_FAMILY_x86 && __GMP_GNUC_PREREQ (2,96) && ! defined (PIC) \ + && ! WANT_PROFILING_PROF && ! WANT_PROFILING_GPROF +#define USE_LEADING_REGPARM 1 +#else +#define USE_LEADING_REGPARM 0 +#endif */ + +/* Macros for altering parameter order according to regparm usage. */ +#ifdef USE_LEADING_REGPARM +#define REGPARM_2_1(a,b,x) x,a,b +#define REGPARM_3_1(a,b,c,x) x,a,b,c +#define REGPARM_ATTR(n) __attribute__ ((regparm (n))) +#else +#define REGPARM_2_1(a,b,x) a,b,x +#define REGPARM_3_1(a,b,c,x) a,b,c,x +#define REGPARM_ATTR(n) +#endif + + +/* ASM_L gives a local label for a gcc asm block, for use when temporary + local labels like "1:" might not be available, which is the case for + instance on the x86s (the SCO assembler doesn't support them). + + The label generated is made unique by including "%=" which is a unique + number for each insn. This ensures the same name can be used in multiple + asm blocks, perhaps via a macro. Since jumps between asm blocks are not + allowed there's no need for a label to be usable outside a single + block. */ + +#define ASM_L(name) LSYM_PREFIX "asm_%=_" #name + + +#if defined (__GNUC__) && defined (HAVE_HOST_CPU_FAMILY_x86) +#if 0 +#define MPN_COPY_INCR(DST, SRC, N) \ + __asm__ ("cld\n\trep\n\tmovsl" : : \ + "D" (DST), "S" (SRC), "c" (N) : \ + "cx", "di", "si", "memory") +#define MPN_COPY_DECR(DST, SRC, N) \ + __asm__ ("std\n\trep\n\tmovsl" : : \ + "D" ((DST) + (N) - 1), "S" ((SRC) + (N) - 1), "c" (N) : \ + "cx", "di", "si", "memory") +#endif +#endif + + +__GMP_DECLSPEC void __gmpz_aorsmul_1 (REGPARM_3_1 (mpz_ptr, mpz_srcptr, mp_limb_t, mp_size_t)) REGPARM_ATTR(1); +#define mpz_aorsmul_1(w,u,v,sub) __gmpz_aorsmul_1 (REGPARM_3_1 (w, u, v, sub)) + +#define mpz_n_pow_ui __gmpz_n_pow_ui +__GMP_DECLSPEC void mpz_n_pow_ui (mpz_ptr, mp_srcptr, mp_size_t, unsigned long); + + +#define mpn_addmul_1c __MPN(addmul_1c) +__GMP_DECLSPEC mp_limb_t mpn_addmul_1c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t); + +#ifndef mpn_addmul_2 /* if not done with cpuvec in a fat binary */ +#define mpn_addmul_2 __MPN(addmul_2) +__GMP_DECLSPEC mp_limb_t mpn_addmul_2 (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); +#endif + +#define mpn_addmul_3 __MPN(addmul_3) +__GMP_DECLSPEC mp_limb_t mpn_addmul_3 (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); + +#define mpn_addmul_4 __MPN(addmul_4) +__GMP_DECLSPEC mp_limb_t mpn_addmul_4 (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); + +#define mpn_addmul_5 __MPN(addmul_5) +__GMP_DECLSPEC mp_limb_t mpn_addmul_5 (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); + +#define mpn_addmul_6 __MPN(addmul_6) +__GMP_DECLSPEC mp_limb_t mpn_addmul_6 (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); + +#define mpn_addmul_7 __MPN(addmul_7) +__GMP_DECLSPEC mp_limb_t mpn_addmul_7 (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); + +#define mpn_addmul_8 __MPN(addmul_8) +__GMP_DECLSPEC mp_limb_t mpn_addmul_8 (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); + +/* Alternative entry point in mpn_addmul_2 for the benefit of mpn_sqr_basecase. */ +#define mpn_addmul_2s __MPN(addmul_2s) +__GMP_DECLSPEC mp_limb_t mpn_addmul_2s (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); + +/* mpn_addlsh1_n(c,a,b,n), when it exists, sets {c,n} to {a,n}+2*{b,n}, and + returns the carry out (0, 1 or 2). Use _ip1 when a=c. */ +#ifndef mpn_addlsh1_n /* if not done with cpuvec in a fat binary */ +#define mpn_addlsh1_n __MPN(addlsh1_n) +__GMP_DECLSPEC mp_limb_t mpn_addlsh1_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#endif +#define mpn_addlsh1_nc __MPN(addlsh1_nc) +__GMP_DECLSPEC mp_limb_t mpn_addlsh1_nc (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); +#if defined (HAVE_NATIVE_mpn_addlsh1_n) && ! defined (HAVE_NATIVE_mpn_addlsh1_n_ip1) +#define mpn_addlsh1_n_ip1(dst,src,n) mpn_addlsh1_n(dst,dst,src,n) +#define HAVE_NATIVE_mpn_addlsh1_n_ip1 1 +#else +#define mpn_addlsh1_n_ip1 __MPN(addlsh1_n_ip1) +__GMP_DECLSPEC mp_limb_t mpn_addlsh1_n_ip1 (mp_ptr, mp_srcptr, mp_size_t); +#endif +#if defined (HAVE_NATIVE_mpn_addlsh1_nc) && ! defined (HAVE_NATIVE_mpn_addlsh1_nc_ip1) +#define mpn_addlsh1_nc_ip1(dst,src,n,c) mpn_addlsh1_nc(dst,dst,src,n,c) +#define HAVE_NATIVE_mpn_addlsh1_nc_ip1 1 +#else +#define mpn_addlsh1_nc_ip1 __MPN(addlsh1_nc_ip1) +__GMP_DECLSPEC mp_limb_t mpn_addlsh1_nc_ip1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); +#endif + +#ifndef mpn_addlsh2_n /* if not done with cpuvec in a fat binary */ +/* mpn_addlsh2_n(c,a,b,n), when it exists, sets {c,n} to {a,n}+4*{b,n}, and + returns the carry out (0, ..., 4). Use _ip1 when a=c. */ +#define mpn_addlsh2_n __MPN(addlsh2_n) +__GMP_DECLSPEC mp_limb_t mpn_addlsh2_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#endif +#define mpn_addlsh2_nc __MPN(addlsh2_nc) +__GMP_DECLSPEC mp_limb_t mpn_addlsh2_nc (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); +#if defined (HAVE_NATIVE_mpn_addlsh2_n) && ! HAVE_NATIVE_mpn_addlsh2_n_ip1 +#define mpn_addlsh2_n_ip1(dst,src,n) mpn_addlsh2_n(dst,dst,src,n) +#define HAVE_NATIVE_mpn_addlsh2_n_ip1 1 +#else +#define mpn_addlsh2_n_ip1 __MPN(addlsh2_n_ip1) +__GMP_DECLSPEC mp_limb_t mpn_addlsh2_n_ip1 (mp_ptr, mp_srcptr, mp_size_t); +#endif +#if defined (HAVE_NATIVE_mpn_addlsh2_nc) && ! HAVE_NATIVE_mpn_addlsh2_nc_ip1 +#define mpn_addlsh2_nc_ip1(dst,src,n,c) mpn_addlsh2_nc(dst,dst,src,n,c) +#define HAVE_NATIVE_mpn_addlsh2_nc_ip1 1 +#else +#define mpn_addlsh2_nc_ip1 __MPN(addlsh2_nc_ip1) +__GMP_DECLSPEC mp_limb_t mpn_addlsh2_nc_ip1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); +#endif + +/* mpn_addlsh_n(c,a,b,n,k), when it exists, sets {c,n} to {a,n}+2^k*{b,n}, and + returns the carry out (0, ..., 2^k). Use _ip1 when a=c. */ +#define mpn_addlsh_n __MPN(addlsh_n) +__GMP_DECLSPEC mp_limb_t mpn_addlsh_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, unsigned int); +#define mpn_addlsh_nc __MPN(addlsh_nc) +__GMP_DECLSPEC mp_limb_t mpn_addlsh_nc (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, unsigned int, mp_limb_t); +#if defined (HAVE_NATIVE_mpn_addlsh_n) && ! HAVE_NATIVE_mpn_addlsh_n_ip1 +#define mpn_addlsh_n_ip1(dst,src,n,s) mpn_addlsh_n(dst,dst,src,n,s) +#define HAVE_NATIVE_mpn_addlsh_n_ip1 1 +#else +#define mpn_addlsh_n_ip1 __MPN(addlsh_n_ip1) + __GMP_DECLSPEC mp_limb_t mpn_addlsh_n_ip1 (mp_ptr, mp_srcptr, mp_size_t, unsigned int); +#endif +#if defined (HAVE_NATIVE_mpn_addlsh_nc) && ! HAVE_NATIVE_mpn_addlsh_nc_ip1 +#define mpn_addlsh_nc_ip1(dst,src,n,s,c) mpn_addlsh_nc(dst,dst,src,n,s,c) +#define HAVE_NATIVE_mpn_addlsh_nc_ip1 1 +#else +#define mpn_addlsh_nc_ip1 __MPN(addlsh_nc_ip1) +__GMP_DECLSPEC mp_limb_t mpn_addlsh_nc_ip1 (mp_ptr, mp_srcptr, mp_size_t, unsigned int, mp_limb_t); +#endif + +#ifndef mpn_sublsh1_n /* if not done with cpuvec in a fat binary */ +/* mpn_sublsh1_n(c,a,b,n), when it exists, sets {c,n} to {a,n}-2*{b,n}, and + returns the borrow out (0, 1 or 2). Use _ip1 when a=c. */ +#define mpn_sublsh1_n __MPN(sublsh1_n) +__GMP_DECLSPEC mp_limb_t mpn_sublsh1_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#endif +#define mpn_sublsh1_nc __MPN(sublsh1_nc) +__GMP_DECLSPEC mp_limb_t mpn_sublsh1_nc (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); +#if defined (HAVE_NATIVE_mpn_sublsh1_n) && ! HAVE_NATIVE_mpn_sublsh1_n_ip1 +#define mpn_sublsh1_n_ip1(dst,src,n) mpn_sublsh1_n(dst,dst,src,n) +#define HAVE_NATIVE_mpn_sublsh1_n_ip1 1 +#else +#define mpn_sublsh1_n_ip1 __MPN(sublsh1_n_ip1) +__GMP_DECLSPEC mp_limb_t mpn_sublsh1_n_ip1 (mp_ptr, mp_srcptr, mp_size_t); +#endif +#if defined (HAVE_NATIVE_mpn_sublsh1_nc) && ! HAVE_NATIVE_mpn_sublsh1_nc_ip1 +#define mpn_sublsh1_nc_ip1(dst,src,n,c) mpn_sublsh1_nc(dst,dst,src,n,c) +#define HAVE_NATIVE_mpn_sublsh1_nc_ip1 1 +#else +#define mpn_sublsh1_nc_ip1 __MPN(sublsh1_nc_ip1) +__GMP_DECLSPEC mp_limb_t mpn_sublsh1_nc_ip1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); +#endif + +/* mpn_rsblsh1_n(c,a,b,n), when it exists, sets {c,n} to 2*{b,n}-{a,n}, and + returns the carry out (-1, 0, 1). */ +#define mpn_rsblsh1_n __MPN(rsblsh1_n) +__GMP_DECLSPEC mp_limb_signed_t mpn_rsblsh1_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_rsblsh1_nc __MPN(rsblsh1_nc) +__GMP_DECLSPEC mp_limb_signed_t mpn_rsblsh1_nc (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); + +/* mpn_sublsh2_n(c,a,b,n), when it exists, sets {c,n} to {a,n}-4*{b,n}, and + returns the borrow out (0, ..., 4). Use _ip1 when a=c. */ +#define mpn_sublsh2_n __MPN(sublsh2_n) +__GMP_DECLSPEC mp_limb_t mpn_sublsh2_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_sublsh2_nc __MPN(sublsh2_nc) +__GMP_DECLSPEC mp_limb_t mpn_sublsh2_nc (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); +#if defined (HAVE_NATIVE_mpn_sublsh2_n) && ! HAVE_NATIVE_mpn_sublsh2_n_ip1 +#define mpn_sublsh2_n_ip1(dst,src,n) mpn_sublsh2_n(dst,dst,src,n) +#define HAVE_NATIVE_mpn_sublsh2_n_ip1 1 +#else +#define mpn_sublsh2_n_ip1 __MPN(sublsh2_n_ip1) +__GMP_DECLSPEC mp_limb_t mpn_sublsh2_n_ip1 (mp_ptr, mp_srcptr, mp_size_t); +#endif +#if defined (HAVE_NATIVE_mpn_sublsh2_nc) && ! HAVE_NATIVE_mpn_sublsh2_nc_ip1 +#define mpn_sublsh2_nc_ip1(dst,src,n,c) mpn_sublsh2_nc(dst,dst,src,n,c) +#define HAVE_NATIVE_mpn_sublsh2_nc_ip1 1 +#else +#define mpn_sublsh2_nc_ip1 __MPN(sublsh2_nc_ip1) +__GMP_DECLSPEC mp_limb_t mpn_sublsh2_nc_ip1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); +#endif + +/* mpn_sublsh_n(c,a,b,n,k), when it exists, sets {c,n} to {a,n}-2^k*{b,n}, and + returns the carry out (0, ..., 2^k). Use _ip1 when a=c. */ +#define mpn_sublsh_n __MPN(sublsh_n) +__GMP_DECLSPEC mp_limb_t mpn_sublsh_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, unsigned int); +#if defined (HAVE_NATIVE_mpn_sublsh_n) && ! HAVE_NATIVE_mpn_sublsh_n_ip1 +#define mpn_sublsh_n_ip1(dst,src,n,s) mpn_sublsh_n(dst,dst,src,n,s) +#define HAVE_NATIVE_mpn_sublsh_n_ip1 1 +#else +#define mpn_sublsh_n_ip1 __MPN(sublsh_n_ip1) +__GMP_DECLSPEC mp_limb_t mpn_sublsh_n_ip1 (mp_ptr, mp_srcptr, mp_size_t, unsigned int); +#endif +#if defined (HAVE_NATIVE_mpn_sublsh_nc) && ! HAVE_NATIVE_mpn_sublsh_nc_ip1 +#define mpn_sublsh_nc_ip1(dst,src,n,s,c) mpn_sublsh_nc(dst,dst,src,n,s,c) +#define HAVE_NATIVE_mpn_sublsh_nc_ip1 1 +#else +#define mpn_sublsh_nc_ip1 __MPN(sublsh_nc_ip1) +__GMP_DECLSPEC mp_limb_t mpn_sublsh_nc_ip1 (mp_ptr, mp_srcptr, mp_size_t, unsigned int, mp_limb_t); +#endif + +/* mpn_rsblsh2_n(c,a,b,n), when it exists, sets {c,n} to 4*{b,n}-{a,n}, and + returns the carry out (-1, ..., 3). */ +#define mpn_rsblsh2_n __MPN(rsblsh2_n) +__GMP_DECLSPEC mp_limb_signed_t mpn_rsblsh2_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_rsblsh2_nc __MPN(rsblsh2_nc) +__GMP_DECLSPEC mp_limb_signed_t mpn_rsblsh2_nc (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); + +/* mpn_rsblsh_n(c,a,b,n,k), when it exists, sets {c,n} to 2^k*{b,n}-{a,n}, and + returns the carry out (-1, 0, ..., 2^k-1). */ +#define mpn_rsblsh_n __MPN(rsblsh_n) +__GMP_DECLSPEC mp_limb_signed_t mpn_rsblsh_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, unsigned int); +#define mpn_rsblsh_nc __MPN(rsblsh_nc) +__GMP_DECLSPEC mp_limb_signed_t mpn_rsblsh_nc (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, unsigned int, mp_limb_t); + +/* mpn_rsh1add_n(c,a,b,n), when it exists, sets {c,n} to ({a,n} + {b,n}) >> 1, + and returns the bit rshifted out (0 or 1). */ +#define mpn_rsh1add_n __MPN(rsh1add_n) +__GMP_DECLSPEC mp_limb_t mpn_rsh1add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_rsh1add_nc __MPN(rsh1add_nc) +__GMP_DECLSPEC mp_limb_t mpn_rsh1add_nc (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); + +/* mpn_rsh1sub_n(c,a,b,n), when it exists, sets {c,n} to ({a,n} - {b,n}) >> 1, + and returns the bit rshifted out (0 or 1). If there's a borrow from the + subtract, it's stored as a 1 in the high bit of c[n-1], like a twos + complement negative. */ +#define mpn_rsh1sub_n __MPN(rsh1sub_n) +__GMP_DECLSPEC mp_limb_t mpn_rsh1sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_rsh1sub_nc __MPN(rsh1sub_nc) +__GMP_DECLSPEC mp_limb_t mpn_rsh1sub_nc (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); + +#ifndef mpn_lshiftc /* if not done with cpuvec in a fat binary */ +#define mpn_lshiftc __MPN(lshiftc) +__GMP_DECLSPEC mp_limb_t mpn_lshiftc (mp_ptr, mp_srcptr, mp_size_t, unsigned int); +#endif + +#define mpn_add_err1_n __MPN(add_err1_n) +__GMP_DECLSPEC mp_limb_t mpn_add_err1_n (mp_ptr, mp_srcptr, mp_srcptr, mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_add_err2_n __MPN(add_err2_n) +__GMP_DECLSPEC mp_limb_t mpn_add_err2_n (mp_ptr, mp_srcptr, mp_srcptr, mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_add_err3_n __MPN(add_err3_n) +__GMP_DECLSPEC mp_limb_t mpn_add_err3_n (mp_ptr, mp_srcptr, mp_srcptr, mp_ptr, mp_srcptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_sub_err1_n __MPN(sub_err1_n) +__GMP_DECLSPEC mp_limb_t mpn_sub_err1_n (mp_ptr, mp_srcptr, mp_srcptr, mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_sub_err2_n __MPN(sub_err2_n) +__GMP_DECLSPEC mp_limb_t mpn_sub_err2_n (mp_ptr, mp_srcptr, mp_srcptr, mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_sub_err3_n __MPN(sub_err3_n) +__GMP_DECLSPEC mp_limb_t mpn_sub_err3_n (mp_ptr, mp_srcptr, mp_srcptr, mp_ptr, mp_srcptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_add_n_sub_n __MPN(add_n_sub_n) +__GMP_DECLSPEC mp_limb_t mpn_add_n_sub_n (mp_ptr, mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + +#define mpn_add_n_sub_nc __MPN(add_n_sub_nc) +__GMP_DECLSPEC mp_limb_t mpn_add_n_sub_nc (mp_ptr, mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_addaddmul_1msb0 __MPN(addaddmul_1msb0) +__GMP_DECLSPEC mp_limb_t mpn_addaddmul_1msb0 (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t); + +#define mpn_divrem_1c __MPN(divrem_1c) +__GMP_DECLSPEC mp_limb_t mpn_divrem_1c (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t); + +#define mpn_dump __MPN(dump) +__GMP_DECLSPEC void mpn_dump (mp_srcptr, mp_size_t); + +#define mpn_fib2_ui __MPN(fib2_ui) +__GMP_DECLSPEC mp_size_t mpn_fib2_ui (mp_ptr, mp_ptr, unsigned long); + +/* Remap names of internal mpn functions. */ +#define __clz_tab __MPN(clz_tab) +#define mpn_udiv_w_sdiv __MPN(udiv_w_sdiv) + +#define mpn_jacobi_base __MPN(jacobi_base) +__GMP_DECLSPEC int mpn_jacobi_base (mp_limb_t, mp_limb_t, int) ATTRIBUTE_CONST; + +#define mpn_jacobi_2 __MPN(jacobi_2) +__GMP_DECLSPEC int mpn_jacobi_2 (mp_srcptr, mp_srcptr, unsigned); + +#define mpn_jacobi_n __MPN(jacobi_n) +__GMP_DECLSPEC int mpn_jacobi_n (mp_ptr, mp_ptr, mp_size_t, unsigned); + +#define mpn_mod_1c __MPN(mod_1c) +__GMP_DECLSPEC mp_limb_t mpn_mod_1c (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_mul_1c __MPN(mul_1c) +__GMP_DECLSPEC mp_limb_t mpn_mul_1c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t); + +#define mpn_mul_2 __MPN(mul_2) +__GMP_DECLSPEC mp_limb_t mpn_mul_2 (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); + +#define mpn_mul_3 __MPN(mul_3) +__GMP_DECLSPEC mp_limb_t mpn_mul_3 (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); + +#define mpn_mul_4 __MPN(mul_4) +__GMP_DECLSPEC mp_limb_t mpn_mul_4 (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); + +#define mpn_mul_5 __MPN(mul_5) +__GMP_DECLSPEC mp_limb_t mpn_mul_5 (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); + +#define mpn_mul_6 __MPN(mul_6) +__GMP_DECLSPEC mp_limb_t mpn_mul_6 (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); + +#ifndef mpn_mul_basecase /* if not done with cpuvec in a fat binary */ +#define mpn_mul_basecase __MPN(mul_basecase) +__GMP_DECLSPEC void mpn_mul_basecase (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); +#endif + +#define mpn_mullo_n __MPN(mullo_n) +__GMP_DECLSPEC void mpn_mullo_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + +#ifndef mpn_mullo_basecase /* if not done with cpuvec in a fat binary */ +#define mpn_mullo_basecase __MPN(mullo_basecase) +__GMP_DECLSPEC void mpn_mullo_basecase (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#endif + +#ifndef mpn_sqr_basecase /* if not done with cpuvec in a fat binary */ +#define mpn_sqr_basecase __MPN(sqr_basecase) +__GMP_DECLSPEC void mpn_sqr_basecase (mp_ptr, mp_srcptr, mp_size_t); +#endif + +#define mpn_mulmid_basecase __MPN(mulmid_basecase) +__GMP_DECLSPEC void mpn_mulmid_basecase (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); + +#define mpn_mulmid_n __MPN(mulmid_n) +__GMP_DECLSPEC void mpn_mulmid_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + +#define mpn_mulmid __MPN(mulmid) +__GMP_DECLSPEC void mpn_mulmid (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); + +#define mpn_submul_1c __MPN(submul_1c) +__GMP_DECLSPEC mp_limb_t mpn_submul_1c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t); + +#ifndef mpn_redc_1 /* if not done with cpuvec in a fat binary */ +#define mpn_redc_1 __MPN(redc_1) +__GMP_DECLSPEC mp_limb_t mpn_redc_1 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); +#endif + +#ifndef mpn_redc_2 /* if not done with cpuvec in a fat binary */ +#define mpn_redc_2 __MPN(redc_2) +__GMP_DECLSPEC mp_limb_t mpn_redc_2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); +#endif + +#define mpn_redc_n __MPN(redc_n) +__GMP_DECLSPEC void mpn_redc_n (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); + + +#ifndef mpn_mod_1_1p_cps /* if not done with cpuvec in a fat binary */ +#define mpn_mod_1_1p_cps __MPN(mod_1_1p_cps) +__GMP_DECLSPEC void mpn_mod_1_1p_cps (mp_limb_t [4], mp_limb_t); +#endif +#ifndef mpn_mod_1_1p /* if not done with cpuvec in a fat binary */ +#define mpn_mod_1_1p __MPN(mod_1_1p) +__GMP_DECLSPEC mp_limb_t mpn_mod_1_1p (mp_srcptr, mp_size_t, mp_limb_t, const mp_limb_t [4]) __GMP_ATTRIBUTE_PURE; +#endif + +#ifndef mpn_mod_1s_2p_cps /* if not done with cpuvec in a fat binary */ +#define mpn_mod_1s_2p_cps __MPN(mod_1s_2p_cps) +__GMP_DECLSPEC void mpn_mod_1s_2p_cps (mp_limb_t [5], mp_limb_t); +#endif +#ifndef mpn_mod_1s_2p /* if not done with cpuvec in a fat binary */ +#define mpn_mod_1s_2p __MPN(mod_1s_2p) +__GMP_DECLSPEC mp_limb_t mpn_mod_1s_2p (mp_srcptr, mp_size_t, mp_limb_t, const mp_limb_t [5]) __GMP_ATTRIBUTE_PURE; +#endif + +#ifndef mpn_mod_1s_3p_cps /* if not done with cpuvec in a fat binary */ +#define mpn_mod_1s_3p_cps __MPN(mod_1s_3p_cps) +__GMP_DECLSPEC void mpn_mod_1s_3p_cps (mp_limb_t [6], mp_limb_t); +#endif +#ifndef mpn_mod_1s_3p /* if not done with cpuvec in a fat binary */ +#define mpn_mod_1s_3p __MPN(mod_1s_3p) +__GMP_DECLSPEC mp_limb_t mpn_mod_1s_3p (mp_srcptr, mp_size_t, mp_limb_t, const mp_limb_t [6]) __GMP_ATTRIBUTE_PURE; +#endif + +#ifndef mpn_mod_1s_4p_cps /* if not done with cpuvec in a fat binary */ +#define mpn_mod_1s_4p_cps __MPN(mod_1s_4p_cps) +__GMP_DECLSPEC void mpn_mod_1s_4p_cps (mp_limb_t [7], mp_limb_t); +#endif +#ifndef mpn_mod_1s_4p /* if not done with cpuvec in a fat binary */ +#define mpn_mod_1s_4p __MPN(mod_1s_4p) +__GMP_DECLSPEC mp_limb_t mpn_mod_1s_4p (mp_srcptr, mp_size_t, mp_limb_t, const mp_limb_t [7]) __GMP_ATTRIBUTE_PURE; +#endif + +#define mpn_bc_mulmod_bnm1 __MPN(bc_mulmod_bnm1) +__GMP_DECLSPEC void mpn_bc_mulmod_bnm1 (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_ptr); +#define mpn_mulmod_bnm1 __MPN(mulmod_bnm1) +__GMP_DECLSPEC void mpn_mulmod_bnm1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); +#define mpn_mulmod_bnm1_next_size __MPN(mulmod_bnm1_next_size) +__GMP_DECLSPEC mp_size_t mpn_mulmod_bnm1_next_size (mp_size_t) ATTRIBUTE_CONST; +static inline mp_size_t +mpn_mulmod_bnm1_itch (mp_size_t rn, mp_size_t an, mp_size_t bn) { + mp_size_t n, itch; + n = rn >> 1; + itch = rn + 4 + + (an > n ? (bn > n ? rn : n) : 0); + return itch; +} + +#define mpn_sqrmod_bnm1 __MPN(sqrmod_bnm1) +__GMP_DECLSPEC void mpn_sqrmod_bnm1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); +#define mpn_sqrmod_bnm1_next_size __MPN(sqrmod_bnm1_next_size) +__GMP_DECLSPEC mp_size_t mpn_sqrmod_bnm1_next_size (mp_size_t) ATTRIBUTE_CONST; +static inline mp_size_t +mpn_sqrmod_bnm1_itch (mp_size_t rn, mp_size_t an) { + mp_size_t n, itch; + n = rn >> 1; + itch = rn + 3 + + (an > n ? an : 0); + return itch; +} + +typedef __gmp_randstate_struct *gmp_randstate_ptr; +typedef const __gmp_randstate_struct *gmp_randstate_srcptr; + +/* Pseudo-random number generator function pointers structure. */ +typedef struct { + void (*randseed_fn) (gmp_randstate_t, mpz_srcptr); + void (*randget_fn) (gmp_randstate_t, mp_ptr, unsigned long int); + void (*randclear_fn) (gmp_randstate_t); + void (*randiset_fn) (gmp_randstate_ptr, gmp_randstate_srcptr); +} gmp_randfnptr_t; + +/* Macro to obtain a void pointer to the function pointers structure. */ +#define RNG_FNPTR(rstate) ((rstate)->_mp_algdata._mp_lc) + +/* Macro to obtain a pointer to the generator's state. + When used as a lvalue the rvalue needs to be cast to mp_ptr. */ +#define RNG_STATE(rstate) ((rstate)->_mp_seed->_mp_d) + +/* Write a given number of random bits to rp. */ +#define _gmp_rand(rp, state, bits) \ + do { \ + gmp_randstate_ptr __rstate = (state); \ + (*((gmp_randfnptr_t *) RNG_FNPTR (__rstate))->randget_fn) \ + (__rstate, rp, bits); \ + } while (0) + +__GMP_DECLSPEC void __gmp_randinit_mt_noseed (gmp_randstate_t); + + +/* __gmp_rands is the global state for the old-style random functions, and + is also used in the test programs (hence the __GMP_DECLSPEC). + + There's no seeding here, so mpz_random etc will generate the same + sequence every time. This is not unlike the C library random functions + if you don't seed them, so perhaps it's acceptable. Digging up a seed + from /dev/random or the like would work on many systems, but might + encourage a false confidence, since it'd be pretty much impossible to do + something that would work reliably everywhere. In any case the new style + functions are recommended to applications which care about randomness, so + the old functions aren't too important. */ + +__GMP_DECLSPEC extern char __gmp_rands_initialized; +__GMP_DECLSPEC extern gmp_randstate_t __gmp_rands; + +#define RANDS \ + ((__gmp_rands_initialized ? 0 \ + : (__gmp_rands_initialized = 1, \ + __gmp_randinit_mt_noseed (__gmp_rands), 0)), \ + __gmp_rands) + +/* this is used by the test programs, to free memory */ +#define RANDS_CLEAR() \ + do { \ + if (__gmp_rands_initialized) \ + { \ + __gmp_rands_initialized = 0; \ + gmp_randclear (__gmp_rands); \ + } \ + } while (0) + + +/* For a threshold between algorithms A and B, size>=thresh is where B + should be used. Special value MP_SIZE_T_MAX means only ever use A, or + value 0 means only ever use B. The tests for these special values will + be compile-time constants, so the compiler should be able to eliminate + the code for the unwanted algorithm. */ + +#if ! defined (__GNUC__) || __GNUC__ < 2 +#define ABOVE_THRESHOLD(size,thresh) \ + ((thresh) == 0 \ + || ((thresh) != MP_SIZE_T_MAX \ + && (size) >= (thresh))) +#else +#define ABOVE_THRESHOLD(size,thresh) \ + ((__builtin_constant_p (thresh) && (thresh) == 0) \ + || (!(__builtin_constant_p (thresh) && (thresh) == MP_SIZE_T_MAX) \ + && (size) >= (thresh))) +#endif +#define BELOW_THRESHOLD(size,thresh) (! ABOVE_THRESHOLD (size, thresh)) + +#define MPN_TOOM22_MUL_MINSIZE 4 +#define MPN_TOOM2_SQR_MINSIZE 4 + +#define MPN_TOOM33_MUL_MINSIZE 17 +#define MPN_TOOM3_SQR_MINSIZE 17 + +#define MPN_TOOM44_MUL_MINSIZE 30 +#define MPN_TOOM4_SQR_MINSIZE 30 + +#define MPN_TOOM6H_MUL_MINSIZE 46 +#define MPN_TOOM6_SQR_MINSIZE 46 + +#define MPN_TOOM8H_MUL_MINSIZE 86 +#define MPN_TOOM8_SQR_MINSIZE 86 + +#define MPN_TOOM32_MUL_MINSIZE 10 +#define MPN_TOOM42_MUL_MINSIZE 10 +#define MPN_TOOM43_MUL_MINSIZE 25 +#define MPN_TOOM53_MUL_MINSIZE 17 +#define MPN_TOOM54_MUL_MINSIZE 31 +#define MPN_TOOM63_MUL_MINSIZE 49 + +#define MPN_TOOM42_MULMID_MINSIZE 4 + +#define mpn_sqr_diagonal __MPN(sqr_diagonal) +__GMP_DECLSPEC void mpn_sqr_diagonal (mp_ptr, mp_srcptr, mp_size_t); + +#define mpn_sqr_diag_addlsh1 __MPN(sqr_diag_addlsh1) +__GMP_DECLSPEC void mpn_sqr_diag_addlsh1 (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + +#define mpn_toom_interpolate_5pts __MPN(toom_interpolate_5pts) +__GMP_DECLSPEC void mpn_toom_interpolate_5pts (mp_ptr, mp_ptr, mp_ptr, mp_size_t, mp_size_t, int, mp_limb_t); + +enum toom6_flags {toom6_all_pos = 0, toom6_vm1_neg = 1, toom6_vm2_neg = 2}; +#define mpn_toom_interpolate_6pts __MPN(toom_interpolate_6pts) +__GMP_DECLSPEC void mpn_toom_interpolate_6pts (mp_ptr, mp_size_t, enum toom6_flags, mp_ptr, mp_ptr, mp_ptr, mp_size_t); + +enum toom7_flags { toom7_w1_neg = 1, toom7_w3_neg = 2 }; +#define mpn_toom_interpolate_7pts __MPN(toom_interpolate_7pts) +__GMP_DECLSPEC void mpn_toom_interpolate_7pts (mp_ptr, mp_size_t, enum toom7_flags, mp_ptr, mp_ptr, mp_ptr, mp_ptr, mp_size_t, mp_ptr); + +#define mpn_toom_interpolate_8pts __MPN(toom_interpolate_8pts) +__GMP_DECLSPEC void mpn_toom_interpolate_8pts (mp_ptr, mp_size_t, mp_ptr, mp_ptr, mp_size_t, mp_ptr); + +#define mpn_toom_interpolate_12pts __MPN(toom_interpolate_12pts) +__GMP_DECLSPEC void mpn_toom_interpolate_12pts (mp_ptr, mp_ptr, mp_ptr, mp_ptr, mp_size_t, mp_size_t, int, mp_ptr); + +#define mpn_toom_interpolate_16pts __MPN(toom_interpolate_16pts) +__GMP_DECLSPEC void mpn_toom_interpolate_16pts (mp_ptr, mp_ptr, mp_ptr, mp_ptr, mp_ptr, mp_size_t, mp_size_t, int, mp_ptr); + +#define mpn_toom_couple_handling __MPN(toom_couple_handling) +__GMP_DECLSPEC void mpn_toom_couple_handling (mp_ptr, mp_size_t, mp_ptr, int, mp_size_t, int, int); + +#define mpn_toom_eval_dgr3_pm1 __MPN(toom_eval_dgr3_pm1) +__GMP_DECLSPEC int mpn_toom_eval_dgr3_pm1 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_size_t, mp_ptr); + +#define mpn_toom_eval_dgr3_pm2 __MPN(toom_eval_dgr3_pm2) +__GMP_DECLSPEC int mpn_toom_eval_dgr3_pm2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_size_t, mp_ptr); + +#define mpn_toom_eval_pm1 __MPN(toom_eval_pm1) +__GMP_DECLSPEC int mpn_toom_eval_pm1 (mp_ptr, mp_ptr, unsigned, mp_srcptr, mp_size_t, mp_size_t, mp_ptr); + +#define mpn_toom_eval_pm2 __MPN(toom_eval_pm2) +__GMP_DECLSPEC int mpn_toom_eval_pm2 (mp_ptr, mp_ptr, unsigned, mp_srcptr, mp_size_t, mp_size_t, mp_ptr); + +#define mpn_toom_eval_pm2exp __MPN(toom_eval_pm2exp) +__GMP_DECLSPEC int mpn_toom_eval_pm2exp (mp_ptr, mp_ptr, unsigned, mp_srcptr, mp_size_t, mp_size_t, unsigned, mp_ptr); + +#define mpn_toom_eval_pm2rexp __MPN(toom_eval_pm2rexp) +__GMP_DECLSPEC int mpn_toom_eval_pm2rexp (mp_ptr, mp_ptr, unsigned, mp_srcptr, mp_size_t, mp_size_t, unsigned, mp_ptr); + +#define mpn_toom22_mul __MPN(toom22_mul) +__GMP_DECLSPEC void mpn_toom22_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); + +#define mpn_toom32_mul __MPN(toom32_mul) +__GMP_DECLSPEC void mpn_toom32_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); + +#define mpn_toom42_mul __MPN(toom42_mul) +__GMP_DECLSPEC void mpn_toom42_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); + +#define mpn_toom52_mul __MPN(toom52_mul) +__GMP_DECLSPEC void mpn_toom52_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); + +#define mpn_toom62_mul __MPN(toom62_mul) +__GMP_DECLSPEC void mpn_toom62_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); + +#define mpn_toom2_sqr __MPN(toom2_sqr) +__GMP_DECLSPEC void mpn_toom2_sqr (mp_ptr, mp_srcptr, mp_size_t, mp_ptr); + +#define mpn_toom33_mul __MPN(toom33_mul) +__GMP_DECLSPEC void mpn_toom33_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); + +#define mpn_toom43_mul __MPN(toom43_mul) +__GMP_DECLSPEC void mpn_toom43_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); + +#define mpn_toom53_mul __MPN(toom53_mul) +__GMP_DECLSPEC void mpn_toom53_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); + +#define mpn_toom54_mul __MPN(toom54_mul) +__GMP_DECLSPEC void mpn_toom54_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); + +#define mpn_toom63_mul __MPN(toom63_mul) +__GMP_DECLSPEC void mpn_toom63_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); + +#define mpn_toom3_sqr __MPN(toom3_sqr) +__GMP_DECLSPEC void mpn_toom3_sqr (mp_ptr, mp_srcptr, mp_size_t, mp_ptr); + +#define mpn_toom44_mul __MPN(toom44_mul) +__GMP_DECLSPEC void mpn_toom44_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); + +#define mpn_toom4_sqr __MPN(toom4_sqr) +__GMP_DECLSPEC void mpn_toom4_sqr (mp_ptr, mp_srcptr, mp_size_t, mp_ptr); + +#define mpn_toom6h_mul __MPN(toom6h_mul) +__GMP_DECLSPEC void mpn_toom6h_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); + +#define mpn_toom6_sqr __MPN(toom6_sqr) +__GMP_DECLSPEC void mpn_toom6_sqr (mp_ptr, mp_srcptr, mp_size_t, mp_ptr); + +#define mpn_toom8h_mul __MPN(toom8h_mul) +__GMP_DECLSPEC void mpn_toom8h_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); + +#define mpn_toom8_sqr __MPN(toom8_sqr) +__GMP_DECLSPEC void mpn_toom8_sqr (mp_ptr, mp_srcptr, mp_size_t, mp_ptr); + +#define mpn_toom42_mulmid __MPN(toom42_mulmid) +__GMP_DECLSPEC void mpn_toom42_mulmid (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_ptr); + +#define mpn_fft_best_k __MPN(fft_best_k) +__GMP_DECLSPEC int mpn_fft_best_k (mp_size_t, int) ATTRIBUTE_CONST; + +#define mpn_mul_fft __MPN(mul_fft) +__GMP_DECLSPEC mp_limb_t mpn_mul_fft (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, int); + +#define mpn_mul_fft_full __MPN(mul_fft_full) +__GMP_DECLSPEC void mpn_mul_fft_full (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); + +#define mpn_nussbaumer_mul __MPN(nussbaumer_mul) +__GMP_DECLSPEC void mpn_nussbaumer_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); + +#define mpn_fft_next_size __MPN(fft_next_size) +__GMP_DECLSPEC mp_size_t mpn_fft_next_size (mp_size_t, int) ATTRIBUTE_CONST; + +#define mpn_div_qr_1n_pi1 __MPN(div_qr_1n_pi1) + __GMP_DECLSPEC mp_limb_t mpn_div_qr_1n_pi1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t, mp_limb_t); + +#define mpn_div_qr_2n_pi1 __MPN(div_qr_2n_pi1) + __GMP_DECLSPEC mp_limb_t mpn_div_qr_2n_pi1 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t, mp_limb_t); + +#define mpn_div_qr_2u_pi1 __MPN(div_qr_2u_pi1) + __GMP_DECLSPEC mp_limb_t mpn_div_qr_2u_pi1 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t, int, mp_limb_t); + +#define mpn_sbpi1_div_qr __MPN(sbpi1_div_qr) +__GMP_DECLSPEC mp_limb_t mpn_sbpi1_div_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_sbpi1_div_q __MPN(sbpi1_div_q) +__GMP_DECLSPEC mp_limb_t mpn_sbpi1_div_q (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_sbpi1_divappr_q __MPN(sbpi1_divappr_q) +__GMP_DECLSPEC mp_limb_t mpn_sbpi1_divappr_q (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_dcpi1_div_qr __MPN(dcpi1_div_qr) +__GMP_DECLSPEC mp_limb_t mpn_dcpi1_div_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, gmp_pi1_t *); +#define mpn_dcpi1_div_qr_n __MPN(dcpi1_div_qr_n) +__GMP_DECLSPEC mp_limb_t mpn_dcpi1_div_qr_n (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, gmp_pi1_t *, mp_ptr); + +#define mpn_dcpi1_div_q __MPN(dcpi1_div_q) +__GMP_DECLSPEC mp_limb_t mpn_dcpi1_div_q (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, gmp_pi1_t *); + +#define mpn_dcpi1_divappr_q __MPN(dcpi1_divappr_q) +__GMP_DECLSPEC mp_limb_t mpn_dcpi1_divappr_q (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, gmp_pi1_t *); +#define mpn_dcpi1_divappr_q_n __MPN(dcpi1_divappr_q_n) +__GMP_DECLSPEC mp_limb_t mpn_dcpi1_divappr_q_n (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, gmp_pi1_t *, mp_ptr); + +#define mpn_mu_div_qr __MPN(mu_div_qr) +__GMP_DECLSPEC mp_limb_t mpn_mu_div_qr (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); +#define mpn_mu_div_qr_itch __MPN(mu_div_qr_itch) +__GMP_DECLSPEC mp_size_t mpn_mu_div_qr_itch (mp_size_t, mp_size_t, int) ATTRIBUTE_CONST; +#define mpn_mu_div_qr_choose_in __MPN(mu_div_qr_choose_in) +__GMP_DECLSPEC mp_size_t mpn_mu_div_qr_choose_in (mp_size_t, mp_size_t, int); + +#define mpn_preinv_mu_div_qr __MPN(preinv_mu_div_qr) +__GMP_DECLSPEC mp_limb_t mpn_preinv_mu_div_qr (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); +#define mpn_preinv_mu_div_qr_itch __MPN(preinv_mu_div_qr_itch) +__GMP_DECLSPEC mp_size_t mpn_preinv_mu_div_qr_itch (mp_size_t, mp_size_t, mp_size_t) ATTRIBUTE_CONST; + +#define mpn_mu_divappr_q __MPN(mu_divappr_q) +__GMP_DECLSPEC mp_limb_t mpn_mu_divappr_q (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); +#define mpn_mu_divappr_q_itch __MPN(mu_divappr_q_itch) +__GMP_DECLSPEC mp_size_t mpn_mu_divappr_q_itch (mp_size_t, mp_size_t, int) ATTRIBUTE_CONST; +#define mpn_mu_divappr_q_choose_in __MPN(mu_divappr_q_choose_in) +__GMP_DECLSPEC mp_size_t mpn_mu_divappr_q_choose_in (mp_size_t, mp_size_t, int); + +#define mpn_preinv_mu_divappr_q __MPN(preinv_mu_divappr_q) +__GMP_DECLSPEC mp_limb_t mpn_preinv_mu_divappr_q (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); + +#define mpn_mu_div_q __MPN(mu_div_q) +__GMP_DECLSPEC mp_limb_t mpn_mu_div_q (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); +#define mpn_mu_div_q_itch __MPN(mu_div_q_itch) +__GMP_DECLSPEC mp_size_t mpn_mu_div_q_itch (mp_size_t, mp_size_t, int) ATTRIBUTE_CONST; + +#define mpn_div_q __MPN(div_q) +__GMP_DECLSPEC void mpn_div_q (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); + +#define mpn_invert __MPN(invert) +__GMP_DECLSPEC void mpn_invert (mp_ptr, mp_srcptr, mp_size_t, mp_ptr); +#define mpn_invert_itch(n) mpn_invertappr_itch(n) + +#define mpn_ni_invertappr __MPN(ni_invertappr) +__GMP_DECLSPEC mp_limb_t mpn_ni_invertappr (mp_ptr, mp_srcptr, mp_size_t, mp_ptr); +#define mpn_invertappr __MPN(invertappr) +__GMP_DECLSPEC mp_limb_t mpn_invertappr (mp_ptr, mp_srcptr, mp_size_t, mp_ptr); +#define mpn_invertappr_itch(n) (3 * (n) + 2) + +#define mpn_binvert __MPN(binvert) +__GMP_DECLSPEC void mpn_binvert (mp_ptr, mp_srcptr, mp_size_t, mp_ptr); +#define mpn_binvert_itch __MPN(binvert_itch) +__GMP_DECLSPEC mp_size_t mpn_binvert_itch (mp_size_t) ATTRIBUTE_CONST; + +#define mpn_bdiv_q_1 __MPN(bdiv_q_1) +__GMP_DECLSPEC mp_limb_t mpn_bdiv_q_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_pi1_bdiv_q_1 __MPN(pi1_bdiv_q_1) +__GMP_DECLSPEC mp_limb_t mpn_pi1_bdiv_q_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t, int); + +#define mpn_sbpi1_bdiv_qr __MPN(sbpi1_bdiv_qr) +__GMP_DECLSPEC mp_limb_t mpn_sbpi1_bdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_sbpi1_bdiv_q __MPN(sbpi1_bdiv_q) +__GMP_DECLSPEC void mpn_sbpi1_bdiv_q (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_dcpi1_bdiv_qr __MPN(dcpi1_bdiv_qr) +__GMP_DECLSPEC mp_limb_t mpn_dcpi1_bdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); +#define mpn_dcpi1_bdiv_qr_n_itch __MPN(dcpi1_bdiv_qr_n_itch) +__GMP_DECLSPEC mp_size_t mpn_dcpi1_bdiv_qr_n_itch (mp_size_t) ATTRIBUTE_CONST; + +#define mpn_dcpi1_bdiv_qr_n __MPN(dcpi1_bdiv_qr_n) +__GMP_DECLSPEC mp_limb_t mpn_dcpi1_bdiv_qr_n (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); +#define mpn_dcpi1_bdiv_q __MPN(dcpi1_bdiv_q) +__GMP_DECLSPEC void mpn_dcpi1_bdiv_q (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_dcpi1_bdiv_q_n __MPN(dcpi1_bdiv_q_n) +__GMP_DECLSPEC void mpn_dcpi1_bdiv_q_n (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); +#define mpn_dcpi1_bdiv_q_n_itch __MPN(dcpi1_bdiv_q_n_itch) +__GMP_DECLSPEC mp_size_t mpn_dcpi1_bdiv_q_n_itch (mp_size_t) ATTRIBUTE_CONST; + +#define mpn_mu_bdiv_qr __MPN(mu_bdiv_qr) +__GMP_DECLSPEC mp_limb_t mpn_mu_bdiv_qr (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); +#define mpn_mu_bdiv_qr_itch __MPN(mu_bdiv_qr_itch) +__GMP_DECLSPEC mp_size_t mpn_mu_bdiv_qr_itch (mp_size_t, mp_size_t) ATTRIBUTE_CONST; + +#define mpn_mu_bdiv_q __MPN(mu_bdiv_q) +__GMP_DECLSPEC void mpn_mu_bdiv_q (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); +#define mpn_mu_bdiv_q_itch __MPN(mu_bdiv_q_itch) +__GMP_DECLSPEC mp_size_t mpn_mu_bdiv_q_itch (mp_size_t, mp_size_t) ATTRIBUTE_CONST; + +#define mpn_bdiv_qr __MPN(bdiv_qr) +__GMP_DECLSPEC mp_limb_t mpn_bdiv_qr (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); +#define mpn_bdiv_qr_itch __MPN(bdiv_qr_itch) +__GMP_DECLSPEC mp_size_t mpn_bdiv_qr_itch (mp_size_t, mp_size_t) ATTRIBUTE_CONST; + +#define mpn_bdiv_q __MPN(bdiv_q) +__GMP_DECLSPEC void mpn_bdiv_q (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); +#define mpn_bdiv_q_itch __MPN(bdiv_q_itch) +__GMP_DECLSPEC mp_size_t mpn_bdiv_q_itch (mp_size_t, mp_size_t) ATTRIBUTE_CONST; + +#define mpn_divexact __MPN(divexact) +__GMP_DECLSPEC void mpn_divexact (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); +#define mpn_divexact_itch __MPN(divexact_itch) +__GMP_DECLSPEC mp_size_t mpn_divexact_itch (mp_size_t, mp_size_t) ATTRIBUTE_CONST; + +#ifndef mpn_bdiv_dbm1c /* if not done with cpuvec in a fat binary */ +#define mpn_bdiv_dbm1c __MPN(bdiv_dbm1c) +__GMP_DECLSPEC mp_limb_t mpn_bdiv_dbm1c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t); +#endif + +#define mpn_bdiv_dbm1(dst, src, size, divisor) \ + mpn_bdiv_dbm1c (dst, src, size, divisor, __GMP_CAST (mp_limb_t, 0)) + +#define mpn_powm __MPN(powm) +__GMP_DECLSPEC void mpn_powm (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); +#define mpn_powlo __MPN(powlo) +__GMP_DECLSPEC void mpn_powlo (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_size_t, mp_ptr); + +#define mpn_sec_pi1_div_qr __MPN(sec_pi1_div_qr) +__GMP_DECLSPEC mp_limb_t mpn_sec_pi1_div_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); +#define mpn_sec_pi1_div_r __MPN(sec_pi1_div_r) +__GMP_DECLSPEC void mpn_sec_pi1_div_r (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); + + +/* Override mpn_addlsh1_n, mpn_addlsh2_n, mpn_sublsh1_n, etc with mpn_addlsh_n, + etc when !HAVE_NATIVE the former but HAVE_NATIVE_ the latter. We then lie + and say these macros represent native functions, but leave a trace by using + the value 2 rather than 1. */ + +#if defined (HAVE_NATIVE_mpn_addlsh_n) && ! HAVE_NATIVE_mpn_addlsh1_n +#undef mpn_addlsh1_n +#define mpn_addlsh1_n(a,b,c,d) mpn_addlsh_n(a,b,c,d,1) +#define HAVE_NATIVE_mpn_addlsh1_n 2 +#endif + +#if defined (HAVE_NATIVE_mpn_addlsh_n) && ! HAVE_NATIVE_mpn_addlsh2_n +#undef mpn_addlsh2_n +#define mpn_addlsh2_n(a,b,c,d) mpn_addlsh_n(a,b,c,d,2) +#define HAVE_NATIVE_mpn_addlsh2_n 2 +#endif + +#if defined (HAVE_NATIVE_mpn_sublsh_n) && ! HAVE_NATIVE_mpn_sublsh1_n +#undef mpn_sublsh1_n +#define mpn_sublsh1_n(a,b,c,d) mpn_sublsh_n(a,b,c,d,1) +#define HAVE_NATIVE_mpn_sublsh1_n 2 +#endif + +#if defined (HAVE_NATIVE_mpn_sublsh_n) && ! HAVE_NATIVE_mpn_sublsh2_n +#undef mpn_sublsh2_n +#define mpn_sublsh2_n(a,b,c,d) mpn_sublsh_n(a,b,c,d,2) +#define HAVE_NATIVE_mpn_sublsh2_n 2 +#endif + +#if defined (HAVE_NATIVE_mpn_rsblsh_n) && ! HAVE_NATIVE_mpn_rsblsh1_n +#undef mpn_rsblsh1_n +#define mpn_rsblsh1_n(a,b,c,d) mpn_rsblsh_n(a,b,c,d,1) +#define HAVE_NATIVE_mpn_rsblsh1_n 2 +#endif + +#if defined (HAVE_NATIVE_mpn_rsblsh_n) && ! HAVE_NATIVE_mpn_rsblsh2_n +#undef mpn_rsblsh2_n +#define mpn_rsblsh2_n(a,b,c,d) mpn_rsblsh_n(a,b,c,d,2) +#define HAVE_NATIVE_mpn_rsblsh2_n 2 +#endif + + +#ifndef DIVEXACT_BY3_METHOD +#if GMP_NUMB_BITS % 2 == 0 && ! defined (HAVE_NATIVE_mpn_divexact_by3c) +#define DIVEXACT_BY3_METHOD 0 /* default to using mpn_bdiv_dbm1c */ +#else +#define DIVEXACT_BY3_METHOD 1 +#endif +#endif + +#if DIVEXACT_BY3_METHOD == 0 +#undef mpn_divexact_by3 +#define mpn_divexact_by3(dst,src,size) \ + (3 & mpn_bdiv_dbm1 (dst, src, size, __GMP_CAST (mp_limb_t, GMP_NUMB_MASK / 3))) +/* override mpn_divexact_by3c defined in gmp.h */ +/* +#undef mpn_divexact_by3c +#define mpn_divexact_by3c(dst,src,size,cy) \ + (3 & mpn_bdiv_dbm1c (dst, src, size, __GMP_CAST (mp_limb_t, GMP_NUMB_MASK / 3, GMP_NUMB_MASK / 3 * cy))) +*/ +#endif + +#if GMP_NUMB_BITS % 4 == 0 +#define mpn_divexact_by5(dst,src,size) \ + (7 & 3 * mpn_bdiv_dbm1 (dst, src, size, __GMP_CAST (mp_limb_t, GMP_NUMB_MASK / 5))) +#endif + +#if GMP_NUMB_BITS % 3 == 0 +#define mpn_divexact_by7(dst,src,size) \ + (7 & 1 * mpn_bdiv_dbm1 (dst, src, size, __GMP_CAST (mp_limb_t, GMP_NUMB_MASK / 7))) +#endif + +#if GMP_NUMB_BITS % 6 == 0 +#define mpn_divexact_by9(dst,src,size) \ + (15 & 7 * mpn_bdiv_dbm1 (dst, src, size, __GMP_CAST (mp_limb_t, GMP_NUMB_MASK / 9))) +#endif + +#if GMP_NUMB_BITS % 10 == 0 +#define mpn_divexact_by11(dst,src,size) \ + (15 & 5 * mpn_bdiv_dbm1 (dst, src, size, __GMP_CAST (mp_limb_t, GMP_NUMB_MASK / 11))) +#endif + +#if GMP_NUMB_BITS % 12 == 0 +#define mpn_divexact_by13(dst,src,size) \ + (15 & 3 * mpn_bdiv_dbm1 (dst, src, size, __GMP_CAST (mp_limb_t, GMP_NUMB_MASK / 13))) +#endif + +#if GMP_NUMB_BITS % 4 == 0 +#define mpn_divexact_by15(dst,src,size) \ + (15 & 1 * mpn_bdiv_dbm1 (dst, src, size, __GMP_CAST (mp_limb_t, GMP_NUMB_MASK / 15))) +#endif + +#define mpz_divexact_gcd __gmpz_divexact_gcd +__GMP_DECLSPEC void mpz_divexact_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_prodlimbs __gmpz_prodlimbs +__GMP_DECLSPEC mp_size_t mpz_prodlimbs (mpz_ptr, mp_ptr, mp_size_t); + +#define mpz_oddfac_1 __gmpz_oddfac_1 +__GMP_DECLSPEC void mpz_oddfac_1 (mpz_ptr, mp_limb_t, unsigned); + +#define mpz_inp_str_nowhite __gmpz_inp_str_nowhite +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpz_inp_str_nowhite (mpz_ptr, FILE *, int, int, size_t); +#endif + +#define mpn_divisible_p __MPN(divisible_p) +__GMP_DECLSPEC int mpn_divisible_p (mp_srcptr, mp_size_t, mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_rootrem __MPN(rootrem) +__GMP_DECLSPEC mp_size_t mpn_rootrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_broot __MPN(broot) +__GMP_DECLSPEC void mpn_broot (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_broot_invm1 __MPN(broot_invm1) +__GMP_DECLSPEC void mpn_broot_invm1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_brootinv __MPN(brootinv) +__GMP_DECLSPEC void mpn_brootinv (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); + +#define mpn_bsqrt __MPN(bsqrt) +__GMP_DECLSPEC void mpn_bsqrt (mp_ptr, mp_srcptr, mp_bitcnt_t, mp_ptr); + +#define mpn_bsqrtinv __MPN(bsqrtinv) +__GMP_DECLSPEC int mpn_bsqrtinv (mp_ptr, mp_srcptr, mp_bitcnt_t, mp_ptr); + +#if defined (_CRAY) +#define MPN_COPY_INCR(dst, src, n) \ + do { \ + int __i; /* Faster on some Crays with plain int */ \ + _Pragma ("_CRI ivdep"); \ + for (__i = 0; __i < (n); __i++) \ + (dst)[__i] = (src)[__i]; \ + } while (0) +#endif + +/* used by test programs, hence __GMP_DECLSPEC */ +#ifndef mpn_copyi /* if not done with cpuvec in a fat binary */ +#define mpn_copyi __MPN(copyi) +__GMP_DECLSPEC void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t); +#endif + +#if ! defined (MPN_COPY_INCR) && defined (HAVE_NATIVE_mpn_copyi) +#define MPN_COPY_INCR(dst, src, size) \ + do { \ + ASSERT ((size) >= 0); \ + ASSERT (MPN_SAME_OR_INCR_P (dst, src, size)); \ + mpn_copyi (dst, src, size); \ + } while (0) +#endif + +/* Copy N limbs from SRC to DST incrementing, N==0 allowed. */ +#if ! defined (MPN_COPY_INCR) +#define MPN_COPY_INCR(dst, src, n) \ + do { \ + ASSERT ((n) >= 0); \ + ASSERT (MPN_SAME_OR_INCR_P (dst, src, n)); \ + if ((n) != 0) \ + { \ + mp_size_t __n = (n) - 1; \ + mp_ptr __dst = (dst); \ + mp_srcptr __src = (src); \ + mp_limb_t __x; \ + __x = *__src++; \ + if (__n != 0) \ + { \ + do \ + { \ + *__dst++ = __x; \ + __x = *__src++; \ + } \ + while (--__n); \ + } \ + *__dst++ = __x; \ + } \ + } while (0) +#endif + + +#if defined (_CRAY) +#define MPN_COPY_DECR(dst, src, n) \ + do { \ + int __i; /* Faster on some Crays with plain int */ \ + _Pragma ("_CRI ivdep"); \ + for (__i = (n) - 1; __i >= 0; __i--) \ + (dst)[__i] = (src)[__i]; \ + } while (0) +#endif + +/* used by test programs, hence __GMP_DECLSPEC */ +#ifndef mpn_copyd /* if not done with cpuvec in a fat binary */ +#define mpn_copyd __MPN(copyd) +__GMP_DECLSPEC void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t); +#endif + +#if ! defined (MPN_COPY_DECR) && defined (HAVE_NATIVE_mpn_copyd) +#define MPN_COPY_DECR(dst, src, size) \ + do { \ + ASSERT ((size) >= 0); \ + ASSERT (MPN_SAME_OR_DECR_P (dst, src, size)); \ + mpn_copyd (dst, src, size); \ + } while (0) +#endif + +/* Copy N limbs from SRC to DST decrementing, N==0 allowed. */ +#if ! defined (MPN_COPY_DECR) +#define MPN_COPY_DECR(dst, src, n) \ + do { \ + ASSERT ((n) >= 0); \ + ASSERT (MPN_SAME_OR_DECR_P (dst, src, n)); \ + if ((n) != 0) \ + { \ + mp_size_t __n = (n) - 1; \ + mp_ptr __dst = (dst) + __n; \ + mp_srcptr __src = (src) + __n; \ + mp_limb_t __x; \ + __x = *__src--; \ + if (__n != 0) \ + { \ + do \ + { \ + *__dst-- = __x; \ + __x = *__src--; \ + } \ + while (--__n); \ + } \ + *__dst-- = __x; \ + } \ + } while (0) +#endif + + +#ifndef MPN_COPY +#define MPN_COPY(d,s,n) \ + do { \ + ASSERT (MPN_SAME_OR_SEPARATE_P (d, s, n)); \ + MPN_COPY_INCR (d, s, n); \ + } while (0) +#endif + + +/* Set {dst,size} to the limbs of {src,size} in reverse order. */ +#define MPN_REVERSE(dst, src, size) \ + do { \ + mp_ptr __dst = (dst); \ + mp_size_t __size = (size); \ + mp_srcptr __src = (src) + __size - 1; \ + mp_size_t __i; \ + ASSERT ((size) >= 0); \ + ASSERT (! MPN_OVERLAP_P (dst, size, src, size)); \ + CRAY_Pragma ("_CRI ivdep"); \ + for (__i = 0; __i < __size; __i++) \ + { \ + *__dst = *__src; \ + __dst++; \ + __src--; \ + } \ + } while (0) + + +/* Zero n limbs at dst. + + For power and powerpc we want an inline stu/bdnz loop for zeroing. On + ppc630 for instance this is optimal since it can sustain only 1 store per + cycle. + + gcc 2.95.x (for powerpc64 -maix64, or powerpc32) doesn't recognise the + "for" loop in the generic code below can become stu/bdnz. The do/while + here helps it get to that. The same caveat about plain -mpowerpc64 mode + applies here as to __GMPN_COPY_INCR in gmp.h. + + xlc 3.1 already generates stu/bdnz from the generic C, and does so from + this loop too. + + Enhancement: GLIBC does some trickery with dcbz to zero whole cache lines + at a time. MPN_ZERO isn't all that important in GMP, so it might be more + trouble than it's worth to do the same, though perhaps a call to memset + would be good when on a GNU system. */ + +#if defined (HAVE_HOST_CPU_FAMILY_power) || defined (HAVE_HOST_CPU_FAMILY_powerpc) +#define MPN_ZERO(dst, n) \ + do { \ + ASSERT ((n) >= 0); \ + if ((n) != 0) \ + { \ + mp_ptr __dst = (dst) - 1; \ + mp_size_t __n = (n); \ + do \ + *++__dst = 0; \ + while (--__n); \ + } \ + } while (0) +#endif + +#ifndef MPN_ZERO +#define MPN_ZERO(dst, n) \ + do { \ + ASSERT ((n) >= 0); \ + if ((n) != 0) \ + { \ + mp_ptr __dst = (dst); \ + mp_size_t __n = (n); \ + do \ + *__dst++ = 0; \ + while (--__n); \ + } \ + } while (0) +#endif + + +/* On the x86s repe/scasl doesn't seem useful, since it takes many cycles to + start up and would need to strip a lot of zeros before it'd be faster + than a simple cmpl loop. Here are some times in cycles for + std/repe/scasl/cld and cld/repe/scasl (the latter would be for stripping + low zeros). + + std cld + P5 18 16 + P6 46 38 + K6 36 13 + K7 21 20 +*/ +#ifndef MPN_NORMALIZE +#define MPN_NORMALIZE(DST, NLIMBS) \ + do { \ + while ((NLIMBS) > 0) \ + { \ + if ((DST)[(NLIMBS) - 1] != 0) \ + break; \ + (NLIMBS)--; \ + } \ + } while (0) +#endif +#ifndef MPN_NORMALIZE_NOT_ZERO +#define MPN_NORMALIZE_NOT_ZERO(DST, NLIMBS) \ + do { \ + while (1) \ + { \ + ASSERT ((NLIMBS) >= 1); \ + if ((DST)[(NLIMBS) - 1] != 0) \ + break; \ + (NLIMBS)--; \ + } \ + } while (0) +#endif + +/* Strip least significant zero limbs from {ptr,size} by incrementing ptr + and decrementing size. low should be ptr[0], and will be the new ptr[0] + on returning. The number in {ptr,size} must be non-zero, ie. size!=0 and + somewhere a non-zero limb. */ +#define MPN_STRIP_LOW_ZEROS_NOT_ZERO(ptr, size, low) \ + do { \ + ASSERT ((size) >= 1); \ + ASSERT ((low) == (ptr)[0]); \ + \ + while ((low) == 0) \ + { \ + (size)--; \ + ASSERT ((size) >= 1); \ + (ptr)++; \ + (low) = *(ptr); \ + } \ + } while (0) + +/* Initialize X of type mpz_t with space for NLIMBS limbs. X should be a + temporary variable; it will be automatically cleared out at function + return. We use __x here to make it possible to accept both mpz_ptr and + mpz_t arguments. */ +#define MPZ_TMP_INIT(X, NLIMBS) \ + do { \ + mpz_ptr __x = (X); \ + ASSERT ((NLIMBS) >= 1); \ + __x->_mp_alloc = (NLIMBS); \ + __x->_mp_d = TMP_ALLOC_LIMBS (NLIMBS); \ + } while (0) + +#ifdef WANT_ASSERT +static inline void * +_mpz_newalloc (mpz_ptr z, mp_size_t n) +{ + void * res = _mpz_realloc(z,n); + /* If we are checking the code, force a random change to limbs. */ + ((mp_ptr) res)[0] = ~ ((mp_ptr) res)[ALLOC (z) - 1]; + return res; +} +#else +#define _mpz_newalloc _mpz_realloc +#endif +/* Realloc for an mpz_t WHAT if it has less than NEEDED limbs. */ +#define MPZ_REALLOC(z,n) (UNLIKELY ((n) > ALLOC(z)) \ + ? (mp_ptr) _mpz_realloc(z,n) \ + : PTR(z)) +#define MPZ_NEWALLOC(z,n) (UNLIKELY ((n) > ALLOC(z)) \ + ? (mp_ptr) _mpz_newalloc(z,n) \ + : PTR(z)) + +#define MPZ_EQUAL_1_P(z) (SIZ(z)==1 && PTR(z)[0] == 1) + + +/* MPN_FIB2_SIZE(n) is the size in limbs required by mpn_fib2_ui for fp and + f1p. + + From Knuth vol 1 section 1.2.8, F[n] = phi^n/sqrt(5) rounded to the + nearest integer, where phi=(1+sqrt(5))/2 is the golden ratio. So the + number of bits required is n*log_2((1+sqrt(5))/2) = n*0.6942419. + + The multiplier used is 23/32=0.71875 for efficient calculation on CPUs + without good floating point. There's +2 for rounding up, and a further + +2 since at the last step x limbs are doubled into a 2x+1 limb region + whereas the actual F[2k] value might be only 2x-1 limbs. + + Note that a division is done first, since on a 32-bit system it's at + least conceivable to go right up to n==ULONG_MAX. (F[2^32-1] would be + about 380Mbytes, plus temporary workspace of about 1.2Gbytes here and + whatever a multiply of two 190Mbyte numbers takes.) + + Enhancement: When GMP_NUMB_BITS is not a power of 2 the division could be + worked into the multiplier. */ + +#define MPN_FIB2_SIZE(n) \ + ((mp_size_t) ((n) / 32 * 23 / GMP_NUMB_BITS) + 4) + + +/* FIB_TABLE(n) returns the Fibonacci number F[n]. Must have n in the range + -1 <= n <= FIB_TABLE_LIMIT (that constant in fib_table.h). + + FIB_TABLE_LUCNUM_LIMIT (in fib_table.h) is the largest n for which L[n] = + F[n] + 2*F[n-1] fits in a limb. */ + +__GMP_DECLSPEC extern const mp_limb_t __gmp_fib_table[]; +#define FIB_TABLE(n) (__gmp_fib_table[(n)+1]) + +extern const mp_limb_t __gmp_oddfac_table[]; +extern const mp_limb_t __gmp_odd2fac_table[]; +extern const unsigned char __gmp_fac2cnt_table[]; +extern const mp_limb_t __gmp_limbroots_table[]; + +/* n^log <= GMP_NUMB_MAX, a limb can store log factors less than n */ +static inline unsigned +log_n_max (mp_limb_t n) +{ + unsigned log; + for (log = 8; n > __gmp_limbroots_table[log - 1]; log--); + return log; +} + +#define SIEVESIZE 512 +typedef struct +{ + unsigned long d; /* current index in s[] */ + unsigned long s0; /* number corresponding to s[0] */ + unsigned long sqrt_s0; /* misnomer for sqrt(s[SIEVESIZE-1]) */ + unsigned char s[SIEVESIZE + 1]; /* sieve table */ +} gmp_primesieve_t; + +#define gmp_init_primesieve __gmp_init_primesieve +__GMP_DECLSPEC void gmp_init_primesieve (gmp_primesieve_t *); + +#define gmp_nextprime __gmp_nextprime +__GMP_DECLSPEC unsigned long int gmp_nextprime (gmp_primesieve_t *); + +#define gmp_primesieve __gmp_primesieve +__GMP_DECLSPEC mp_limb_t gmp_primesieve (mp_ptr, mp_limb_t); + + +#ifndef MUL_TOOM22_THRESHOLD +#define MUL_TOOM22_THRESHOLD 30 +#endif + +#ifndef MUL_TOOM33_THRESHOLD +#define MUL_TOOM33_THRESHOLD 100 +#endif + +#ifndef MUL_TOOM44_THRESHOLD +#define MUL_TOOM44_THRESHOLD 300 +#endif + +#ifndef MUL_TOOM6H_THRESHOLD +#define MUL_TOOM6H_THRESHOLD 350 +#endif + +#ifndef SQR_TOOM6_THRESHOLD +#define SQR_TOOM6_THRESHOLD MUL_TOOM6H_THRESHOLD +#endif + +#ifndef MUL_TOOM8H_THRESHOLD +#define MUL_TOOM8H_THRESHOLD 450 +#endif + +#ifndef SQR_TOOM8_THRESHOLD +#define SQR_TOOM8_THRESHOLD MUL_TOOM8H_THRESHOLD +#endif + +#ifndef MUL_TOOM32_TO_TOOM43_THRESHOLD +#define MUL_TOOM32_TO_TOOM43_THRESHOLD 100 +#endif + +#ifndef MUL_TOOM32_TO_TOOM53_THRESHOLD +#define MUL_TOOM32_TO_TOOM53_THRESHOLD 110 +#endif + +#ifndef MUL_TOOM42_TO_TOOM53_THRESHOLD +#define MUL_TOOM42_TO_TOOM53_THRESHOLD 100 +#endif + +#ifndef MUL_TOOM42_TO_TOOM63_THRESHOLD +#define MUL_TOOM42_TO_TOOM63_THRESHOLD 110 +#endif + +#ifndef MUL_TOOM43_TO_TOOM54_THRESHOLD +#define MUL_TOOM43_TO_TOOM54_THRESHOLD 150 +#endif + +/* MUL_TOOM22_THRESHOLD_LIMIT is the maximum for MUL_TOOM22_THRESHOLD. In a + normal build MUL_TOOM22_THRESHOLD is a constant and we use that. In a fat + binary or tune program build MUL_TOOM22_THRESHOLD is a variable and a + separate hard limit will have been defined. Similarly for TOOM3. */ +#ifndef MUL_TOOM22_THRESHOLD_LIMIT +#define MUL_TOOM22_THRESHOLD_LIMIT MUL_TOOM22_THRESHOLD +#endif +#ifndef MUL_TOOM33_THRESHOLD_LIMIT +#define MUL_TOOM33_THRESHOLD_LIMIT MUL_TOOM33_THRESHOLD +#endif +#ifndef MULLO_BASECASE_THRESHOLD_LIMIT +#define MULLO_BASECASE_THRESHOLD_LIMIT MULLO_BASECASE_THRESHOLD +#endif + +/* SQR_BASECASE_THRESHOLD is where mpn_sqr_basecase should take over from + mpn_mul_basecase. Default is to use mpn_sqr_basecase from 0. (Note that we + certainly always want it if there's a native assembler mpn_sqr_basecase.) + + If it turns out that mpn_toom2_sqr becomes faster than mpn_mul_basecase + before mpn_sqr_basecase does, then SQR_BASECASE_THRESHOLD is the toom2 + threshold and SQR_TOOM2_THRESHOLD is 0. This oddity arises more or less + because SQR_TOOM2_THRESHOLD represents the size up to which mpn_sqr_basecase + should be used, and that may be never. */ + +#ifndef SQR_BASECASE_THRESHOLD +#define SQR_BASECASE_THRESHOLD 0 +#endif + +#ifndef SQR_TOOM2_THRESHOLD +#define SQR_TOOM2_THRESHOLD 50 +#endif + +#ifndef SQR_TOOM3_THRESHOLD +#define SQR_TOOM3_THRESHOLD 120 +#endif + +#ifndef SQR_TOOM4_THRESHOLD +#define SQR_TOOM4_THRESHOLD 400 +#endif + +/* See comments above about MUL_TOOM33_THRESHOLD_LIMIT. */ +#ifndef SQR_TOOM3_THRESHOLD_LIMIT +#define SQR_TOOM3_THRESHOLD_LIMIT SQR_TOOM3_THRESHOLD +#endif + +#ifndef MULMID_TOOM42_THRESHOLD +#define MULMID_TOOM42_THRESHOLD MUL_TOOM22_THRESHOLD +#endif + +#ifndef DC_DIV_QR_THRESHOLD +#define DC_DIV_QR_THRESHOLD 50 +#endif + +#ifndef DC_DIVAPPR_Q_THRESHOLD +#define DC_DIVAPPR_Q_THRESHOLD 200 +#endif + +#ifndef DC_BDIV_QR_THRESHOLD +#define DC_BDIV_QR_THRESHOLD 50 +#endif + +#ifndef DC_BDIV_Q_THRESHOLD +#define DC_BDIV_Q_THRESHOLD 180 +#endif + +#ifndef DIVEXACT_JEB_THRESHOLD +#define DIVEXACT_JEB_THRESHOLD 25 +#endif + +#ifndef INV_MULMOD_BNM1_THRESHOLD +#define INV_MULMOD_BNM1_THRESHOLD (5*MULMOD_BNM1_THRESHOLD) +#endif + +#ifndef INV_APPR_THRESHOLD +#define INV_APPR_THRESHOLD INV_NEWTON_THRESHOLD +#endif + +#ifndef INV_NEWTON_THRESHOLD +#define INV_NEWTON_THRESHOLD 200 +#endif + +#ifndef BINV_NEWTON_THRESHOLD +#define BINV_NEWTON_THRESHOLD 300 +#endif + +#ifndef MU_DIVAPPR_Q_THRESHOLD +#define MU_DIVAPPR_Q_THRESHOLD 2000 +#endif + +#ifndef MU_DIV_QR_THRESHOLD +#define MU_DIV_QR_THRESHOLD 2000 +#endif + +#ifndef MUPI_DIV_QR_THRESHOLD +#define MUPI_DIV_QR_THRESHOLD 200 +#endif + +#ifndef MU_BDIV_Q_THRESHOLD +#define MU_BDIV_Q_THRESHOLD 2000 +#endif + +#ifndef MU_BDIV_QR_THRESHOLD +#define MU_BDIV_QR_THRESHOLD 2000 +#endif + +#ifndef MULMOD_BNM1_THRESHOLD +#define MULMOD_BNM1_THRESHOLD 16 +#endif + +#ifndef SQRMOD_BNM1_THRESHOLD +#define SQRMOD_BNM1_THRESHOLD 16 +#endif + +#ifndef MUL_TO_MULMOD_BNM1_FOR_2NXN_THRESHOLD +#define MUL_TO_MULMOD_BNM1_FOR_2NXN_THRESHOLD (INV_MULMOD_BNM1_THRESHOLD/2) +#endif + +#if defined (HAVE_NATIVE_mpn_addmul_2) || defined (HAVE_NATIVE_mpn_redc_2) + +#ifndef REDC_1_TO_REDC_2_THRESHOLD +#define REDC_1_TO_REDC_2_THRESHOLD 15 +#endif +#ifndef REDC_2_TO_REDC_N_THRESHOLD +#define REDC_2_TO_REDC_N_THRESHOLD 100 +#endif + +#else + +#ifndef REDC_1_TO_REDC_N_THRESHOLD +#define REDC_1_TO_REDC_N_THRESHOLD 100 +#endif + +#endif /* HAVE_NATIVE_mpn_addmul_2 || HAVE_NATIVE_mpn_redc_2 */ + + +/* First k to use for an FFT modF multiply. A modF FFT is an order + log(2^k)/log(2^(k-1)) algorithm, so k=3 is merely 1.5 like karatsuba, + whereas k=4 is 1.33 which is faster than toom3 at 1.485. */ +#define FFT_FIRST_K 4 + +/* Threshold at which FFT should be used to do a modF NxN -> N multiply. */ +#ifndef MUL_FFT_MODF_THRESHOLD +#define MUL_FFT_MODF_THRESHOLD (MUL_TOOM33_THRESHOLD * 3) +#endif +#ifndef SQR_FFT_MODF_THRESHOLD +#define SQR_FFT_MODF_THRESHOLD (SQR_TOOM3_THRESHOLD * 3) +#endif + +/* Threshold at which FFT should be used to do an NxN -> 2N multiply. This + will be a size where FFT is using k=7 or k=8, since an FFT-k used for an + NxN->2N multiply and not recursing into itself is an order + log(2^k)/log(2^(k-2)) algorithm, so it'll be at least k=7 at 1.39 which + is the first better than toom3. */ +#ifndef MUL_FFT_THRESHOLD +#define MUL_FFT_THRESHOLD (MUL_FFT_MODF_THRESHOLD * 10) +#endif +#ifndef SQR_FFT_THRESHOLD +#define SQR_FFT_THRESHOLD (SQR_FFT_MODF_THRESHOLD * 10) +#endif + +/* Table of thresholds for successive modF FFT "k"s. The first entry is + where FFT_FIRST_K+1 should be used, the second FFT_FIRST_K+2, + etc. See mpn_fft_best_k(). */ +#ifndef MUL_FFT_TABLE +#define MUL_FFT_TABLE \ + { MUL_TOOM33_THRESHOLD * 4, /* k=5 */ \ + MUL_TOOM33_THRESHOLD * 8, /* k=6 */ \ + MUL_TOOM33_THRESHOLD * 16, /* k=7 */ \ + MUL_TOOM33_THRESHOLD * 32, /* k=8 */ \ + MUL_TOOM33_THRESHOLD * 96, /* k=9 */ \ + MUL_TOOM33_THRESHOLD * 288, /* k=10 */ \ + 0 } +#endif +#ifndef SQR_FFT_TABLE +#define SQR_FFT_TABLE \ + { SQR_TOOM3_THRESHOLD * 4, /* k=5 */ \ + SQR_TOOM3_THRESHOLD * 8, /* k=6 */ \ + SQR_TOOM3_THRESHOLD * 16, /* k=7 */ \ + SQR_TOOM3_THRESHOLD * 32, /* k=8 */ \ + SQR_TOOM3_THRESHOLD * 96, /* k=9 */ \ + SQR_TOOM3_THRESHOLD * 288, /* k=10 */ \ + 0 } +#endif + +struct fft_table_nk +{ + unsigned int n:27; + unsigned int k:5; +}; + +#ifndef FFT_TABLE_ATTRS +#define FFT_TABLE_ATTRS static const +#endif + +#define MPN_FFT_TABLE_SIZE 16 + + +#ifndef DC_DIV_QR_THRESHOLD +#define DC_DIV_QR_THRESHOLD (3 * MUL_TOOM22_THRESHOLD) +#endif + +#ifndef GET_STR_DC_THRESHOLD +#define GET_STR_DC_THRESHOLD 18 +#endif + +#ifndef GET_STR_PRECOMPUTE_THRESHOLD +#define GET_STR_PRECOMPUTE_THRESHOLD 35 +#endif + +#ifndef SET_STR_DC_THRESHOLD +#define SET_STR_DC_THRESHOLD 750 +#endif + +#ifndef SET_STR_PRECOMPUTE_THRESHOLD +#define SET_STR_PRECOMPUTE_THRESHOLD 2000 +#endif + +#ifndef FAC_ODD_THRESHOLD +#define FAC_ODD_THRESHOLD 35 +#endif + +#ifndef FAC_DSC_THRESHOLD +#define FAC_DSC_THRESHOLD 400 +#endif + +/* Return non-zero if xp,xsize and yp,ysize overlap. + If xp+xsize<=yp there's no overlap, or if yp+ysize<=xp there's no + overlap. If both these are false, there's an overlap. */ +#define MPN_OVERLAP_P(xp, xsize, yp, ysize) \ + ((xp) + (xsize) > (yp) && (yp) + (ysize) > (xp)) +#define MEM_OVERLAP_P(xp, xsize, yp, ysize) \ + ( (char *) (xp) + (xsize) > (char *) (yp) \ + && (char *) (yp) + (ysize) > (char *) (xp)) + +/* Return non-zero if xp,xsize and yp,ysize are either identical or not + overlapping. Return zero if they're partially overlapping. */ +#define MPN_SAME_OR_SEPARATE_P(xp, yp, size) \ + MPN_SAME_OR_SEPARATE2_P(xp, size, yp, size) +#define MPN_SAME_OR_SEPARATE2_P(xp, xsize, yp, ysize) \ + ((xp) == (yp) || ! MPN_OVERLAP_P (xp, xsize, yp, ysize)) + +/* Return non-zero if dst,dsize and src,ssize are either identical or + overlapping in a way suitable for an incrementing/decrementing algorithm. + Return zero if they're partially overlapping in an unsuitable fashion. */ +#define MPN_SAME_OR_INCR2_P(dst, dsize, src, ssize) \ + ((dst) <= (src) || ! MPN_OVERLAP_P (dst, dsize, src, ssize)) +#define MPN_SAME_OR_INCR_P(dst, src, size) \ + MPN_SAME_OR_INCR2_P(dst, size, src, size) +#define MPN_SAME_OR_DECR2_P(dst, dsize, src, ssize) \ + ((dst) >= (src) || ! MPN_OVERLAP_P (dst, dsize, src, ssize)) +#define MPN_SAME_OR_DECR_P(dst, src, size) \ + MPN_SAME_OR_DECR2_P(dst, size, src, size) + + +/* ASSERT() is a private assertion checking scheme, similar to . + ASSERT() does the check only if WANT_ASSERT is selected, ASSERT_ALWAYS() + does it always. Generally assertions are meant for development, but + might help when looking for a problem later too. + + Note that strings shouldn't be used within the ASSERT expression, + eg. ASSERT(strcmp(s,"notgood")!=0), since the quotes upset the "expr" + used in the !HAVE_STRINGIZE case (ie. K&R). */ + +#ifdef __LINE__ +#define ASSERT_LINE __LINE__ +#else +#define ASSERT_LINE -1 +#endif + +#ifdef __FILE__ +#define ASSERT_FILE __FILE__ +#else +#define ASSERT_FILE "" +#endif + +__GMP_DECLSPEC void __gmp_assert_header (const char *, int); +__GMP_DECLSPEC void __gmp_assert_fail (const char *, int, const char *) ATTRIBUTE_NORETURN; + +#ifdef HAVE_STRINGIZE +#define ASSERT_FAIL(expr) __gmp_assert_fail (ASSERT_FILE, ASSERT_LINE, #expr) +#else +#define ASSERT_FAIL(expr) __gmp_assert_fail (ASSERT_FILE, ASSERT_LINE, "expr") +#endif + +#define ASSERT_ALWAYS(expr) \ + do { \ + if (UNLIKELY (!(expr))) \ + ASSERT_FAIL (expr); \ + } while (0) + +#ifdef WANT_ASSERT +#define ASSERT(expr) ASSERT_ALWAYS (expr) +#else +#define ASSERT(expr) do {} while (0) +#endif + + +/* ASSERT_CARRY checks the expression is non-zero, and ASSERT_NOCARRY checks + that it's zero. In both cases if assertion checking is disabled the + expression is still evaluated. These macros are meant for use with + routines like mpn_add_n() where the return value represents a carry or + whatever that should or shouldn't occur in some context. For example, + ASSERT_NOCARRY (mpn_add_n (rp, s1p, s2p, size)); */ +#ifdef WANT_ASSERT +#define ASSERT_CARRY(expr) ASSERT_ALWAYS ((expr) != 0) +#define ASSERT_NOCARRY(expr) ASSERT_ALWAYS ((expr) == 0) +#else +#define ASSERT_CARRY(expr) (expr) +#define ASSERT_NOCARRY(expr) (expr) +#endif + + +/* ASSERT_CODE includes code when assertion checking is wanted. This is the + same as writing "#if WANT_ASSERT", but more compact. */ +#ifdef WANT_ASSERT +#define ASSERT_CODE(expr) expr +#else +#define ASSERT_CODE(expr) +#endif + + +/* Test that an mpq_t is in fully canonical form. This can be used as + protection on routines like mpq_equal which give wrong results on + non-canonical inputs. */ +#ifdef WANT_ASSERT +#define ASSERT_MPQ_CANONICAL(q) \ + do { \ + ASSERT (q->_mp_den._mp_size > 0); \ + if (q->_mp_num._mp_size == 0) \ + { \ + /* zero should be 0/1 */ \ + ASSERT (mpz_cmp_ui (mpq_denref(q), 1L) == 0); \ + } \ + else \ + { \ + /* no common factors */ \ + mpz_t __g; \ + mpz_init (__g); \ + mpz_gcd (__g, mpq_numref(q), mpq_denref(q)); \ + ASSERT (mpz_cmp_ui (__g, 1) == 0); \ + mpz_clear (__g); \ + } \ + } while (0) +#else +#define ASSERT_MPQ_CANONICAL(q) do {} while (0) +#endif + +/* Check that the nail parts are zero. */ +#define ASSERT_ALWAYS_LIMB(limb) \ + do { \ + mp_limb_t __nail = (limb) & GMP_NAIL_MASK; \ + ASSERT_ALWAYS (__nail == 0); \ + } while (0) +#define ASSERT_ALWAYS_MPN(ptr, size) \ + do { \ + /* let whole loop go dead when no nails */ \ + if (GMP_NAIL_BITS != 0) \ + { \ + mp_size_t __i; \ + for (__i = 0; __i < (size); __i++) \ + ASSERT_ALWAYS_LIMB ((ptr)[__i]); \ + } \ + } while (0) +#ifdef WANT_ASSERT +#define ASSERT_LIMB(limb) ASSERT_ALWAYS_LIMB (limb) +#define ASSERT_MPN(ptr, size) ASSERT_ALWAYS_MPN (ptr, size) +#else +#define ASSERT_LIMB(limb) do {} while (0) +#define ASSERT_MPN(ptr, size) do {} while (0) +#endif + + +/* Assert that an mpn region {ptr,size} is zero, or non-zero. + size==0 is allowed, and in that case {ptr,size} considered to be zero. */ +#ifdef WANT_ASSERT +#define ASSERT_MPN_ZERO_P(ptr,size) \ + do { \ + mp_size_t __i; \ + ASSERT ((size) >= 0); \ + for (__i = 0; __i < (size); __i++) \ + ASSERT ((ptr)[__i] == 0); \ + } while (0) +#define ASSERT_MPN_NONZERO_P(ptr,size) \ + do { \ + mp_size_t __i; \ + int __nonzero = 0; \ + ASSERT ((size) >= 0); \ + for (__i = 0; __i < (size); __i++) \ + if ((ptr)[__i] != 0) \ + { \ + __nonzero = 1; \ + break; \ + } \ + ASSERT (__nonzero); \ + } while (0) +#else +#define ASSERT_MPN_ZERO_P(ptr,size) do {} while (0) +#define ASSERT_MPN_NONZERO_P(ptr,size) do {} while (0) +#endif + + +#ifndef HAVE_NATIVE_mpn_com +#undef mpn_com +#define mpn_com(d,s,n) \ + do { \ + mp_ptr __d = (d); \ + mp_srcptr __s = (s); \ + mp_size_t __n = (n); \ + ASSERT (__n >= 1); \ + ASSERT (MPN_SAME_OR_SEPARATE_P (__d, __s, __n)); \ + do \ + *__d++ = (~ *__s++) & GMP_NUMB_MASK; \ + while (--__n); \ + } while (0) +#endif + +#define MPN_LOGOPS_N_INLINE(rp, up, vp, n, operation) \ + do { \ + mp_srcptr __up = (up); \ + mp_srcptr __vp = (vp); \ + mp_ptr __rp = (rp); \ + mp_size_t __n = (n); \ + mp_limb_t __a, __b; \ + ASSERT (__n > 0); \ + ASSERT (MPN_SAME_OR_SEPARATE_P (__rp, __up, __n)); \ + ASSERT (MPN_SAME_OR_SEPARATE_P (__rp, __vp, __n)); \ + __up += __n; \ + __vp += __n; \ + __rp += __n; \ + __n = -__n; \ + do { \ + __a = __up[__n]; \ + __b = __vp[__n]; \ + __rp[__n] = operation; \ + } while (++__n); \ + } while (0) + + +#ifndef HAVE_NATIVE_mpn_and_n +#undef mpn_and_n +#define mpn_and_n(rp, up, vp, n) \ + MPN_LOGOPS_N_INLINE (rp, up, vp, n, __a & __b) +#endif + +#ifndef HAVE_NATIVE_mpn_andn_n +#undef mpn_andn_n +#define mpn_andn_n(rp, up, vp, n) \ + MPN_LOGOPS_N_INLINE (rp, up, vp, n, __a & ~__b) +#endif + +#ifndef HAVE_NATIVE_mpn_nand_n +#undef mpn_nand_n +#define mpn_nand_n(rp, up, vp, n) \ + MPN_LOGOPS_N_INLINE (rp, up, vp, n, ~(__a & __b) & GMP_NUMB_MASK) +#endif + +#ifndef HAVE_NATIVE_mpn_ior_n +#undef mpn_ior_n +#define mpn_ior_n(rp, up, vp, n) \ + MPN_LOGOPS_N_INLINE (rp, up, vp, n, __a | __b) +#endif + +#ifndef HAVE_NATIVE_mpn_iorn_n +#undef mpn_iorn_n +#define mpn_iorn_n(rp, up, vp, n) \ + MPN_LOGOPS_N_INLINE (rp, up, vp, n, (__a | ~__b) & GMP_NUMB_MASK) +#endif + +#ifndef HAVE_NATIVE_mpn_nior_n +#undef mpn_nior_n +#define mpn_nior_n(rp, up, vp, n) \ + MPN_LOGOPS_N_INLINE (rp, up, vp, n, ~(__a | __b) & GMP_NUMB_MASK) +#endif + +#ifndef HAVE_NATIVE_mpn_xor_n +#undef mpn_xor_n +#define mpn_xor_n(rp, up, vp, n) \ + MPN_LOGOPS_N_INLINE (rp, up, vp, n, __a ^ __b) +#endif + +#ifndef HAVE_NATIVE_mpn_xnor_n +#undef mpn_xnor_n +#define mpn_xnor_n(rp, up, vp, n) \ + MPN_LOGOPS_N_INLINE (rp, up, vp, n, ~(__a ^ __b) & GMP_NUMB_MASK) +#endif + +#define mpn_trialdiv __MPN(trialdiv) +__GMP_DECLSPEC mp_limb_t mpn_trialdiv (mp_srcptr, mp_size_t, mp_size_t, int *); + +#define mpn_remove __MPN(remove) +__GMP_DECLSPEC mp_bitcnt_t mpn_remove (mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_bitcnt_t); + + +/* ADDC_LIMB sets w=x+y and cout to 0 or 1 for a carry from that addition. */ +#if GMP_NAIL_BITS == 0 +#define ADDC_LIMB(cout, w, x, y) \ + do { \ + mp_limb_t __x = (x); \ + mp_limb_t __y = (y); \ + mp_limb_t __w = __x + __y; \ + (w) = __w; \ + (cout) = __w < __x; \ + } while (0) +#else +#define ADDC_LIMB(cout, w, x, y) \ + do { \ + mp_limb_t __w; \ + ASSERT_LIMB (x); \ + ASSERT_LIMB (y); \ + __w = (x) + (y); \ + (w) = __w & GMP_NUMB_MASK; \ + (cout) = __w >> GMP_NUMB_BITS; \ + } while (0) +#endif + +/* SUBC_LIMB sets w=x-y and cout to 0 or 1 for a borrow from that + subtract. */ +#if GMP_NAIL_BITS == 0 +#define SUBC_LIMB(cout, w, x, y) \ + do { \ + mp_limb_t __x = (x); \ + mp_limb_t __y = (y); \ + mp_limb_t __w = __x - __y; \ + (w) = __w; \ + (cout) = __w > __x; \ + } while (0) +#else +#define SUBC_LIMB(cout, w, x, y) \ + do { \ + mp_limb_t __w = (x) - (y); \ + (w) = __w & GMP_NUMB_MASK; \ + (cout) = __w >> (GMP_LIMB_BITS-1); \ + } while (0) +#endif + + +/* MPN_INCR_U does {ptr,size} += n, MPN_DECR_U does {ptr,size} -= n, both + expecting no carry (or borrow) from that. + + The size parameter is only for the benefit of assertion checking. In a + normal build it's unused and the carry/borrow is just propagated as far + as it needs to go. + + On random data, usually only one or two limbs of {ptr,size} get updated, + so there's no need for any sophisticated looping, just something compact + and sensible. + + */ + +#if defined (__GNUC__) && GMP_NAIL_BITS == 0 && ! defined (NO_ASM) \ + && (defined(HAVE_HOST_CPU_FAMILY_x86) || defined(HAVE_HOST_CPU_FAMILY_x86_64)) \ + && ! WANT_ASSERT +/* Better flags handling than the generic C gives on i386, saving a few + bytes of code and maybe a cycle or two. */ + +#define MPN_IORD_U(ptr, incr, aors) \ + do { \ + mp_ptr __ptr_dummy; \ + if (__builtin_constant_p (incr) && (incr) == 0) \ + { \ + } \ + else if (__builtin_constant_p (incr) && (incr) == 1) \ + { \ + __asm__ __volatile__ \ + ("\n" ASM_L(top) ":\n" \ + "\t" aors "\t$1, (%0)\n" \ + "\tlea\t%c2(%0), %0\n" \ + "\tjc\t" ASM_L(top) \ + : "=r" (__ptr_dummy) \ + : "0" (ptr), "n" (sizeof(mp_limb_t)) \ + : "memory"); \ + } \ + else \ + { \ + __asm__ __volatile__ \ + ( aors "\t%2, (%0)\n" \ + "\tjnc\t" ASM_L(done) "\n" \ + ASM_L(top) ":\n" \ + "\t" aors "\t$1, %c3(%0)\n" \ + "\tlea\t%c3(%0), %0\n" \ + "\tjc\t" ASM_L(top) "\n" \ + ASM_L(done) ":\n" \ + : "=r" (__ptr_dummy) \ + : "0" (ptr), \ + "ri" ((mp_limb_t) (incr)), "n" (sizeof(mp_limb_t)) \ + : "memory"); \ + } \ + } while (0) + +#if GMP_LIMB_BITS == 32 +#define MPN_INCR_U(ptr, size, incr) MPN_IORD_U (ptr, incr, "addl") +#define MPN_DECR_U(ptr, size, incr) MPN_IORD_U (ptr, incr, "subl") +#endif +#if GMP_LIMB_BITS == 64 +#define MPN_INCR_U(ptr, size, incr) MPN_IORD_U (ptr, incr, "addq") +#define MPN_DECR_U(ptr, size, incr) MPN_IORD_U (ptr, incr, "subq") +#endif +#define mpn_incr_u(ptr, incr) MPN_INCR_U (ptr, 0, incr) +#define mpn_decr_u(ptr, incr) MPN_DECR_U (ptr, 0, incr) +#endif + +#if GMP_NAIL_BITS == 0 +#ifndef mpn_incr_u +#define mpn_incr_u(p,incr) \ + do { \ + mp_limb_t __x; \ + mp_ptr __p = (p); \ + if (__builtin_constant_p (incr) && (incr) == 1) \ + { \ + while (++(*(__p++)) == 0) \ + ; \ + } \ + else \ + { \ + __x = *__p + (incr); \ + *__p = __x; \ + if (__x < (incr)) \ + while (++(*(++__p)) == 0) \ + ; \ + } \ + } while (0) +#endif +#ifndef mpn_decr_u +#define mpn_decr_u(p,incr) \ + do { \ + mp_limb_t __x; \ + mp_ptr __p = (p); \ + if (__builtin_constant_p (incr) && (incr) == 1) \ + { \ + while ((*(__p++))-- == 0) \ + ; \ + } \ + else \ + { \ + __x = *__p; \ + *__p = __x - (incr); \ + if (__x < (incr)) \ + while ((*(++__p))-- == 0) \ + ; \ + } \ + } while (0) +#endif +#endif + +#if GMP_NAIL_BITS >= 1 +#ifndef mpn_incr_u +#define mpn_incr_u(p,incr) \ + do { \ + mp_limb_t __x; \ + mp_ptr __p = (p); \ + if (__builtin_constant_p (incr) && (incr) == 1) \ + { \ + do \ + { \ + __x = (*__p + 1) & GMP_NUMB_MASK; \ + *__p++ = __x; \ + } \ + while (__x == 0); \ + } \ + else \ + { \ + __x = (*__p + (incr)); \ + *__p++ = __x & GMP_NUMB_MASK; \ + if (__x >> GMP_NUMB_BITS != 0) \ + { \ + do \ + { \ + __x = (*__p + 1) & GMP_NUMB_MASK; \ + *__p++ = __x; \ + } \ + while (__x == 0); \ + } \ + } \ + } while (0) +#endif +#ifndef mpn_decr_u +#define mpn_decr_u(p,incr) \ + do { \ + mp_limb_t __x; \ + mp_ptr __p = (p); \ + if (__builtin_constant_p (incr) && (incr) == 1) \ + { \ + do \ + { \ + __x = *__p; \ + *__p++ = (__x - 1) & GMP_NUMB_MASK; \ + } \ + while (__x == 0); \ + } \ + else \ + { \ + __x = *__p - (incr); \ + *__p++ = __x & GMP_NUMB_MASK; \ + if (__x >> GMP_NUMB_BITS != 0) \ + { \ + do \ + { \ + __x = *__p; \ + *__p++ = (__x - 1) & GMP_NUMB_MASK; \ + } \ + while (__x == 0); \ + } \ + } \ + } while (0) +#endif +#endif + +#ifndef MPN_INCR_U +#ifdef WANT_ASSERT +#define MPN_INCR_U(ptr, size, n) \ + do { \ + ASSERT ((size) >= 1); \ + ASSERT_NOCARRY (mpn_add_1 (ptr, ptr, size, n)); \ + } while (0) +#else +#define MPN_INCR_U(ptr, size, n) mpn_incr_u (ptr, n) +#endif +#endif + +#ifndef MPN_DECR_U +#ifdef WANT_ASSERT +#define MPN_DECR_U(ptr, size, n) \ + do { \ + ASSERT ((size) >= 1); \ + ASSERT_NOCARRY (mpn_sub_1 (ptr, ptr, size, n)); \ + } while (0) +#else +#define MPN_DECR_U(ptr, size, n) mpn_decr_u (ptr, n) +#endif +#endif + + +/* Structure for conversion between internal binary format and strings. */ +struct bases +{ + /* Number of digits in the conversion base that always fits in an mp_limb_t. + For example, for base 10 on a machine where a mp_limb_t has 32 bits this + is 9, since 10**9 is the largest number that fits into a mp_limb_t. */ + int chars_per_limb; + + /* log(2)/log(conversion_base) */ + mp_limb_t logb2; + + /* log(conversion_base)/log(2) */ + mp_limb_t log2b; + + /* base**chars_per_limb, i.e. the biggest number that fits a word, built by + factors of base. Exception: For 2, 4, 8, etc, big_base is log2(base), + i.e. the number of bits used to represent each digit in the base. */ + mp_limb_t big_base; + + /* A GMP_LIMB_BITS bit approximation to 1/big_base, represented as a + fixed-point number. Instead of dividing by big_base an application can + choose to multiply by big_base_inverted. */ + mp_limb_t big_base_inverted; +}; + +#define mp_bases __MPN(bases) +__GMP_DECLSPEC extern const struct bases mp_bases[257]; + + +/* Compute the number of digits in base for nbits bits, making sure the result + is never too small. The two variants of the macro implement the same + function; the GT2 variant below works just for bases > 2. */ +#define DIGITS_IN_BASE_FROM_BITS(res, nbits, b) \ + do { \ + mp_limb_t _ph, _dummy; \ + size_t _nbits = (nbits); \ + umul_ppmm (_ph, _dummy, mp_bases[b].logb2, _nbits); \ + _ph += (_dummy + _nbits < _dummy); \ + res = _ph + 1; \ + } while (0) +#define DIGITS_IN_BASEGT2_FROM_BITS(res, nbits, b) \ + do { \ + mp_limb_t _ph ; mp_limb_t _dummy __attribute__((unused)); \ + size_t _nbits = (nbits); \ + umul_ppmm (_ph, _dummy, mp_bases[b].logb2 + 1, _nbits); \ + res = _ph + 1; \ + } while (0) + +/* For power of 2 bases this is exact. For other bases the result is either + exact or one too big. + + To be exact always it'd be necessary to examine all the limbs of the + operand, since numbers like 100..000 and 99...999 generally differ only + in the lowest limb. It'd be possible to examine just a couple of high + limbs to increase the probability of being exact, but that doesn't seem + worth bothering with. */ + +/* int __lb_base, __cnt; changed to unsigned long __lb_base, __cnt; by PM */ +#define MPN_SIZEINBASE(result, ptr, size, base) \ + do { \ + unsigned long __lb_base, __cnt; \ + size_t __totbits; \ + \ + ASSERT ((size) >= 0); \ + ASSERT ((base) >= 2); \ + ASSERT ((base) < numberof (mp_bases)); \ + \ + /* Special case for X == 0. */ \ + if ((size) == 0) \ + (result) = 1; \ + else \ + { \ + /* Calculate the total number of significant bits of X. */ \ + count_leading_zeros (__cnt, (ptr)[(size)-1]); \ + __totbits = (size_t) (size) * GMP_NUMB_BITS - (__cnt - GMP_NAIL_BITS);\ + \ + if (POW2_P (base)) \ + { \ + __lb_base = mp_bases[base].big_base; \ + (result) = (__totbits + __lb_base - 1) / __lb_base; \ + } \ + else \ + { \ + DIGITS_IN_BASEGT2_FROM_BITS (result, __totbits, base); \ + } \ + } \ + } while (0) + +/* int __cnt changed to unsigned long __cnt by PM */ +#define MPN_SIZEINBASE_2EXP(result, ptr, size, base2exp) \ + do { \ + unsigned long __cnt; \ + mp_bitcnt_t __totbits; \ + ASSERT ((size) > 0); \ + ASSERT ((ptr)[(size)-1] != 0); \ + count_leading_zeros (__cnt, (ptr)[(size)-1]); \ + __totbits = (mp_bitcnt_t) (size) * GMP_NUMB_BITS - (__cnt - GMP_NAIL_BITS); \ + (result) = (__totbits + (base2exp)-1) / (base2exp); \ + } while (0) + + +/* bit count to limb count, rounding up */ +#define BITS_TO_LIMBS(n) (((n) + (GMP_NUMB_BITS - 1)) / GMP_NUMB_BITS) + +/* MPN_SET_UI sets an mpn (ptr, cnt) to given ui. MPZ_FAKE_UI creates fake + mpz_t from ui. The zp argument must have room for LIMBS_PER_ULONG limbs + in both cases (LIMBS_PER_ULONG is also defined here.) */ +#if defined (SIZEOF_UNSIGNED_LONG) && (BITS_PER_ULONG <= GMP_NUMB_BITS) /* need one limb per ulong */ + +#define LIMBS_PER_ULONG 1 +#define MPN_SET_UI(zp, zn, u) \ + (zp)[0] = (u); \ + (zn) = ((zp)[0] != 0); +#define MPZ_FAKE_UI(z, zp, u) \ + (zp)[0] = (u); \ + PTR (z) = (zp); \ + SIZ (z) = ((zp)[0] != 0); \ + ASSERT_CODE (ALLOC (z) = 1); + +#else /* need two limbs per ulong */ + +#define LIMBS_PER_ULONG 2 +#define MPN_SET_UI(zp, zn, u) \ + (zp)[0] = (u) & GMP_NUMB_MASK; \ + (zp)[1] = (u) >> GMP_NUMB_BITS; \ + (zn) = ((zp)[1] != 0 ? 2 : (zp)[0] != 0 ? 1 : 0); +#define MPZ_FAKE_UI(z, zp, u) \ + (zp)[0] = (u) & GMP_NUMB_MASK; \ + (zp)[1] = (u) >> GMP_NUMB_BITS; \ + SIZ (z) = ((zp)[1] != 0 ? 2 : (zp)[0] != 0 ? 1 : 0); \ + PTR (z) = (zp); \ + ASSERT_CODE (ALLOC (z) = 2); + +#endif + + +#ifdef HAVE_HOST_CPU_FAMILY_x86 +#define TARGET_REGISTER_STARVED 1 +#else +#define TARGET_REGISTER_STARVED 0 +#endif + + +/* LIMB_HIGHBIT_TO_MASK(n) examines the high bit of a limb value and turns 1 + or 0 there into a limb 0xFF..FF or 0 respectively. + + On most CPUs this is just an arithmetic right shift by GMP_LIMB_BITS-1, + but C99 doesn't guarantee signed right shifts are arithmetic, so we have + a little compile-time test and a fallback to a "? :" form. The latter is + necessary for instance on Cray vector systems. + + Recent versions of gcc (eg. 3.3) will in fact optimize a "? :" like this + to an arithmetic right shift anyway, but it's good to get the desired + shift on past versions too (in particular since an important use of + LIMB_HIGHBIT_TO_MASK is in udiv_qrnnd_preinv). */ + +#define LIMB_HIGHBIT_TO_MASK(n) \ + (((mp_limb_signed_t) -1 >> 1) < 0 \ + ? (mp_limb_signed_t) (n) >> (GMP_LIMB_BITS - 1) \ + : (n) & GMP_LIMB_HIGHBIT ? MP_LIMB_T_MAX : CNST_LIMB(0)) + + +/* Use a library function for invert_limb, if available. */ +#define mpn_invert_limb __MPN(invert_limb) +__GMP_DECLSPEC mp_limb_t mpn_invert_limb (mp_limb_t) ATTRIBUTE_CONST; +#if ! defined (invert_limb) && defined (HAVE_NATIVE_mpn_invert_limb) +#define invert_limb(invxl,xl) \ + do { \ + (invxl) = mpn_invert_limb (xl); \ + } while (0) +#endif + +#pragma GCC diagnostic ignored "-Wunused-variable" + +#ifndef invert_limb +#define invert_limb(invxl,xl) \ + do { \ + mp_limb_t _dummy __attribute__ ((unused)) ; \ + ASSERT ((xl) != 0); \ + udiv_qrnnd (invxl, _dummy, ~(xl), ~CNST_LIMB(0), xl); \ + } while (0) +#endif + +#define invert_pi1(dinv, d1, d0) \ + do { \ + mp_limb_t _v, _p, _t1, _t0, _mask; \ + invert_limb (_v, d1); \ + _p = (d1) * _v; \ + _p += (d0); \ + if (_p < (d0)) \ + { \ + _v--; \ + _mask = -(mp_limb_t) (_p >= (d1)); \ + _p -= (d1); \ + _v += _mask; \ + _p -= _mask & (d1); \ + } \ + umul_ppmm (_t1, _t0, d0, _v); \ + _p += _t1; \ + if (_p < _t1) \ + { \ + _v--; \ + if (UNLIKELY (_p >= (d1))) \ + { \ + if (_p > (d1) || _t0 >= (d0)) \ + _v--; \ + } \ + } \ + (dinv).inv32 = _v; \ + } while (0) + + +/* udiv_qrnnd_preinv -- Based on work by Niels Möller and Torbjörn Granlund. + We write things strangely below, to help gcc. A more straightforward + version: + _r = (nl) - _qh * (d); + _t = _r + (d); + if (_r >= _ql) + { + _qh--; + _r = _t; + } + For one operation shorter critical path, one may want to use this form: + _p = _qh * (d) + _s = (nl) + (d); + _r = (nl) - _p; + _t = _s - _p; + if (_r >= _ql) + { + _qh--; + _r = _t; + } +*/ +#define udiv_qrnnd_preinv(q, r, nh, nl, d, di) \ + do { \ + mp_limb_t _qh, _ql, _r, _mask; \ + umul_ppmm (_qh, _ql, (nh), (di)); \ + if (__builtin_constant_p (nl) && (nl) == 0) \ + { \ + _qh += (nh) + 1; \ + _r = - _qh * (d); \ + _mask = -(mp_limb_t) (_r > _ql); /* both > and >= are OK */ \ + _qh += _mask; \ + _r += _mask & (d); \ + } \ + else \ + { \ + add_ssaaaa (_qh, _ql, _qh, _ql, (nh) + 1, (nl)); \ + _r = (nl) - _qh * (d); \ + _mask = -(mp_limb_t) (_r > _ql); /* both > and >= are OK */ \ + _qh += _mask; \ + _r += _mask & (d); \ + if (UNLIKELY (_r >= (d))) \ + { \ + _r -= (d); \ + _qh++; \ + } \ + } \ + (r) = _r; \ + (q) = _qh; \ + } while (0) + +/* Dividing (NH, NL) by D, returning the remainder only. Unlike + udiv_qrnnd_preinv, works also for the case NH == D, where the + quotient doesn't quite fit in a single limb. */ +#define udiv_rnnd_preinv(r, nh, nl, d, di) \ + do { \ + mp_limb_t _qh, _ql, _r, _mask; \ + umul_ppmm (_qh, _ql, (nh), (di)); \ + if (__builtin_constant_p (nl) && (nl) == 0) \ + { \ + _r = ~(_qh + (nh)) * (d); \ + _mask = -(mp_limb_t) (_r > _ql); /* both > and >= are OK */ \ + _r += _mask & (d); \ + } \ + else \ + { \ + add_ssaaaa (_qh, _ql, _qh, _ql, (nh) + 1, (nl)); \ + _r = (nl) - _qh * (d); \ + _mask = -(mp_limb_t) (_r > _ql); /* both > and >= are OK */ \ + _r += _mask & (d); \ + if (UNLIKELY (_r >= (d))) \ + _r -= (d); \ + } \ + (r) = _r; \ + } while (0) + +/* Compute quotient the quotient and remainder for n / d. Requires d + >= B^2 / 2 and n < d B. di is the inverse + + floor ((B^3 - 1) / (d0 + d1 B)) - B. + + NOTE: Output variables are updated multiple times. Only some inputs + and outputs may overlap. +*/ +#define udiv_qr_3by2(q, r1, r0, n2, n1, n0, d1, d0, dinv) \ + do { \ + mp_limb_t _q0, _t1, _t0, _mask; \ + umul_ppmm ((q), _q0, (n2), (dinv)); \ + add_ssaaaa ((q), _q0, (q), _q0, (n2), (n1)); \ + \ + /* Compute the two most significant limbs of n - q'd */ \ + (r1) = (n1) - (d1) * (q); \ + sub_ddmmss ((r1), (r0), (r1), (n0), (d1), (d0)); \ + umul_ppmm (_t1, _t0, (d0), (q)); \ + sub_ddmmss ((r1), (r0), (r1), (r0), _t1, _t0); \ + (q)++; \ + \ + /* Conditionally adjust q and the remainders */ \ + _mask = - (mp_limb_t) ((r1) >= _q0); \ + (q) += _mask; \ + add_ssaaaa ((r1), (r0), (r1), (r0), _mask & (d1), _mask & (d0)); \ + if (UNLIKELY ((r1) >= (d1))) \ + { \ + if ((r1) > (d1) || (r0) >= (d0)) \ + { \ + (q)++; \ + sub_ddmmss ((r1), (r0), (r1), (r0), (d1), (d0)); \ + } \ + } \ + } while (0) + +#ifndef mpn_preinv_divrem_1 /* if not done with cpuvec in a fat binary */ +#define mpn_preinv_divrem_1 __MPN(preinv_divrem_1) +__GMP_DECLSPEC mp_limb_t mpn_preinv_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t, int); +#endif + + +/* USE_PREINV_DIVREM_1 is whether to use mpn_preinv_divrem_1, as opposed to the + plain mpn_divrem_1. The default is yes, since the few CISC chips where + preinv is not good have defines saying so. */ +#ifndef USE_PREINV_DIVREM_1 +#define USE_PREINV_DIVREM_1 1 +#endif + +#if USE_PREINV_DIVREM_1 +#define MPN_DIVREM_OR_PREINV_DIVREM_1(qp,xsize,ap,size,d,dinv,shift) \ + mpn_preinv_divrem_1 (qp, xsize, ap, size, d, dinv, shift) +#else +#define MPN_DIVREM_OR_PREINV_DIVREM_1(qp,xsize,ap,size,d,dinv,shift) \ + mpn_divrem_1 (qp, xsize, ap, size, d) +#endif + +#ifndef PREINV_MOD_1_TO_MOD_1_THRESHOLD +#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 10 +#endif + +/* This selection may seem backwards. The reason mpn_mod_1 typically takes + over for larger sizes is that it uses the mod_1_1 function. */ +#define MPN_MOD_OR_PREINV_MOD_1(src,size,divisor,inverse) \ + (BELOW_THRESHOLD (size, PREINV_MOD_1_TO_MOD_1_THRESHOLD) \ + ? mpn_preinv_mod_1 (src, size, divisor, inverse) \ + : mpn_mod_1 (src, size, divisor)) + + +#ifndef mpn_mod_34lsub1 /* if not done with cpuvec in a fat binary */ +#define mpn_mod_34lsub1 __MPN(mod_34lsub1) +__GMP_DECLSPEC mp_limb_t mpn_mod_34lsub1 (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; +#endif + + +/* DIVEXACT_1_THRESHOLD is at what size to use mpn_divexact_1, as opposed to + plain mpn_divrem_1. Likewise BMOD_1_TO_MOD_1_THRESHOLD for + mpn_modexact_1_odd against plain mpn_mod_1. On most CPUs divexact and + modexact are faster at all sizes, so the defaults are 0. Those CPUs + where this is not right have a tuned threshold. */ +#ifndef DIVEXACT_1_THRESHOLD +#define DIVEXACT_1_THRESHOLD 0 +#endif +#ifndef BMOD_1_TO_MOD_1_THRESHOLD +#define BMOD_1_TO_MOD_1_THRESHOLD 10 +#endif + +#ifndef mpn_divexact_1 /* if not done with cpuvec in a fat binary */ +#define mpn_divexact_1 __MPN(divexact_1) +__GMP_DECLSPEC void mpn_divexact_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); +#endif + +#define MPN_DIVREM_OR_DIVEXACT_1(rp, up, n, d) \ + do { \ + if (BELOW_THRESHOLD (n, DIVEXACT_1_THRESHOLD)) \ + ASSERT_NOCARRY (mpn_divrem_1 (rp, (mp_size_t) 0, up, n, d)); \ + else \ + { \ + ASSERT (mpn_mod_1 (up, n, d) == 0); \ + mpn_divexact_1 (rp, up, n, d); \ + } \ + } while (0) + +#ifndef mpn_modexact_1c_odd /* if not done with cpuvec in a fat binary */ +#define mpn_modexact_1c_odd __MPN(modexact_1c_odd) +__GMP_DECLSPEC mp_limb_t mpn_modexact_1c_odd (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; +#endif + +#ifdef HAVE_NATIVE_mpn_modexact_1_odd +#define mpn_modexact_1_odd __MPN(modexact_1_odd) +__GMP_DECLSPEC mp_limb_t mpn_modexact_1_odd (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; +#else +#define mpn_modexact_1_odd(src,size,divisor) \ + mpn_modexact_1c_odd (src, size, divisor, CNST_LIMB(0)) +#endif + +#define MPN_MOD_OR_MODEXACT_1_ODD(src,size,divisor) \ + (BELOW_THRESHOLD (size, BMOD_1_TO_MOD_1_THRESHOLD) \ + ? mpn_modexact_1_odd (src, size, divisor) \ + : mpn_mod_1 (src, size, divisor)) + +/* binvert_limb() sets inv to the multiplicative inverse of n modulo + 2^GMP_NUMB_BITS, ie. satisfying inv*n == 1 mod 2^GMP_NUMB_BITS. + n must be odd (otherwise such an inverse doesn't exist). + + This is not to be confused with invert_limb(), which is completely + different. + + The table lookup gives an inverse with the low 8 bits valid, and each + multiply step doubles the number of bits. See Jebelean "An algorithm for + exact division" end of section 4 (reference in gmp.texi). + + Possible enhancement: Could use UHWtype until the last step, if half-size + multiplies are faster (might help under _LONG_LONG_LIMB). + + Alternative: As noted in Granlund and Montgomery "Division by Invariant + Integers using Multiplication" (reference in gmp.texi), n itself gives a + 3-bit inverse immediately, and could be used instead of a table lookup. + A 4-bit inverse can be obtained effectively from xoring bits 1 and 2 into + bit 3, for instance with (((n + 2) & 4) << 1) ^ n. */ + +#define binvert_limb_table __gmp_binvert_limb_table +__GMP_DECLSPEC extern const unsigned char binvert_limb_table[128]; + +#define binvert_limb(inv,n) \ + do { \ + mp_limb_t __n = (n); \ + mp_limb_t __inv; \ + ASSERT ((__n & 1) == 1); \ + \ + __inv = binvert_limb_table[(__n/2) & 0x7F]; /* 8 */ \ + if (GMP_NUMB_BITS > 8) __inv = 2 * __inv - __inv * __inv * __n; \ + if (GMP_NUMB_BITS > 16) __inv = 2 * __inv - __inv * __inv * __n; \ + if (GMP_NUMB_BITS > 32) __inv = 2 * __inv - __inv * __inv * __n; \ + \ + if (GMP_NUMB_BITS > 64) \ + { \ + int __invbits = 64; \ + do { \ + __inv = 2 * __inv - __inv * __inv * __n; \ + __invbits *= 2; \ + } while (__invbits < GMP_NUMB_BITS); \ + } \ + \ + ASSERT ((__inv * __n & GMP_NUMB_MASK) == 1); \ + (inv) = __inv & GMP_NUMB_MASK; \ + } while (0) +#define modlimb_invert binvert_limb /* backward compatibility */ + +/* Multiplicative inverse of 3, modulo 2^GMP_NUMB_BITS. + Eg. 0xAAAAAAAB for 32 bits, 0xAAAAAAAAAAAAAAAB for 64 bits. + GMP_NUMB_MAX/3*2+1 is right when GMP_NUMB_BITS is even, but when it's odd + we need to start from GMP_NUMB_MAX>>1. */ +#define MODLIMB_INVERSE_3 (((GMP_NUMB_MAX >> (GMP_NUMB_BITS % 2)) / 3) * 2 + 1) + +/* ceil(GMP_NUMB_MAX/3) and ceil(2*GMP_NUMB_MAX/3). + These expressions work because GMP_NUMB_MAX%3 != 0 for all GMP_NUMB_BITS. */ +#define GMP_NUMB_CEIL_MAX_DIV3 (GMP_NUMB_MAX / 3 + 1) +#define GMP_NUMB_CEIL_2MAX_DIV3 ((GMP_NUMB_MAX>>1) / 3 + 1 + GMP_NUMB_HIGHBIT) + + +/* Set r to -a mod d. a>=d is allowed. Can give r>d. All should be limbs. + + It's not clear whether this is the best way to do this calculation. + Anything congruent to -a would be fine for the one limb congruence + tests. */ + +#define NEG_MOD(r, a, d) \ + do { \ + ASSERT ((d) != 0); \ + ASSERT_LIMB (a); \ + ASSERT_LIMB (d); \ + \ + if ((a) <= (d)) \ + { \ + /* small a is reasonably likely */ \ + (r) = (d) - (a); \ + } \ + else \ + { \ + unsigned __twos; \ + mp_limb_t __dnorm; \ + count_leading_zeros (__twos, d); \ + __twos -= GMP_NAIL_BITS; \ + __dnorm = (d) << __twos; \ + (r) = ((a) <= __dnorm ? __dnorm : 2*__dnorm) - (a); \ + } \ + \ + ASSERT_LIMB (r); \ + } while (0) + +/* A bit mask of all the least significant zero bits of n, or -1 if n==0. */ +#define LOW_ZEROS_MASK(n) (((n) & -(n)) - 1) + + +/* ULONG_PARITY sets "p" to 1 if there's an odd number of 1 bits in "n", or + to 0 if there's an even number. "n" should be an unsigned long and "p" + an int. */ + +#if defined (__GNUC__) && ! defined (NO_ASM) && HAVE_HOST_CPU_alpha_CIX +#define ULONG_PARITY(p, n) \ + do { \ + int __p; \ + __asm__ ("ctpop %1, %0" : "=r" (__p) : "r" (n)); \ + (p) = __p & 1; \ + } while (0) +#endif + +/* Cray intrinsic _popcnt. */ +#ifdef _CRAY +#define ULONG_PARITY(p, n) \ + do { \ + (p) = _popcnt (n) & 1; \ + } while (0) +#endif + +#if defined (__GNUC__) && ! defined (__INTEL_COMPILER) \ + && ! defined (NO_ASM) && defined (__ia64) +/* unsigned long is either 32 or 64 bits depending on the ABI, zero extend + to a 64 bit unsigned long long for popcnt */ +#define ULONG_PARITY(p, n) \ + do { \ + unsigned long long __n = (unsigned long) (n); \ + int __p; \ + __asm__ ("popcnt %0 = %1" : "=r" (__p) : "r" (__n)); \ + (p) = __p & 1; \ + } while (0) +#endif + +#if defined (__GNUC__) && ! defined (__INTEL_COMPILER) \ + && ! defined (NO_ASM) && HAVE_HOST_CPU_FAMILY_x86 +#if __GMP_GNUC_PREREQ (3,1) +#define __GMP_qm "=Qm" +#define __GMP_q "=Q" +#else +#define __GMP_qm "=qm" +#define __GMP_q "=q" +#endif +#define ULONG_PARITY(p, n) \ + do { \ + char __p; \ + unsigned long __n = (n); \ + __n ^= (__n >> 16); \ + __asm__ ("xorb %h1, %b1\n\t" \ + "setpo %0" \ + : __GMP_qm (__p), __GMP_q (__n) \ + : "1" (__n)); \ + (p) = __p; \ + } while (0) +#endif + +#if ! defined (ULONG_PARITY) +#define ULONG_PARITY(p, n) \ + do { \ + unsigned long __n = (n); \ + int __p = 0; \ + do \ + { \ + __p ^= 0x96696996L >> (__n & 0x1F); \ + __n >>= 5; \ + } \ + while (__n != 0); \ + \ + (p) = __p & 1; \ + } while (0) +#endif + + +/* 3 cycles on 604 or 750 since shifts and rlwimi's can pair. gcc (as of + version 3.1 at least) doesn't seem to know how to generate rlwimi for + anything other than bit-fields, so use "asm". */ +#if defined (__GNUC__) && ! defined (NO_ASM) \ + && HAVE_HOST_CPU_FAMILY_powerpc && GMP_LIMB_BITS == 32 +#define BSWAP_LIMB(dst, src) \ + do { \ + mp_limb_t __bswapl_src = (src); \ + mp_limb_t __tmp1 = __bswapl_src >> 24; /* low byte */ \ + mp_limb_t __tmp2 = __bswapl_src << 24; /* high byte */ \ + __asm__ ("rlwimi %0, %2, 24, 16, 23" /* 2nd low */ \ + : "=r" (__tmp1) : "0" (__tmp1), "r" (__bswapl_src)); \ + __asm__ ("rlwimi %0, %2, 8, 8, 15" /* 3nd high */ \ + : "=r" (__tmp2) : "0" (__tmp2), "r" (__bswapl_src)); \ + (dst) = __tmp1 | __tmp2; /* whole */ \ + } while (0) +#endif + +/* bswap is available on i486 and up and is fast. A combination rorw $8 / + roll $16 / rorw $8 is used in glibc for plain i386 (and in the linux + kernel with xchgb instead of rorw), but this is not done here, because + i386 means generic x86 and mixing word and dword operations will cause + partial register stalls on P6 chips. */ +#if defined (__GNUC__) && ! defined (NO_ASM) \ + && HAVE_HOST_CPU_FAMILY_x86 && ! HAVE_HOST_CPU_i386 \ + && GMP_LIMB_BITS == 32 +#define BSWAP_LIMB(dst, src) \ + do { \ + __asm__ ("bswap %0" : "=r" (dst) : "0" (src)); \ + } while (0) +#endif + +#if defined (__GNUC__) && ! defined (NO_ASM) \ + && defined (__amd64__) && GMP_LIMB_BITS == 64 +#define BSWAP_LIMB(dst, src) \ + do { \ + __asm__ ("bswap %q0" : "=r" (dst) : "0" (src)); \ + } while (0) +#endif + +#if defined (__GNUC__) && ! defined (__INTEL_COMPILER) \ + && ! defined (NO_ASM) && defined (__ia64) && GMP_LIMB_BITS == 64 +#define BSWAP_LIMB(dst, src) \ + do { \ + __asm__ ("mux1 %0 = %1, @rev" : "=r" (dst) : "r" (src)); \ + } while (0) +#endif + +/* As per glibc. */ +#if defined (__GNUC__) && ! defined (NO_ASM) \ + && HAVE_HOST_CPU_FAMILY_m68k && GMP_LIMB_BITS == 32 +#define BSWAP_LIMB(dst, src) \ + do { \ + mp_limb_t __bswapl_src = (src); \ + __asm__ ("ror%.w %#8, %0\n\t" \ + "swap %0\n\t" \ + "ror%.w %#8, %0" \ + : "=d" (dst) \ + : "0" (__bswapl_src)); \ + } while (0) +#endif + +#if ! defined (BSWAP_LIMB) +#if GMP_LIMB_BITS == 8 +#define BSWAP_LIMB(dst, src) \ + do { (dst) = (src); } while (0) +#endif +#if GMP_LIMB_BITS == 16 +#define BSWAP_LIMB(dst, src) \ + do { \ + (dst) = ((src) << 8) + ((src) >> 8); \ + } while (0) +#endif +#if GMP_LIMB_BITS == 32 +#define BSWAP_LIMB(dst, src) \ + do { \ + (dst) = \ + ((src) << 24) \ + + (((src) & 0xFF00) << 8) \ + + (((src) >> 8) & 0xFF00) \ + + ((src) >> 24); \ + } while (0) +#endif +#if GMP_LIMB_BITS == 64 +#define BSWAP_LIMB(dst, src) \ + do { \ + (dst) = \ + ((src) << 56) \ + + (((src) & 0xFF00) << 40) \ + + (((src) & 0xFF0000) << 24) \ + + (((src) & 0xFF000000) << 8) \ + + (((src) >> 8) & 0xFF000000) \ + + (((src) >> 24) & 0xFF0000) \ + + (((src) >> 40) & 0xFF00) \ + + ((src) >> 56); \ + } while (0) +#endif +#endif + +#if ! defined (BSWAP_LIMB) +#define BSWAP_LIMB(dst, src) \ + do { \ + mp_limb_t __bswapl_src = (src); \ + mp_limb_t __dstl = 0; \ + int __i; \ + for (__i = 0; __i < GMP_LIMB_BYTES; __i++) \ + { \ + __dstl = (__dstl << 8) | (__bswapl_src & 0xFF); \ + __bswapl_src >>= 8; \ + } \ + (dst) = __dstl; \ + } while (0) +#endif + + +/* Apparently lwbrx might be slow on some PowerPC chips, so restrict it to + those we know are fast. */ +#if defined (__GNUC__) && ! defined (NO_ASM) \ + && GMP_LIMB_BITS == 32 && HAVE_LIMB_BIG_ENDIAN \ + && (HAVE_HOST_CPU_powerpc604 \ + || HAVE_HOST_CPU_powerpc604e \ + || HAVE_HOST_CPU_powerpc750 \ + || HAVE_HOST_CPU_powerpc7400) +#define BSWAP_LIMB_FETCH(limb, src) \ + do { \ + mp_srcptr __blf_src = (src); \ + mp_limb_t __limb; \ + __asm__ ("lwbrx %0, 0, %1" \ + : "=r" (__limb) \ + : "r" (__blf_src), \ + "m" (*__blf_src)); \ + (limb) = __limb; \ + } while (0) +#endif + +#if ! defined (BSWAP_LIMB_FETCH) +#define BSWAP_LIMB_FETCH(limb, src) BSWAP_LIMB (limb, *(src)) +#endif + +#if defined (__GNUC__) && ! defined (NO_ASM) \ + && GMP_LIMB_BITS == 32 && HAVE_LIMB_BIG_ENDIAN \ + && (HAVE_HOST_CPU_powerpc604 \ + || HAVE_HOST_CPU_powerpc604e \ + || HAVE_HOST_CPU_powerpc750 \ + || HAVE_HOST_CPU_powerpc7400) +#define BSWAP_LIMB_STORE(dst, limb) \ + do { \ + mp_ptr __dst = (dst); \ + mp_limb_t __limb = (limb); \ + __asm__ ("stwbrx %1, 0, %2" \ + : "=m" (*__dst) \ + : "r" (__limb), \ + "r" (__dst)); \ + } while (0) +#endif + +#if ! defined (BSWAP_LIMB_STORE) +#define BSWAP_LIMB_STORE(dst, limb) BSWAP_LIMB (*(dst), limb) +#endif + + +/* Byte swap limbs from {src,size} and store at {dst,size}. */ +#define MPN_BSWAP(dst, src, size) \ + do { \ + mp_ptr __dst = (dst); \ + mp_srcptr __src = (src); \ + mp_size_t __size = (size); \ + mp_size_t __i; \ + ASSERT ((size) >= 0); \ + ASSERT (MPN_SAME_OR_SEPARATE_P (dst, src, size)); \ + CRAY_Pragma ("_CRI ivdep"); \ + for (__i = 0; __i < __size; __i++) \ + { \ + BSWAP_LIMB_FETCH (*__dst, __src); \ + __dst++; \ + __src++; \ + } \ + } while (0) + +/* Byte swap limbs from {dst,size} and store in reverse order at {src,size}. */ +#define MPN_BSWAP_REVERSE(dst, src, size) \ + do { \ + mp_ptr __dst = (dst); \ + mp_size_t __size = (size); \ + mp_srcptr __src = (src) + __size - 1; \ + mp_size_t __i; \ + ASSERT ((size) >= 0); \ + ASSERT (! MPN_OVERLAP_P (dst, size, src, size)); \ + CRAY_Pragma ("_CRI ivdep"); \ + for (__i = 0; __i < __size; __i++) \ + { \ + BSWAP_LIMB_FETCH (*__dst, __src); \ + __dst++; \ + __src--; \ + } \ + } while (0) + + +/* No processor claiming to be SPARC v9 compliant seems to + implement the POPC instruction. Disable pattern for now. */ +#if 0 +#if defined __GNUC__ && defined __sparc_v9__ && GMP_LIMB_BITS == 64 +#define popc_limb(result, input) \ + do { \ + DItype __res; \ + __asm__ ("popc %1,%0" : "=r" (result) : "rI" (input)); \ + } while (0) +#endif +#endif + +#if defined (__GNUC__) && ! defined (NO_ASM) && HAVE_HOST_CPU_alpha_CIX +#define popc_limb(result, input) \ + do { \ + __asm__ ("ctpop %1, %0" : "=r" (result) : "r" (input)); \ + } while (0) +#endif + +/* Cray intrinsic. */ +#ifdef _CRAY +#define popc_limb(result, input) \ + do { \ + (result) = _popcnt (input); \ + } while (0) +#endif + +#if defined (__GNUC__) && ! defined (__INTEL_COMPILER) \ + && ! defined (NO_ASM) && defined (__ia64) && GMP_LIMB_BITS == 64 +#define popc_limb(result, input) \ + do { \ + __asm__ ("popcnt %0 = %1" : "=r" (result) : "r" (input)); \ + } while (0) +#endif + +/* Cool population count of an mp_limb_t. + You have to figure out how this works, We won't tell you! + + The constants could also be expressed as: + 0x55... = [2^N / 3] = [(2^N-1)/3] + 0x33... = [2^N / 5] = [(2^N-1)/5] + 0x0f... = [2^N / 17] = [(2^N-1)/17] + (N is GMP_LIMB_BITS, [] denotes truncation.) */ + +#if ! defined (popc_limb) && GMP_LIMB_BITS == 8 +#define popc_limb(result, input) \ + do { \ + mp_limb_t __x = (input); \ + __x -= (__x >> 1) & MP_LIMB_T_MAX/3; \ + __x = ((__x >> 2) & MP_LIMB_T_MAX/5) + (__x & MP_LIMB_T_MAX/5); \ + __x = ((__x >> 4) + __x); \ + (result) = __x & 0x0f; \ + } while (0) +#endif + +#if ! defined (popc_limb) && GMP_LIMB_BITS == 16 +#define popc_limb(result, input) \ + do { \ + mp_limb_t __x = (input); \ + __x -= (__x >> 1) & MP_LIMB_T_MAX/3; \ + __x = ((__x >> 2) & MP_LIMB_T_MAX/5) + (__x & MP_LIMB_T_MAX/5); \ + __x = ((__x >> 4) + __x) & MP_LIMB_T_MAX/17; \ + __x = ((__x >> 8) + __x); \ + (result) = __x & 0xff; \ + } while (0) +#endif + +#if ! defined (popc_limb) && GMP_LIMB_BITS == 32 +#define popc_limb(result, input) \ + do { \ + mp_limb_t __x = (input); \ + __x -= (__x >> 1) & MP_LIMB_T_MAX/3; \ + __x = ((__x >> 2) & MP_LIMB_T_MAX/5) + (__x & MP_LIMB_T_MAX/5); \ + __x = ((__x >> 4) + __x) & MP_LIMB_T_MAX/17; \ + __x = ((__x >> 8) + __x); \ + __x = ((__x >> 16) + __x); \ + (result) = __x & 0xff; \ + } while (0) +#endif + +#if ! defined (popc_limb) && GMP_LIMB_BITS == 64 +#define popc_limb(result, input) \ + do { \ + mp_limb_t __x = (input); \ + __x -= (__x >> 1) & MP_LIMB_T_MAX/3; \ + __x = ((__x >> 2) & MP_LIMB_T_MAX/5) + (__x & MP_LIMB_T_MAX/5); \ + __x = ((__x >> 4) + __x) & MP_LIMB_T_MAX/17; \ + __x = ((__x >> 8) + __x); \ + __x = ((__x >> 16) + __x); \ + __x = ((__x >> 32) + __x); \ + (result) = __x & 0xff; \ + } while (0) +#endif + + +/* Define stuff for longlong.h. */ +#ifdef HAVE_ATTRIBUTE_MODE +typedef unsigned int UQItype __attribute__ ((mode (QI))); +typedef int SItype __attribute__ ((mode (SI))); +typedef unsigned int USItype __attribute__ ((mode (SI))); +typedef int DItype __attribute__ ((mode (DI))); +typedef unsigned int UDItype __attribute__ ((mode (DI))); +#else +typedef unsigned char UQItype; +typedef long SItype; +typedef unsigned long USItype; +#ifdef HAVE_LONG_LONG +typedef long long int DItype; +typedef unsigned long long int UDItype; +#else /* Assume `long' gives us a wide enough type. Needed for hppa2.0w. */ +typedef long int DItype; +typedef unsigned long int UDItype; +#endif +#endif + +typedef mp_limb_t UWtype; +typedef unsigned int UHWtype; +#define W_TYPE_SIZE GMP_LIMB_BITS + +/* Define ieee_double_extract and _GMP_IEEE_FLOATS. + + Bit field packing is "implementation defined" according to C99, which + leaves us at the compiler's mercy here. For some systems packing is + defined in the ABI (eg. x86). In any case so far it seems universal that + little endian systems pack from low to high, and big endian from high to + low within the given type. + + Within the fields we rely on the integer endianness being the same as the + float endianness, this is true everywhere we know of and it'd be a fairly + strange system that did anything else. */ + +#ifdef HAVE_DOUBLE_IEEE_LITTLE_SWAPPED +#define _GMP_IEEE_FLOATS 1 +union ieee_double_extract +{ + struct + { + gmp_uint_least32_t manh:20; + gmp_uint_least32_t exp:11; + gmp_uint_least32_t sig:1; + gmp_uint_least32_t manl:32; + } s; + double d; +}; +#endif + +#ifdef HAVE_DOUBLE_IEEE_LITTLE_ENDIAN +#define _GMP_IEEE_FLOATS 1 +union ieee_double_extract +{ + struct + { + gmp_uint_least32_t manl:32; + gmp_uint_least32_t manh:20; + gmp_uint_least32_t exp:11; + gmp_uint_least32_t sig:1; + } s; + double d; +}; +#endif + +#ifdef HAVE_DOUBLE_IEEE_BIG_ENDIAN +#define _GMP_IEEE_FLOATS 1 +union ieee_double_extract +{ + struct + { + gmp_uint_least32_t sig:1; + gmp_uint_least32_t exp:11; + gmp_uint_least32_t manh:20; + gmp_uint_least32_t manl:32; + } s; + double d; +}; +#endif + +#ifdef HAVE_DOUBLE_VAX_D +union double_extract +{ + struct + { + gmp_uint_least32_t man3:7; /* highest 7 bits */ + gmp_uint_least32_t exp:8; /* excess-128 exponent */ + gmp_uint_least32_t sig:1; + gmp_uint_least32_t man2:16; + gmp_uint_least32_t man1:16; + gmp_uint_least32_t man0:16; /* lowest 16 bits */ + } s; + double d; +}; +#endif + +/* Use (4.0 * ...) instead of (2.0 * ...) to work around buggy compilers + that don't convert ulong->double correctly (eg. SunOS 4 native cc). */ +#define MP_BASE_AS_DOUBLE (4.0 * ((mp_limb_t) 1 << (GMP_NUMB_BITS - 2))) +/* Maximum number of limbs it will take to store any `double'. + We assume doubles have 53 mantissa bits. */ +#define LIMBS_PER_DOUBLE ((53 + GMP_NUMB_BITS - 2) / GMP_NUMB_BITS + 1) + +__GMP_DECLSPEC int __gmp_extract_double (mp_ptr, double); + +#define mpn_get_d __gmpn_get_d +__GMP_DECLSPEC double mpn_get_d (mp_srcptr, mp_size_t, mp_size_t, long) __GMP_ATTRIBUTE_PURE; + + +/* DOUBLE_NAN_INF_ACTION executes code a_nan if x is a NaN, or executes + a_inf if x is an infinity. Both are considered unlikely values, for + branch prediction. */ + +#ifdef _GMP_IEEE_FLOATS +#define DOUBLE_NAN_INF_ACTION(x, a_nan, a_inf) \ + do { \ + union ieee_double_extract u; \ + u.d = (x); \ + if (UNLIKELY (u.s.exp == 0x7FF)) \ + { \ + if (u.s.manl == 0 && u.s.manh == 0) \ + { a_inf; } \ + else \ + { a_nan; } \ + } \ + } while (0) +#endif + +#if defined (HAVE_DOUBLE_VAX_D) || defined (HAVE_DOUBLE_VAX_G) || defined (HAVE_DOUBLE_CRAY_CFP) +/* no nans or infs in these formats */ +#define DOUBLE_NAN_INF_ACTION(x, a_nan, a_inf) \ + do { } while (0) +#endif + +#ifndef DOUBLE_NAN_INF_ACTION +/* Unknown format, try something generic. + NaN should be "unordered", so x!=x. + Inf should be bigger than DBL_MAX. */ +#define DOUBLE_NAN_INF_ACTION(x, a_nan, a_inf) \ + do { \ + { \ + if (UNLIKELY ((x) != (x))) \ + { a_nan; } \ + else if (UNLIKELY ((x) > DBL_MAX || (x) < -DBL_MAX)) \ + { a_inf; } \ + } \ + } while (0) +#endif + +/* On m68k, x86 and amd64, gcc (and maybe other compilers) can hold doubles + in the coprocessor, which means a bigger exponent range than normal, and + depending on the rounding mode, a bigger mantissa than normal. (See + "Disappointments" in the gcc manual.) FORCE_DOUBLE stores and fetches + "d" through memory to force any rounding and overflows to occur. + + On amd64, and on x86s with SSE2, gcc (depending on options) uses the xmm + registers, where there's no such extra precision and no need for the + FORCE_DOUBLE. We don't bother to detect this since the present uses for + FORCE_DOUBLE are only in test programs and default generic C code. + + Not quite sure that an "automatic volatile" will use memory, but it does + in gcc. An asm("":"=m"(d):"0"(d)) can't be used to trick gcc, since + apparently matching operands like "0" are only allowed on a register + output. gcc 3.4 warns about this, though in fact it and past versions + seem to put the operand through memory as hoped. */ + +#if (defined (HAVE_HOST_CPU_FAMILY_m68k) || defined (HAVE_HOST_CPU_FAMILY_x86) \ + || defined (__amd64__)) +#define FORCE_DOUBLE(d) \ + do { volatile double __gmp_force = (d); (d) = __gmp_force; } while (0) +#else +#define FORCE_DOUBLE(d) do { } while (0) +#endif + + +__GMP_DECLSPEC extern const unsigned char __gmp_digit_value_tab[]; + +__GMP_DECLSPEC extern int __gmp_junk; +__GMP_DECLSPEC extern const int __gmp_0; +__GMP_DECLSPEC void __gmp_exception (int) ATTRIBUTE_NORETURN; +__GMP_DECLSPEC void __gmp_divide_by_zero (void) ATTRIBUTE_NORETURN; +__GMP_DECLSPEC void __gmp_sqrt_of_negative (void) ATTRIBUTE_NORETURN; +__GMP_DECLSPEC void __gmp_invalid_operation (void) ATTRIBUTE_NORETURN; +#define GMP_ERROR(code) __gmp_exception (code) +#define DIVIDE_BY_ZERO __gmp_divide_by_zero () +#define SQRT_OF_NEGATIVE __gmp_sqrt_of_negative () + +#if defined _LONG_LONG_LIMB +#define CNST_LIMB(C) ((mp_limb_t) C##LL) +#else /* not _LONG_LONG_LIMB */ +#define CNST_LIMB(C) ((mp_limb_t) C##L) +#endif /* _LONG_LONG_LIMB */ + +/* Stuff used by mpn/generic/perfsqr.c and mpz/prime_p.c */ +#if GMP_NUMB_BITS == 2 +#define PP 0x3 /* 3 */ +#define PP_FIRST_OMITTED 5 +#endif +#if GMP_NUMB_BITS == 4 +#define PP 0xF /* 3 x 5 */ +#define PP_FIRST_OMITTED 7 +#endif +#if GMP_NUMB_BITS == 8 +#define PP 0x69 /* 3 x 5 x 7 */ +#define PP_FIRST_OMITTED 11 +#endif +#if GMP_NUMB_BITS == 16 +#define PP 0x3AA7 /* 3 x 5 x 7 x 11 x 13 */ +#define PP_FIRST_OMITTED 17 +#endif +#if GMP_NUMB_BITS == 32 +#define PP 0xC0CFD797L /* 3 x 5 x 7 x 11 x ... x 29 */ +#define PP_INVERTED 0x53E5645CL +#define PP_FIRST_OMITTED 31 +#endif +#if GMP_NUMB_BITS == 64 +#define PP CNST_LIMB(0xE221F97C30E94E1D) /* 3 x 5 x 7 x 11 x ... x 53 */ +#define PP_INVERTED CNST_LIMB(0x21CFE6CFC938B36B) +#define PP_FIRST_OMITTED 59 +#endif +#ifndef PP_FIRST_OMITTED +#define PP_FIRST_OMITTED 3 +#endif + +/* BIT1 means a result value in bit 1 (second least significant bit), with a + zero bit representing +1 and a one bit representing -1. Bits other than + bit 1 are garbage. These are meant to be kept in "int"s, and casts are + used to ensure the expressions are "int"s even if a and/or b might be + other types. + + JACOBI_TWOS_U_BIT1 and JACOBI_RECIP_UU_BIT1 are used in mpn_jacobi_base + and their speed is important. Expressions are used rather than + conditionals to accumulate sign changes, which effectively means XORs + instead of conditional JUMPs. */ + +/* (a/0), with a signed; is 1 if a=+/-1, 0 otherwise */ +#define JACOBI_S0(a) (((a) == 1) | ((a) == -1)) + +/* (a/0), with a unsigned; is 1 if a=+/-1, 0 otherwise */ +#define JACOBI_U0(a) ((a) == 1) + + +/* (a/0), with a given by low and size; + is 1 if a=+/-1, 0 otherwise */ +#define JACOBI_LS0(alow,asize) \ + (((asize) == 1 || (asize) == -1) && (alow) == 1) + +/* (a/0), with a an mpz_t; + fetch of low limb always valid, even if size is zero */ +#define JACOBI_Z0(a) JACOBI_LS0 (PTR(a)[0], SIZ(a)) + +/* (0/b), with b unsigned; is 1 if b=1, 0 otherwise */ +#define JACOBI_0U(b) ((b) == 1) + +/* (0/b), with b unsigned; is 1 if b=+/-1, 0 otherwise */ +#define JACOBI_0S(b) ((b) == 1 || (b) == -1) + +/* (0/b), with b given by low and size; is 1 if b=+/-1, 0 otherwise */ +#define JACOBI_0LS(blow,bsize) \ + (((bsize) == 1 || (bsize) == -1) && (blow) == 1) + +/* Convert a bit1 to +1 or -1. */ +#define JACOBI_BIT1_TO_PN(result_bit1) \ + (1 - ((int) (result_bit1) & 2)) + +/* (2/b), with b unsigned and odd; + is (-1)^((b^2-1)/8) which is 1 if b==1,7mod8 or -1 if b==3,5mod8 and + hence obtained from (b>>1)^b */ +#define JACOBI_TWO_U_BIT1(b) \ + ((int) (((b) >> 1) ^ (b))) + +/* (2/b)^twos, with b unsigned and odd */ +#define JACOBI_TWOS_U_BIT1(twos, b) \ + ((int) ((twos) << 1) & JACOBI_TWO_U_BIT1 (b)) + +/* (2/b)^twos, with b unsigned and odd */ +#define JACOBI_TWOS_U(twos, b) \ + (JACOBI_BIT1_TO_PN (JACOBI_TWOS_U_BIT1 (twos, b))) + +/* (-1/b), with b odd (signed or unsigned); + is (-1)^((b-1)/2) */ +#define JACOBI_N1B_BIT1(b) \ + ((int) (b)) + +/* (a/b) effect due to sign of a: signed/unsigned, b odd; + is (-1/b) if a<0, or +1 if a>=0 */ +#define JACOBI_ASGN_SU_BIT1(a, b) \ + ((((a) < 0) << 1) & JACOBI_N1B_BIT1(b)) + +/* (a/b) effect due to sign of b: signed/signed; + is -1 if a and b both negative, +1 otherwise */ +#define JACOBI_BSGN_SS_BIT1(a, b) \ + ((((a)<0) & ((b)<0)) << 1) + +/* (a/b) effect due to sign of b: signed/mpz; + is -1 if a and b both negative, +1 otherwise */ +#define JACOBI_BSGN_SZ_BIT1(a, b) \ + JACOBI_BSGN_SS_BIT1 (a, SIZ(b)) + +/* (a/b) effect due to sign of b: mpz/signed; + is -1 if a and b both negative, +1 otherwise */ +#define JACOBI_BSGN_ZS_BIT1(a, b) \ + JACOBI_BSGN_SZ_BIT1 (b, a) + +/* (a/b) reciprocity to switch to (b/a), a,b both unsigned and odd; + is (-1)^((a-1)*(b-1)/4), which means +1 if either a,b==1mod4, or -1 if + both a,b==3mod4, achieved in bit 1 by a&b. No ASSERT()s about a,b odd + because this is used in a couple of places with only bit 1 of a or b + valid. */ +#define JACOBI_RECIP_UU_BIT1(a, b) \ + ((int) ((a) & (b))) + +/* Strip low zero limbs from {b_ptr,b_size} by incrementing b_ptr and + decrementing b_size. b_low should be b_ptr[0] on entry, and will be + updated for the new b_ptr. result_bit1 is updated according to the + factors of 2 stripped, as per (a/2). */ +#define JACOBI_STRIP_LOW_ZEROS(result_bit1, a, b_ptr, b_size, b_low) \ + do { \ + ASSERT ((b_size) >= 1); \ + ASSERT ((b_low) == (b_ptr)[0]); \ + \ + while (UNLIKELY ((b_low) == 0)) \ + { \ + (b_size)--; \ + ASSERT ((b_size) >= 1); \ + (b_ptr)++; \ + (b_low) = *(b_ptr); \ + \ + ASSERT (((a) & 1) != 0); \ + if ((GMP_NUMB_BITS % 2) == 1) \ + (result_bit1) ^= JACOBI_TWO_U_BIT1(a); \ + } \ + } while (0) + +/* Set a_rem to {a_ptr,a_size} reduced modulo b, either using mod_1 or + modexact_1_odd, but in either case leaving a_rem= 1); \ + ASSERT (__b & 1); \ + \ + if ((GMP_NUMB_BITS % 2) != 0 \ + || ABOVE_THRESHOLD (__a_size, BMOD_1_TO_MOD_1_THRESHOLD)) \ + { \ + (a_rem) = mpn_mod_1 (__a_ptr, __a_size, __b); \ + } \ + else \ + { \ + (result_bit1) ^= JACOBI_N1B_BIT1 (__b); \ + (a_rem) = mpn_modexact_1_odd (__a_ptr, __a_size, __b); \ + } \ + } while (0) + +/* State for the Jacobi computation using Lehmer. */ +#define jacobi_table __gmp_jacobi_table +__GMP_DECLSPEC extern const unsigned char jacobi_table[208]; + +/* Bit layout for the initial state. b must be odd. + + 3 2 1 0 + +--+--+--+--+ + |a1|a0|b1| s| + +--+--+--+--+ + + */ +static inline unsigned +mpn_jacobi_init (unsigned a, unsigned b, unsigned s) +{ + ASSERT (b & 1); + ASSERT (s <= 1); + return ((a & 3) << 2) + (b & 2) + s; +} + +static inline int +mpn_jacobi_finish (unsigned bits) +{ + /* (a, b) = (1,0) or (0,1) */ + ASSERT ( (bits & 14) == 0); + + return 1-2*(((int) bits) & 1); +} + +static inline unsigned +mpn_jacobi_update (unsigned bits, unsigned denominator, unsigned q) +{ + + ASSERT (bits < 26); + ASSERT (denominator < 2); + ASSERT (q < 4); + + /* For almost all calls, denominator is constant and quite often q + is constant too. So use addition rather than or, so the compiler + can put the constant part can into the offset of an indexed + addressing instruction. + + With constant denominator, the below table lookup is compiled to + + C Constant q = 1, constant denominator = 1 + movzbl table+5(%eax,8), %eax + + or + + C q in %edx, constant denominator = 1 + movzbl table+4(%edx,%eax,8), %eax + + One could maintain the state preshifted 3 bits, to save a shift + here, but at least on x86, that's no real saving. + */ + return bits = jacobi_table[(bits << 3) + (denominator << 2) + q]; +} + +/* Matrix multiplication */ +#define mpn_matrix22_mul __MPN(matrix22_mul) +__GMP_DECLSPEC void mpn_matrix22_mul (mp_ptr, mp_ptr, mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_srcptr, mp_srcptr, mp_srcptr, mp_size_t, mp_ptr); +#define mpn_matrix22_mul_strassen __MPN(matrix22_mul_strassen) +__GMP_DECLSPEC void mpn_matrix22_mul_strassen (mp_ptr, mp_ptr, mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_srcptr, mp_srcptr, mp_srcptr, mp_size_t, mp_ptr); +#define mpn_matrix22_mul_itch __MPN(matrix22_mul_itch) +__GMP_DECLSPEC mp_size_t mpn_matrix22_mul_itch (mp_size_t, mp_size_t) ATTRIBUTE_CONST; + +#ifndef MATRIX22_STRASSEN_THRESHOLD +#define MATRIX22_STRASSEN_THRESHOLD 30 +#endif + +/* HGCD definitions */ + +/* Extract one numb, shifting count bits left + ________ ________ + |___xh___||___xl___| + |____r____| + >count < + + The count includes any nail bits, so it should work fine if count + is computed using count_leading_zeros. If GMP_NAIL_BITS > 0, all of + xh, xl and r include nail bits. Must have 0 < count < GMP_LIMB_BITS. + +*/ + +#define MPN_EXTRACT_NUMB(count, xh, xl) \ + ((((xh) << ((count) - GMP_NAIL_BITS)) & GMP_NUMB_MASK) | \ + ((xl) >> (GMP_LIMB_BITS - (count)))) + + +/* The matrix non-negative M = (u, u'; v,v') keeps track of the + reduction (a;b) = M (alpha; beta) where alpha, beta are smaller + than a, b. The determinant must always be one, so that M has an + inverse (v', -u'; -v, u). Elements always fit in GMP_NUMB_BITS - 1 + bits. */ +struct hgcd_matrix1 +{ + mp_limb_t u[2][2]; +}; + +#define mpn_hgcd2 __MPN (hgcd2) +__GMP_DECLSPEC int mpn_hgcd2 (mp_limb_t, mp_limb_t, mp_limb_t, mp_limb_t, struct hgcd_matrix1 *); + +#define mpn_hgcd_mul_matrix1_vector __MPN (hgcd_mul_matrix1_vector) +__GMP_DECLSPEC mp_size_t mpn_hgcd_mul_matrix1_vector (const struct hgcd_matrix1 *, mp_ptr, mp_srcptr, mp_ptr, mp_size_t); + +#define mpn_matrix22_mul1_inverse_vector __MPN (matrix22_mul1_inverse_vector) +__GMP_DECLSPEC mp_size_t mpn_matrix22_mul1_inverse_vector (const struct hgcd_matrix1 *, mp_ptr, mp_srcptr, mp_ptr, mp_size_t); + +#define mpn_hgcd2_jacobi __MPN (hgcd2_jacobi) +__GMP_DECLSPEC int mpn_hgcd2_jacobi (mp_limb_t, mp_limb_t, mp_limb_t, mp_limb_t, struct hgcd_matrix1 *, unsigned *); + +struct hgcd_matrix +{ + mp_size_t alloc; /* for sanity checking only */ + mp_size_t n; + mp_ptr p[2][2]; +}; + +#define MPN_HGCD_MATRIX_INIT_ITCH(n) (4 * ((n+1)/2 + 1)) + +#define mpn_hgcd_matrix_init __MPN (hgcd_matrix_init) +__GMP_DECLSPEC void mpn_hgcd_matrix_init (struct hgcd_matrix *, mp_size_t, mp_ptr); + +#define mpn_hgcd_matrix_update_q __MPN (hgcd_matrix_update_q) +__GMP_DECLSPEC void mpn_hgcd_matrix_update_q (struct hgcd_matrix *, mp_srcptr, mp_size_t, unsigned, mp_ptr); + +#define mpn_hgcd_matrix_mul_1 __MPN (hgcd_matrix_mul_1) +__GMP_DECLSPEC void mpn_hgcd_matrix_mul_1 (struct hgcd_matrix *, const struct hgcd_matrix1 *, mp_ptr); + +#define mpn_hgcd_matrix_mul __MPN (hgcd_matrix_mul) +__GMP_DECLSPEC void mpn_hgcd_matrix_mul (struct hgcd_matrix *, const struct hgcd_matrix *, mp_ptr); + +#define mpn_hgcd_matrix_adjust __MPN (hgcd_matrix_adjust) +__GMP_DECLSPEC mp_size_t mpn_hgcd_matrix_adjust (const struct hgcd_matrix *, mp_size_t, mp_ptr, mp_ptr, mp_size_t, mp_ptr); + +#define mpn_hgcd_step __MPN(hgcd_step) +__GMP_DECLSPEC mp_size_t mpn_hgcd_step (mp_size_t, mp_ptr, mp_ptr, mp_size_t, struct hgcd_matrix *, mp_ptr); + +#define mpn_hgcd_reduce __MPN(hgcd_reduce) +__GMP_DECLSPEC mp_size_t mpn_hgcd_reduce (struct hgcd_matrix *, mp_ptr, mp_ptr, mp_size_t, mp_size_t, mp_ptr); + +#define mpn_hgcd_reduce_itch __MPN(hgcd_reduce_itch) +__GMP_DECLSPEC mp_size_t mpn_hgcd_reduce_itch (mp_size_t, mp_size_t) ATTRIBUTE_CONST; + +#define mpn_hgcd_itch __MPN (hgcd_itch) +__GMP_DECLSPEC mp_size_t mpn_hgcd_itch (mp_size_t) ATTRIBUTE_CONST; + +#define mpn_hgcd __MPN (hgcd) +__GMP_DECLSPEC mp_size_t mpn_hgcd (mp_ptr, mp_ptr, mp_size_t, struct hgcd_matrix *, mp_ptr); + +#define mpn_hgcd_appr_itch __MPN (hgcd_appr_itch) +__GMP_DECLSPEC mp_size_t mpn_hgcd_appr_itch (mp_size_t) ATTRIBUTE_CONST; + +#define mpn_hgcd_appr __MPN (hgcd_appr) +__GMP_DECLSPEC int mpn_hgcd_appr (mp_ptr, mp_ptr, mp_size_t, struct hgcd_matrix *, mp_ptr); + +#define mpn_hgcd_jacobi __MPN (hgcd_jacobi) +__GMP_DECLSPEC mp_size_t mpn_hgcd_jacobi (mp_ptr, mp_ptr, mp_size_t, struct hgcd_matrix *, unsigned *, mp_ptr); + +typedef void gcd_subdiv_step_hook(void *, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, int); + +/* Needs storage for the quotient */ +#define MPN_GCD_SUBDIV_STEP_ITCH(n) (n) + +#define mpn_gcd_subdiv_step __MPN(gcd_subdiv_step) +__GMP_DECLSPEC mp_size_t mpn_gcd_subdiv_step (mp_ptr, mp_ptr, mp_size_t, mp_size_t, gcd_subdiv_step_hook *, void *, mp_ptr); + +struct gcdext_ctx +{ + /* Result parameters. */ + mp_ptr gp; + mp_size_t gn; + mp_ptr up; + mp_size_t *usize; + + /* Cofactors updated in each step. */ + mp_size_t un; + mp_ptr u0, u1, tp; +}; + +#define mpn_gcdext_hook __MPN (gcdext_hook) +gcd_subdiv_step_hook mpn_gcdext_hook; + +#define MPN_GCDEXT_LEHMER_N_ITCH(n) (4*(n) + 3) + +#define mpn_gcdext_lehmer_n __MPN(gcdext_lehmer_n) +__GMP_DECLSPEC mp_size_t mpn_gcdext_lehmer_n (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_ptr, mp_size_t, mp_ptr); + +/* 4*(an + 1) + 4*(bn + 1) + an */ +#define MPN_GCDEXT_LEHMER_ITCH(an, bn) (5*(an) + 4*(bn) + 8) + +#ifndef HGCD_THRESHOLD +#define HGCD_THRESHOLD 400 +#endif + +#ifndef HGCD_APPR_THRESHOLD +#define HGCD_APPR_THRESHOLD 400 +#endif + +#ifndef HGCD_REDUCE_THRESHOLD +#define HGCD_REDUCE_THRESHOLD 1000 +#endif + +#ifndef GCD_DC_THRESHOLD +#define GCD_DC_THRESHOLD 1000 +#endif + +#ifndef GCDEXT_DC_THRESHOLD +#define GCDEXT_DC_THRESHOLD 600 +#endif + +/* Definitions for mpn_set_str and mpn_get_str */ +struct powers +{ + mp_ptr p; /* actual power value */ + mp_size_t n; /* # of limbs at p */ + mp_size_t shift; /* weight of lowest limb, in limb base B */ + size_t digits_in_base; /* number of corresponding digits */ + int base; +}; +typedef struct powers powers_t; +#define mpn_dc_set_str_powtab_alloc(n) ((n) + GMP_LIMB_BITS) +#define mpn_dc_set_str_itch(n) ((n) + GMP_LIMB_BITS) +#define mpn_dc_get_str_powtab_alloc(n) ((n) + 2 * GMP_LIMB_BITS) +#define mpn_dc_get_str_itch(n) ((n) + GMP_LIMB_BITS) + +#define mpn_dc_set_str __MPN(dc_set_str) +__GMP_DECLSPEC mp_size_t mpn_dc_set_str (mp_ptr, const unsigned char *, size_t, const powers_t *, mp_ptr); +#define mpn_bc_set_str __MPN(bc_set_str) +__GMP_DECLSPEC mp_size_t mpn_bc_set_str (mp_ptr, const unsigned char *, size_t, int); +#define mpn_set_str_compute_powtab __MPN(set_str_compute_powtab) +__GMP_DECLSPEC void mpn_set_str_compute_powtab (powers_t *, mp_ptr, mp_size_t, int); + + +/* __GMPF_BITS_TO_PREC applies a minimum 53 bits, rounds upwards to a whole + limb and adds an extra limb. __GMPF_PREC_TO_BITS drops that extra limb, + hence giving back the user's size in bits rounded up. Notice that + converting prec->bits->prec gives an unchanged value. */ +#define __GMPF_BITS_TO_PREC(n) \ + ((mp_size_t) ((__GMP_MAX (53, n) + 2 * GMP_NUMB_BITS - 1) / GMP_NUMB_BITS)) +#define __GMPF_PREC_TO_BITS(n) \ + ((mp_bitcnt_t) (n) * GMP_NUMB_BITS - GMP_NUMB_BITS) + +__GMP_DECLSPEC extern mp_size_t __gmp_default_fp_limb_precision; + +/* Compute the number of base-b digits corresponding to nlimbs limbs, rounding + down. */ +#define DIGITS_IN_BASE_PER_LIMB(res, nlimbs, b) \ + do { \ + mp_limb_t _ph ; mp_limb_t _pl __attribute__((unused)); \ + umul_ppmm (_ph, _pl, \ + mp_bases[b].logb2, GMP_NUMB_BITS * (mp_limb_t) (nlimbs));\ + res = _ph; \ + } while (0) + +/* Compute the number of limbs corresponding to ndigits base-b digits, rounding + up. */ +#define LIMBS_PER_DIGIT_IN_BASE(res, ndigits, b) \ + do { \ + mp_limb_t _ph ; mp_limb_t _dummy __attribute__((unused)); \ + umul_ppmm (_ph, _dummy, mp_bases[b].log2b, (mp_limb_t) (ndigits)); \ + res = 8 * _ph / GMP_NUMB_BITS + 2; \ + } while (0) + + +/* Set n to the number of significant digits an mpf of the given _mp_prec + field, in the given base. This is a rounded up value, designed to ensure + there's enough digits to reproduce all the guaranteed part of the value. + + There are prec many limbs, but the high might be only "1" so forget it + and just count prec-1 limbs into chars. +1 rounds that upwards, and a + further +1 is because the limbs usually won't fall on digit boundaries. + */ + +#define MPF_SIGNIFICANT_DIGITS(n, base, prec) \ + do { \ + size_t rawn; \ + ASSERT (base >= 2 && base < numberof (mp_bases)); \ + DIGITS_IN_BASE_PER_LIMB (rawn, (prec) - 1, base); \ + n = rawn + 2; \ + } while (0) + + +/* Decimal point string, from the current C locale. Needs for + nl_langinfo and constants, preferably with _GNU_SOURCE defined to get + DECIMAL_POINT from glibc, and needs for localeconv, each under + their respective #if HAVE_FOO_H. + + GLIBC recommends nl_langinfo because getting only one facet can be + faster, apparently. */ + +/* DECIMAL_POINT seems to need _GNU_SOURCE defined to get it from glibc. */ +#if defined (HAVE_NL_LANGINFO) && defined (DECIMAL_POINT) +#define GMP_DECIMAL_POINT (nl_langinfo (DECIMAL_POINT)) +#endif +/* RADIXCHAR is deprecated, still in unix98 or some such. */ +#if defined (HAVE_NL_LANGINFO) && defined (RADIXCHAR) && ! defined (GMP_DECIMAL_POINT) +#define GMP_DECIMAL_POINT (nl_langinfo (RADIXCHAR)) +#endif +/* localeconv is slower since it returns all locale stuff */ +#if defined (HAVE_LOCALECONV) && ! defined (GMP_DECIMAL_POINT) +#define GMP_DECIMAL_POINT (localeconv()->decimal_point) +#endif +#if ! defined (GMP_DECIMAL_POINT) +#define GMP_DECIMAL_POINT (".") +#endif + + +#define DOPRNT_CONV_FIXED 1 +#define DOPRNT_CONV_SCIENTIFIC 2 +#define DOPRNT_CONV_GENERAL 3 + +#define DOPRNT_JUSTIFY_NONE 0 +#define DOPRNT_JUSTIFY_LEFT 1 +#define DOPRNT_JUSTIFY_RIGHT 2 +#define DOPRNT_JUSTIFY_INTERNAL 3 + +#define DOPRNT_SHOWBASE_YES 1 +#define DOPRNT_SHOWBASE_NO 2 +#define DOPRNT_SHOWBASE_NONZERO 3 + +struct doprnt_params_t { + int base; /* negative for upper case */ + int conv; /* choices above */ + const char *expfmt; /* exponent format */ + int exptimes4; /* exponent multiply by 4 */ + char fill; /* character */ + int justify; /* choices above */ + int prec; /* prec field, or -1 for all digits */ + int showbase; /* choices above */ + int showpoint; /* if radix point always shown */ + int showtrailing; /* if trailing zeros wanted */ + char sign; /* '+', ' ', or '\0' */ + int width; /* width field */ +}; + +#ifdef _GMP_H_HAVE_VA_LIST + +typedef int (*doprnt_format_t) (void *, const char *, va_list); +typedef int (*doprnt_memory_t) (void *, const char *, size_t); +typedef int (*doprnt_reps_t) (void *, int, int); +typedef int (*doprnt_final_t) (void *); + +struct doprnt_funs_t { + doprnt_format_t format; + doprnt_memory_t memory; + doprnt_reps_t reps; + doprnt_final_t final; /* NULL if not required */ +}; + +extern const struct doprnt_funs_t __gmp_fprintf_funs; +extern const struct doprnt_funs_t __gmp_sprintf_funs; +extern const struct doprnt_funs_t __gmp_snprintf_funs; +extern const struct doprnt_funs_t __gmp_obstack_printf_funs; +extern const struct doprnt_funs_t __gmp_ostream_funs; + +/* "buf" is a __gmp_allocate_func block of "alloc" many bytes. The first + "size" of these have been written. "alloc > size" is maintained, so + there's room to store a '\0' at the end. "result" is where the + application wants the final block pointer. */ +struct gmp_asprintf_t { + char **result; + char *buf; + size_t size; + size_t alloc; +}; + +#define GMP_ASPRINTF_T_INIT(d, output) \ + do { \ + (d).result = (output); \ + (d).alloc = 256; \ + (d).buf = (char *) (*__gmp_allocate_func) ((d).alloc); \ + (d).size = 0; \ + } while (0) + +/* If a realloc is necessary, use twice the size actually required, so as to + avoid repeated small reallocs. */ +#define GMP_ASPRINTF_T_NEED(d, n) \ + do { \ + size_t alloc, newsize, newalloc; \ + ASSERT ((d)->alloc >= (d)->size + 1); \ + \ + alloc = (d)->alloc; \ + newsize = (d)->size + (n); \ + if (alloc <= newsize) \ + { \ + newalloc = 2*newsize; \ + (d)->alloc = newalloc; \ + (d)->buf = __GMP_REALLOCATE_FUNC_TYPE ((d)->buf, \ + alloc, newalloc, char); \ + } \ + } while (0) + +__GMP_DECLSPEC int __gmp_asprintf_memory (struct gmp_asprintf_t *, const char *, size_t); +__GMP_DECLSPEC int __gmp_asprintf_reps (struct gmp_asprintf_t *, int, int); +__GMP_DECLSPEC int __gmp_asprintf_final (struct gmp_asprintf_t *); + +/* buf is where to write the next output, and size is how much space is left + there. If the application passed size==0 then that's what we'll have + here, and nothing at all should be written. */ +struct gmp_snprintf_t { + char *buf; + size_t size; +}; + +/* Add the bytes printed by the call to the total retval, or bail out on an + error. */ +#define DOPRNT_ACCUMULATE(call) \ + do { \ + int __ret; \ + __ret = call; \ + if (__ret == -1) \ + goto error; \ + retval += __ret; \ + } while (0) +#define DOPRNT_ACCUMULATE_FUN(fun, params) \ + do { \ + ASSERT ((fun) != NULL); \ + DOPRNT_ACCUMULATE ((*(fun)) params); \ + } while (0) + +#define DOPRNT_FORMAT(fmt, ap) \ + DOPRNT_ACCUMULATE_FUN (funs->format, (data, fmt, ap)) +#define DOPRNT_MEMORY(ptr, len) \ + DOPRNT_ACCUMULATE_FUN (funs->memory, (data, ptr, len)) +#define DOPRNT_REPS(c, n) \ + DOPRNT_ACCUMULATE_FUN (funs->reps, (data, c, n)) + +#define DOPRNT_STRING(str) DOPRNT_MEMORY (str, strlen (str)) + +#define DOPRNT_REPS_MAYBE(c, n) \ + do { \ + if ((n) != 0) \ + DOPRNT_REPS (c, n); \ + } while (0) +#define DOPRNT_MEMORY_MAYBE(ptr, len) \ + do { \ + if ((len) != 0) \ + DOPRNT_MEMORY (ptr, len); \ + } while (0) + +__GMP_DECLSPEC int __gmp_doprnt (const struct doprnt_funs_t *, void *, const char *, va_list); +__GMP_DECLSPEC int __gmp_doprnt_integer (const struct doprnt_funs_t *, void *, const struct doprnt_params_t *, const char *); + +#define __gmp_doprnt_mpf __gmp_doprnt_mpf2 +__GMP_DECLSPEC int __gmp_doprnt_mpf (const struct doprnt_funs_t *, void *, const struct doprnt_params_t *, const char *, mpf_srcptr); + +__GMP_DECLSPEC int __gmp_replacement_vsnprintf (char *, size_t, const char *, va_list); +#endif /* _GMP_H_HAVE_VA_LIST */ + + +typedef int (*gmp_doscan_scan_t) (void *, const char *, ...); +typedef void *(*gmp_doscan_step_t) (void *, int); +typedef int (*gmp_doscan_get_t) (void *); +typedef int (*gmp_doscan_unget_t) (int, void *); + +struct gmp_doscan_funs_t { + gmp_doscan_scan_t scan; + gmp_doscan_step_t step; + gmp_doscan_get_t get; + gmp_doscan_unget_t unget; +}; +extern const struct gmp_doscan_funs_t __gmp_fscanf_funs; +extern const struct gmp_doscan_funs_t __gmp_sscanf_funs; + +#ifdef _GMP_H_HAVE_VA_LIST +__GMP_DECLSPEC int __gmp_doscan (const struct gmp_doscan_funs_t *, void *, const char *, va_list); +#endif + + +/* For testing and debugging. */ +#define MPZ_CHECK_FORMAT(z) \ + do { \ + ASSERT_ALWAYS (SIZ(z) == 0 || PTR(z)[ABSIZ(z) - 1] != 0); \ + ASSERT_ALWAYS (ALLOC(z) >= ABSIZ(z)); \ + ASSERT_ALWAYS_MPN (PTR(z), ABSIZ(z)); \ + } while (0) + +#define MPQ_CHECK_FORMAT(q) \ + do { \ + MPZ_CHECK_FORMAT (mpq_numref (q)); \ + MPZ_CHECK_FORMAT (mpq_denref (q)); \ + ASSERT_ALWAYS (SIZ(mpq_denref(q)) >= 1); \ + \ + if (SIZ(mpq_numref(q)) == 0) \ + { \ + /* should have zero as 0/1 */ \ + ASSERT_ALWAYS (SIZ(mpq_denref(q)) == 1 \ + && PTR(mpq_denref(q))[0] == 1); \ + } \ + else \ + { \ + /* should have no common factors */ \ + mpz_t g; \ + mpz_init (g); \ + mpz_gcd (g, mpq_numref(q), mpq_denref(q)); \ + ASSERT_ALWAYS (mpz_cmp_ui (g, 1) == 0); \ + mpz_clear (g); \ + } \ + } while (0) + +#define MPF_CHECK_FORMAT(f) \ + do { \ + ASSERT_ALWAYS (PREC(f) >= __GMPF_BITS_TO_PREC(53)); \ + ASSERT_ALWAYS (ABSIZ(f) <= PREC(f)+1); \ + if (SIZ(f) == 0) \ + ASSERT_ALWAYS (EXP(f) == 0); \ + if (SIZ(f) != 0) \ + ASSERT_ALWAYS (PTR(f)[ABSIZ(f) - 1] != 0); \ + } while (0) + + +/* Enhancement: The "mod" and "gcd_1" functions below could have + __GMP_ATTRIBUTE_PURE, but currently (gcc 3.3) that's not supported on + function pointers, only actual functions. It probably doesn't make much + difference to the gmp code, since hopefully we arrange calls so there's + no great need for the compiler to move things around. */ + +#if defined (WANT_FAT_BINARY) && (defined (HAVE_HOST_CPU_FAMILY_x86) || defined (HAVE_HOST_CPU_FAMILY_x86_64)) +/* NOTE: The function pointers in this struct are also in CPUVEC_FUNCS_LIST + in mpn/x86/x86-defs.m4 and mpn/x86_64/x86_64-defs.m4. Be sure to update + those when changing here. */ +struct cpuvec_t { + DECL_add_n ((*add_n)); + DECL_addlsh1_n ((*addlsh1_n)); + DECL_addlsh2_n ((*addlsh2_n)); + DECL_addmul_1 ((*addmul_1)); + DECL_addmul_2 ((*addmul_2)); + DECL_bdiv_dbm1c ((*bdiv_dbm1c)); + DECL_cnd_add_n ((*cnd_add_n)); + DECL_cnd_sub_n ((*cnd_sub_n)); + DECL_com ((*com)); + DECL_copyd ((*copyd)); + DECL_copyi ((*copyi)); + DECL_divexact_1 ((*divexact_1)); + DECL_divrem_1 ((*divrem_1)); + DECL_gcd_1 ((*gcd_1)); + DECL_lshift ((*lshift)); + DECL_lshiftc ((*lshiftc)); + DECL_mod_1 ((*mod_1)); + DECL_mod_1_1p ((*mod_1_1p)); + DECL_mod_1_1p_cps ((*mod_1_1p_cps)); + DECL_mod_1s_2p ((*mod_1s_2p)); + DECL_mod_1s_2p_cps ((*mod_1s_2p_cps)); + DECL_mod_1s_4p ((*mod_1s_4p)); + DECL_mod_1s_4p_cps ((*mod_1s_4p_cps)); + DECL_mod_34lsub1 ((*mod_34lsub1)); + DECL_modexact_1c_odd ((*modexact_1c_odd)); + DECL_mul_1 ((*mul_1)); + DECL_mul_basecase ((*mul_basecase)); + DECL_mullo_basecase ((*mullo_basecase)); + DECL_preinv_divrem_1 ((*preinv_divrem_1)); + DECL_preinv_mod_1 ((*preinv_mod_1)); + DECL_redc_1 ((*redc_1)); + DECL_redc_2 ((*redc_2)); + DECL_rshift ((*rshift)); + DECL_sqr_basecase ((*sqr_basecase)); + DECL_sub_n ((*sub_n)); + DECL_sublsh1_n ((*sublsh1_n)); + DECL_submul_1 ((*submul_1)); + mp_size_t mul_toom22_threshold; + mp_size_t mul_toom33_threshold; + mp_size_t sqr_toom2_threshold; + mp_size_t sqr_toom3_threshold; + mp_size_t bmod_1_to_mod_1_threshold; +}; +__GMP_DECLSPEC extern struct cpuvec_t __gmpn_cpuvec; +__GMP_DECLSPEC extern int __gmpn_cpuvec_initialized; +#endif /* x86 fat binary */ + +__GMP_DECLSPEC void __gmpn_cpuvec_init (void); + +/* Get a threshold "field" from __gmpn_cpuvec, running __gmpn_cpuvec_init() + if that hasn't yet been done (to establish the right values). */ +#define CPUVEC_THRESHOLD(field) \ + ((LIKELY (__gmpn_cpuvec_initialized) ? 0 : (__gmpn_cpuvec_init (), 0)), \ + __gmpn_cpuvec.field) + + +#ifdef HAVE_NATIVE_mpn_add_nc +#define mpn_add_nc __MPN(add_nc) +__GMP_DECLSPEC mp_limb_t mpn_add_nc (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); +#else +static inline +mp_limb_t +mpn_add_nc (mp_ptr rp, mp_srcptr up, mp_srcptr vp, mp_size_t n, mp_limb_t ci) +{ + mp_limb_t co; + co = mpn_add_n (rp, up, vp, n); + co += mpn_add_1 (rp, rp, n, ci); + return co; +} +#endif + +#ifdef HAVE_NATIVE_mpn_sub_nc +#define mpn_sub_nc __MPN(sub_nc) +__GMP_DECLSPEC mp_limb_t mpn_sub_nc (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t, mp_limb_t); +#else +static inline mp_limb_t +mpn_sub_nc (mp_ptr rp, mp_srcptr up, mp_srcptr vp, mp_size_t n, mp_limb_t ci) +{ + mp_limb_t co; + co = mpn_sub_n (rp, up, vp, n); + co += mpn_sub_1 (rp, rp, n, ci); + return co; +} +#endif + +static inline int +mpn_zero_p (mp_srcptr ap, mp_size_t n) +{ + while (--n >= 0) + { + if (ap[n] != 0) + return 0; + } + return 1; +} + +#ifdef TUNE_PROGRAM_BUILD +/* Some extras wanted when recompiling some .c files for use by the tune + program. Not part of a normal build. + + It's necessary to keep these thresholds as #defines (just to an + identically named variable), since various defaults are established based + on #ifdef in the .c files. For some this is not so (the defaults are + instead established above), but all are done this way for consistency. */ + +#undef MUL_TOOM22_THRESHOLD +#define MUL_TOOM22_THRESHOLD mul_toom22_threshold +extern mp_size_t mul_toom22_threshold; + +#undef MUL_TOOM33_THRESHOLD +#define MUL_TOOM33_THRESHOLD mul_toom33_threshold +extern mp_size_t mul_toom33_threshold; + +#undef MUL_TOOM44_THRESHOLD +#define MUL_TOOM44_THRESHOLD mul_toom44_threshold +extern mp_size_t mul_toom44_threshold; + +#undef MUL_TOOM6H_THRESHOLD +#define MUL_TOOM6H_THRESHOLD mul_toom6h_threshold +extern mp_size_t mul_toom6h_threshold; + +#undef MUL_TOOM8H_THRESHOLD +#define MUL_TOOM8H_THRESHOLD mul_toom8h_threshold +extern mp_size_t mul_toom8h_threshold; + +#undef MUL_TOOM32_TO_TOOM43_THRESHOLD +#define MUL_TOOM32_TO_TOOM43_THRESHOLD mul_toom32_to_toom43_threshold +extern mp_size_t mul_toom32_to_toom43_threshold; + +#undef MUL_TOOM32_TO_TOOM53_THRESHOLD +#define MUL_TOOM32_TO_TOOM53_THRESHOLD mul_toom32_to_toom53_threshold +extern mp_size_t mul_toom32_to_toom53_threshold; + +#undef MUL_TOOM42_TO_TOOM53_THRESHOLD +#define MUL_TOOM42_TO_TOOM53_THRESHOLD mul_toom42_to_toom53_threshold +extern mp_size_t mul_toom42_to_toom53_threshold; + +#undef MUL_TOOM42_TO_TOOM63_THRESHOLD +#define MUL_TOOM42_TO_TOOM63_THRESHOLD mul_toom42_to_toom63_threshold +extern mp_size_t mul_toom42_to_toom63_threshold; + +#undef MUL_TOOM43_TO_TOOM54_THRESHOLD +#define MUL_TOOM43_TO_TOOM54_THRESHOLD mul_toom43_to_toom54_threshold; +extern mp_size_t mul_toom43_to_toom54_threshold; + +#undef MUL_FFT_THRESHOLD +#define MUL_FFT_THRESHOLD mul_fft_threshold +extern mp_size_t mul_fft_threshold; + +#undef MUL_FFT_MODF_THRESHOLD +#define MUL_FFT_MODF_THRESHOLD mul_fft_modf_threshold +extern mp_size_t mul_fft_modf_threshold; + +#undef MUL_FFT_TABLE +#define MUL_FFT_TABLE { 0 } + +#undef MUL_FFT_TABLE3 +#define MUL_FFT_TABLE3 { {0,0} } + +/* A native mpn_sqr_basecase is not tuned and SQR_BASECASE_THRESHOLD should + remain as zero (always use it). */ +#ifndef HAVE_NATIVE_mpn_sqr_basecase +#undef SQR_BASECASE_THRESHOLD +#define SQR_BASECASE_THRESHOLD sqr_basecase_threshold +extern mp_size_t sqr_basecase_threshold; +#endif + +#if TUNE_PROGRAM_BUILD_SQR +#undef SQR_TOOM2_THRESHOLD +#define SQR_TOOM2_THRESHOLD SQR_TOOM2_MAX_GENERIC +#else +#undef SQR_TOOM2_THRESHOLD +#define SQR_TOOM2_THRESHOLD sqr_toom2_threshold +extern mp_size_t sqr_toom2_threshold; +#endif + +#undef SQR_TOOM3_THRESHOLD +#define SQR_TOOM3_THRESHOLD sqr_toom3_threshold +extern mp_size_t sqr_toom3_threshold; + +#undef SQR_TOOM4_THRESHOLD +#define SQR_TOOM4_THRESHOLD sqr_toom4_threshold +extern mp_size_t sqr_toom4_threshold; + +#undef SQR_TOOM6_THRESHOLD +#define SQR_TOOM6_THRESHOLD sqr_toom6_threshold +extern mp_size_t sqr_toom6_threshold; + +#undef SQR_TOOM8_THRESHOLD +#define SQR_TOOM8_THRESHOLD sqr_toom8_threshold +extern mp_size_t sqr_toom8_threshold; + +#undef SQR_FFT_THRESHOLD +#define SQR_FFT_THRESHOLD sqr_fft_threshold +extern mp_size_t sqr_fft_threshold; + +#undef SQR_FFT_MODF_THRESHOLD +#define SQR_FFT_MODF_THRESHOLD sqr_fft_modf_threshold +extern mp_size_t sqr_fft_modf_threshold; + +#undef SQR_FFT_TABLE +#define SQR_FFT_TABLE { 0 } + +#undef SQR_FFT_TABLE3 +#define SQR_FFT_TABLE3 { {0,0} } + +#undef MULLO_BASECASE_THRESHOLD +#define MULLO_BASECASE_THRESHOLD mullo_basecase_threshold +extern mp_size_t mullo_basecase_threshold; + +#undef MULLO_DC_THRESHOLD +#define MULLO_DC_THRESHOLD mullo_dc_threshold +extern mp_size_t mullo_dc_threshold; + +#undef MULLO_MUL_N_THRESHOLD +#define MULLO_MUL_N_THRESHOLD mullo_mul_n_threshold +extern mp_size_t mullo_mul_n_threshold; + +#undef MULMID_TOOM42_THRESHOLD +#define MULMID_TOOM42_THRESHOLD mulmid_toom42_threshold +extern mp_size_t mulmid_toom42_threshold; + +#undef DIV_QR_2_PI2_THRESHOLD +#define DIV_QR_2_PI2_THRESHOLD div_qr_2_pi2_threshold +extern mp_size_t div_qr_2_pi2_threshold; + +#undef DC_DIV_QR_THRESHOLD +#define DC_DIV_QR_THRESHOLD dc_div_qr_threshold +extern mp_size_t dc_div_qr_threshold; + +#undef DC_DIVAPPR_Q_THRESHOLD +#define DC_DIVAPPR_Q_THRESHOLD dc_divappr_q_threshold +extern mp_size_t dc_divappr_q_threshold; + +#undef DC_BDIV_Q_THRESHOLD +#define DC_BDIV_Q_THRESHOLD dc_bdiv_q_threshold +extern mp_size_t dc_bdiv_q_threshold; + +#undef DC_BDIV_QR_THRESHOLD +#define DC_BDIV_QR_THRESHOLD dc_bdiv_qr_threshold +extern mp_size_t dc_bdiv_qr_threshold; + +#undef MU_DIV_QR_THRESHOLD +#define MU_DIV_QR_THRESHOLD mu_div_qr_threshold +extern mp_size_t mu_div_qr_threshold; + +#undef MU_DIVAPPR_Q_THRESHOLD +#define MU_DIVAPPR_Q_THRESHOLD mu_divappr_q_threshold +extern mp_size_t mu_divappr_q_threshold; + +#undef MUPI_DIV_QR_THRESHOLD +#define MUPI_DIV_QR_THRESHOLD mupi_div_qr_threshold +extern mp_size_t mupi_div_qr_threshold; + +#undef MU_BDIV_QR_THRESHOLD +#define MU_BDIV_QR_THRESHOLD mu_bdiv_qr_threshold +extern mp_size_t mu_bdiv_qr_threshold; + +#undef MU_BDIV_Q_THRESHOLD +#define MU_BDIV_Q_THRESHOLD mu_bdiv_q_threshold +extern mp_size_t mu_bdiv_q_threshold; + +#undef INV_MULMOD_BNM1_THRESHOLD +#define INV_MULMOD_BNM1_THRESHOLD inv_mulmod_bnm1_threshold +extern mp_size_t inv_mulmod_bnm1_threshold; + +#undef INV_NEWTON_THRESHOLD +#define INV_NEWTON_THRESHOLD inv_newton_threshold +extern mp_size_t inv_newton_threshold; + +#undef INV_APPR_THRESHOLD +#define INV_APPR_THRESHOLD inv_appr_threshold +extern mp_size_t inv_appr_threshold; + +#undef BINV_NEWTON_THRESHOLD +#define BINV_NEWTON_THRESHOLD binv_newton_threshold +extern mp_size_t binv_newton_threshold; + +#undef REDC_1_TO_REDC_2_THRESHOLD +#define REDC_1_TO_REDC_2_THRESHOLD redc_1_to_redc_2_threshold +extern mp_size_t redc_1_to_redc_2_threshold; + +#undef REDC_2_TO_REDC_N_THRESHOLD +#define REDC_2_TO_REDC_N_THRESHOLD redc_2_to_redc_n_threshold +extern mp_size_t redc_2_to_redc_n_threshold; + +#undef REDC_1_TO_REDC_N_THRESHOLD +#define REDC_1_TO_REDC_N_THRESHOLD redc_1_to_redc_n_threshold +extern mp_size_t redc_1_to_redc_n_threshold; + +#undef MATRIX22_STRASSEN_THRESHOLD +#define MATRIX22_STRASSEN_THRESHOLD matrix22_strassen_threshold +extern mp_size_t matrix22_strassen_threshold; + +#undef HGCD_THRESHOLD +#define HGCD_THRESHOLD hgcd_threshold +extern mp_size_t hgcd_threshold; + +#undef HGCD_APPR_THRESHOLD +#define HGCD_APPR_THRESHOLD hgcd_appr_threshold +extern mp_size_t hgcd_appr_threshold; + +#undef HGCD_REDUCE_THRESHOLD +#define HGCD_REDUCE_THRESHOLD hgcd_reduce_threshold +extern mp_size_t hgcd_reduce_threshold; + +#undef GCD_DC_THRESHOLD +#define GCD_DC_THRESHOLD gcd_dc_threshold +extern mp_size_t gcd_dc_threshold; + +#undef GCDEXT_DC_THRESHOLD +#define GCDEXT_DC_THRESHOLD gcdext_dc_threshold +extern mp_size_t gcdext_dc_threshold; + +#undef DIV_QR_1N_PI1_METHOD +#define DIV_QR_1N_PI1_METHOD div_qr_1n_pi1_method +extern int div_qr_1n_pi1_method; + +#undef DIV_QR_1_NORM_THRESHOLD +#define DIV_QR_1_NORM_THRESHOLD div_qr_1_norm_threshold +extern mp_size_t div_qr_1_norm_threshold; + +#undef DIV_QR_1_UNNORM_THRESHOLD +#define DIV_QR_1_UNNORM_THRESHOLD div_qr_1_unnorm_threshold +extern mp_size_t div_qr_1_unnorm_threshold; + +#undef DIVREM_1_NORM_THRESHOLD +#define DIVREM_1_NORM_THRESHOLD divrem_1_norm_threshold +extern mp_size_t divrem_1_norm_threshold; + +#undef DIVREM_1_UNNORM_THRESHOLD +#define DIVREM_1_UNNORM_THRESHOLD divrem_1_unnorm_threshold +extern mp_size_t divrem_1_unnorm_threshold; + +#undef MOD_1_NORM_THRESHOLD +#define MOD_1_NORM_THRESHOLD mod_1_norm_threshold +extern mp_size_t mod_1_norm_threshold; + +#undef MOD_1_UNNORM_THRESHOLD +#define MOD_1_UNNORM_THRESHOLD mod_1_unnorm_threshold +extern mp_size_t mod_1_unnorm_threshold; + +#undef MOD_1_1P_METHOD +#define MOD_1_1P_METHOD mod_1_1p_method +extern int mod_1_1p_method; + +#undef MOD_1N_TO_MOD_1_1_THRESHOLD +#define MOD_1N_TO_MOD_1_1_THRESHOLD mod_1n_to_mod_1_1_threshold +extern mp_size_t mod_1n_to_mod_1_1_threshold; + +#undef MOD_1U_TO_MOD_1_1_THRESHOLD +#define MOD_1U_TO_MOD_1_1_THRESHOLD mod_1u_to_mod_1_1_threshold +extern mp_size_t mod_1u_to_mod_1_1_threshold; + +#undef MOD_1_1_TO_MOD_1_2_THRESHOLD +#define MOD_1_1_TO_MOD_1_2_THRESHOLD mod_1_1_to_mod_1_2_threshold +extern mp_size_t mod_1_1_to_mod_1_2_threshold; + +#undef MOD_1_2_TO_MOD_1_4_THRESHOLD +#define MOD_1_2_TO_MOD_1_4_THRESHOLD mod_1_2_to_mod_1_4_threshold +extern mp_size_t mod_1_2_to_mod_1_4_threshold; + +#undef PREINV_MOD_1_TO_MOD_1_THRESHOLD +#define PREINV_MOD_1_TO_MOD_1_THRESHOLD preinv_mod_1_to_mod_1_threshold +extern mp_size_t preinv_mod_1_to_mod_1_threshold; + +#ifndef UDIV_PREINV_ALWAYS +#undef DIVREM_2_THRESHOLD +#define DIVREM_2_THRESHOLD divrem_2_threshold +extern mp_size_t divrem_2_threshold; +#endif + +#undef MULMOD_BNM1_THRESHOLD +#define MULMOD_BNM1_THRESHOLD mulmod_bnm1_threshold +extern mp_size_t mulmod_bnm1_threshold; + +#undef SQRMOD_BNM1_THRESHOLD +#define SQRMOD_BNM1_THRESHOLD sqrmod_bnm1_threshold +extern mp_size_t sqrmod_bnm1_threshold; + +#undef GET_STR_DC_THRESHOLD +#define GET_STR_DC_THRESHOLD get_str_dc_threshold +extern mp_size_t get_str_dc_threshold; + +#undef GET_STR_PRECOMPUTE_THRESHOLD +#define GET_STR_PRECOMPUTE_THRESHOLD get_str_precompute_threshold +extern mp_size_t get_str_precompute_threshold; + +#undef SET_STR_DC_THRESHOLD +#define SET_STR_DC_THRESHOLD set_str_dc_threshold +extern mp_size_t set_str_dc_threshold; + +#undef SET_STR_PRECOMPUTE_THRESHOLD +#define SET_STR_PRECOMPUTE_THRESHOLD set_str_precompute_threshold +extern mp_size_t set_str_precompute_threshold; + +#undef FAC_ODD_THRESHOLD +#define FAC_ODD_THRESHOLD fac_odd_threshold +extern mp_size_t fac_odd_threshold; + +#undef FAC_DSC_THRESHOLD +#define FAC_DSC_THRESHOLD fac_dsc_threshold +extern mp_size_t fac_dsc_threshold; + +#undef FFT_TABLE_ATTRS +#define FFT_TABLE_ATTRS +extern mp_size_t mpn_fft_table[2][MPN_FFT_TABLE_SIZE]; +#define FFT_TABLE3_SIZE 2000 /* generous space for tuning */ +extern struct fft_table_nk mpn_fft_table3[2][FFT_TABLE3_SIZE]; + +/* Sizes the tune program tests up to, used in a couple of recompilations. */ +#undef MUL_TOOM22_THRESHOLD_LIMIT +#undef MUL_TOOM33_THRESHOLD_LIMIT +#undef MULLO_BASECASE_THRESHOLD_LIMIT +#undef SQR_TOOM3_THRESHOLD_LIMIT +#define SQR_TOOM2_MAX_GENERIC 200 +#define MUL_TOOM22_THRESHOLD_LIMIT 700 +#define MUL_TOOM33_THRESHOLD_LIMIT 700 +#define SQR_TOOM3_THRESHOLD_LIMIT 400 +#define MUL_TOOM44_THRESHOLD_LIMIT 1000 +#define SQR_TOOM4_THRESHOLD_LIMIT 1000 +#define MUL_TOOM6H_THRESHOLD_LIMIT 1100 +#define SQR_TOOM6_THRESHOLD_LIMIT 1100 +#define MUL_TOOM8H_THRESHOLD_LIMIT 1200 +#define SQR_TOOM8_THRESHOLD_LIMIT 1200 +#define MULLO_BASECASE_THRESHOLD_LIMIT 200 +#define GET_STR_THRESHOLD_LIMIT 150 +#define FAC_DSC_THRESHOLD_LIMIT 2048 + +#endif /* TUNE_PROGRAM_BUILD */ + +#if defined (__cplusplus) +} +#endif + +/* toom22/toom2: Scratch need is 2*(an + k), k is the recursion depth. + k is ths smallest k such that + ceil(an/2^k) < MUL_TOOM22_THRESHOLD. + which implies that + k = bitsize of floor ((an-1)/(MUL_TOOM22_THRESHOLD-1)) + = 1 + floor (log_2 (floor ((an-1)/(MUL_TOOM22_THRESHOLD-1)))) +*/ +#define mpn_toom22_mul_itch(an, bn) \ + (2 * ((an) + GMP_NUMB_BITS)) +#define mpn_toom2_sqr_itch(an) \ + (2 * ((an) + GMP_NUMB_BITS)) + +/* toom33/toom3: Scratch need is 5an/2 + 10k, k is the recursion depth. + We use 3an + C, so that we can use a smaller constant. + */ +#define mpn_toom33_mul_itch(an, bn) \ + (3 * (an) + GMP_NUMB_BITS) +#define mpn_toom3_sqr_itch(an) \ + (3 * (an) + GMP_NUMB_BITS) + +/* toom33/toom3: Scratch need is 8an/3 + 13k, k is the recursion depth. + We use 3an + C, so that we can use a smaller constant. + */ +#define mpn_toom44_mul_itch(an, bn) \ + (3 * (an) + GMP_NUMB_BITS) +#define mpn_toom4_sqr_itch(an) \ + (3 * (an) + GMP_NUMB_BITS) + +#define mpn_toom6_sqr_itch(n) \ + (((n) - SQR_TOOM6_THRESHOLD)*2 + \ + MAX(SQR_TOOM6_THRESHOLD*2 + GMP_NUMB_BITS*6, \ + mpn_toom4_sqr_itch(SQR_TOOM6_THRESHOLD))) + +#define MUL_TOOM6H_MIN \ + ((MUL_TOOM6H_THRESHOLD > MUL_TOOM44_THRESHOLD) ? \ + MUL_TOOM6H_THRESHOLD : MUL_TOOM44_THRESHOLD) +#define mpn_toom6_mul_n_itch(n) \ + (((n) - MUL_TOOM6H_MIN)*2 + \ + MAX(MUL_TOOM6H_MIN*2 + GMP_NUMB_BITS*6, \ + mpn_toom44_mul_itch(MUL_TOOM6H_MIN,MUL_TOOM6H_MIN))) + +static inline mp_size_t +mpn_toom6h_mul_itch (mp_size_t an, mp_size_t bn) { + mp_size_t estimatedN; + estimatedN = (an + bn) / (mp_size_t) 10 + 1; /* Modified by PM : size_t -> mp_size_t */ + return mpn_toom6_mul_n_itch (estimatedN * 6); +} + +#define mpn_toom8_sqr_itch(n) \ + ((((n)*15)>>3) - ((SQR_TOOM8_THRESHOLD*15)>>3) + \ + MAX(((SQR_TOOM8_THRESHOLD*15)>>3) + GMP_NUMB_BITS*6, \ + mpn_toom6_sqr_itch(SQR_TOOM8_THRESHOLD))) + +#define MUL_TOOM8H_MIN \ + ((MUL_TOOM8H_THRESHOLD > MUL_TOOM6H_MIN) ? \ + MUL_TOOM8H_THRESHOLD : MUL_TOOM6H_MIN) +#define mpn_toom8_mul_n_itch(n) \ + ((((n)*15)>>3) - ((MUL_TOOM8H_MIN*15)>>3) + \ + MAX(((MUL_TOOM8H_MIN*15)>>3) + GMP_NUMB_BITS*6, \ + mpn_toom6_mul_n_itch(MUL_TOOM8H_MIN))) + +static inline mp_size_t +mpn_toom8h_mul_itch (mp_size_t an, mp_size_t bn) { + mp_size_t estimatedN; + estimatedN = (an + bn) / (mp_size_t) 14 + 1; /* Modified by PM : size_t -> mp_size_t */ + return mpn_toom8_mul_n_itch (estimatedN * 8); +} + +static inline mp_size_t +mpn_toom32_mul_itch (mp_size_t an, mp_size_t bn) +{ + mp_size_t n = 1 + (2 * an >= 3 * bn ? (an - 1) / (mp_size_t) 3 : (bn - 1) >> 1); /* Modified by PM : size_t -> mp_size_t */ + mp_size_t itch = 2 * n + 1; + + return itch; +} + +static inline mp_size_t +mpn_toom42_mul_itch (mp_size_t an, mp_size_t bn) +{ + mp_size_t n = an >= 2 * bn ? (an + 3) >> 2 : (bn + 1) >> 1; + return 6 * n + 3; +} + +static inline mp_size_t +mpn_toom43_mul_itch (mp_size_t an, mp_size_t bn) +{ + mp_size_t n = 1 + (3 * an >= 4 * bn ? (an - 1) >> 2 : (bn - 1) / (mp_size_t) 3); /* Modified by PM : size_t -> mp_size_t */ + + return 6*n + 4; +} + +static inline mp_size_t +mpn_toom52_mul_itch (mp_size_t an, mp_size_t bn) +{ + mp_size_t n = 1 + (2 * an >= 5 * bn ? (an - 1) / (mp_size_t) 5 : (bn - 1) >> 1); /* Modified by PM : size_t -> mp_size_t */ + return 6*n + 4; +} + +static inline mp_size_t +mpn_toom53_mul_itch (mp_size_t an, mp_size_t bn) +{ + mp_size_t n = 1 + (3 * an >= 5 * bn ? (an - 1) / (mp_size_t) 5 : (bn - 1) / (mp_size_t) 3); /* Modified by PM : size_t -> mp_size_t */ + return 10 * n + 10; +} + +static inline mp_size_t +mpn_toom62_mul_itch (mp_size_t an, mp_size_t bn) +{ + mp_size_t n = 1 + (an >= 3 * bn ? (an - 1) / (mp_size_t) 6 : (bn - 1) >> 1); /* Modified by PM : size_t -> mp_size_t */ + return 10 * n + 10; +} + +static inline mp_size_t +mpn_toom63_mul_itch (mp_size_t an, mp_size_t bn) +{ + mp_size_t n = 1 + (an >= 2 * bn ? (an - 1) / (mp_size_t) 6 : (bn - 1) / (mp_size_t) 3); /* Modified by PM : size_t -> mp_size_t */ + return 9 * n + 3; +} + +static inline mp_size_t +mpn_toom54_mul_itch (mp_size_t an, mp_size_t bn) +{ + mp_size_t n = 1 + (4 * an >= 5 * bn ? (an - 1) / (mp_size_t) 5 : (bn - 1) / (mp_size_t) 4); /* Modified by PM : size_t -> mp_size_t */ + return 9 * n + 3; +} + +/* let S(n) = space required for input size n, + then S(n) = 3 floor(n/2) + 1 + S(floor(n/2)). */ +#define mpn_toom42_mulmid_itch(n) \ + (3 * (n) + GMP_NUMB_BITS) + +#if 0 +#define mpn_fft_mul mpn_mul_fft_full +#else +#define mpn_fft_mul mpn_nussbaumer_mul +#endif + +#ifdef __cplusplus + +/* A little helper for a null-terminated __gmp_allocate_func string. + The destructor ensures it's freed even if an exception is thrown. + The len field is needed by the destructor, and can be used by anyone else + to avoid a second strlen pass over the data. + + Since our input is a C string, using strlen is correct. Perhaps it'd be + more C++-ish style to use std::char_traits::length, but char_traits + isn't available in gcc 2.95.4. */ + +class gmp_allocated_string { + public: + char *str; + size_t len; + gmp_allocated_string(char *arg) + { + str = arg; + len = std::strlen (str); + } + ~gmp_allocated_string() + { + (*__gmp_free_func) (str, len+1); + } +}; + +std::istream &__gmpz_operator_in_nowhite (std::istream &, mpz_ptr, char); +int __gmp_istream_set_base (std::istream &, char &, bool &, bool &); +void __gmp_istream_set_digits (std::string &, std::istream &, char &, bool &, int); +void __gmp_doprnt_params_from_ios (struct doprnt_params_t *, std::ios &); +std::ostream& __gmp_doprnt_integer_ostream (std::ostream &, struct doprnt_params_t *, char *); +extern const struct doprnt_funs_t __gmp_asprintf_funs_noformat; + +#endif /* __cplusplus */ + +//#endif /* __GMP_IMPL_H__ */ diff --git a/goil/build/libpm/gmp/gmp.h b/goil/build/libpm/gmp/gmp.h new file mode 100644 index 000000000..9c9e9bad5 --- /dev/null +++ b/goil/build/libpm/gmp/gmp.h @@ -0,0 +1,2299 @@ +/* Definitions for GNU multiple precision functions. -*- mode: c -*- + +Copyright 1991, 1993-1997, 1999-2014 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#pragma once + +#if defined (__cplusplus) +#include /* for std::istream, std::ostream, std::string */ +#include +#endif + +/* Instantiated by configure. */ +#define __GMP_HAVE_HOST_CPU_FAMILY_power 0 +#define __GMP_HAVE_HOST_CPU_FAMILY_powerpc 0 +/*--- Modified by PM */ +#include +#include + +#ifndef INT64_MAX + #error "Undefined INT64_MAX" +#endif + +#ifndef INT32_MAX + #error "Undefined INT32_MAX" +#endif + +#ifdef _WIN32 + #define GMP_LIMB_BITS 32 + #define GMP_LIMB_BYTES 4 +#else + #if LLONG_MAX == INT32_MAX + #define GMP_LIMB_BITS 32 + #define GMP_LIMB_BYTES 4 + #elif LLONG_MAX == INT64_MAX + #define GMP_LIMB_BITS 64 + #define GMP_LIMB_BYTES 8 + #define _LONG_LONG_LIMB + #else + #error "LLONG_MAX is != 32 and != 64" + #endif +#endif + +#define NO_ASM +#define __GMP_WITHIN_GMP +#define HAVE_CONFIG_H + +/*--- End modified by PM */ + +#define GMP_NAIL_BITS 0 + +#define GMP_NUMB_BITS (GMP_LIMB_BITS - GMP_NAIL_BITS) +#define GMP_NUMB_MASK ((~ __GMP_CAST (mp_limb_t, 0)) >> GMP_NAIL_BITS) +#define GMP_NUMB_MAX GMP_NUMB_MASK +#define GMP_NAIL_MASK (~ GMP_NUMB_MASK) + + +/* The following (everything under ifndef __GNU_MP__) must be identical in + gmp.h and mp.h to allow both to be included in an application or during + the library build. */ +#ifndef __GNU_MP__ +#define __GNU_MP__ 5 + +#include /* for size_t */ + +/* Instantiated by configure. */ +#if ! defined (__GMP_WITHIN_CONFIGURE) +#define __GMP_LIBGMP_DLL 0 +#endif + + +/* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in + all other circumstances. + + When compiling objects for libgmp, __GMP_DECLSPEC is an export directive, + or when compiling for an application it's an import directive. The two + cases are differentiated by __GMP_WITHIN_GMP defined by the GMP Makefiles + (and not defined from an application). + + __GMP_DECLSPEC_XX is similarly used for libgmpxx. __GMP_WITHIN_GMPXX + indicates when building libgmpxx, and in that case libgmpxx functions are + exports, but libgmp functions which might get called are imports. + + Libtool DLL_EXPORT define is not used. + + There's no attempt to support GMP built both static and DLL. Doing so + would mean applications would have to tell us which of the two is going + to be used when linking, and that seems very tedious and error prone if + using GMP by hand, and equally tedious from a package since autoconf and + automake don't give much help. + + __GMP_DECLSPEC is required on all documented global functions and + variables, the various internals in gmp-impl.h etc can be left unadorned. + But internals used by the test programs or speed measuring programs + should have __GMP_DECLSPEC, and certainly constants or variables must + have it or the wrong address will be resolved. + + In gcc __declspec can go at either the start or end of a prototype. + + In Microsoft C __declspec must go at the start, or after the type like + void __declspec(...) *foo()". There's no __dllexport or anything to + guard against someone foolish #defining dllexport. _export used to be + available, but no longer. + + In Borland C _export still exists, but needs to go after the type, like + "void _export foo();". Would have to change the __GMP_DECLSPEC syntax to + make use of that. Probably more trouble than it's worth. */ + +#if defined (__GNUC__) +#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__) +#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__) +#endif +#if defined (_MSC_VER) || defined (__BORLANDC__) +#define __GMP_DECLSPEC_EXPORT __declspec(dllexport) +#define __GMP_DECLSPEC_IMPORT __declspec(dllimport) +#endif +#ifdef __WATCOMC__ +#define __GMP_DECLSPEC_EXPORT __export +#define __GMP_DECLSPEC_IMPORT __import +#endif +#ifdef __IBMC__ +#define __GMP_DECLSPEC_EXPORT _Export +#define __GMP_DECLSPEC_IMPORT _Import +#endif + +#if __GMP_LIBGMP_DLL +#ifdef __GMP_WITHIN_GMP +/* compiling to go into a DLL libgmp */ +#define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT +#else +/* compiling to go into an application which will link to a DLL libgmp */ +#define __GMP_DECLSPEC __GMP_DECLSPEC_IMPORT +#endif +#else +/* all other cases */ +#define __GMP_DECLSPEC +#endif + + +#ifdef __GMP_SHORT_LIMB +typedef unsigned int mp_limb_t; +typedef int mp_limb_signed_t; +#else +#ifdef _LONG_LONG_LIMB +typedef unsigned long long int mp_limb_t; +typedef long long int mp_limb_signed_t; +#else +typedef unsigned long int mp_limb_t; +typedef long int mp_limb_signed_t; +#endif +#endif +typedef unsigned long int mp_bitcnt_t; + +/* For reference, note that the name __mpz_struct gets into C++ mangled + function names, which means although the "__" suggests an internal, we + must leave this name for binary compatibility. */ +typedef struct +{ + int _mp_alloc; /* Number of *limbs* allocated and pointed + to by the _mp_d field. */ + int _mp_size; /* abs(_mp_size) is the number of limbs the + last field points to. If _mp_size is + negative this is a negative number. */ + mp_limb_t *_mp_d; /* Pointer to the limbs. */ +} __mpz_struct; + +#endif /* __GNU_MP__ */ + + +typedef __mpz_struct MP_INT; /* gmp 1 source compatibility */ +typedef __mpz_struct mpz_t[1]; + +typedef mp_limb_t * mp_ptr; +typedef const mp_limb_t * mp_srcptr; +#if defined (_CRAY) && ! defined (_CRAYMPP) +/* plain `int' is much faster (48 bits) */ +#define __GMP_MP_SIZE_T_INT 1 +typedef int mp_size_t; +typedef int mp_exp_t; +#else +#define __GMP_MP_SIZE_T_INT 0 +typedef long int mp_size_t; +typedef long int mp_exp_t; +#endif + +typedef struct +{ + __mpz_struct _mp_num; + __mpz_struct _mp_den; +} __mpq_struct; + +typedef __mpq_struct MP_RAT; /* gmp 1 source compatibility */ +typedef __mpq_struct mpq_t[1]; + +typedef struct +{ + int _mp_prec; /* Max precision, in number of `mp_limb_t's. + Set by mpf_init and modified by + mpf_set_prec. The area pointed to by the + _mp_d field contains `prec' + 1 limbs. */ + int _mp_size; /* abs(_mp_size) is the number of limbs the + last field points to. If _mp_size is + negative this is a negative number. */ + mp_exp_t _mp_exp; /* Exponent, in the base of `mp_limb_t'. */ + mp_limb_t *_mp_d; /* Pointer to the limbs. */ +} __mpf_struct; + +typedef __mpf_struct mpf_t[1]; + +/* Available random number generation algorithms. */ +typedef enum +{ + GMP_RAND_ALG_DEFAULT = 0, + GMP_RAND_ALG_LC = GMP_RAND_ALG_DEFAULT /* Linear congruential. */ +} gmp_randalg_t; + +/* Random state struct. */ +typedef struct +{ + mpz_t _mp_seed; /* _mp_d member points to state of the generator. */ + gmp_randalg_t _mp_alg; /* Currently unused. */ + union { + void *_mp_lc; /* Pointer to function pointers structure. */ + } _mp_algdata; +} __gmp_randstate_struct; +typedef __gmp_randstate_struct gmp_randstate_t[1]; + +/* Types for function declarations in gmp files. */ +/* ??? Should not pollute user name space with these ??? */ +typedef const __mpz_struct *mpz_srcptr; +typedef __mpz_struct *mpz_ptr; +typedef const __mpf_struct *mpf_srcptr; +typedef __mpf_struct *mpf_ptr; +typedef const __mpq_struct *mpq_srcptr; +typedef __mpq_struct *mpq_ptr; + + +/* This is not wanted in mp.h, so put it outside the __GNU_MP__ common + section. */ +#if __GMP_LIBGMP_DLL +#ifdef __GMP_WITHIN_GMPXX +/* compiling to go into a DLL libgmpxx */ +#define __GMP_DECLSPEC_XX __GMP_DECLSPEC_EXPORT +#else +/* compiling to go into a application which will link to a DLL libgmpxx */ +#define __GMP_DECLSPEC_XX __GMP_DECLSPEC_IMPORT +#endif +#else +/* all other cases */ +#define __GMP_DECLSPEC_XX +#endif + + +#ifndef __MPN +#define __MPN(x) __gmpn_##x +#endif + +/* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4, + defines EOF but not FILE. */ +#if defined (FILE) \ + || defined (H_STDIO) \ + || defined (_H_STDIO) /* AIX */ \ + || defined (_STDIO_H) /* glibc, Sun, SCO */ \ + || defined (_STDIO_H_) /* BSD, OSF */ \ + || defined (__STDIO_H) /* Borland */ \ + || defined (__STDIO_H__) /* IRIX */ \ + || defined (_STDIO_INCLUDED) /* HPUX */ \ + || defined (__dj_include_stdio_h_) /* DJGPP */ \ + || defined (_FILE_DEFINED) /* Microsoft */ \ + || defined (__STDIO__) /* Apple MPW MrC */ \ + || defined (_MSL_STDIO_H) /* Metrowerks */ \ + || defined (_STDIO_H_INCLUDED) /* QNX4 */ \ + || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ \ + || defined (__STDIO_LOADED) /* VMS */ +#define _GMP_H_HAVE_FILE 1 +#endif + +/* In ISO C, if a prototype involving "struct obstack *" is given without + that structure defined, then the struct is scoped down to just the + prototype, causing a conflict if it's subsequently defined for real. So + only give prototypes if we've got obstack.h. */ +#if defined (_OBSTACK_H) /* glibc */ +#define _GMP_H_HAVE_OBSTACK 1 +#endif + +/* The prototypes for gmp_vprintf etc are provided only if va_list is defined, + via an application having included . Usually va_list is a typedef + so can't be tested directly, but C99 specifies that va_start is a macro. + + will define some sort of va_list for vprintf and vfprintf, but + let's not bother trying to use that since it's not standard and since + application uses for gmp_vprintf etc will almost certainly require the + whole anyway. */ + +#ifdef va_start +#define _GMP_H_HAVE_VA_LIST 1 +#endif + +/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */ +#if defined (__GNUC__) && defined (__GNUC_MINOR__) +#define __GMP_GNUC_PREREQ(maj, min) \ + ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) +#else +#define __GMP_GNUC_PREREQ(maj, min) 0 +#endif + +/* "pure" is in gcc 2.96 and up, see "(gcc)Function Attributes". Basically + it means a function does nothing but examine its arguments and memory + (global or via arguments) to generate a return value, but changes nothing + and has no side-effects. __GMP_NO_ATTRIBUTE_CONST_PURE lets + tune/common.c etc turn this off when trying to write timing loops. */ +#if __GMP_GNUC_PREREQ (2,96) && ! defined (__GMP_NO_ATTRIBUTE_CONST_PURE) +#define __GMP_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#else +#define __GMP_ATTRIBUTE_PURE +#endif + + +/* __GMP_CAST allows us to use static_cast in C++, so our macros are clean + to "g++ -Wold-style-cast". + + Casts in "extern inline" code within an extern "C" block don't induce + these warnings, so __GMP_CAST only needs to be used on documented + macros. */ + +#ifdef __cplusplus +#define __GMP_CAST(type, expr) (static_cast (expr)) +#else +#define __GMP_CAST(type, expr) ((type) (expr)) +#endif + + +/* An empty "throw ()" means the function doesn't throw any C++ exceptions, + this can save some stack frame info in applications. + + Currently it's given only on functions which never divide-by-zero etc, + don't allocate memory, and are expected to never need to allocate memory. + This leaves open the possibility of a C++ throw from a future GMP + exceptions scheme. + + mpz_set_ui etc are omitted to leave open the lazy allocation scheme + described in doc/tasks.html. mpz_get_d etc are omitted to leave open + exceptions for float overflows. + + Note that __GMP_NOTHROW must be given on any inlines the same as on their + prototypes (for g++ at least, where they're used together). Note also + that g++ 3.0 demands that __GMP_NOTHROW is before other attributes like + __GMP_ATTRIBUTE_PURE. */ + +#if defined (__cplusplus) +#define __GMP_NOTHROW throw () +#else +#define __GMP_NOTHROW +#endif + + +/* PORTME: What other compilers have a useful "extern inline"? "static + inline" would be an acceptable substitute if the compiler (or linker) + discards unused statics. */ + + /* gcc has __inline__ in all modes, including strict ansi. Give a prototype + for an inline too, so as to correctly specify "dllimport" on windows, in + case the function is called rather than inlined. + GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 + inline semantics, unless -fgnu89-inline is used. */ +#ifdef __GNUC__ +#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) \ + || (defined __GNUC_GNU_INLINE__ && defined __cplusplus) +#define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) +#else +#define __GMP_EXTERN_INLINE extern __inline__ +#endif +#define __GMP_INLINE_PROTOTYPES 1 +#endif + +/* DEC C (eg. version 5.9) supports "static __inline foo()", even in -std1 + strict ANSI mode. Inlining is done even when not optimizing (ie. -O0 + mode, which is the default), but an unnecessary local copy of foo is + emitted unless -O is used. "extern __inline" is accepted, but the + "extern" appears to be ignored, ie. it becomes a plain global function + but which is inlined within its file. Don't know if all old versions of + DEC C supported __inline, but as a start let's do the right thing for + current versions. */ +#ifdef __DECC +#define __GMP_EXTERN_INLINE static __inline +#endif + +/* SCO OpenUNIX 8 cc supports "static inline foo()" but not in -Xc strict + ANSI mode (__STDC__ is 1 in that mode). Inlining only actually takes + place under -O. Without -O "foo" seems to be emitted whether it's used + or not, which is wasteful. "extern inline foo()" isn't useful, the + "extern" is apparently ignored, so foo is inlined if possible but also + emitted as a global, which causes multiple definition errors when + building a shared libgmp. */ +#ifdef __SCO_VERSION__ +#if __SCO_VERSION__ > 400000000 && __STDC__ != 1 \ + && ! defined (__GMP_EXTERN_INLINE) +#define __GMP_EXTERN_INLINE static inline +#endif +#endif + +/* Microsoft's C compiler accepts __inline */ +#ifdef _MSC_VER +#define __GMP_EXTERN_INLINE __inline +#endif + +/* Recent enough Sun C compilers want "inline" */ +#if defined (__SUNPRO_C) && __SUNPRO_C >= 0x560 \ + && ! defined (__GMP_EXTERN_INLINE) +#define __GMP_EXTERN_INLINE inline +#endif + +/* Somewhat older Sun C compilers want "static inline" */ +#if defined (__SUNPRO_C) && __SUNPRO_C >= 0x540 \ + && ! defined (__GMP_EXTERN_INLINE) +#define __GMP_EXTERN_INLINE static inline +#endif + + +/* C++ always has "inline" and since it's a normal feature the linker should + discard duplicate non-inlined copies, or if it doesn't then that's a + problem for everyone, not just GMP. */ +#if defined (__cplusplus) && ! defined (__GMP_EXTERN_INLINE) +#define __GMP_EXTERN_INLINE inline +#endif + +/* Don't do any inlining within a configure run, since if the compiler ends + up emitting copies of the code into the object file it can end up + demanding the various support routines (like mpn_popcount) for linking, + making the "alloca" test and perhaps others fail. And on hppa ia64 a + pre-release gcc 3.2 was seen not respecting the "extern" in "extern + __inline__", triggering this problem too. */ +#if defined (__GMP_WITHIN_CONFIGURE) && ! __GMP_WITHIN_CONFIGURE_INLINE +#undef __GMP_EXTERN_INLINE +#endif + +/* By default, don't give a prototype when there's going to be an inline + version. Note in particular that Cray C++ objects to the combination of + prototype and inline. */ +#ifdef __GMP_EXTERN_INLINE +#ifndef __GMP_INLINE_PROTOTYPES +#define __GMP_INLINE_PROTOTYPES 0 +#endif +#else +#define __GMP_INLINE_PROTOTYPES 1 +#endif + + +#define __GMP_ABS(x) ((x) >= 0 ? (x) : -(x)) +#define __GMP_MAX(h,i) ((h) > (i) ? (h) : (i)) + +/* __GMP_USHRT_MAX is not "~ (unsigned short) 0" because short is promoted + to int by "~". It still needs to have the promoted type. */ +#define __GMP_UINT_MAX (~ (unsigned) 0) +#define __GMP_ULONG_MAX (~ (unsigned long) 0) +#define __GMP_USHRT_MAX (0 + (unsigned short) ~0) + + +/* __builtin_expect is in gcc 3.0, and not in 2.95. */ +#if __GMP_GNUC_PREREQ (3,0) +#define __GMP_LIKELY(cond) __builtin_expect ((long) ((cond) != 0), (long) 1) +#define __GMP_UNLIKELY(cond) __builtin_expect ((long) ((cond) != 0), (long) 0) +#else +#define __GMP_LIKELY(cond) (cond) +#define __GMP_UNLIKELY(cond) (cond) +#endif + +#ifdef _CRAY +#define __GMP_CRAY_Pragma(str) _Pragma (str) +#else +#define __GMP_CRAY_Pragma(str) +#endif + + +/* Allow direct user access to numerator and denominator of a mpq_t object. */ +#define mpq_numref(Q) (&((Q)->_mp_num)) +#define mpq_denref(Q) (&((Q)->_mp_den)) + + +#if defined (__cplusplus) +extern "C" { +using std::FILE; +#endif + +#define mp_set_memory_functions __gmp_set_memory_functions +__GMP_DECLSPEC void mp_set_memory_functions (void *(*) (size_t), + void *(*) (void *, size_t, size_t), + void (*) (void *, size_t)) __GMP_NOTHROW; + +#define mp_get_memory_functions __gmp_get_memory_functions +__GMP_DECLSPEC void mp_get_memory_functions (void *(**) (size_t), + void *(**) (void *, size_t, size_t), + void (**) (void *, size_t)) __GMP_NOTHROW; + +#define mp_bits_per_limb __gmp_bits_per_limb +__GMP_DECLSPEC extern const int mp_bits_per_limb; + +#define gmp_errno __gmp_errno +__GMP_DECLSPEC extern int gmp_errno; + +#define gmp_version __gmp_version +__GMP_DECLSPEC extern const char * const gmp_version; + + +/**************** Random number routines. ****************/ + +/* obsolete */ +#define gmp_randinit __gmp_randinit +__GMP_DECLSPEC void gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...); + +#define gmp_randinit_default __gmp_randinit_default +__GMP_DECLSPEC void gmp_randinit_default (gmp_randstate_t); + +#define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp +__GMP_DECLSPEC void gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, mp_bitcnt_t); + +#define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size +__GMP_DECLSPEC int gmp_randinit_lc_2exp_size (gmp_randstate_t, mp_bitcnt_t); + +#define gmp_randinit_mt __gmp_randinit_mt +__GMP_DECLSPEC void gmp_randinit_mt (gmp_randstate_t); + +#define gmp_randinit_set __gmp_randinit_set +__GMP_DECLSPEC void gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *); + +#define gmp_randseed __gmp_randseed +__GMP_DECLSPEC void gmp_randseed (gmp_randstate_t, mpz_srcptr); + +#define gmp_randseed_ui __gmp_randseed_ui +__GMP_DECLSPEC void gmp_randseed_ui (gmp_randstate_t, unsigned long int); + +#define gmp_randclear __gmp_randclear +__GMP_DECLSPEC void gmp_randclear (gmp_randstate_t); + +#define gmp_urandomb_ui __gmp_urandomb_ui +__GMP_DECLSPEC unsigned long gmp_urandomb_ui (gmp_randstate_t, unsigned long); + +#define gmp_urandomm_ui __gmp_urandomm_ui +__GMP_DECLSPEC unsigned long gmp_urandomm_ui (gmp_randstate_t, unsigned long); + + +/**************** Formatted output routines. ****************/ + +#define gmp_asprintf __gmp_asprintf +__GMP_DECLSPEC int gmp_asprintf (char **, const char *, ...); + +#define gmp_fprintf __gmp_fprintf +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC int gmp_fprintf (FILE *, const char *, ...); +#endif + +#define gmp_obstack_printf __gmp_obstack_printf +#if defined (_GMP_H_HAVE_OBSTACK) +__GMP_DECLSPEC int gmp_obstack_printf (struct obstack *, const char *, ...); +#endif + +#define gmp_obstack_vprintf __gmp_obstack_vprintf +#if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_obstack_vprintf (struct obstack *, const char *, va_list); +#endif + +#define gmp_printf __gmp_printf +__GMP_DECLSPEC int gmp_printf (const char *, ...); + +#define gmp_snprintf __gmp_snprintf +__GMP_DECLSPEC int gmp_snprintf (char *, size_t, const char *, ...); + +#define gmp_sprintf __gmp_sprintf +__GMP_DECLSPEC int gmp_sprintf (char *, const char *, ...); + +#define gmp_vasprintf __gmp_vasprintf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vasprintf (char **, const char *, va_list); +#endif + +#define gmp_vfprintf __gmp_vfprintf +#if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vfprintf (FILE *, const char *, va_list); +#endif + +#define gmp_vprintf __gmp_vprintf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vprintf (const char *, va_list); +#endif + +#define gmp_vsnprintf __gmp_vsnprintf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vsnprintf (char *, size_t, const char *, va_list); +#endif + +#define gmp_vsprintf __gmp_vsprintf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vsprintf (char *, const char *, va_list); +#endif + + +/**************** Formatted input routines. ****************/ + +#define gmp_fscanf __gmp_fscanf +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC int gmp_fscanf (FILE *, const char *, ...); +#endif + +#define gmp_scanf __gmp_scanf +__GMP_DECLSPEC int gmp_scanf (const char *, ...); + +#define gmp_sscanf __gmp_sscanf +__GMP_DECLSPEC int gmp_sscanf (const char *, const char *, ...); + +#define gmp_vfscanf __gmp_vfscanf +#if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vfscanf (FILE *, const char *, va_list); +#endif + +#define gmp_vscanf __gmp_vscanf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vscanf (const char *, va_list); +#endif + +#define gmp_vsscanf __gmp_vsscanf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vsscanf (const char *, const char *, va_list); +#endif + + +/**************** Integer (i.e. Z) routines. ****************/ + +#define _mpz_realloc __gmpz_realloc +#define mpz_realloc __gmpz_realloc +__GMP_DECLSPEC void *_mpz_realloc (mpz_ptr, mp_size_t); + +#define mpz_abs __gmpz_abs +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs) +__GMP_DECLSPEC void mpz_abs (mpz_ptr, mpz_srcptr); +#endif + +#define mpz_add __gmpz_add +__GMP_DECLSPEC void mpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_add_ui __gmpz_add_ui +__GMP_DECLSPEC void mpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_addmul __gmpz_addmul +__GMP_DECLSPEC void mpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_addmul_ui __gmpz_addmul_ui +__GMP_DECLSPEC void mpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_and __gmpz_and +__GMP_DECLSPEC void mpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_array_init __gmpz_array_init +__GMP_DECLSPEC void mpz_array_init (mpz_ptr, mp_size_t, mp_size_t); + +#define mpz_bin_ui __gmpz_bin_ui +__GMP_DECLSPEC void mpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_bin_uiui __gmpz_bin_uiui +__GMP_DECLSPEC void mpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_cdiv_q __gmpz_cdiv_q +__GMP_DECLSPEC void mpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp +__GMP_DECLSPEC void mpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_cdiv_q_ui __gmpz_cdiv_q_ui +__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_cdiv_qr __gmpz_cdiv_qr +__GMP_DECLSPEC void mpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui +__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_cdiv_r __gmpz_cdiv_r +__GMP_DECLSPEC void mpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp +__GMP_DECLSPEC void mpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_cdiv_r_ui __gmpz_cdiv_r_ui +__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_cdiv_ui __gmpz_cdiv_ui +__GMP_DECLSPEC unsigned long int mpz_cdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; + +#define mpz_clear __gmpz_clear +__GMP_DECLSPEC void mpz_clear (mpz_ptr); + +#define mpz_clears __gmpz_clears +__GMP_DECLSPEC void mpz_clears (mpz_ptr, ...); + +#define mpz_clrbit __gmpz_clrbit +__GMP_DECLSPEC void mpz_clrbit (mpz_ptr, mp_bitcnt_t); + +#define mpz_cmp __gmpz_cmp +__GMP_DECLSPEC int mpz_cmp (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_cmp_d __gmpz_cmp_d +__GMP_DECLSPEC int mpz_cmp_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; + +#define _mpz_cmp_si __gmpz_cmp_si +__GMP_DECLSPEC int _mpz_cmp_si (mpz_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define _mpz_cmp_ui __gmpz_cmp_ui +__GMP_DECLSPEC int _mpz_cmp_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_cmpabs __gmpz_cmpabs +__GMP_DECLSPEC int mpz_cmpabs (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_cmpabs_d __gmpz_cmpabs_d +__GMP_DECLSPEC int mpz_cmpabs_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; + +#define mpz_cmpabs_ui __gmpz_cmpabs_ui +__GMP_DECLSPEC int mpz_cmpabs_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_com __gmpz_com +__GMP_DECLSPEC void mpz_com (mpz_ptr, mpz_srcptr); + +#define mpz_combit __gmpz_combit +__GMP_DECLSPEC void mpz_combit (mpz_ptr, mp_bitcnt_t); + +#define mpz_congruent_p __gmpz_congruent_p +__GMP_DECLSPEC int mpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_congruent_2exp_p __gmpz_congruent_2exp_p +__GMP_DECLSPEC int mpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_congruent_ui_p __gmpz_congruent_ui_p +__GMP_DECLSPEC int mpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __GMP_ATTRIBUTE_PURE; + +#define mpz_divexact __gmpz_divexact +__GMP_DECLSPEC void mpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_divexact_ui __gmpz_divexact_ui +__GMP_DECLSPEC void mpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long); + +#define mpz_divisible_p __gmpz_divisible_p +__GMP_DECLSPEC int mpz_divisible_p (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_divisible_ui_p __gmpz_divisible_ui_p +__GMP_DECLSPEC int mpz_divisible_ui_p (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; + +#define mpz_divisible_2exp_p __gmpz_divisible_2exp_p +__GMP_DECLSPEC int mpz_divisible_2exp_p (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_dump __gmpz_dump +__GMP_DECLSPEC void mpz_dump (mpz_srcptr); + +#define mpz_export __gmpz_export +__GMP_DECLSPEC void *mpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr); + +#define mpz_fac_ui __gmpz_fac_ui +__GMP_DECLSPEC void mpz_fac_ui (mpz_ptr, unsigned long int); + +#define mpz_2fac_ui __gmpz_2fac_ui +__GMP_DECLSPEC void mpz_2fac_ui (mpz_ptr, unsigned long int); + +#define mpz_mfac_uiui __gmpz_mfac_uiui +__GMP_DECLSPEC void mpz_mfac_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_primorial_ui __gmpz_primorial_ui +__GMP_DECLSPEC void mpz_primorial_ui (mpz_ptr, unsigned long int); + +#define mpz_fdiv_q __gmpz_fdiv_q +__GMP_DECLSPEC void mpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp +__GMP_DECLSPEC void mpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_fdiv_q_ui __gmpz_fdiv_q_ui +__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_fdiv_qr __gmpz_fdiv_qr +__GMP_DECLSPEC void mpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui +__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_fdiv_r __gmpz_fdiv_r +__GMP_DECLSPEC void mpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp +__GMP_DECLSPEC void mpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_fdiv_r_ui __gmpz_fdiv_r_ui +__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_fdiv_ui __gmpz_fdiv_ui +__GMP_DECLSPEC unsigned long int mpz_fdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; + +#define mpz_fib_ui __gmpz_fib_ui +__GMP_DECLSPEC void mpz_fib_ui (mpz_ptr, unsigned long int); + +#define mpz_fib2_ui __gmpz_fib2_ui +__GMP_DECLSPEC void mpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int); + +#define mpz_fits_sint_p __gmpz_fits_sint_p +__GMP_DECLSPEC int mpz_fits_sint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_fits_slong_p __gmpz_fits_slong_p +__GMP_DECLSPEC int mpz_fits_slong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_fits_sshort_p __gmpz_fits_sshort_p +__GMP_DECLSPEC int mpz_fits_sshort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_fits_uint_p __gmpz_fits_uint_p +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p) +__GMP_DECLSPEC int mpz_fits_uint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_fits_ulong_p __gmpz_fits_ulong_p +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p) +__GMP_DECLSPEC int mpz_fits_ulong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_fits_ushort_p __gmpz_fits_ushort_p +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p) +__GMP_DECLSPEC int mpz_fits_ushort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_gcd __gmpz_gcd +__GMP_DECLSPEC void mpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_gcd_ui __gmpz_gcd_ui +__GMP_DECLSPEC unsigned long int mpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_gcdext __gmpz_gcdext +__GMP_DECLSPEC void mpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_get_d __gmpz_get_d +__GMP_DECLSPEC double mpz_get_d (mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_get_d_2exp __gmpz_get_d_2exp +__GMP_DECLSPEC double mpz_get_d_2exp (signed long int *, mpz_srcptr); + +#define mpz_get_si __gmpz_get_si +__GMP_DECLSPEC /* signed */ long int mpz_get_si (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_get_str __gmpz_get_str +__GMP_DECLSPEC char *mpz_get_str (char *, int, mpz_srcptr); + +#define mpz_get_ui __gmpz_get_ui +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui) +__GMP_DECLSPEC unsigned long int mpz_get_ui (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_getlimbn __gmpz_getlimbn +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn) +__GMP_DECLSPEC mp_limb_t mpz_getlimbn (mpz_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_hamdist __gmpz_hamdist +__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_import __gmpz_import +__GMP_DECLSPEC void mpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *); + +#define mpz_init __gmpz_init +__GMP_DECLSPEC void mpz_init (mpz_ptr); + +#define mpz_init2 __gmpz_init2 +__GMP_DECLSPEC void mpz_init2 (mpz_ptr, mp_bitcnt_t); + +#define mpz_inits __gmpz_inits +__GMP_DECLSPEC void mpz_inits (mpz_ptr, ...); + +#define mpz_init_set __gmpz_init_set +__GMP_DECLSPEC void mpz_init_set (mpz_ptr, mpz_srcptr); + +#define mpz_init_set_d __gmpz_init_set_d +__GMP_DECLSPEC void mpz_init_set_d (mpz_ptr, double); + +#define mpz_init_set_si __gmpz_init_set_si +__GMP_DECLSPEC void mpz_init_set_si (mpz_ptr, signed long int); + +#define mpz_init_set_str __gmpz_init_set_str +__GMP_DECLSPEC int mpz_init_set_str (mpz_ptr, const char *, int); + +#define mpz_init_set_ui __gmpz_init_set_ui +__GMP_DECLSPEC void mpz_init_set_ui (mpz_ptr, unsigned long int); + +#define mpz_inp_raw __gmpz_inp_raw +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpz_inp_raw (mpz_ptr, FILE *); +#endif + +#define mpz_inp_str __gmpz_inp_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpz_inp_str (mpz_ptr, FILE *, int); +#endif + +#define mpz_invert __gmpz_invert +__GMP_DECLSPEC int mpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_ior __gmpz_ior +__GMP_DECLSPEC void mpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_jacobi __gmpz_jacobi +__GMP_DECLSPEC int mpz_jacobi (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_kronecker mpz_jacobi /* alias */ + +#define mpz_kronecker_si __gmpz_kronecker_si +__GMP_DECLSPEC int mpz_kronecker_si (mpz_srcptr, long) __GMP_ATTRIBUTE_PURE; + +#define mpz_kronecker_ui __gmpz_kronecker_ui +__GMP_DECLSPEC int mpz_kronecker_ui (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; + +#define mpz_si_kronecker __gmpz_si_kronecker +__GMP_DECLSPEC int mpz_si_kronecker (long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_ui_kronecker __gmpz_ui_kronecker +__GMP_DECLSPEC int mpz_ui_kronecker (unsigned long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_lcm __gmpz_lcm +__GMP_DECLSPEC void mpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_lcm_ui __gmpz_lcm_ui +__GMP_DECLSPEC void mpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long); + +#define mpz_legendre mpz_jacobi /* alias */ + +#define mpz_lucnum_ui __gmpz_lucnum_ui +__GMP_DECLSPEC void mpz_lucnum_ui (mpz_ptr, unsigned long int); + +#define mpz_lucnum2_ui __gmpz_lucnum2_ui +__GMP_DECLSPEC void mpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int); + +#define mpz_millerrabin __gmpz_millerrabin +__GMP_DECLSPEC int mpz_millerrabin (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; + +#define mpz_mod __gmpz_mod +__GMP_DECLSPEC void mpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */ + +#define mpz_mul __gmpz_mul +__GMP_DECLSPEC void mpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_mul_2exp __gmpz_mul_2exp +__GMP_DECLSPEC void mpz_mul_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_mul_si __gmpz_mul_si +__GMP_DECLSPEC void mpz_mul_si (mpz_ptr, mpz_srcptr, long int); + +#define mpz_mul_ui __gmpz_mul_ui +__GMP_DECLSPEC void mpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_neg __gmpz_neg +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg) +__GMP_DECLSPEC void mpz_neg (mpz_ptr, mpz_srcptr); +#endif + +#define mpz_nextprime __gmpz_nextprime +__GMP_DECLSPEC void mpz_nextprime (mpz_ptr, mpz_srcptr); + +#define mpz_out_raw __gmpz_out_raw +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpz_out_raw (FILE *, mpz_srcptr); +#endif + +#define mpz_out_str __gmpz_out_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpz_out_str (FILE *, int, mpz_srcptr); +#endif + +#define mpz_perfect_power_p __gmpz_perfect_power_p +__GMP_DECLSPEC int mpz_perfect_power_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_perfect_square_p __gmpz_perfect_square_p +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p) +__GMP_DECLSPEC int mpz_perfect_square_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_popcount __gmpz_popcount +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount) +__GMP_DECLSPEC mp_bitcnt_t mpz_popcount (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_pow_ui __gmpz_pow_ui +__GMP_DECLSPEC void mpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_powm __gmpz_powm +__GMP_DECLSPEC void mpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); + +#define mpz_powm_sec __gmpz_powm_sec +__GMP_DECLSPEC void mpz_powm_sec (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); + +#define mpz_powm_ui __gmpz_powm_ui +__GMP_DECLSPEC void mpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); + +#define mpz_probab_prime_p __gmpz_probab_prime_p +__GMP_DECLSPEC int mpz_probab_prime_p (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; + +#define mpz_random __gmpz_random +__GMP_DECLSPEC void mpz_random (mpz_ptr, mp_size_t); + +#define mpz_random2 __gmpz_random2 +__GMP_DECLSPEC void mpz_random2 (mpz_ptr, mp_size_t); + +#define mpz_realloc2 __gmpz_realloc2 +__GMP_DECLSPEC void mpz_realloc2 (mpz_ptr, mp_bitcnt_t); + +#define mpz_remove __gmpz_remove +__GMP_DECLSPEC mp_bitcnt_t mpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_root __gmpz_root +__GMP_DECLSPEC int mpz_root (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_rootrem __gmpz_rootrem +__GMP_DECLSPEC void mpz_rootrem (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_rrandomb __gmpz_rrandomb +__GMP_DECLSPEC void mpz_rrandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); + +#define mpz_scan0 __gmpz_scan0 +__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_scan1 __gmpz_scan1 +__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_set __gmpz_set +__GMP_DECLSPEC void mpz_set (mpz_ptr, mpz_srcptr); + +#define mpz_set_d __gmpz_set_d +__GMP_DECLSPEC void mpz_set_d (mpz_ptr, double); + +#define mpz_set_f __gmpz_set_f +__GMP_DECLSPEC void mpz_set_f (mpz_ptr, mpf_srcptr); + +#define mpz_set_q __gmpz_set_q +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q) +__GMP_DECLSPEC void mpz_set_q (mpz_ptr, mpq_srcptr); +#endif + +#define mpz_set_si __gmpz_set_si +__GMP_DECLSPEC void mpz_set_si (mpz_ptr, signed long int); + +#define mpz_set_str __gmpz_set_str +__GMP_DECLSPEC int mpz_set_str (mpz_ptr, const char *, int); + +#define mpz_set_ui __gmpz_set_ui +__GMP_DECLSPEC void mpz_set_ui (mpz_ptr, unsigned long int); + +#define mpz_setbit __gmpz_setbit +__GMP_DECLSPEC void mpz_setbit (mpz_ptr, mp_bitcnt_t); + +#define mpz_size __gmpz_size +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size) +__GMP_DECLSPEC size_t mpz_size (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_sizeinbase __gmpz_sizeinbase +__GMP_DECLSPEC size_t mpz_sizeinbase (mpz_srcptr, int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_sqrt __gmpz_sqrt +__GMP_DECLSPEC void mpz_sqrt (mpz_ptr, mpz_srcptr); + +#define mpz_sqrtrem __gmpz_sqrtrem +__GMP_DECLSPEC void mpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr); + +#define mpz_sub __gmpz_sub +__GMP_DECLSPEC void mpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_sub_ui __gmpz_sub_ui +__GMP_DECLSPEC void mpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_ui_sub __gmpz_ui_sub +__GMP_DECLSPEC void mpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr); + +#define mpz_submul __gmpz_submul +__GMP_DECLSPEC void mpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_submul_ui __gmpz_submul_ui +__GMP_DECLSPEC void mpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_swap __gmpz_swap +__GMP_DECLSPEC void mpz_swap (mpz_ptr, mpz_ptr) __GMP_NOTHROW; + +#define mpz_tdiv_ui __gmpz_tdiv_ui +__GMP_DECLSPEC unsigned long int mpz_tdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; + +#define mpz_tdiv_q __gmpz_tdiv_q +__GMP_DECLSPEC void mpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp +__GMP_DECLSPEC void mpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_tdiv_q_ui __gmpz_tdiv_q_ui +__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_tdiv_qr __gmpz_tdiv_qr +__GMP_DECLSPEC void mpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui +__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_tdiv_r __gmpz_tdiv_r +__GMP_DECLSPEC void mpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp +__GMP_DECLSPEC void mpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_tdiv_r_ui __gmpz_tdiv_r_ui +__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_tstbit __gmpz_tstbit +__GMP_DECLSPEC int mpz_tstbit (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_ui_pow_ui __gmpz_ui_pow_ui +__GMP_DECLSPEC void mpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_urandomb __gmpz_urandomb +__GMP_DECLSPEC void mpz_urandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); + +#define mpz_urandomm __gmpz_urandomm +__GMP_DECLSPEC void mpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr); + +#define mpz_xor __gmpz_xor +#define mpz_eor __gmpz_xor +__GMP_DECLSPEC void mpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_limbs_read __gmpz_limbs_read +__GMP_DECLSPEC mp_srcptr mpz_limbs_read (mpz_srcptr); + +#define mpz_limbs_write __gmpz_limbs_write +__GMP_DECLSPEC mp_ptr mpz_limbs_write (mpz_ptr, mp_size_t); + +#define mpz_limbs_modify __gmpz_limbs_modify +__GMP_DECLSPEC mp_ptr mpz_limbs_modify (mpz_ptr, mp_size_t); + +#define mpz_limbs_finish __gmpz_limbs_finish +__GMP_DECLSPEC void mpz_limbs_finish (mpz_ptr, mp_size_t); + +#define mpz_roinit_n __gmpz_roinit_n +__GMP_DECLSPEC mpz_srcptr mpz_roinit_n (mpz_ptr, mp_srcptr, mp_size_t); + +#define MPZ_ROINIT_N(xp, xs) {{0, (xs),(xp) }} + +/**************** Rational (i.e. Q) routines. ****************/ + +#define mpq_abs __gmpq_abs +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs) +__GMP_DECLSPEC void mpq_abs (mpq_ptr, mpq_srcptr); +#endif + +#define mpq_add __gmpq_add +__GMP_DECLSPEC void mpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr); + +#define mpq_canonicalize __gmpq_canonicalize +__GMP_DECLSPEC void mpq_canonicalize (mpq_ptr); + +#define mpq_clear __gmpq_clear +__GMP_DECLSPEC void mpq_clear (mpq_ptr); + +#define mpq_clears __gmpq_clears +__GMP_DECLSPEC void mpq_clears (mpq_ptr, ...); + +#define mpq_cmp __gmpq_cmp +__GMP_DECLSPEC int mpq_cmp (mpq_srcptr, mpq_srcptr) __GMP_ATTRIBUTE_PURE; + +#define _mpq_cmp_si __gmpq_cmp_si +__GMP_DECLSPEC int _mpq_cmp_si (mpq_srcptr, long, unsigned long) __GMP_ATTRIBUTE_PURE; + +#define _mpq_cmp_ui __gmpq_cmp_ui +__GMP_DECLSPEC int _mpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __GMP_ATTRIBUTE_PURE; + +#define mpq_div __gmpq_div +__GMP_DECLSPEC void mpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr); + +#define mpq_div_2exp __gmpq_div_2exp +__GMP_DECLSPEC void mpq_div_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); + +#define mpq_equal __gmpq_equal +__GMP_DECLSPEC int mpq_equal (mpq_srcptr, mpq_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpq_get_num __gmpq_get_num +__GMP_DECLSPEC void mpq_get_num (mpz_ptr, mpq_srcptr); + +#define mpq_get_den __gmpq_get_den +__GMP_DECLSPEC void mpq_get_den (mpz_ptr, mpq_srcptr); + +#define mpq_get_d __gmpq_get_d +__GMP_DECLSPEC double mpq_get_d (mpq_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpq_get_str __gmpq_get_str +__GMP_DECLSPEC char *mpq_get_str (char *, int, mpq_srcptr); + +#define mpq_init __gmpq_init +__GMP_DECLSPEC void mpq_init (mpq_ptr); + +#define mpq_inits __gmpq_inits +__GMP_DECLSPEC void mpq_inits (mpq_ptr, ...); + +#define mpq_inp_str __gmpq_inp_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpq_inp_str (mpq_ptr, FILE *, int); +#endif + +#define mpq_inv __gmpq_inv +__GMP_DECLSPEC void mpq_inv (mpq_ptr, mpq_srcptr); + +#define mpq_mul __gmpq_mul +__GMP_DECLSPEC void mpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr); + +#define mpq_mul_2exp __gmpq_mul_2exp +__GMP_DECLSPEC void mpq_mul_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); + +#define mpq_neg __gmpq_neg +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg) +__GMP_DECLSPEC void mpq_neg (mpq_ptr, mpq_srcptr); +#endif + +#define mpq_out_str __gmpq_out_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpq_out_str (FILE *, int, mpq_srcptr); +#endif + +#define mpq_set __gmpq_set +__GMP_DECLSPEC void mpq_set (mpq_ptr, mpq_srcptr); + +#define mpq_set_d __gmpq_set_d +__GMP_DECLSPEC void mpq_set_d (mpq_ptr, double); + +#define mpq_set_den __gmpq_set_den +__GMP_DECLSPEC void mpq_set_den (mpq_ptr, mpz_srcptr); + +#define mpq_set_f __gmpq_set_f +__GMP_DECLSPEC void mpq_set_f (mpq_ptr, mpf_srcptr); + +#define mpq_set_num __gmpq_set_num +__GMP_DECLSPEC void mpq_set_num (mpq_ptr, mpz_srcptr); + +#define mpq_set_si __gmpq_set_si +__GMP_DECLSPEC void mpq_set_si (mpq_ptr, signed long int, unsigned long int); + +#define mpq_set_str __gmpq_set_str +__GMP_DECLSPEC int mpq_set_str (mpq_ptr, const char *, int); + +#define mpq_set_ui __gmpq_set_ui +__GMP_DECLSPEC void mpq_set_ui (mpq_ptr, unsigned long int, unsigned long int); + +#define mpq_set_z __gmpq_set_z +__GMP_DECLSPEC void mpq_set_z (mpq_ptr, mpz_srcptr); + +#define mpq_sub __gmpq_sub +__GMP_DECLSPEC void mpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr); + +#define mpq_swap __gmpq_swap +__GMP_DECLSPEC void mpq_swap (mpq_ptr, mpq_ptr) __GMP_NOTHROW; + + +/**************** Float (i.e. F) routines. ****************/ + +#define mpf_abs __gmpf_abs +__GMP_DECLSPEC void mpf_abs (mpf_ptr, mpf_srcptr); + +#define mpf_add __gmpf_add +__GMP_DECLSPEC void mpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr); + +#define mpf_add_ui __gmpf_add_ui +__GMP_DECLSPEC void mpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int); +#define mpf_ceil __gmpf_ceil +__GMP_DECLSPEC void mpf_ceil (mpf_ptr, mpf_srcptr); + +#define mpf_clear __gmpf_clear +__GMP_DECLSPEC void mpf_clear (mpf_ptr); + +#define mpf_clears __gmpf_clears +__GMP_DECLSPEC void mpf_clears (mpf_ptr, ...); + +#define mpf_cmp __gmpf_cmp +__GMP_DECLSPEC int mpf_cmp (mpf_srcptr, mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_cmp_d __gmpf_cmp_d +__GMP_DECLSPEC int mpf_cmp_d (mpf_srcptr, double) __GMP_ATTRIBUTE_PURE; + +#define mpf_cmp_si __gmpf_cmp_si +__GMP_DECLSPEC int mpf_cmp_si (mpf_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_cmp_ui __gmpf_cmp_ui +__GMP_DECLSPEC int mpf_cmp_ui (mpf_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_div __gmpf_div +__GMP_DECLSPEC void mpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr); + +#define mpf_div_2exp __gmpf_div_2exp +__GMP_DECLSPEC void mpf_div_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); + +#define mpf_div_ui __gmpf_div_ui +__GMP_DECLSPEC void mpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int); + +#define mpf_dump __gmpf_dump +__GMP_DECLSPEC void mpf_dump (mpf_srcptr); + +#define mpf_eq __gmpf_eq +__GMP_DECLSPEC int mpf_eq (mpf_srcptr, mpf_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_sint_p __gmpf_fits_sint_p +__GMP_DECLSPEC int mpf_fits_sint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_slong_p __gmpf_fits_slong_p +__GMP_DECLSPEC int mpf_fits_slong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_sshort_p __gmpf_fits_sshort_p +__GMP_DECLSPEC int mpf_fits_sshort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_uint_p __gmpf_fits_uint_p +__GMP_DECLSPEC int mpf_fits_uint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_ulong_p __gmpf_fits_ulong_p +__GMP_DECLSPEC int mpf_fits_ulong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_ushort_p __gmpf_fits_ushort_p +__GMP_DECLSPEC int mpf_fits_ushort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_floor __gmpf_floor +__GMP_DECLSPEC void mpf_floor (mpf_ptr, mpf_srcptr); + +#define mpf_get_d __gmpf_get_d +__GMP_DECLSPEC double mpf_get_d (mpf_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpf_get_d_2exp __gmpf_get_d_2exp +__GMP_DECLSPEC double mpf_get_d_2exp (signed long int *, mpf_srcptr); + +#define mpf_get_default_prec __gmpf_get_default_prec +__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec (void) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_get_prec __gmpf_get_prec +__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_get_si __gmpf_get_si +__GMP_DECLSPEC long mpf_get_si (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_get_str __gmpf_get_str +__GMP_DECLSPEC char *mpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr); + +#define mpf_get_ui __gmpf_get_ui +__GMP_DECLSPEC unsigned long mpf_get_ui (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_init __gmpf_init +__GMP_DECLSPEC void mpf_init (mpf_ptr); + +#define mpf_init2 __gmpf_init2 +__GMP_DECLSPEC void mpf_init2 (mpf_ptr, mp_bitcnt_t); + +#define mpf_inits __gmpf_inits +__GMP_DECLSPEC void mpf_inits (mpf_ptr, ...); + +#define mpf_init_set __gmpf_init_set +__GMP_DECLSPEC void mpf_init_set (mpf_ptr, mpf_srcptr); + +#define mpf_init_set_d __gmpf_init_set_d +__GMP_DECLSPEC void mpf_init_set_d (mpf_ptr, double); + +#define mpf_init_set_si __gmpf_init_set_si +__GMP_DECLSPEC void mpf_init_set_si (mpf_ptr, signed long int); + +#define mpf_init_set_str __gmpf_init_set_str +__GMP_DECLSPEC int mpf_init_set_str (mpf_ptr, const char *, int); + +#define mpf_init_set_ui __gmpf_init_set_ui +__GMP_DECLSPEC void mpf_init_set_ui (mpf_ptr, unsigned long int); + +#define mpf_inp_str __gmpf_inp_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpf_inp_str (mpf_ptr, FILE *, int); +#endif + +#define mpf_integer_p __gmpf_integer_p +__GMP_DECLSPEC int mpf_integer_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_mul __gmpf_mul +__GMP_DECLSPEC void mpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr); + +#define mpf_mul_2exp __gmpf_mul_2exp +__GMP_DECLSPEC void mpf_mul_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); + +#define mpf_mul_ui __gmpf_mul_ui +__GMP_DECLSPEC void mpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int); + +#define mpf_neg __gmpf_neg +__GMP_DECLSPEC void mpf_neg (mpf_ptr, mpf_srcptr); + +#define mpf_out_str __gmpf_out_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpf_out_str (FILE *, int, size_t, mpf_srcptr); +#endif + +#define mpf_pow_ui __gmpf_pow_ui +__GMP_DECLSPEC void mpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int); + +#define mpf_random2 __gmpf_random2 +__GMP_DECLSPEC void mpf_random2 (mpf_ptr, mp_size_t, mp_exp_t); + +#define mpf_reldiff __gmpf_reldiff +__GMP_DECLSPEC void mpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr); + +#define mpf_set __gmpf_set +__GMP_DECLSPEC void mpf_set (mpf_ptr, mpf_srcptr); + +#define mpf_set_d __gmpf_set_d +__GMP_DECLSPEC void mpf_set_d (mpf_ptr, double); + +#define mpf_set_default_prec __gmpf_set_default_prec +__GMP_DECLSPEC void mpf_set_default_prec (mp_bitcnt_t) __GMP_NOTHROW; + +#define mpf_set_prec __gmpf_set_prec +__GMP_DECLSPEC void mpf_set_prec (mpf_ptr, mp_bitcnt_t); + +#define mpf_set_prec_raw __gmpf_set_prec_raw +__GMP_DECLSPEC void mpf_set_prec_raw (mpf_ptr, mp_bitcnt_t) __GMP_NOTHROW; + +#define mpf_set_q __gmpf_set_q +__GMP_DECLSPEC void mpf_set_q (mpf_ptr, mpq_srcptr); + +#define mpf_set_si __gmpf_set_si +__GMP_DECLSPEC void mpf_set_si (mpf_ptr, signed long int); + +#define mpf_set_str __gmpf_set_str +__GMP_DECLSPEC int mpf_set_str (mpf_ptr, const char *, int); + +#define mpf_set_ui __gmpf_set_ui +__GMP_DECLSPEC void mpf_set_ui (mpf_ptr, unsigned long int); + +#define mpf_set_z __gmpf_set_z +__GMP_DECLSPEC void mpf_set_z (mpf_ptr, mpz_srcptr); + +#define mpf_size __gmpf_size +__GMP_DECLSPEC size_t mpf_size (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_sqrt __gmpf_sqrt +__GMP_DECLSPEC void mpf_sqrt (mpf_ptr, mpf_srcptr); + +#define mpf_sqrt_ui __gmpf_sqrt_ui +__GMP_DECLSPEC void mpf_sqrt_ui (mpf_ptr, unsigned long int); + +#define mpf_sub __gmpf_sub +__GMP_DECLSPEC void mpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr); + +#define mpf_sub_ui __gmpf_sub_ui +__GMP_DECLSPEC void mpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int); + +#define mpf_swap __gmpf_swap +__GMP_DECLSPEC void mpf_swap (mpf_ptr, mpf_ptr) __GMP_NOTHROW; + +#define mpf_trunc __gmpf_trunc +__GMP_DECLSPEC void mpf_trunc (mpf_ptr, mpf_srcptr); + +#define mpf_ui_div __gmpf_ui_div +__GMP_DECLSPEC void mpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr); + +#define mpf_ui_sub __gmpf_ui_sub +__GMP_DECLSPEC void mpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr); + +#define mpf_urandomb __gmpf_urandomb +__GMP_DECLSPEC void mpf_urandomb (mpf_t, gmp_randstate_t, mp_bitcnt_t); + + +/************ Low level positive-integer (i.e. N) routines. ************/ + +/* This is ugly, but we need to make user calls reach the prefixed function. */ + +#define mpn_add __MPN(add) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add) +__GMP_DECLSPEC mp_limb_t mpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); +#endif + +#define mpn_add_1 __MPN(add_1) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1) +__GMP_DECLSPEC mp_limb_t mpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; +#endif + +#define mpn_add_n __MPN(add_n) +__GMP_DECLSPEC mp_limb_t mpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + +#define mpn_addmul_1 __MPN(addmul_1) +__GMP_DECLSPEC mp_limb_t mpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_cmp __MPN(cmp) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp) +__GMP_DECLSPEC int mpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpn_divexact_by3(dst,src,size) \ + mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0)) + +#define mpn_divexact_by3c __MPN(divexact_by3c) +__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_divmod_1(qp,np,nsize,dlimb) \ + mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb) + +#define mpn_divrem __MPN(divrem) +__GMP_DECLSPEC mp_limb_t mpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); + +#define mpn_divrem_1 __MPN(divrem_1) +__GMP_DECLSPEC mp_limb_t mpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_divrem_2 __MPN(divrem_2) +__GMP_DECLSPEC mp_limb_t mpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); + +#define mpn_div_qr_1 __MPN(div_qr_1) +__GMP_DECLSPEC mp_limb_t mpn_div_qr_1 (mp_ptr, mp_limb_t *, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_div_qr_2 __MPN(div_qr_2) +__GMP_DECLSPEC mp_limb_t mpn_div_qr_2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); + +#define mpn_gcd __MPN(gcd) +__GMP_DECLSPEC mp_size_t mpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); + +#define mpn_gcd_1 __MPN(gcd_1) +__GMP_DECLSPEC mp_limb_t mpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_gcdext_1 __MPN(gcdext_1) +__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 (mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t); + +#define mpn_gcdext __MPN(gcdext) +__GMP_DECLSPEC mp_size_t mpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t); + +#define mpn_get_str __MPN(get_str) +__GMP_DECLSPEC size_t mpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); + +#define mpn_hamdist __MPN(hamdist) +__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpn_lshift __MPN(lshift) +__GMP_DECLSPEC mp_limb_t mpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); + +#define mpn_mod_1 __MPN(mod_1) +__GMP_DECLSPEC mp_limb_t mpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_mul __MPN(mul) +__GMP_DECLSPEC mp_limb_t mpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); + +#define mpn_mul_1 __MPN(mul_1) +__GMP_DECLSPEC mp_limb_t mpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_mul_n __MPN(mul_n) +__GMP_DECLSPEC void mpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + +#define mpn_sqr __MPN(sqr) +__GMP_DECLSPEC void mpn_sqr (mp_ptr, mp_srcptr, mp_size_t); + +#define mpn_neg __MPN(neg) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg) +__GMP_DECLSPEC mp_limb_t mpn_neg (mp_ptr, mp_srcptr, mp_size_t); +#endif + +#define mpn_com __MPN(com) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com) +__GMP_DECLSPEC void mpn_com (mp_ptr, mp_srcptr, mp_size_t); +#endif + +#define mpn_perfect_square_p __MPN(perfect_square_p) +__GMP_DECLSPEC int mpn_perfect_square_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_perfect_power_p __MPN(perfect_power_p) +__GMP_DECLSPEC int mpn_perfect_power_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_popcount __MPN(popcount) +__GMP_DECLSPEC mp_bitcnt_t mpn_popcount (mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpn_pow_1 __MPN(pow_1) +__GMP_DECLSPEC mp_size_t mpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); + +/* undocumented now, but retained here for upward compatibility */ +#define mpn_preinv_mod_1 __MPN(preinv_mod_1) +__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_random __MPN(random) +__GMP_DECLSPEC void mpn_random (mp_ptr, mp_size_t); + +#define mpn_random2 __MPN(random2) +__GMP_DECLSPEC void mpn_random2 (mp_ptr, mp_size_t); + +#define mpn_rshift __MPN(rshift) +__GMP_DECLSPEC mp_limb_t mpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); + +#define mpn_scan0 __MPN(scan0) +__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_scan1 __MPN(scan1) +__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_set_str __MPN(set_str) +__GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int); + +#define mpn_sizeinbase __MPN(sizeinbase) +__GMP_DECLSPEC size_t mpn_sizeinbase (mp_srcptr, mp_size_t, int); + +#define mpn_sqrtrem __MPN(sqrtrem) +__GMP_DECLSPEC mp_size_t mpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); + +#define mpn_sub __MPN(sub) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub) +__GMP_DECLSPEC mp_limb_t mpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); +#endif + +#define mpn_sub_1 __MPN(sub_1) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1) +__GMP_DECLSPEC mp_limb_t mpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; +#endif + +#define mpn_sub_n __MPN(sub_n) +__GMP_DECLSPEC mp_limb_t mpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + +#define mpn_submul_1 __MPN(submul_1) +__GMP_DECLSPEC mp_limb_t mpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_tdiv_qr __MPN(tdiv_qr) +__GMP_DECLSPEC void mpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); + +#define mpn_and_n __MPN(and_n) +__GMP_DECLSPEC void mpn_and_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_andn_n __MPN(andn_n) +__GMP_DECLSPEC void mpn_andn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_nand_n __MPN(nand_n) +__GMP_DECLSPEC void mpn_nand_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_ior_n __MPN(ior_n) +__GMP_DECLSPEC void mpn_ior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_iorn_n __MPN(iorn_n) +__GMP_DECLSPEC void mpn_iorn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_nior_n __MPN(nior_n) +__GMP_DECLSPEC void mpn_nior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_xor_n __MPN(xor_n) +__GMP_DECLSPEC void mpn_xor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_xnor_n __MPN(xnor_n) +__GMP_DECLSPEC void mpn_xnor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + +#define mpn_copyi __MPN(copyi) +__GMP_DECLSPEC void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t); +#define mpn_copyd __MPN(copyd) +__GMP_DECLSPEC void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t); +#define mpn_zero __MPN(zero) +__GMP_DECLSPEC void mpn_zero (mp_ptr, mp_size_t); + +#define mpn_cnd_add_n __MPN(cnd_add_n) +__GMP_DECLSPEC mp_limb_t mpn_cnd_add_n (mp_limb_t, mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_cnd_sub_n __MPN(cnd_sub_n) +__GMP_DECLSPEC mp_limb_t mpn_cnd_sub_n (mp_limb_t, mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + +#define mpn_sec_add_1 __MPN(sec_add_1) +__GMP_DECLSPEC mp_limb_t mpn_sec_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); +#define mpn_sec_add_1_itch __MPN(sec_add_1_itch) +__GMP_DECLSPEC mp_size_t mpn_sec_add_1_itch (mp_size_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_sec_sub_1 __MPN(sec_sub_1) +__GMP_DECLSPEC mp_limb_t mpn_sec_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); +#define mpn_sec_sub_1_itch __MPN(sec_sub_1_itch) +__GMP_DECLSPEC mp_size_t mpn_sec_sub_1_itch (mp_size_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_sec_mul __MPN(sec_mul) +__GMP_DECLSPEC void mpn_sec_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); +#define mpn_sec_mul_itch __MPN(sec_mul_itch) +__GMP_DECLSPEC mp_size_t mpn_sec_mul_itch (mp_size_t, mp_size_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_sec_sqr __MPN(sec_sqr) +__GMP_DECLSPEC void mpn_sec_sqr (mp_ptr, mp_srcptr, mp_size_t, mp_ptr); +#define mpn_sec_sqr_itch __MPN(sec_sqr_itch) +__GMP_DECLSPEC mp_size_t mpn_sec_sqr_itch (mp_size_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_sec_powm __MPN(sec_powm) +__GMP_DECLSPEC void mpn_sec_powm (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_bitcnt_t, mp_srcptr, mp_size_t, mp_ptr); +#define mpn_sec_powm_itch __MPN(sec_powm_itch) +__GMP_DECLSPEC mp_size_t mpn_sec_powm_itch (mp_size_t, mp_bitcnt_t, mp_size_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_sec_tabselect __MPN(sec_tabselect) +__GMP_DECLSPEC void mpn_sec_tabselect (volatile mp_limb_t *, volatile const mp_limb_t *, mp_size_t, mp_size_t, mp_size_t); + +#define mpn_sec_div_qr __MPN(sec_div_qr) +__GMP_DECLSPEC mp_limb_t mpn_sec_div_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); +#define mpn_sec_div_qr_itch __MPN(sec_div_qr_itch) +__GMP_DECLSPEC mp_size_t mpn_sec_div_qr_itch (mp_size_t, mp_size_t) __GMP_ATTRIBUTE_PURE; +#define mpn_sec_div_r __MPN(sec_div_r) +__GMP_DECLSPEC void mpn_sec_div_r (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); +#define mpn_sec_div_r_itch __MPN(sec_div_r_itch) +__GMP_DECLSPEC mp_size_t mpn_sec_div_r_itch (mp_size_t, mp_size_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_sec_invert __MPN(sec_invert) +__GMP_DECLSPEC int mpn_sec_invert (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_bitcnt_t, mp_ptr); +#define mpn_sec_invert_itch __MPN(sec_invert_itch) +__GMP_DECLSPEC mp_size_t mpn_sec_invert_itch (mp_size_t) __GMP_ATTRIBUTE_PURE; + + +/**************** mpz inlines ****************/ + +/* The following are provided as inlines where possible, but always exist as + library functions too, for binary compatibility. + + Within gmp itself this inlining generally isn't relied on, since it + doesn't get done for all compilers, whereas if something is worth + inlining then it's worth arranging always. + + There are two styles of inlining here. When the same bit of code is + wanted for the inline as for the library version, then __GMP_FORCE_foo + arranges for that code to be emitted and the __GMP_EXTERN_INLINE + directive suppressed, eg. mpz_fits_uint_p. When a different bit of code + is wanted for the inline than for the library version, then + __GMP_FORCE_foo arranges the inline to be suppressed, eg. mpz_abs. */ + +#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpz_abs) +__GMP_EXTERN_INLINE void +mpz_abs (mpz_ptr __gmp_w, mpz_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + mpz_set (__gmp_w, __gmp_u); + __gmp_w->_mp_size = __GMP_ABS (__gmp_w->_mp_size); +} +#endif + +#if GMP_NAIL_BITS == 0 +#define __GMPZ_FITS_UTYPE_P(z,maxval) \ + mp_size_t __gmp_n = z->_mp_size; \ + mp_ptr __gmp_p = z->_mp_d; \ + return (__gmp_n == 0 || (__gmp_n == 1 && __gmp_p[0] <= maxval)); +#else +#define __GMPZ_FITS_UTYPE_P(z,maxval) \ + mp_size_t __gmp_n = z->_mp_size; \ + mp_ptr __gmp_p = z->_mp_d; \ + return (__gmp_n == 0 || (__gmp_n == 1 && __gmp_p[0] <= maxval) \ + || (__gmp_n == 2 && __gmp_p[1] <= ((mp_limb_t) maxval >> GMP_NUMB_BITS))); +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_fits_uint_p) +#if ! defined (__GMP_FORCE_mpz_fits_uint_p) +__GMP_EXTERN_INLINE +#endif +int +mpz_fits_uint_p (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + __GMPZ_FITS_UTYPE_P (__gmp_z, __GMP_UINT_MAX); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_fits_ulong_p) +#if ! defined (__GMP_FORCE_mpz_fits_ulong_p) +__GMP_EXTERN_INLINE +#endif +int +mpz_fits_ulong_p (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + __GMPZ_FITS_UTYPE_P (__gmp_z, __GMP_ULONG_MAX); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_fits_ushort_p) +#if ! defined (__GMP_FORCE_mpz_fits_ushort_p) +__GMP_EXTERN_INLINE +#endif +int +mpz_fits_ushort_p (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + __GMPZ_FITS_UTYPE_P (__gmp_z, __GMP_USHRT_MAX); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_get_ui) +#if ! defined (__GMP_FORCE_mpz_get_ui) +__GMP_EXTERN_INLINE +#endif +unsigned long +mpz_get_ui (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + mp_ptr __gmp_p = __gmp_z->_mp_d; + mp_size_t __gmp_n = __gmp_z->_mp_size; + mp_limb_t __gmp_l = __gmp_p[0]; + /* This is a "#if" rather than a plain "if" so as to avoid gcc warnings + about "<< GMP_NUMB_BITS" exceeding the type size, and to avoid Borland + C++ 6.0 warnings about condition always true for something like + "__GMP_ULONG_MAX < GMP_NUMB_MASK". */ +#if GMP_NAIL_BITS == 0 || defined (_LONG_LONG_LIMB) + /* limb==long and no nails, or limb==longlong, one limb is enough */ + return (unsigned long) ((__gmp_n != 0) ? __gmp_l : 0); +#else + /* limb==long and nails, need two limbs when available */ + __gmp_n = __GMP_ABS (__gmp_n); + if (__gmp_n <= 1) + return (__gmp_n != 0 ? __gmp_l : 0); + else + return __gmp_l + (__gmp_p[1] << GMP_NUMB_BITS); +#endif +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_getlimbn) +#if ! defined (__GMP_FORCE_mpz_getlimbn) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpz_getlimbn (mpz_srcptr __gmp_z, mp_size_t __gmp_n) __GMP_NOTHROW +{ + mp_limb_t __gmp_result = 0; + if (__GMP_LIKELY ((__gmp_n >= 0) && (__gmp_n < __GMP_ABS (__gmp_z->_mp_size)))) + __gmp_result = __gmp_z->_mp_d[__gmp_n]; + return __gmp_result; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpz_neg) +__GMP_EXTERN_INLINE void +mpz_neg (mpz_ptr __gmp_w, mpz_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + mpz_set (__gmp_w, __gmp_u); + __gmp_w->_mp_size = - __gmp_w->_mp_size; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_perfect_square_p) +#if ! defined (__GMP_FORCE_mpz_perfect_square_p) +__GMP_EXTERN_INLINE +#endif +int +mpz_perfect_square_p (mpz_srcptr __gmp_a) +{ + mp_size_t __gmp_asize; + int __gmp_result; + + __gmp_asize = __gmp_a->_mp_size; + __gmp_result = (__gmp_asize >= 0); /* zero is a square, negatives are not */ + if (__GMP_LIKELY (__gmp_asize > 0)) + __gmp_result = mpn_perfect_square_p (__gmp_a->_mp_d, __gmp_asize); + return __gmp_result; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_popcount) +#if ! defined (__GMP_FORCE_mpz_popcount) +__GMP_EXTERN_INLINE +#endif +mp_bitcnt_t +mpz_popcount (mpz_srcptr __gmp_u) __GMP_NOTHROW +{ + mp_size_t __gmp_usize; + mp_bitcnt_t __gmp_result; + + __gmp_usize = __gmp_u->_mp_size; + __gmp_result = (__gmp_usize < 0 ? __GMP_ULONG_MAX : 0); + if (__GMP_LIKELY (__gmp_usize > 0)) + __gmp_result = mpn_popcount (__gmp_u->_mp_d, __gmp_usize); + return __gmp_result; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_set_q) +#if ! defined (__GMP_FORCE_mpz_set_q) +__GMP_EXTERN_INLINE +#endif +void +mpz_set_q (mpz_ptr __gmp_w, mpq_srcptr __gmp_u) +{ + mpz_tdiv_q (__gmp_w, mpq_numref (__gmp_u), mpq_denref (__gmp_u)); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_size) +#if ! defined (__GMP_FORCE_mpz_size) +__GMP_EXTERN_INLINE +#endif +size_t +mpz_size (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ +/* return __GMP_ABS ((size_t)__gmp_z->_mp_size); // Deleted by PM */ + return (size_t) __GMP_ABS (__gmp_z->_mp_size); /* Added by PM */ +} +#endif + + +/**************** mpq inlines ****************/ + +#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpq_abs) +__GMP_EXTERN_INLINE void +mpq_abs (mpq_ptr __gmp_w, mpq_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + mpq_set (__gmp_w, __gmp_u); + __gmp_w->_mp_num._mp_size = __GMP_ABS (__gmp_w->_mp_num._mp_size); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpq_neg) +__GMP_EXTERN_INLINE void +mpq_neg (mpq_ptr __gmp_w, mpq_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + mpq_set (__gmp_w, __gmp_u); + __gmp_w->_mp_num._mp_size = - __gmp_w->_mp_num._mp_size; +} +#endif + + +/**************** mpn inlines ****************/ + +/* The comments with __GMPN_ADD_1 below apply here too. + + The test for FUNCTION returning 0 should predict well. If it's assumed + {yp,ysize} will usually have a random number of bits then the high limb + won't be full and a carry out will occur a good deal less than 50% of the + time. + + ysize==0 isn't a documented feature, but is used internally in a few + places. + + Producing cout last stops it using up a register during the main part of + the calculation, though gcc (as of 3.0) on an "if (mpn_add (...))" + doesn't seem able to move the true and false legs of the conditional up + to the two places cout is generated. */ + +#define __GMPN_AORS(cout, wp, xp, xsize, yp, ysize, FUNCTION, TEST) \ + do { \ + mp_size_t __gmp_i; \ + mp_limb_t __gmp_x; \ + \ + __gmp_i = (ysize); \ + if (__gmp_i != 0) \ + { \ + if (FUNCTION (wp, xp, yp, __gmp_i)) \ + { \ + do \ + { \ + if (__gmp_i >= (xsize)) \ + { \ + (cout) = 1; \ + goto __gmp_done; \ + } \ + __gmp_x = (xp)[__gmp_i]; \ + } \ + while (TEST); \ + } \ + } \ + if ((wp) != (xp)) \ + __GMPN_COPY_REST (wp, xp, xsize, __gmp_i); \ + (cout) = 0; \ + __gmp_done: \ + ; \ + } while (0) + +#define __GMPN_ADD(cout, wp, xp, xsize, yp, ysize) \ + __GMPN_AORS (cout, wp, xp, xsize, yp, ysize, mpn_add_n, \ + (((wp)[__gmp_i++] = (__gmp_x + 1) & GMP_NUMB_MASK) == 0)) +#define __GMPN_SUB(cout, wp, xp, xsize, yp, ysize) \ + __GMPN_AORS (cout, wp, xp, xsize, yp, ysize, mpn_sub_n, \ + (((wp)[__gmp_i++] = (__gmp_x - 1) & GMP_NUMB_MASK), __gmp_x == 0)) + + +/* The use of __gmp_i indexing is designed to ensure a compile time src==dst + remains nice and clear to the compiler, so that __GMPN_COPY_REST can + disappear, and the load/add/store gets a chance to become a + read-modify-write on CISC CPUs. + + Alternatives: + + Using a pair of pointers instead of indexing would be possible, but gcc + isn't able to recognise compile-time src==dst in that case, even when the + pointers are incremented more or less together. Other compilers would + very likely have similar difficulty. + + gcc could use "if (__builtin_constant_p(src==dst) && src==dst)" or + similar to detect a compile-time src==dst. This works nicely on gcc + 2.95.x, it's not good on gcc 3.0 where __builtin_constant_p(p==p) seems + to be always false, for a pointer p. But the current code form seems + good enough for src==dst anyway. + + gcc on x86 as usual doesn't give particularly good flags handling for the + carry/borrow detection. It's tempting to want some multi instruction asm + blocks to help it, and this was tried, but in truth there's only a few + instructions to save and any gain is all too easily lost by register + juggling setting up for the asm. */ + +#if GMP_NAIL_BITS == 0 +#define __GMPN_AORS_1(cout, dst, src, n, v, OP, CB) \ + do { \ + mp_size_t __gmp_i; \ + mp_limb_t __gmp_x, __gmp_r; \ + \ + __gmp_x = (src)[0]; \ + __gmp_r = __gmp_x OP (v); \ + (dst)[0] = __gmp_r; \ + if (CB (__gmp_r, __gmp_x, (v))) \ + { \ + (cout) = 1; \ + for (__gmp_i = 1; __gmp_i < (n);) \ + { \ + __gmp_x = (src)[__gmp_i]; \ + __gmp_r = __gmp_x OP 1; \ + (dst)[__gmp_i] = __gmp_r; \ + ++__gmp_i; \ + if (!CB (__gmp_r, __gmp_x, 1)) \ + { \ + if ((src) != (dst)) \ + __GMPN_COPY_REST (dst, src, n, __gmp_i); \ + (cout) = 0; \ + break; \ + } \ + } \ + } \ + else \ + { \ + if ((src) != (dst)) \ + __GMPN_COPY_REST (dst, src, n, 1); \ + (cout) = 0; \ + } \ + } while (0) +#endif + +#if GMP_NAIL_BITS >= 1 +#define __GMPN_AORS_1(cout, dst, src, n, v, OP, CB) \ + do { \ + mp_size_t __gmp_i; \ + mp_limb_t __gmp_x, __gmp_r; \ + \ + __gmp_x = (src)[0]; \ + __gmp_r = __gmp_x OP (v); \ + (dst)[0] = __gmp_r & GMP_NUMB_MASK; \ + if (__gmp_r >> GMP_NUMB_BITS != 0) \ + { \ + (cout) = 1; \ + for (__gmp_i = 1; __gmp_i < (n);) \ + { \ + __gmp_x = (src)[__gmp_i]; \ + __gmp_r = __gmp_x OP 1; \ + (dst)[__gmp_i] = __gmp_r & GMP_NUMB_MASK; \ + ++__gmp_i; \ + if (__gmp_r >> GMP_NUMB_BITS == 0) \ + { \ + if ((src) != (dst)) \ + __GMPN_COPY_REST (dst, src, n, __gmp_i); \ + (cout) = 0; \ + break; \ + } \ + } \ + } \ + else \ + { \ + if ((src) != (dst)) \ + __GMPN_COPY_REST (dst, src, n, 1); \ + (cout) = 0; \ + } \ + } while (0) +#endif + +#define __GMPN_ADDCB(r,x,y) ((r) < (y)) +#define __GMPN_SUBCB(r,x,y) ((x) < (y)) + +#define __GMPN_ADD_1(cout, dst, src, n, v) \ + __GMPN_AORS_1(cout, dst, src, n, v, +, __GMPN_ADDCB) +#define __GMPN_SUB_1(cout, dst, src, n, v) \ + __GMPN_AORS_1(cout, dst, src, n, v, -, __GMPN_SUBCB) + + +/* Compare {xp,size} and {yp,size}, setting "result" to positive, zero or + negative. size==0 is allowed. On random data usually only one limb will + need to be examined to get a result, so it's worth having it inline. */ +#define __GMPN_CMP(result, xp, yp, size) \ + do { \ + mp_size_t __gmp_i; \ + mp_limb_t __gmp_x, __gmp_y; \ + \ + (result) = 0; \ + __gmp_i = (size); \ + while (--__gmp_i >= 0) \ + { \ + __gmp_x = (xp)[__gmp_i]; \ + __gmp_y = (yp)[__gmp_i]; \ + if (__gmp_x != __gmp_y) \ + { \ + /* Cannot use __gmp_x - __gmp_y, may overflow an "int" */ \ + (result) = (__gmp_x > __gmp_y ? 1 : -1); \ + break; \ + } \ + } \ + } while (0) + + +#if defined (__GMPN_COPY) && ! defined (__GMPN_COPY_REST) +#define __GMPN_COPY_REST(dst, src, size, start) \ + do { \ + __GMPN_COPY ((dst)+(start), (src)+(start), (size)-(start)); \ + } while (0) +#endif + +/* Copy {src,size} to {dst,size}, starting at "start". This is designed to + keep the indexing dst[j] and src[j] nice and simple for __GMPN_ADD_1, + __GMPN_ADD, etc. */ +#if ! defined (__GMPN_COPY_REST) +#define __GMPN_COPY_REST(dst, src, size, start) \ + do { \ + mp_size_t __gmp_j; \ + __GMP_CRAY_Pragma ("_CRI ivdep"); \ + for (__gmp_j = (start); __gmp_j < (size); __gmp_j++) \ + (dst)[__gmp_j] = (src)[__gmp_j]; \ + } while (0) +#endif + +/* Enhancement: Use some of the smarter code from gmp-impl.h. Maybe use + mpn_copyi if there's a native version, and if we don't mind demanding + binary compatibility for it (on targets which use it). */ + +#if ! defined (__GMPN_COPY) +#define __GMPN_COPY(dst, src, size) __GMPN_COPY_REST (dst, src, size, 0) +#endif + + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_add) +#if ! defined (__GMP_FORCE_mpn_add) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_add (mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) +{ + mp_limb_t __gmp_c; + __GMPN_ADD (__gmp_c, __gmp_wp, __gmp_xp, __gmp_xsize, __gmp_yp, __gmp_ysize); + return __gmp_c; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_add_1) +#if ! defined (__GMP_FORCE_mpn_add_1) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_add_1 (mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) __GMP_NOTHROW +{ + mp_limb_t __gmp_c; + __GMPN_ADD_1 (__gmp_c, __gmp_dst, __gmp_src, __gmp_size, __gmp_n); + return __gmp_c; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_cmp) +#if ! defined (__GMP_FORCE_mpn_cmp) +__GMP_EXTERN_INLINE +#endif +int +mpn_cmp (mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) __GMP_NOTHROW +{ + int __gmp_result; + __GMPN_CMP (__gmp_result, __gmp_xp, __gmp_yp, __gmp_size); + return __gmp_result; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_sub) +#if ! defined (__GMP_FORCE_mpn_sub) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_sub (mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) +{ + mp_limb_t __gmp_c; + __GMPN_SUB (__gmp_c, __gmp_wp, __gmp_xp, __gmp_xsize, __gmp_yp, __gmp_ysize); + return __gmp_c; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_sub_1) +#if ! defined (__GMP_FORCE_mpn_sub_1) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_sub_1 (mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) __GMP_NOTHROW +{ + mp_limb_t __gmp_c; + __GMPN_SUB_1 (__gmp_c, __gmp_dst, __gmp_src, __gmp_size, __gmp_n); + return __gmp_c; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_neg) +#if ! defined (__GMP_FORCE_mpn_neg) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_neg (mp_ptr __gmp_rp, mp_srcptr __gmp_up, mp_size_t __gmp_n) +{ + mp_limb_t __gmp_ul, __gmp_cy; + __gmp_cy = 0; + do { + __gmp_ul = *__gmp_up++; + *__gmp_rp++ = -__gmp_ul - __gmp_cy; + __gmp_cy |= __gmp_ul != 0; + } while (--__gmp_n != 0); + return __gmp_cy; +} +#endif + +#if defined (__cplusplus) +} +#endif + + +/* Allow faster testing for negative, zero, and positive. */ +#define mpz_sgn(Z) ((Z)->_mp_size < 0 ? -1 : (Z)->_mp_size > 0) +#define mpf_sgn(F) ((F)->_mp_size < 0 ? -1 : (F)->_mp_size > 0) +#define mpq_sgn(Q) ((Q)->_mp_num._mp_size < 0 ? -1 : (Q)->_mp_num._mp_size > 0) + +/* When using GCC, optimize certain common comparisons. */ +#if defined (__GNUC__) && __GNUC__ >= 2 +#define mpz_cmp_ui(Z,UI) \ + (__builtin_constant_p (UI) && (UI) == 0 \ + ? mpz_sgn (Z) : _mpz_cmp_ui (Z,UI)) +#define mpz_cmp_si(Z,SI) \ + (__builtin_constant_p ((SI) >= 0) && (SI) >= 0 \ + ? mpz_cmp_ui (Z, __GMP_CAST (unsigned long, SI)) \ + : _mpz_cmp_si (Z,SI)) +#define mpq_cmp_ui(Q,NUI,DUI) \ + (__builtin_constant_p (NUI) && (NUI) == 0 ? mpq_sgn (Q) \ + : __builtin_constant_p ((NUI) == (DUI)) && (NUI) == (DUI) \ + ? mpz_cmp (mpq_numref (Q), mpq_denref (Q)) \ + : _mpq_cmp_ui (Q,NUI,DUI)) +#define mpq_cmp_si(q,n,d) \ + (__builtin_constant_p ((n) >= 0) && (n) >= 0 \ + ? mpq_cmp_ui (q, __GMP_CAST (unsigned long, n), d) \ + : _mpq_cmp_si (q, n, d)) +#else +#define mpz_cmp_ui(Z,UI) _mpz_cmp_ui (Z,UI) +#define mpz_cmp_si(Z,UI) _mpz_cmp_si (Z,UI) +#define mpq_cmp_ui(Q,NUI,DUI) _mpq_cmp_ui (Q,NUI,DUI) +#define mpq_cmp_si(q,n,d) _mpq_cmp_si(q,n,d) +#endif + + +/* Using "&" rather than "&&" means these can come out branch-free. Every + mpz_t has at least one limb allocated, so fetching the low limb is always + allowed. */ +#define mpz_odd_p(z) (((z)->_mp_size != 0) & __GMP_CAST (int, (z)->_mp_d[0])) +#define mpz_even_p(z) (! mpz_odd_p (z)) + + +/**************** C++ routines ****************/ + + + +/* Source-level compatibility with GMP 2 and earlier. */ +#define mpn_divmod(qp,np,nsize,dp,dsize) \ + mpn_divrem (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dp, dsize) + +/* Source-level compatibility with GMP 1. */ +#define mpz_mdiv mpz_fdiv_q +#define mpz_mdivmod mpz_fdiv_qr +#define mpz_mmod mpz_fdiv_r +#define mpz_mdiv_ui mpz_fdiv_q_ui +#define mpz_mdivmod_ui(q,r,n,d) \ + (((r) == 0) ? mpz_fdiv_q_ui (q,n,d) : mpz_fdiv_qr_ui (q,r,n,d)) +#define mpz_mmod_ui(r,n,d) \ + (((r) == 0) ? mpz_fdiv_ui (n,d) : mpz_fdiv_r_ui (r,n,d)) + +/* Useful synonyms, but not quite compatible with GMP 1. */ +#define mpz_div mpz_fdiv_q +#define mpz_divmod mpz_fdiv_qr +#define mpz_div_ui mpz_fdiv_q_ui +#define mpz_divmod_ui mpz_fdiv_qr_ui +#define mpz_div_2exp mpz_fdiv_q_2exp +#define mpz_mod_2exp mpz_fdiv_r_2exp + +enum +{ + GMP_ERROR_NONE = 0, + GMP_ERROR_UNSUPPORTED_ARGUMENT = 1, + GMP_ERROR_DIVISION_BY_ZERO = 2, + GMP_ERROR_SQRT_OF_NEGATIVE = 4, + GMP_ERROR_INVALID_ARGUMENT = 8 +}; + + +/* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ +#define __GNU_MP_VERSION 6 +#define __GNU_MP_VERSION_MINOR 0 +#define __GNU_MP_VERSION_PATCHLEVEL 0 +#define __GNU_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) + diff --git a/goil/build/libpm/gmp/longlong.h b/goil/build/libpm/gmp/longlong.h new file mode 100644 index 000000000..af8863a30 --- /dev/null +++ b/goil/build/libpm/gmp/longlong.h @@ -0,0 +1,2171 @@ +/* longlong.h -- definitions for mixed size 32/64 bit arithmetic. + +Copyright 1991-1994, 1996, 1997, 1999-2005, 2007-2009, 2011-2013 Free Software +Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +/* You have to define the following before including this file: + + UWtype -- An unsigned type, default type for operations (typically a "word") + UHWtype -- An unsigned type, at least half the size of UWtype + UDWtype -- An unsigned type, at least twice as large a UWtype + W_TYPE_SIZE -- size in bits of UWtype + + SItype, USItype -- Signed and unsigned 32 bit types + DItype, UDItype -- Signed and unsigned 64 bit types + + On a 32 bit machine UWtype should typically be USItype; + on a 64 bit machine, UWtype should typically be UDItype. + + Optionally, define: + + LONGLONG_STANDALONE -- Avoid code that needs machine-dependent support files + NO_ASM -- Disable inline asm + + + CAUTION! Using this version of longlong.h outside of GMP is not safe. You + need to include gmp.h and gmp-impl.h, or certain things might not work as + expected. +*/ + +// pragma once added by PM (nov 7 2023) +#pragma once + +#define __BITS4 (W_TYPE_SIZE / 4) +#define __ll_B ((UWtype) 1 << (W_TYPE_SIZE / 2)) +#define __ll_lowpart(t) ((UWtype) (t) & (__ll_B - 1)) +#define __ll_highpart(t) ((UWtype) (t) >> (W_TYPE_SIZE / 2)) + +/* This is used to make sure no undesirable sharing between different libraries + that use this file takes place. */ +#ifndef __MPN +#define __MPN(x) __##x +#endif + +/* Define auxiliary asm macros. + + 1) umul_ppmm(high_prod, low_prod, multiplier, multiplicand) multiplies two + UWtype integers MULTIPLIER and MULTIPLICAND, and generates a two UWtype + word product in HIGH_PROD and LOW_PROD. + + 2) __umulsidi3(a,b) multiplies two UWtype integers A and B, and returns a + UDWtype product. This is just a variant of umul_ppmm. + + 3) udiv_qrnnd(quotient, remainder, high_numerator, low_numerator, + denominator) divides a UDWtype, composed by the UWtype integers + HIGH_NUMERATOR and LOW_NUMERATOR, by DENOMINATOR and places the quotient + in QUOTIENT and the remainder in REMAINDER. HIGH_NUMERATOR must be less + than DENOMINATOR for correct operation. If, in addition, the most + significant bit of DENOMINATOR must be 1, then the pre-processor symbol + UDIV_NEEDS_NORMALIZATION is defined to 1. + + 4) sdiv_qrnnd(quotient, remainder, high_numerator, low_numerator, + denominator). Like udiv_qrnnd but the numbers are signed. The quotient + is rounded towards 0. + + 5) count_leading_zeros(count, x) counts the number of zero-bits from the + msb to the first non-zero bit in the UWtype X. This is the number of + steps X needs to be shifted left to set the msb. Undefined for X == 0, + unless the symbol COUNT_LEADING_ZEROS_0 is defined to some value. + + 6) count_trailing_zeros(count, x) like count_leading_zeros, but counts + from the least significant end. + + 7) add_ssaaaa(high_sum, low_sum, high_addend_1, low_addend_1, + high_addend_2, low_addend_2) adds two UWtype integers, composed by + HIGH_ADDEND_1 and LOW_ADDEND_1, and HIGH_ADDEND_2 and LOW_ADDEND_2 + respectively. The result is placed in HIGH_SUM and LOW_SUM. Overflow + (i.e. carry out) is not stored anywhere, and is lost. + + 8) sub_ddmmss(high_difference, low_difference, high_minuend, low_minuend, + high_subtrahend, low_subtrahend) subtracts two two-word UWtype integers, + composed by HIGH_MINUEND_1 and LOW_MINUEND_1, and HIGH_SUBTRAHEND_2 and + LOW_SUBTRAHEND_2 respectively. The result is placed in HIGH_DIFFERENCE + and LOW_DIFFERENCE. Overflow (i.e. carry out) is not stored anywhere, + and is lost. + + If any of these macros are left undefined for a particular CPU, + C macros are used. + + + Notes: + + For add_ssaaaa the two high and two low addends can both commute, but + unfortunately gcc only supports one "%" commutative in each asm block. + This has always been so but is only documented in recent versions + (eg. pre-release 3.3). Having two or more "%"s can cause an internal + compiler error in certain rare circumstances. + + Apparently it was only the last "%" that was ever actually respected, so + the code has been updated to leave just that. Clearly there's a free + choice whether high or low should get it, if there's a reason to favour + one over the other. Also obviously when the constraints on the two + operands are identical there's no benefit to the reloader in any "%" at + all. + + */ + +/* The CPUs come in alphabetical order below. + + Please add support for more CPUs here, or improve the current support + for the CPUs below! */ + + +/* count_leading_zeros_gcc_clz is count_leading_zeros implemented with gcc + 3.4 __builtin_clzl or __builtin_clzll, according to our limb size. + Similarly count_trailing_zeros_gcc_ctz using __builtin_ctzl or + __builtin_ctzll. + + These builtins are only used when we check what code comes out, on some + chips they're merely libgcc calls, where we will instead want an inline + in that case (either asm or generic C). + + These builtins are better than an asm block of the same insn, since an + asm block doesn't give gcc any information about scheduling or resource + usage. We keep an asm block for use on prior versions of gcc though. + + For reference, __builtin_ffs existed in gcc prior to __builtin_clz, but + it's not used (for count_leading_zeros) because it generally gives extra + code to ensure the result is 0 when the input is 0, which we don't need + or want. */ + +#ifdef _LONG_LONG_LIMB +#define count_leading_zeros_gcc_clz(count,x) \ + do { \ + ASSERT ((x) != 0); \ + (count) = __builtin_clzll (x); \ + } while (0) +#else +#define count_leading_zeros_gcc_clz(count,x) \ + do { \ + ASSERT ((x) != 0); \ + (count) = __builtin_clzl (x); \ + } while (0) +#endif + +#ifdef _LONG_LONG_LIMB +#define count_trailing_zeros_gcc_ctz(count,x) \ + do { \ + ASSERT ((x) != 0); \ + (count) = __builtin_ctzll (x); \ + } while (0) +#else +#define count_trailing_zeros_gcc_ctz(count,x) \ + do { \ + ASSERT ((x) != 0); \ + (count) = __builtin_ctzl (x); \ + } while (0) +#endif + +#if ! defined (NO_ASM) + +#if defined (__alpha) && W_TYPE_SIZE == 64 +/* Most alpha-based machines, except Cray systems. */ +#if defined (__GNUC__) +#if __GMP_GNUC_PREREQ (3,3) +#define umul_ppmm(ph, pl, m0, m1) \ + do { \ + UDItype __m0 = (m0), __m1 = (m1); \ + (ph) = __builtin_alpha_umulh (__m0, __m1); \ + (pl) = __m0 * __m1; \ + } while (0) +#else +#define umul_ppmm(ph, pl, m0, m1) \ + do { \ + UDItype __m0 = (m0), __m1 = (m1); \ + __asm__ ("umulh %r1,%2,%0" \ + : "=r" (ph) \ + : "%rJ" (m0), "rI" (m1)); \ + (pl) = __m0 * __m1; \ + } while (0) +#endif +#define UMUL_TIME 18 +#else /* ! __GNUC__ */ +#include +#define umul_ppmm(ph, pl, m0, m1) \ + do { \ + UDItype __m0 = (m0), __m1 = (m1); \ + (ph) = __UMULH (m0, m1); \ + (pl) = __m0 * __m1; \ + } while (0) +#endif +#ifndef LONGLONG_STANDALONE +#define udiv_qrnnd(q, r, n1, n0, d) \ + do { UWtype __di; \ + __di = __MPN(invert_limb) (d); \ + udiv_qrnnd_preinv (q, r, n1, n0, d, __di); \ + } while (0) +#define UDIV_PREINV_ALWAYS 1 +#define UDIV_NEEDS_NORMALIZATION 1 +#define UDIV_TIME 220 +#endif /* LONGLONG_STANDALONE */ + +/* clz_tab is required in all configurations, since mpn/alpha/cntlz.asm + always goes into libgmp.so, even when not actually used. */ +#define COUNT_LEADING_ZEROS_NEED_CLZ_TAB + +#if defined (__GNUC__) && HAVE_HOST_CPU_alpha_CIX +#define count_leading_zeros(COUNT,X) \ + __asm__("ctlz %1,%0" : "=r"(COUNT) : "r"(X)) +#define count_trailing_zeros(COUNT,X) \ + __asm__("cttz %1,%0" : "=r"(COUNT) : "r"(X)) +#endif /* clz/ctz using cix */ + +#if ! defined (count_leading_zeros) \ + && defined (__GNUC__) && ! defined (LONGLONG_STANDALONE) +/* ALPHA_CMPBGE_0 gives "cmpbge $31,src,dst", ie. test src bytes == 0. + "$31" is written explicitly in the asm, since an "r" constraint won't + select reg 31. There seems no need to worry about "r31" syntax for cray, + since gcc itself (pre-release 3.4) emits just $31 in various places. */ +#define ALPHA_CMPBGE_0(dst, src) \ + do { asm ("cmpbge $31, %1, %0" : "=r" (dst) : "r" (src)); } while (0) +/* Zero bytes are turned into bits with cmpbge, a __clz_tab lookup counts + them, locating the highest non-zero byte. A second __clz_tab lookup + counts the leading zero bits in that byte, giving the result. */ +#define count_leading_zeros(count, x) \ + do { \ + UWtype __clz__b, __clz__c, __clz__x = (x); \ + ALPHA_CMPBGE_0 (__clz__b, __clz__x); /* zero bytes */ \ + __clz__b = __clz_tab [(__clz__b >> 1) ^ 0x7F]; /* 8 to 1 byte */ \ + __clz__b = __clz__b * 8 - 7; /* 57 to 1 shift */ \ + __clz__x >>= __clz__b; \ + __clz__c = __clz_tab [__clz__x]; /* 8 to 1 bit */ \ + __clz__b = 65 - __clz__b; \ + (count) = __clz__b - __clz__c; \ + } while (0) +#define COUNT_LEADING_ZEROS_NEED_CLZ_TAB +#endif /* clz using cmpbge */ + +#if ! defined (count_leading_zeros) && ! defined (LONGLONG_STANDALONE) +#if HAVE_ATTRIBUTE_CONST +long __MPN(count_leading_zeros) (UDItype) __attribute__ ((const)); +#else +long __MPN(count_leading_zeros) (UDItype); +#endif +#define count_leading_zeros(count, x) \ + ((count) = __MPN(count_leading_zeros) (x)) +#endif /* clz using mpn */ +#endif /* __alpha */ + +#if defined (__AVR) && W_TYPE_SIZE == 8 +#define umul_ppmm(ph, pl, m0, m1) \ + do { \ + unsigned short __p = (unsigned short) (m0) * (m1); \ + (ph) = __p >> 8; \ + (pl) = __p; \ + } while (0) +#endif /* AVR */ + +#if defined (_CRAY) && W_TYPE_SIZE == 64 +#include +#define UDIV_PREINV_ALWAYS 1 +#define UDIV_NEEDS_NORMALIZATION 1 +#define UDIV_TIME 220 +long __MPN(count_leading_zeros) (UDItype); +#define count_leading_zeros(count, x) \ + ((count) = _leadz ((UWtype) (x))) +#if defined (_CRAYIEEE) /* I.e., Cray T90/ieee, T3D, and T3E */ +#define umul_ppmm(ph, pl, m0, m1) \ + do { \ + UDItype __m0 = (m0), __m1 = (m1); \ + (ph) = _int_mult_upper (m0, m1); \ + (pl) = __m0 * __m1; \ + } while (0) +#ifndef LONGLONG_STANDALONE +#define udiv_qrnnd(q, r, n1, n0, d) \ + do { UWtype __di; \ + __di = __MPN(invert_limb) (d); \ + udiv_qrnnd_preinv (q, r, n1, n0, d, __di); \ + } while (0) +#endif /* LONGLONG_STANDALONE */ +#endif /* _CRAYIEEE */ +#endif /* _CRAY */ + +#if defined (__ia64) && W_TYPE_SIZE == 64 +/* This form encourages gcc (pre-release 3.4 at least) to emit predicated + "sub r=r,r" and "sub r=r,r,1", giving a 2 cycle latency. The generic + code using "al>= _c; \ + if (_x >= 1 << 4) \ + _x >>= 4, _c += 4; \ + if (_x >= 1 << 2) \ + _x >>= 2, _c += 2; \ + _c += _x >> 1; \ + (count) = W_TYPE_SIZE - 1 - _c; \ + } while (0) +/* similar to what gcc does for __builtin_ffs, but 0 based rather than 1 + based, and we don't need a special case for x==0 here */ +#define count_trailing_zeros(count, x) \ + do { \ + UWtype __ctz_x = (x); \ + __asm__ ("popcnt %0 = %1" \ + : "=r" (count) \ + : "r" ((__ctz_x-1) & ~__ctz_x)); \ + } while (0) +#endif +#if defined (__INTEL_COMPILER) +#include +#define umul_ppmm(ph, pl, m0, m1) \ + do { \ + UWtype _m0 = (m0), _m1 = (m1); \ + ph = _m64_xmahu (_m0, _m1, 0); \ + pl = _m0 * _m1; \ + } while (0) +#endif +#ifndef LONGLONG_STANDALONE +#define udiv_qrnnd(q, r, n1, n0, d) \ + do { UWtype __di; \ + __di = __MPN(invert_limb) (d); \ + udiv_qrnnd_preinv (q, r, n1, n0, d, __di); \ + } while (0) +#define UDIV_PREINV_ALWAYS 1 +#define UDIV_NEEDS_NORMALIZATION 1 +#endif +#define UDIV_TIME 220 +#endif + + +#if defined (__GNUC__) + +/* We sometimes need to clobber "cc" with gcc2, but that would not be + understood by gcc1. Use cpp to avoid major code duplication. */ +#if __GNUC__ < 2 +#define __CLOBBER_CC +#define __AND_CLOBBER_CC +#else /* __GNUC__ >= 2 */ +#define __CLOBBER_CC : "cc" +#define __AND_CLOBBER_CC , "cc" +#endif /* __GNUC__ < 2 */ + +#if (defined (__a29k__) || defined (_AM29K)) && W_TYPE_SIZE == 32 +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + __asm__ ("add %1,%4,%5\n\taddc %0,%2,%3" \ + : "=r" (sh), "=&r" (sl) \ + : "r" (ah), "rI" (bh), "%r" (al), "rI" (bl)) +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + __asm__ ("sub %1,%4,%5\n\tsubc %0,%2,%3" \ + : "=r" (sh), "=&r" (sl) \ + : "r" (ah), "rI" (bh), "r" (al), "rI" (bl)) +#define umul_ppmm(xh, xl, m0, m1) \ + do { \ + USItype __m0 = (m0), __m1 = (m1); \ + __asm__ ("multiplu %0,%1,%2" \ + : "=r" (xl) \ + : "r" (__m0), "r" (__m1)); \ + __asm__ ("multmu %0,%1,%2" \ + : "=r" (xh) \ + : "r" (__m0), "r" (__m1)); \ + } while (0) +#define udiv_qrnnd(q, r, n1, n0, d) \ + __asm__ ("dividu %0,%3,%4" \ + : "=r" (q), "=q" (r) \ + : "1" (n1), "r" (n0), "r" (d)) +#define count_leading_zeros(count, x) \ + __asm__ ("clz %0,%1" \ + : "=r" (count) \ + : "r" (x)) +#define COUNT_LEADING_ZEROS_0 32 +#endif /* __a29k__ */ + +#if defined (__arc__) +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + __asm__ ("add.f\t%1, %4, %5\n\tadc\t%0, %2, %3" \ + : "=r" (sh), \ + "=&r" (sl) \ + : "r" ((USItype) (ah)), \ + "rIJ" ((USItype) (bh)), \ + "%r" ((USItype) (al)), \ + "rIJ" ((USItype) (bl))) +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + __asm__ ("sub.f\t%1, %4, %5\n\tsbc\t%0, %2, %3" \ + : "=r" (sh), \ + "=&r" (sl) \ + : "r" ((USItype) (ah)), \ + "rIJ" ((USItype) (bh)), \ + "r" ((USItype) (al)), \ + "rIJ" ((USItype) (bl))) +#endif + +#if defined (__arm__) && !defined (__thumb__) && W_TYPE_SIZE == 32 +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + __asm__ ("adds\t%1, %4, %5\n\tadc\t%0, %2, %3" \ + : "=r" (sh), "=&r" (sl) \ + : "r" (ah), "rI" (bh), "%r" (al), "rI" (bl) __CLOBBER_CC) +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + do { \ + if (__builtin_constant_p (al)) \ + { \ + if (__builtin_constant_p (ah)) \ + __asm__ ("rsbs\t%1, %5, %4\n\trsc\t%0, %3, %2" \ + : "=r" (sh), "=&r" (sl) \ + : "rI" (ah), "r" (bh), "rI" (al), "r" (bl) __CLOBBER_CC); \ + else \ + __asm__ ("rsbs\t%1, %5, %4\n\tsbc\t%0, %2, %3" \ + : "=r" (sh), "=&r" (sl) \ + : "r" (ah), "rI" (bh), "rI" (al), "r" (bl) __CLOBBER_CC); \ + } \ + else if (__builtin_constant_p (ah)) \ + { \ + if (__builtin_constant_p (bl)) \ + __asm__ ("subs\t%1, %4, %5\n\trsc\t%0, %3, %2" \ + : "=r" (sh), "=&r" (sl) \ + : "rI" (ah), "r" (bh), "r" (al), "rI" (bl) __CLOBBER_CC); \ + else \ + __asm__ ("rsbs\t%1, %5, %4\n\trsc\t%0, %3, %2" \ + : "=r" (sh), "=&r" (sl) \ + : "rI" (ah), "r" (bh), "rI" (al), "r" (bl) __CLOBBER_CC); \ + } \ + else if (__builtin_constant_p (bl)) \ + { \ + if (__builtin_constant_p (bh)) \ + __asm__ ("subs\t%1, %4, %5\n\tsbc\t%0, %2, %3" \ + : "=r" (sh), "=&r" (sl) \ + : "r" (ah), "rI" (bh), "r" (al), "rI" (bl) __CLOBBER_CC); \ + else \ + __asm__ ("subs\t%1, %4, %5\n\trsc\t%0, %3, %2" \ + : "=r" (sh), "=&r" (sl) \ + : "rI" (ah), "r" (bh), "r" (al), "rI" (bl) __CLOBBER_CC); \ + } \ + else /* only bh might be a constant */ \ + __asm__ ("subs\t%1, %4, %5\n\tsbc\t%0, %2, %3" \ + : "=r" (sh), "=&r" (sl) \ + : "r" (ah), "rI" (bh), "r" (al), "rI" (bl) __CLOBBER_CC);\ + } while (0) +#if 1 || defined (__arm_m__) /* `M' series has widening multiply support */ +#define umul_ppmm(xh, xl, a, b) \ + __asm__ ("umull %0,%1,%2,%3" : "=&r" (xl), "=&r" (xh) : "r" (a), "r" (b)) +#define UMUL_TIME 5 +#define smul_ppmm(xh, xl, a, b) \ + __asm__ ("smull %0,%1,%2,%3" : "=&r" (xl), "=&r" (xh) : "r" (a), "r" (b)) +#ifndef LONGLONG_STANDALONE +#define udiv_qrnnd(q, r, n1, n0, d) \ + do { UWtype __di; \ + __di = __MPN(invert_limb) (d); \ + udiv_qrnnd_preinv (q, r, n1, n0, d, __di); \ + } while (0) +#define UDIV_PREINV_ALWAYS 1 +#define UDIV_NEEDS_NORMALIZATION 1 +#define UDIV_TIME 70 +#endif /* LONGLONG_STANDALONE */ +#else +#define umul_ppmm(xh, xl, a, b) \ + __asm__ ("%@ Inlined umul_ppmm\n" \ +" mov %|r0, %2, lsr #16\n" \ +" mov %|r2, %3, lsr #16\n" \ +" bic %|r1, %2, %|r0, lsl #16\n" \ +" bic %|r2, %3, %|r2, lsl #16\n" \ +" mul %1, %|r1, %|r2\n" \ +" mul %|r2, %|r0, %|r2\n" \ +" mul %|r1, %0, %|r1\n" \ +" mul %0, %|r0, %0\n" \ +" adds %|r1, %|r2, %|r1\n" \ +" addcs %0, %0, #65536\n" \ +" adds %1, %1, %|r1, lsl #16\n" \ +" adc %0, %0, %|r1, lsr #16" \ + : "=&r" (xh), "=r" (xl) \ + : "r" (a), "r" (b) \ + : "r0", "r1", "r2") +#define UMUL_TIME 20 +#ifndef LONGLONG_STANDALONE +#define udiv_qrnnd(q, r, n1, n0, d) \ + do { UWtype __r; \ + (q) = __MPN(udiv_qrnnd) (&__r, (n1), (n0), (d)); \ + (r) = __r; \ + } while (0) +extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype); +#define UDIV_TIME 200 +#endif /* LONGLONG_STANDALONE */ +#endif +/* This is a bizarre test, but GCC doesn't define any useful common symbol. */ +#if defined (__ARM_ARCH_5__) || defined (__ARM_ARCH_5T__) || \ + defined (__ARM_ARCH_5E__) || defined (__ARM_ARCH_5TE__)|| \ + defined (__ARM_ARCH_6__) || defined (__ARM_ARCH_6J__) || \ + defined (__ARM_ARCH_6K__) || defined (__ARM_ARCH_6Z__) || \ + defined (__ARM_ARCH_6ZK__)|| defined (__ARM_ARCH_6T2__)|| \ + defined (__ARM_ARCH_6M__) || defined (__ARM_ARCH_7__) || \ + defined (__ARM_ARCH_7A__) || defined (__ARM_ARCH_7R__) || \ + defined (__ARM_ARCH_7M__) || defined (__ARM_ARCH_7EM__) +#define count_leading_zeros(count, x) \ + __asm__ ("clz\t%0, %1" : "=r" (count) : "r" (x)) +#define COUNT_LEADING_ZEROS_0 32 +#endif +#endif /* __arm__ */ + +#if defined (__aarch64__) && W_TYPE_SIZE == 64 +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + __asm__ ("adds\t%1, %x4, %5\n\tadc\t%0, %x2, %x3" \ + : "=r" (sh), "=&r" (sl) \ + : "rZ" (ah), "rZ" (bh), "%r" (al), "rI" (bl) __CLOBBER_CC) +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + __asm__ ("subs\t%1, %x4, %5\n\tsbc\t%0, %x2, %x3" \ + : "=r,r" (sh), "=&r,&r" (sl) \ + : "rZ,rZ" (ah), "rZ,rZ" (bh), "r,Z" (al), "rI,r" (bl) __CLOBBER_CC) +#define umul_ppmm(ph, pl, m0, m1) \ + do { \ + UDItype __m0 = (m0), __m1 = (m1); \ + __asm__ ("umulh\t%0, %1, %2" : "=r" (ph) : "r" (m0), "r" (m1)); \ + (pl) = __m0 * __m1; \ + } while (0) +#define count_leading_zeros(count, x) \ + __asm__ ("clz\t%0, %1" : "=r" (count) : "r" (x)) +#define count_trailing_zeros(count, x) \ + __asm__ ("rbit\t%0, %1\n\tclz\t%0, %0" : "=r" (count) : "r" (x)) +#define COUNT_LEADING_ZEROS_0 64 +#endif /* __aarch64__ */ + +#if defined (__clipper__) && W_TYPE_SIZE == 32 +#define umul_ppmm(w1, w0, u, v) \ + ({union {UDItype __ll; \ + struct {USItype __l, __h;} __i; \ + } __x; \ + __asm__ ("mulwux %2,%0" \ + : "=r" (__x.__ll) \ + : "%0" ((USItype)(u)), "r" ((USItype)(v))); \ + (w1) = __x.__i.__h; (w0) = __x.__i.__l;}) +#define smul_ppmm(w1, w0, u, v) \ + ({union {DItype __ll; \ + struct {SItype __l, __h;} __i; \ + } __x; \ + __asm__ ("mulwx %2,%0" \ + : "=r" (__x.__ll) \ + : "%0" ((SItype)(u)), "r" ((SItype)(v))); \ + (w1) = __x.__i.__h; (w0) = __x.__i.__l;}) +#define __umulsidi3(u, v) \ + ({UDItype __w; \ + __asm__ ("mulwux %2,%0" \ + : "=r" (__w) : "%0" ((USItype)(u)), "r" ((USItype)(v))); \ + __w; }) +#endif /* __clipper__ */ + +/* Fujitsu vector computers. */ +#if defined (__uxp__) && W_TYPE_SIZE == 32 +#define umul_ppmm(ph, pl, u, v) \ + do { \ + union {UDItype __ll; \ + struct {USItype __h, __l;} __i; \ + } __x; \ + __asm__ ("mult.lu %1,%2,%0" : "=r" (__x.__ll) : "%r" (u), "rK" (v));\ + (ph) = __x.__i.__h; \ + (pl) = __x.__i.__l; \ + } while (0) +#define smul_ppmm(ph, pl, u, v) \ + do { \ + union {UDItype __ll; \ + struct {USItype __h, __l;} __i; \ + } __x; \ + __asm__ ("mult.l %1,%2,%0" : "=r" (__x.__ll) : "%r" (u), "rK" (v)); \ + (ph) = __x.__i.__h; \ + (pl) = __x.__i.__l; \ + } while (0) +#endif + +#if defined (__gmicro__) && W_TYPE_SIZE == 32 +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + __asm__ ("add.w %5,%1\n\taddx %3,%0" \ + : "=g" (sh), "=&g" (sl) \ + : "0" ((USItype)(ah)), "g" ((USItype)(bh)), \ + "%1" ((USItype)(al)), "g" ((USItype)(bl))) +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + __asm__ ("sub.w %5,%1\n\tsubx %3,%0" \ + : "=g" (sh), "=&g" (sl) \ + : "0" ((USItype)(ah)), "g" ((USItype)(bh)), \ + "1" ((USItype)(al)), "g" ((USItype)(bl))) +#define umul_ppmm(ph, pl, m0, m1) \ + __asm__ ("mulx %3,%0,%1" \ + : "=g" (ph), "=r" (pl) \ + : "%0" ((USItype)(m0)), "g" ((USItype)(m1))) +#define udiv_qrnnd(q, r, nh, nl, d) \ + __asm__ ("divx %4,%0,%1" \ + : "=g" (q), "=r" (r) \ + : "1" ((USItype)(nh)), "0" ((USItype)(nl)), "g" ((USItype)(d))) +#define count_leading_zeros(count, x) \ + __asm__ ("bsch/1 %1,%0" \ + : "=g" (count) : "g" ((USItype)(x)), "0" ((USItype)0)) +#endif + +#if defined (__hppa) && W_TYPE_SIZE == 32 +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + __asm__ ("add%I5 %5,%r4,%1\n\taddc %r2,%r3,%0" \ + : "=r" (sh), "=&r" (sl) \ + : "rM" (ah), "rM" (bh), "%rM" (al), "rI" (bl)) +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + __asm__ ("sub%I4 %4,%r5,%1\n\tsubb %r2,%r3,%0" \ + : "=r" (sh), "=&r" (sl) \ + : "rM" (ah), "rM" (bh), "rI" (al), "rM" (bl)) +#if defined (_PA_RISC1_1) +#define umul_ppmm(wh, wl, u, v) \ + do { \ + union {UDItype __ll; \ + struct {USItype __h, __l;} __i; \ + } __x; \ + __asm__ ("xmpyu %1,%2,%0" : "=*f" (__x.__ll) : "*f" (u), "*f" (v)); \ + (wh) = __x.__i.__h; \ + (wl) = __x.__i.__l; \ + } while (0) +#define UMUL_TIME 8 +#define UDIV_TIME 60 +#else +#define UMUL_TIME 40 +#define UDIV_TIME 80 +#endif +#define count_leading_zeros(count, x) \ + do { \ + USItype __tmp; \ + __asm__ ( \ + "ldi 1,%0\n" \ +" extru,= %1,15,16,%%r0 ; Bits 31..16 zero?\n" \ +" extru,tr %1,15,16,%1 ; No. Shift down, skip add.\n" \ +" ldo 16(%0),%0 ; Yes. Perform add.\n" \ +" extru,= %1,23,8,%%r0 ; Bits 15..8 zero?\n" \ +" extru,tr %1,23,8,%1 ; No. Shift down, skip add.\n" \ +" ldo 8(%0),%0 ; Yes. Perform add.\n" \ +" extru,= %1,27,4,%%r0 ; Bits 7..4 zero?\n" \ +" extru,tr %1,27,4,%1 ; No. Shift down, skip add.\n" \ +" ldo 4(%0),%0 ; Yes. Perform add.\n" \ +" extru,= %1,29,2,%%r0 ; Bits 3..2 zero?\n" \ +" extru,tr %1,29,2,%1 ; No. Shift down, skip add.\n" \ +" ldo 2(%0),%0 ; Yes. Perform add.\n" \ +" extru %1,30,1,%1 ; Extract bit 1.\n" \ +" sub %0,%1,%0 ; Subtract it.\n" \ + : "=r" (count), "=r" (__tmp) : "1" (x)); \ + } while (0) +#endif /* hppa */ + +/* These macros are for ABI=2.0w. In ABI=2.0n they can't be used, since GCC + (3.2) puts longlong into two adjacent 32-bit registers. Presumably this + is just a case of no direct support for 2.0n but treating it like 1.0. */ +#if defined (__hppa) && W_TYPE_SIZE == 64 && ! defined (_LONG_LONG_LIMB) +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + __asm__ ("add%I5 %5,%r4,%1\n\tadd,dc %r2,%r3,%0" \ + : "=r" (sh), "=&r" (sl) \ + : "rM" (ah), "rM" (bh), "%rM" (al), "rI" (bl)) +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + __asm__ ("sub%I4 %4,%r5,%1\n\tsub,db %r2,%r3,%0" \ + : "=r" (sh), "=&r" (sl) \ + : "rM" (ah), "rM" (bh), "rI" (al), "rM" (bl)) +#endif /* hppa */ + +#if (defined (__i370__) || defined (__s390__) || defined (__mvs__)) && W_TYPE_SIZE == 32 +#if defined (__zarch__) || defined (HAVE_HOST_CPU_s390_zarch) +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + do { \ +/* if (__builtin_constant_p (bl)) \ + __asm__ ("alfi\t%1,%o5\n\talcr\t%0,%3" \ + : "=r" (sh), "=&r" (sl) \ + : "0" (ah), "r" (bh), "%1" (al), "n" (bl) __CLOBBER_CC);\ + else \ +*/ __asm__ ("alr\t%1,%5\n\talcr\t%0,%3" \ + : "=r" (sh), "=&r" (sl) \ + : "0" (ah), "r" (bh), "%1" (al), "r" (bl)__CLOBBER_CC); \ + } while (0) +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + do { \ +/* if (__builtin_constant_p (bl)) \ + __asm__ ("slfi\t%1,%o5\n\tslbr\t%0,%3" \ + : "=r" (sh), "=&r" (sl) \ + : "0" (ah), "r" (bh), "1" (al), "n" (bl) __CLOBBER_CC); \ + else \ +*/ __asm__ ("slr\t%1,%5\n\tslbr\t%0,%3" \ + : "=r" (sh), "=&r" (sl) \ + : "0" (ah), "r" (bh), "1" (al), "r" (bl) __CLOBBER_CC); \ + } while (0) +#if __GMP_GNUC_PREREQ (4,5) +#define umul_ppmm(xh, xl, m0, m1) \ + do { \ + union {UDItype __ll; \ + struct {USItype __h, __l;} __i; \ + } __x; \ + __x.__ll = (UDItype) (m0) * (UDItype) (m1); \ + (xh) = __x.__i.__h; (xl) = __x.__i.__l; \ + } while (0) +#else +#if 0 +#define umul_ppmm(xh, xl, m0, m1) \ + do { \ + union {UDItype __ll; \ + struct {USItype __h, __l;} __i; \ + } __x; \ + __asm__ ("mlr\t%0,%2" \ + : "=r" (__x.__ll) \ + : "%0" (m0), "r" (m1)); \ + (xh) = __x.__i.__h; (xl) = __x.__i.__l; \ + } while (0) +#else +#define umul_ppmm(xh, xl, m0, m1) \ + do { \ + /* When we have 64-bit regs and gcc is aware of that, we cannot simply use + DImode for the product, since that would be allocated to a single 64-bit + register, whereas mlr uses the low 32-bits of an even-odd register pair. + */ \ + register USItype __r0 __asm__ ("0"); \ + register USItype __r1 __asm__ ("1") = (m0); \ + __asm__ ("mlr\t%0,%3" \ + : "=r" (__r0), "=r" (__r1) \ + : "r" (__r1), "r" (m1)); \ + (xh) = __r0; (xl) = __r1; \ + } while (0) +#endif /* if 0 */ +#endif +#if 0 +#define udiv_qrnnd(q, r, n1, n0, d) \ + do { \ + union {UDItype __ll; \ + struct {USItype __h, __l;} __i; \ + } __x; \ + __x.__i.__h = n1; __x.__i.__l = n0; \ + __asm__ ("dlr\t%0,%2" \ + : "=r" (__x.__ll) \ + : "0" (__x.__ll), "r" (d)); \ + (q) = __x.__i.__l; (r) = __x.__i.__h; \ + } while (0) +#else +#define udiv_qrnnd(q, r, n1, n0, d) \ + do { \ + register USItype __r0 __asm__ ("0") = (n1); \ + register USItype __r1 __asm__ ("1") = (n0); \ + __asm__ ("dlr\t%0,%4" \ + : "=r" (__r0), "=r" (__r1) \ + : "r" (__r0), "r" (__r1), "r" (d)); \ + (q) = __r1; (r) = __r0; \ + } while (0) +#endif /* if 0 */ +#else /* if __zarch__ */ + +#define smul_ppmm(xh, xl, m0, m1) \ + do { \ + union {DItype __ll; \ + struct {USItype __h, __l;} __i; \ + } __x; \ + __asm__ ("mr\t%0,%2" \ + : "=r" (__x.__ll) \ + : "%0" (m0), "r" (m1)); \ + (xh) = __x.__i.__h; (xl) = __x.__i.__l; \ + } while (0) + +#define sdiv_qrnnd(q, r, n1, n0, d) \ + do { \ + union {DItype __ll; \ + struct {USItype __h, __l;} __i; \ + } __x; \ + __x.__i.__h = n1; __x.__i.__l = n0; \ + __asm__ ("dr\t%0,%2" \ + : "=r" (__x.__ll) \ + : "0" (__x.__ll), "r" (d)); \ + (q) = __x.__i.__l; (r) = __x.__i.__h; \ + } while (0) +#endif /* if __zarch__ */ +#endif + +#if defined (__s390x__) && W_TYPE_SIZE == 64 +/* We need to cast operands with register constraints, otherwise their types + will be assumed to be SImode by gcc. For these machines, such operations + will insert a value into the low 32 bits, and leave the high 32 bits with + garbage. */ +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + do { \ + __asm__ ("algr\t%1,%5\n\talcgr\t%0,%3" \ + : "=r" (sh), "=&r" (sl) \ + : "0" ((UDItype)(ah)), "r" ((UDItype)(bh)), \ + "%1" ((UDItype)(al)), "r" ((UDItype)(bl)) __CLOBBER_CC); \ + } while (0) +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + do { \ + __asm__ ("slgr\t%1,%5\n\tslbgr\t%0,%3" \ + : "=r" (sh), "=&r" (sl) \ + : "0" ((UDItype)(ah)), "r" ((UDItype)(bh)), \ + "1" ((UDItype)(al)), "r" ((UDItype)(bl)) __CLOBBER_CC); \ + } while (0) +#define umul_ppmm(xh, xl, m0, m1) \ + do { \ + union {unsigned int __attribute__ ((mode(TI))) __ll; \ + struct {UDItype __h, __l;} __i; \ + } __x; \ + __asm__ ("mlgr\t%0,%2" \ + : "=r" (__x.__ll) \ + : "%0" ((UDItype)(m0)), "r" ((UDItype)(m1))); \ + (xh) = __x.__i.__h; (xl) = __x.__i.__l; \ + } while (0) +#define udiv_qrnnd(q, r, n1, n0, d) \ + do { \ + union {unsigned int __attribute__ ((mode(TI))) __ll; \ + struct {UDItype __h, __l;} __i; \ + } __x; \ + __x.__i.__h = n1; __x.__i.__l = n0; \ + __asm__ ("dlgr\t%0,%2" \ + : "=r" (__x.__ll) \ + : "0" (__x.__ll), "r" ((UDItype)(d))); \ + (q) = __x.__i.__l; (r) = __x.__i.__h; \ + } while (0) +#if 0 +#define count_leading_zeros(cnt, x) \ + do { \ + union {unsigned int __attribute__ ((mode(TI))) __ll; \ + struct {UDItype __h, __l;} __i; \ + } __clr_cnt; \ + __asm__ ("flogr\t%0,%1" \ + : "=r" (__clr_cnt.__ll) \ + : "r" (x) __CLOBBER_CC); \ + (cnt) = __clr_cnt.__i.__h; \ + } while (0) +#endif +#endif + +#if (defined (__i386__) || defined (__i486__)) && W_TYPE_SIZE == 32 +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + __asm__ ("addl %5,%k1\n\tadcl %3,%k0" \ + : "=r" (sh), "=&r" (sl) \ + : "0" ((USItype)(ah)), "g" ((USItype)(bh)), \ + "%1" ((USItype)(al)), "g" ((USItype)(bl))) +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + __asm__ ("subl %5,%k1\n\tsbbl %3,%k0" \ + : "=r" (sh), "=&r" (sl) \ + : "0" ((USItype)(ah)), "g" ((USItype)(bh)), \ + "1" ((USItype)(al)), "g" ((USItype)(bl))) +#define umul_ppmm(w1, w0, u, v) \ + __asm__ ("mull %3" \ + : "=a" (w0), "=d" (w1) \ + : "%0" ((USItype)(u)), "rm" ((USItype)(v))) +#define udiv_qrnnd(q, r, n1, n0, dx) /* d renamed to dx avoiding "=d" */\ + __asm__ ("divl %4" /* stringification in K&R C */ \ + : "=a" (q), "=d" (r) \ + : "0" ((USItype)(n0)), "1" ((USItype)(n1)), "rm" ((USItype)(dx))) + +#if HAVE_HOST_CPU_i586 || HAVE_HOST_CPU_pentium || HAVE_HOST_CPU_pentiummmx +/* Pentium bsrl takes between 10 and 72 cycles depending where the most + significant 1 bit is, hence the use of the following alternatives. bsfl + is slow too, between 18 and 42 depending where the least significant 1 + bit is, so let the generic count_trailing_zeros below make use of the + count_leading_zeros here too. */ + +#if HAVE_HOST_CPU_pentiummmx && ! defined (LONGLONG_STANDALONE) +/* The following should be a fixed 14 or 15 cycles, but possibly plus an L1 + cache miss reading from __clz_tab. For P55 it's favoured over the float + below so as to avoid mixing MMX and x87, since the penalty for switching + between the two is about 100 cycles. + + The asm block sets __shift to -3 if the high 24 bits are clear, -2 for + 16, -1 for 8, or 0 otherwise. This could be written equivalently as + follows, but as of gcc 2.95.2 it results in conditional jumps. + + __shift = -(__n < 0x1000000); + __shift -= (__n < 0x10000); + __shift -= (__n < 0x100); + + The middle two sbbl and cmpl's pair, and with luck something gcc + generates might pair with the first cmpl and the last sbbl. The "32+1" + constant could be folded into __clz_tab[], but it doesn't seem worth + making a different table just for that. */ + +#define count_leading_zeros(c,n) \ + do { \ + USItype __n = (n); \ + USItype __shift; \ + __asm__ ("cmpl $0x1000000, %1\n" \ + "sbbl %0, %0\n" \ + "cmpl $0x10000, %1\n" \ + "sbbl $0, %0\n" \ + "cmpl $0x100, %1\n" \ + "sbbl $0, %0\n" \ + : "=&r" (__shift) : "r" (__n)); \ + __shift = __shift*8 + 24 + 1; \ + (c) = 32 + 1 - __shift - __clz_tab[__n >> __shift]; \ + } while (0) +#define COUNT_LEADING_ZEROS_NEED_CLZ_TAB +#define COUNT_LEADING_ZEROS_0 31 /* n==0 indistinguishable from n==1 */ + +#else /* ! pentiummmx || LONGLONG_STANDALONE */ +/* The following should be a fixed 14 cycles or so. Some scheduling + opportunities should be available between the float load/store too. This + sort of code is used in gcc 3 for __builtin_ffs (with "n&-n") and is + apparently suggested by the Intel optimizing manual (don't know exactly + where). gcc 2.95 or up will be best for this, so the "double" is + correctly aligned on the stack. */ +#define count_leading_zeros(c,n) \ + do { \ + union { \ + double d; \ + unsigned a[2]; \ + } __u; \ + ASSERT ((n) != 0); \ + __u.d = (UWtype) (n); \ + (c) = 0x3FF + 31 - (__u.a[1] >> 20); \ + } while (0) +#define COUNT_LEADING_ZEROS_0 (0x3FF + 31) +#endif /* pentiummx */ + +#else /* ! pentium */ + +#if __GMP_GNUC_PREREQ (3,4) /* using bsrl */ +#define count_leading_zeros(count,x) count_leading_zeros_gcc_clz(count,x) +#endif /* gcc clz */ + +/* On P6, gcc prior to 3.0 generates a partial register stall for + __cbtmp^31, due to using "xorb $31" instead of "xorl $31", the former + being 1 code byte smaller. "31-__cbtmp" is a workaround, probably at the + cost of one extra instruction. Do this for "i386" too, since that means + generic x86. */ +#if ! defined (count_leading_zeros) && __GNUC__ < 3 \ + && (HAVE_HOST_CPU_i386 \ + || HAVE_HOST_CPU_i686 \ + || HAVE_HOST_CPU_pentiumpro \ + || HAVE_HOST_CPU_pentium2 \ + || HAVE_HOST_CPU_pentium3) +#define count_leading_zeros(count, x) \ + do { \ + USItype __cbtmp; \ + ASSERT ((x) != 0); \ + __asm__ ("bsrl %1,%0" : "=r" (__cbtmp) : "rm" ((USItype)(x))); \ + (count) = 31 - __cbtmp; \ + } while (0) +#endif /* gcc<3 asm bsrl */ + +#ifndef count_leading_zeros +#define count_leading_zeros(count, x) \ + do { \ + USItype __cbtmp; \ + ASSERT ((x) != 0); \ + __asm__ ("bsrl %1,%0" : "=r" (__cbtmp) : "rm" ((USItype)(x))); \ + (count) = __cbtmp ^ 31; \ + } while (0) +#endif /* asm bsrl */ + +#if __GMP_GNUC_PREREQ (3,4) /* using bsfl */ +#define count_trailing_zeros(count,x) count_trailing_zeros_gcc_ctz(count,x) +#endif /* gcc ctz */ + +#ifndef count_trailing_zeros +#define count_trailing_zeros(count, x) \ + do { \ + ASSERT ((x) != 0); \ + __asm__ ("bsfl %1,%k0" : "=r" (count) : "rm" ((USItype)(x))); \ + } while (0) +#endif /* asm bsfl */ + +#endif /* ! pentium */ + +#ifndef UMUL_TIME +#define UMUL_TIME 10 +#endif +#ifndef UDIV_TIME +#define UDIV_TIME 40 +#endif +#endif /* 80x86 */ + +#if defined (__amd64__) && W_TYPE_SIZE == 64 +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + __asm__ ("addq %5,%q1\n\tadcq %3,%q0" \ + : "=r" (sh), "=&r" (sl) \ + : "0" ((UDItype)(ah)), "rme" ((UDItype)(bh)), \ + "%1" ((UDItype)(al)), "rme" ((UDItype)(bl))) +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + __asm__ ("subq %5,%q1\n\tsbbq %3,%q0" \ + : "=r" (sh), "=&r" (sl) \ + : "0" ((UDItype)(ah)), "rme" ((UDItype)(bh)), \ + "1" ((UDItype)(al)), "rme" ((UDItype)(bl))) +#define umul_ppmm(w1, w0, u, v) \ + __asm__ ("mulq %3" \ + : "=a" (w0), "=d" (w1) \ + : "%0" ((UDItype)(u)), "rm" ((UDItype)(v))) +#define udiv_qrnnd(q, r, n1, n0, dx) /* d renamed to dx avoiding "=d" */\ + __asm__ ("divq %4" /* stringification in K&R C */ \ + : "=a" (q), "=d" (r) \ + : "0" ((UDItype)(n0)), "1" ((UDItype)(n1)), "rm" ((UDItype)(dx))) +/* bsrq destination must be a 64-bit register, hence UDItype for __cbtmp. */ +#define count_leading_zeros(count, x) \ + do { \ + UDItype __cbtmp; \ + ASSERT ((x) != 0); \ + __asm__ ("bsrq %1,%0" : "=r" (__cbtmp) : "rm" ((UDItype)(x))); \ + (count) = __cbtmp ^ 63; \ + } while (0) +/* bsfq destination must be a 64-bit register, "%q0" forces this in case + count is only an int. */ +#define count_trailing_zeros(count, x) \ + do { \ + ASSERT ((x) != 0); \ + __asm__ ("bsfq %1,%q0" : "=r" (count) : "rm" ((UDItype)(x))); \ + } while (0) +#endif /* __amd64__ */ + +#if defined (__i860__) && W_TYPE_SIZE == 32 +#define rshift_rhlc(r,h,l,c) \ + __asm__ ("shr %3,r0,r0\;shrd %1,%2,%0" \ + "=r" (r) : "r" (h), "r" (l), "rn" (c)) +#endif /* i860 */ + +#if defined (__i960__) && W_TYPE_SIZE == 32 +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + __asm__ ("cmpo 1,0\;addc %5,%4,%1\;addc %3,%2,%0" \ + : "=r" (sh), "=&r" (sl) \ + : "dI" (ah), "dI" (bh), "%dI" (al), "dI" (bl)) +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + __asm__ ("cmpo 0,0\;subc %5,%4,%1\;subc %3,%2,%0" \ + : "=r" (sh), "=&r" (sl) \ + : "dI" (ah), "dI" (bh), "dI" (al), "dI" (bl)) +#define umul_ppmm(w1, w0, u, v) \ + ({union {UDItype __ll; \ + struct {USItype __l, __h;} __i; \ + } __x; \ + __asm__ ("emul %2,%1,%0" \ + : "=d" (__x.__ll) : "%dI" (u), "dI" (v)); \ + (w1) = __x.__i.__h; (w0) = __x.__i.__l;}) +#define __umulsidi3(u, v) \ + ({UDItype __w; \ + __asm__ ("emul %2,%1,%0" : "=d" (__w) : "%dI" (u), "dI" (v)); \ + __w; }) +#define udiv_qrnnd(q, r, nh, nl, d) \ + do { \ + union {UDItype __ll; \ + struct {USItype __l, __h;} __i; \ + } __nn; \ + __nn.__i.__h = (nh); __nn.__i.__l = (nl); \ + __asm__ ("ediv %d,%n,%0" \ + : "=d" (__rq.__ll) : "dI" (__nn.__ll), "dI" (d)); \ + (r) = __rq.__i.__l; (q) = __rq.__i.__h; \ + } while (0) +#define count_leading_zeros(count, x) \ + do { \ + USItype __cbtmp; \ + __asm__ ("scanbit %1,%0" : "=r" (__cbtmp) : "r" (x)); \ + (count) = __cbtmp ^ 31; \ + } while (0) +#define COUNT_LEADING_ZEROS_0 (-32) /* sic */ +#if defined (__i960mx) /* what is the proper symbol to test??? */ +#define rshift_rhlc(r,h,l,c) \ + do { \ + union {UDItype __ll; \ + struct {USItype __l, __h;} __i; \ + } __nn; \ + __nn.__i.__h = (h); __nn.__i.__l = (l); \ + __asm__ ("shre %2,%1,%0" : "=d" (r) : "dI" (__nn.__ll), "dI" (c)); \ + } +#endif /* i960mx */ +#endif /* i960 */ + +#if (defined (__mc68000__) || defined (__mc68020__) || defined(mc68020) \ + || defined (__m68k__) || defined (__mc5200__) || defined (__mc5206e__) \ + || defined (__mc5307__)) && W_TYPE_SIZE == 32 +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + __asm__ ("add%.l %5,%1\n\taddx%.l %3,%0" \ + : "=d" (sh), "=&d" (sl) \ + : "0" ((USItype)(ah)), "d" ((USItype)(bh)), \ + "%1" ((USItype)(al)), "g" ((USItype)(bl))) +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + __asm__ ("sub%.l %5,%1\n\tsubx%.l %3,%0" \ + : "=d" (sh), "=&d" (sl) \ + : "0" ((USItype)(ah)), "d" ((USItype)(bh)), \ + "1" ((USItype)(al)), "g" ((USItype)(bl))) +/* The '020, '030, '040 and CPU32 have 32x32->64 and 64/32->32q-32r. */ +#if defined (__mc68020__) || defined(mc68020) \ + || defined (__mc68030__) || defined (mc68030) \ + || defined (__mc68040__) || defined (mc68040) \ + || defined (__mcpu32__) || defined (mcpu32) \ + || defined (__NeXT__) +#define umul_ppmm(w1, w0, u, v) \ + __asm__ ("mulu%.l %3,%1:%0" \ + : "=d" (w0), "=d" (w1) \ + : "%0" ((USItype)(u)), "dmi" ((USItype)(v))) +#define UMUL_TIME 45 +#define udiv_qrnnd(q, r, n1, n0, d) \ + __asm__ ("divu%.l %4,%1:%0" \ + : "=d" (q), "=d" (r) \ + : "0" ((USItype)(n0)), "1" ((USItype)(n1)), "dmi" ((USItype)(d))) +#define UDIV_TIME 90 +#define sdiv_qrnnd(q, r, n1, n0, d) \ + __asm__ ("divs%.l %4,%1:%0" \ + : "=d" (q), "=d" (r) \ + : "0" ((USItype)(n0)), "1" ((USItype)(n1)), "dmi" ((USItype)(d))) +#else /* for other 68k family members use 16x16->32 multiplication */ +#define umul_ppmm(xh, xl, a, b) \ + do { USItype __umul_tmp1, __umul_tmp2; \ + __asm__ ("| Inlined umul_ppmm\n" \ +" move%.l %5,%3\n" \ +" move%.l %2,%0\n" \ +" move%.w %3,%1\n" \ +" swap %3\n" \ +" swap %0\n" \ +" mulu%.w %2,%1\n" \ +" mulu%.w %3,%0\n" \ +" mulu%.w %2,%3\n" \ +" swap %2\n" \ +" mulu%.w %5,%2\n" \ +" add%.l %3,%2\n" \ +" jcc 1f\n" \ +" add%.l %#0x10000,%0\n" \ +"1: move%.l %2,%3\n" \ +" clr%.w %2\n" \ +" swap %2\n" \ +" swap %3\n" \ +" clr%.w %3\n" \ +" add%.l %3,%1\n" \ +" addx%.l %2,%0\n" \ +" | End inlined umul_ppmm" \ + : "=&d" (xh), "=&d" (xl), \ + "=d" (__umul_tmp1), "=&d" (__umul_tmp2) \ + : "%2" ((USItype)(a)), "d" ((USItype)(b))); \ + } while (0) +#define UMUL_TIME 100 +#define UDIV_TIME 400 +#endif /* not mc68020 */ +/* The '020, '030, '040 and '060 have bitfield insns. + GCC 3.4 defines __mc68020__ when in CPU32 mode, check for __mcpu32__ to + exclude bfffo on that chip (bitfield insns not available). */ +#if (defined (__mc68020__) || defined (mc68020) \ + || defined (__mc68030__) || defined (mc68030) \ + || defined (__mc68040__) || defined (mc68040) \ + || defined (__mc68060__) || defined (mc68060) \ + || defined (__NeXT__)) \ + && ! defined (__mcpu32__) +#define count_leading_zeros(count, x) \ + __asm__ ("bfffo %1{%b2:%b2},%0" \ + : "=d" (count) \ + : "od" ((USItype) (x)), "n" (0)) +#define COUNT_LEADING_ZEROS_0 32 +#endif +#endif /* mc68000 */ + +#if defined (__m88000__) && W_TYPE_SIZE == 32 +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + __asm__ ("addu.co %1,%r4,%r5\n\taddu.ci %0,%r2,%r3" \ + : "=r" (sh), "=&r" (sl) \ + : "rJ" (ah), "rJ" (bh), "%rJ" (al), "rJ" (bl)) +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + __asm__ ("subu.co %1,%r4,%r5\n\tsubu.ci %0,%r2,%r3" \ + : "=r" (sh), "=&r" (sl) \ + : "rJ" (ah), "rJ" (bh), "rJ" (al), "rJ" (bl)) +#define count_leading_zeros(count, x) \ + do { \ + USItype __cbtmp; \ + __asm__ ("ff1 %0,%1" : "=r" (__cbtmp) : "r" (x)); \ + (count) = __cbtmp ^ 31; \ + } while (0) +#define COUNT_LEADING_ZEROS_0 63 /* sic */ +#if defined (__m88110__) +#define umul_ppmm(wh, wl, u, v) \ + do { \ + union {UDItype __ll; \ + struct {USItype __h, __l;} __i; \ + } __x; \ + __asm__ ("mulu.d %0,%1,%2" : "=r" (__x.__ll) : "r" (u), "r" (v)); \ + (wh) = __x.__i.__h; \ + (wl) = __x.__i.__l; \ + } while (0) +#define udiv_qrnnd(q, r, n1, n0, d) \ + ({union {UDItype __ll; \ + struct {USItype __h, __l;} __i; \ + } __x, __q; \ + __x.__i.__h = (n1); __x.__i.__l = (n0); \ + __asm__ ("divu.d %0,%1,%2" \ + : "=r" (__q.__ll) : "r" (__x.__ll), "r" (d)); \ + (r) = (n0) - __q.__l * (d); (q) = __q.__l; }) +#define UMUL_TIME 5 +#define UDIV_TIME 25 +#else +#define UMUL_TIME 17 +#define UDIV_TIME 150 +#endif /* __m88110__ */ +#endif /* __m88000__ */ + +#if defined (__mips) && W_TYPE_SIZE == 32 +#if __GMP_GNUC_PREREQ (4,4) +#define umul_ppmm(w1, w0, u, v) \ + do { \ + UDItype __ll = (UDItype)(u) * (v); \ + w1 = __ll >> 32; \ + w0 = __ll; \ + } while (0) +#endif +#if !defined (umul_ppmm) && __GMP_GNUC_PREREQ (2,7) +#define umul_ppmm(w1, w0, u, v) \ + __asm__ ("multu %2,%3" : "=l" (w0), "=h" (w1) : "d" (u), "d" (v)) +#endif +#if !defined (umul_ppmm) +#define umul_ppmm(w1, w0, u, v) \ + __asm__ ("multu %2,%3\n\tmflo %0\n\tmfhi %1" \ + : "=d" (w0), "=d" (w1) : "d" (u), "d" (v)) +#endif +#define UMUL_TIME 10 +#define UDIV_TIME 100 +#endif /* __mips */ + +#if (defined (__mips) && __mips >= 3) && W_TYPE_SIZE == 64 +#if __GMP_GNUC_PREREQ (4,4) +#define umul_ppmm(w1, w0, u, v) \ + do { \ + typedef unsigned int __ll_UTItype __attribute__((mode(TI))); \ + __ll_UTItype __ll = (__ll_UTItype)(u) * (v); \ + w1 = __ll >> 64; \ + w0 = __ll; \ + } while (0) +#endif +#if !defined (umul_ppmm) && __GMP_GNUC_PREREQ (2,7) +#define umul_ppmm(w1, w0, u, v) \ + __asm__ ("dmultu %2,%3" : "=l" (w0), "=h" (w1) : "d" (u), "d" (v)) +#endif +#if !defined (umul_ppmm) +#define umul_ppmm(w1, w0, u, v) \ + __asm__ ("dmultu %2,%3\n\tmflo %0\n\tmfhi %1" \ + : "=d" (w0), "=d" (w1) : "d" (u), "d" (v)) +#endif +#define UMUL_TIME 20 +#define UDIV_TIME 140 +#endif /* __mips */ + +#if defined (__mmix__) && W_TYPE_SIZE == 64 +#define umul_ppmm(w1, w0, u, v) \ + __asm__ ("MULU %0,%2,%3" : "=r" (w0), "=z" (w1) : "r" (u), "r" (v)) +#endif + +#if defined (__ns32000__) && W_TYPE_SIZE == 32 +#define umul_ppmm(w1, w0, u, v) \ + ({union {UDItype __ll; \ + struct {USItype __l, __h;} __i; \ + } __x; \ + __asm__ ("meid %2,%0" \ + : "=g" (__x.__ll) \ + : "%0" ((USItype)(u)), "g" ((USItype)(v))); \ + (w1) = __x.__i.__h; (w0) = __x.__i.__l;}) +#define __umulsidi3(u, v) \ + ({UDItype __w; \ + __asm__ ("meid %2,%0" \ + : "=g" (__w) \ + : "%0" ((USItype)(u)), "g" ((USItype)(v))); \ + __w; }) +#define udiv_qrnnd(q, r, n1, n0, d) \ + ({union {UDItype __ll; \ + struct {USItype __l, __h;} __i; \ + } __x; \ + __x.__i.__h = (n1); __x.__i.__l = (n0); \ + __asm__ ("deid %2,%0" \ + : "=g" (__x.__ll) \ + : "0" (__x.__ll), "g" ((USItype)(d))); \ + (r) = __x.__i.__l; (q) = __x.__i.__h; }) +#define count_trailing_zeros(count,x) \ + do { \ + __asm__ ("ffsd %2,%0" \ + : "=r" (count) \ + : "0" ((USItype) 0), "r" ((USItype) (x))); \ + } while (0) +#endif /* __ns32000__ */ + +/* In the past we had a block of various #defines tested + _ARCH_PPC - AIX + _ARCH_PWR - AIX + __powerpc__ - gcc + __POWERPC__ - BEOS + __ppc__ - Darwin + PPC - old gcc, GNU/Linux, SysV + The plain PPC test was not good for vxWorks, since PPC is defined on all + CPUs there (eg. m68k too), as a constant one is expected to compare + CPU_FAMILY against. + + At any rate, this was pretty unattractive and a bit fragile. The use of + HAVE_HOST_CPU_FAMILY is designed to cut through it all and be sure of + getting the desired effect. + + ENHANCE-ME: We should test _IBMR2 here when we add assembly support for + the system vendor compilers. (Is that vendor compilers with inline asm, + or what?) */ + +#if (HAVE_HOST_CPU_FAMILY_power || HAVE_HOST_CPU_FAMILY_powerpc) \ + && W_TYPE_SIZE == 32 +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + do { \ + if (__builtin_constant_p (bh) && (bh) == 0) \ + __asm__ ("add%I4c %1,%3,%4\n\taddze %0,%2" \ + : "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl)); \ + else if (__builtin_constant_p (bh) && (bh) == ~(USItype) 0) \ + __asm__ ("add%I4c %1,%3,%4\n\taddme %0,%2" \ + : "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl)); \ + else \ + __asm__ ("add%I5c %1,%4,%5\n\tadde %0,%2,%3" \ + : "=r" (sh), "=&r" (sl) \ + : "r" (ah), "r" (bh), "%r" (al), "rI" (bl)); \ + } while (0) +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + do { \ + if (__builtin_constant_p (ah) && (ah) == 0) \ + __asm__ ("subf%I3c %1,%4,%3\n\tsubfze %0,%2" \ + : "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl));\ + else if (__builtin_constant_p (ah) && (ah) == ~(USItype) 0) \ + __asm__ ("subf%I3c %1,%4,%3\n\tsubfme %0,%2" \ + : "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl));\ + else if (__builtin_constant_p (bh) && (bh) == 0) \ + __asm__ ("subf%I3c %1,%4,%3\n\taddme %0,%2" \ + : "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl));\ + else if (__builtin_constant_p (bh) && (bh) == ~(USItype) 0) \ + __asm__ ("subf%I3c %1,%4,%3\n\taddze %0,%2" \ + : "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl));\ + else \ + __asm__ ("subf%I4c %1,%5,%4\n\tsubfe %0,%3,%2" \ + : "=r" (sh), "=&r" (sl) \ + : "r" (ah), "r" (bh), "rI" (al), "r" (bl)); \ + } while (0) +#define count_leading_zeros(count, x) \ + __asm__ ("cntlzw %0,%1" : "=r" (count) : "r" (x)) +#define COUNT_LEADING_ZEROS_0 32 +#if HAVE_HOST_CPU_FAMILY_powerpc +#if __GMP_GNUC_PREREQ (4,4) +#define umul_ppmm(w1, w0, u, v) \ + do { \ + UDItype __ll = (UDItype)(u) * (v); \ + w1 = __ll >> 32; \ + w0 = __ll; \ + } while (0) +#endif +#if !defined (umul_ppmm) +#define umul_ppmm(ph, pl, m0, m1) \ + do { \ + USItype __m0 = (m0), __m1 = (m1); \ + __asm__ ("mulhwu %0,%1,%2" : "=r" (ph) : "%r" (m0), "r" (m1)); \ + (pl) = __m0 * __m1; \ + } while (0) +#endif +#define UMUL_TIME 15 +#define smul_ppmm(ph, pl, m0, m1) \ + do { \ + SItype __m0 = (m0), __m1 = (m1); \ + __asm__ ("mulhw %0,%1,%2" : "=r" (ph) : "%r" (m0), "r" (m1)); \ + (pl) = __m0 * __m1; \ + } while (0) +#define SMUL_TIME 14 +#define UDIV_TIME 120 +#else +#define UMUL_TIME 8 +#define smul_ppmm(xh, xl, m0, m1) \ + __asm__ ("mul %0,%2,%3" : "=r" (xh), "=q" (xl) : "r" (m0), "r" (m1)) +#define SMUL_TIME 4 +#define sdiv_qrnnd(q, r, nh, nl, d) \ + __asm__ ("div %0,%2,%4" : "=r" (q), "=q" (r) : "r" (nh), "1" (nl), "r" (d)) +#define UDIV_TIME 100 +#endif +#endif /* 32-bit POWER architecture variants. */ + +/* We should test _IBMR2 here when we add assembly support for the system + vendor compilers. */ +#if HAVE_HOST_CPU_FAMILY_powerpc && W_TYPE_SIZE == 64 +#if !defined (_LONG_LONG_LIMB) +/* _LONG_LONG_LIMB is ABI=mode32 where adde operates on 32-bit values. So + use adde etc only when not _LONG_LONG_LIMB. */ +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + do { \ + if (__builtin_constant_p (bh) && (bh) == 0) \ + __asm__ ("add%I4c %1,%3,%4\n\taddze %0,%2" \ + : "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl)); \ + else if (__builtin_constant_p (bh) && (bh) == ~(UDItype) 0) \ + __asm__ ("add%I4c %1,%3,%4\n\taddme %0,%2" \ + : "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl)); \ + else \ + __asm__ ("add%I5c %1,%4,%5\n\tadde %0,%2,%3" \ + : "=r" (sh), "=&r" (sl) \ + : "r" (ah), "r" (bh), "%r" (al), "rI" (bl)); \ + } while (0) +/* We use "*rI" for the constant operand here, since with just "I", gcc barfs. + This might seem strange, but gcc folds away the dead code late. */ +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + do { \ + if (__builtin_constant_p (bl) && bl > -0x8000 && bl <= 0x8000) { \ + if (__builtin_constant_p (ah) && (ah) == 0) \ + __asm__ ("addic %1,%3,%4\n\tsubfze %0,%2" \ + : "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "*rI" (-bl)); \ + else if (__builtin_constant_p (ah) && (ah) == ~(UDItype) 0) \ + __asm__ ("addic %1,%3,%4\n\tsubfme %0,%2" \ + : "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "*rI" (-bl)); \ + else if (__builtin_constant_p (bh) && (bh) == 0) \ + __asm__ ("addic %1,%3,%4\n\taddme %0,%2" \ + : "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "*rI" (-bl)); \ + else if (__builtin_constant_p (bh) && (bh) == ~(UDItype) 0) \ + __asm__ ("addic %1,%3,%4\n\taddze %0,%2" \ + : "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "*rI" (-bl)); \ + else \ + __asm__ ("addic %1,%4,%5\n\tsubfe %0,%3,%2" \ + : "=r" (sh), "=&r" (sl) \ + : "r" (ah), "r" (bh), "rI" (al), "*rI" (-bl)); \ + } else { \ + if (__builtin_constant_p (ah) && (ah) == 0) \ + __asm__ ("subf%I3c %1,%4,%3\n\tsubfze %0,%2" \ + : "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl)); \ + else if (__builtin_constant_p (ah) && (ah) == ~(UDItype) 0) \ + __asm__ ("subf%I3c %1,%4,%3\n\tsubfme %0,%2" \ + : "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl)); \ + else if (__builtin_constant_p (bh) && (bh) == 0) \ + __asm__ ("subf%I3c %1,%4,%3\n\taddme %0,%2" \ + : "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl)); \ + else if (__builtin_constant_p (bh) && (bh) == ~(UDItype) 0) \ + __asm__ ("subf%I3c %1,%4,%3\n\taddze %0,%2" \ + : "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl)); \ + else \ + __asm__ ("subf%I4c %1,%5,%4\n\tsubfe %0,%3,%2" \ + : "=r" (sh), "=&r" (sl) \ + : "r" (ah), "r" (bh), "rI" (al), "r" (bl)); \ + } \ + } while (0) +#endif /* ! _LONG_LONG_LIMB */ +#define count_leading_zeros(count, x) \ + __asm__ ("cntlzd %0,%1" : "=r" (count) : "r" (x)) +#define COUNT_LEADING_ZEROS_0 64 +#if 0 && __GMP_GNUC_PREREQ (4,4) /* Disable, this results in libcalls! */ +#define umul_ppmm(w1, w0, u, v) \ + do { \ + typedef unsigned int __ll_UTItype __attribute__((mode(TI))); \ + __ll_UTItype __ll = (__ll_UTItype)(u) * (v); \ + w1 = __ll >> 64; \ + w0 = __ll; \ + } while (0) +#endif +#if !defined (umul_ppmm) +#define umul_ppmm(ph, pl, m0, m1) \ + do { \ + UDItype __m0 = (m0), __m1 = (m1); \ + __asm__ ("mulhdu %0,%1,%2" : "=r" (ph) : "%r" (m0), "r" (m1)); \ + (pl) = __m0 * __m1; \ + } while (0) +#endif +#define UMUL_TIME 15 +#define smul_ppmm(ph, pl, m0, m1) \ + do { \ + DItype __m0 = (m0), __m1 = (m1); \ + __asm__ ("mulhd %0,%1,%2" : "=r" (ph) : "%r" (m0), "r" (m1)); \ + (pl) = __m0 * __m1; \ + } while (0) +#define SMUL_TIME 14 /* ??? */ +#define UDIV_TIME 120 /* ??? */ +#endif /* 64-bit PowerPC. */ + +#if defined (__pyr__) && W_TYPE_SIZE == 32 +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + __asm__ ("addw %5,%1\n\taddwc %3,%0" \ + : "=r" (sh), "=&r" (sl) \ + : "0" ((USItype)(ah)), "g" ((USItype)(bh)), \ + "%1" ((USItype)(al)), "g" ((USItype)(bl))) +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + __asm__ ("subw %5,%1\n\tsubwb %3,%0" \ + : "=r" (sh), "=&r" (sl) \ + : "0" ((USItype)(ah)), "g" ((USItype)(bh)), \ + "1" ((USItype)(al)), "g" ((USItype)(bl))) +/* This insn works on Pyramids with AP, XP, or MI CPUs, but not with SP. */ +#define umul_ppmm(w1, w0, u, v) \ + ({union {UDItype __ll; \ + struct {USItype __h, __l;} __i; \ + } __x; \ + __asm__ ("movw %1,%R0\n\tuemul %2,%0" \ + : "=&r" (__x.__ll) \ + : "g" ((USItype) (u)), "g" ((USItype)(v))); \ + (w1) = __x.__i.__h; (w0) = __x.__i.__l;}) +#endif /* __pyr__ */ + +#if defined (__ibm032__) /* RT/ROMP */ && W_TYPE_SIZE == 32 +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + __asm__ ("a %1,%5\n\tae %0,%3" \ + : "=r" (sh), "=&r" (sl) \ + : "0" ((USItype)(ah)), "r" ((USItype)(bh)), \ + "%1" ((USItype)(al)), "r" ((USItype)(bl))) +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + __asm__ ("s %1,%5\n\tse %0,%3" \ + : "=r" (sh), "=&r" (sl) \ + : "0" ((USItype)(ah)), "r" ((USItype)(bh)), \ + "1" ((USItype)(al)), "r" ((USItype)(bl))) +#define smul_ppmm(ph, pl, m0, m1) \ + __asm__ ( \ + "s r2,r2\n" \ +" mts r10,%2\n" \ +" m r2,%3\n" \ +" m r2,%3\n" \ +" m r2,%3\n" \ +" m r2,%3\n" \ +" m r2,%3\n" \ +" m r2,%3\n" \ +" m r2,%3\n" \ +" m r2,%3\n" \ +" m r2,%3\n" \ +" m r2,%3\n" \ +" m r2,%3\n" \ +" m r2,%3\n" \ +" m r2,%3\n" \ +" m r2,%3\n" \ +" m r2,%3\n" \ +" m r2,%3\n" \ +" cas %0,r2,r0\n" \ +" mfs r10,%1" \ + : "=r" (ph), "=r" (pl) \ + : "%r" ((USItype)(m0)), "r" ((USItype)(m1)) \ + : "r2") +#define UMUL_TIME 20 +#define UDIV_TIME 200 +#define count_leading_zeros(count, x) \ + do { \ + if ((x) >= 0x10000) \ + __asm__ ("clz %0,%1" \ + : "=r" (count) : "r" ((USItype)(x) >> 16)); \ + else \ + { \ + __asm__ ("clz %0,%1" \ + : "=r" (count) : "r" ((USItype)(x))); \ + (count) += 16; \ + } \ + } while (0) +#endif /* RT/ROMP */ + +#if (defined (__SH2__) || defined (__SH3__) || defined (__SH4__)) && W_TYPE_SIZE == 32 +#define umul_ppmm(w1, w0, u, v) \ + __asm__ ("dmulu.l %2,%3\n\tsts macl,%1\n\tsts mach,%0" \ + : "=r" (w1), "=r" (w0) : "r" (u), "r" (v) : "macl", "mach") +#define UMUL_TIME 5 +#endif + +#if defined (__sparc__) && W_TYPE_SIZE == 32 +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + __asm__ ("addcc %r4,%5,%1\n\taddx %r2,%3,%0" \ + : "=r" (sh), "=&r" (sl) \ + : "rJ" (ah), "rI" (bh),"%rJ" (al), "rI" (bl) \ + __CLOBBER_CC) +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + __asm__ ("subcc %r4,%5,%1\n\tsubx %r2,%3,%0" \ + : "=r" (sh), "=&r" (sl) \ + : "rJ" (ah), "rI" (bh), "rJ" (al), "rI" (bl) \ + __CLOBBER_CC) +#if defined (__sparc_v9__) || defined (__sparcv9) +/* Perhaps we should use floating-point operations here? */ +#if 0 +/* Triggers a bug making mpz/tests/t-gcd.c fail. + Perhaps we simply need explicitly zero-extend the inputs? */ +#define umul_ppmm(w1, w0, u, v) \ + __asm__ ("mulx %2,%3,%%g1; srl %%g1,0,%1; srlx %%g1,32,%0" : \ + "=r" (w1), "=r" (w0) : "r" (u), "r" (v) : "g1") +#else +/* Use v8 umul until above bug is fixed. */ +#define umul_ppmm(w1, w0, u, v) \ + __asm__ ("umul %2,%3,%1;rd %%y,%0" : "=r" (w1), "=r" (w0) : "r" (u), "r" (v)) +#endif +/* Use a plain v8 divide for v9. */ +#define udiv_qrnnd(q, r, n1, n0, d) \ + do { \ + USItype __q; \ + __asm__ ("mov %1,%%y;nop;nop;nop;udiv %2,%3,%0" \ + : "=r" (__q) : "r" (n1), "r" (n0), "r" (d)); \ + (r) = (n0) - __q * (d); \ + (q) = __q; \ + } while (0) +#else +#if defined (__sparc_v8__) /* gcc normal */ \ + || defined (__sparcv8) /* gcc solaris */ \ + || HAVE_HOST_CPU_supersparc +/* Don't match immediate range because, 1) it is not often useful, + 2) the 'I' flag thinks of the range as a 13 bit signed interval, + while we want to match a 13 bit interval, sign extended to 32 bits, + but INTERPRETED AS UNSIGNED. */ +#define umul_ppmm(w1, w0, u, v) \ + __asm__ ("umul %2,%3,%1;rd %%y,%0" : "=r" (w1), "=r" (w0) : "r" (u), "r" (v)) +#define UMUL_TIME 5 + +#if HAVE_HOST_CPU_supersparc +#define UDIV_TIME 60 /* SuperSPARC timing */ +#else +/* Don't use this on SuperSPARC because its udiv only handles 53 bit + dividends and will trap to the kernel for the rest. */ +#define udiv_qrnnd(q, r, n1, n0, d) \ + do { \ + USItype __q; \ + __asm__ ("mov %1,%%y;nop;nop;nop;udiv %2,%3,%0" \ + : "=r" (__q) : "r" (n1), "r" (n0), "r" (d)); \ + (r) = (n0) - __q * (d); \ + (q) = __q; \ + } while (0) +#define UDIV_TIME 25 +#endif /* HAVE_HOST_CPU_supersparc */ + +#else /* ! __sparc_v8__ */ +#if defined (__sparclite__) +/* This has hardware multiply but not divide. It also has two additional + instructions scan (ffs from high bit) and divscc. */ +#define umul_ppmm(w1, w0, u, v) \ + __asm__ ("umul %2,%3,%1;rd %%y,%0" : "=r" (w1), "=r" (w0) : "r" (u), "r" (v)) +#define UMUL_TIME 5 +#define udiv_qrnnd(q, r, n1, n0, d) \ + __asm__ ("! Inlined udiv_qrnnd\n" \ +" wr %%g0,%2,%%y ! Not a delayed write for sparclite\n" \ +" tst %%g0\n" \ +" divscc %3,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%%g1\n" \ +" divscc %%g1,%4,%0\n" \ +" rd %%y,%1\n" \ +" bl,a 1f\n" \ +" add %1,%4,%1\n" \ +"1: ! End of inline udiv_qrnnd" \ + : "=r" (q), "=r" (r) : "r" (n1), "r" (n0), "rI" (d) \ + : "%g1" __AND_CLOBBER_CC) +#define UDIV_TIME 37 +#define count_leading_zeros(count, x) \ + __asm__ ("scan %1,1,%0" : "=r" (count) : "r" (x)) +/* Early sparclites return 63 for an argument of 0, but they warn that future + implementations might change this. Therefore, leave COUNT_LEADING_ZEROS_0 + undefined. */ +#endif /* __sparclite__ */ +#endif /* __sparc_v8__ */ +#endif /* __sparc_v9__ */ +/* Default to sparc v7 versions of umul_ppmm and udiv_qrnnd. */ +#ifndef umul_ppmm +#define umul_ppmm(w1, w0, u, v) \ + __asm__ ("! Inlined umul_ppmm\n" \ +" wr %%g0,%2,%%y ! SPARC has 0-3 delay insn after a wr\n" \ +" sra %3,31,%%g2 ! Don't move this insn\n" \ +" and %2,%%g2,%%g2 ! Don't move this insn\n" \ +" andcc %%g0,0,%%g1 ! Don't move this insn\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,%3,%%g1\n" \ +" mulscc %%g1,0,%%g1\n" \ +" add %%g1,%%g2,%0\n" \ +" rd %%y,%1" \ + : "=r" (w1), "=r" (w0) : "%rI" (u), "r" (v) \ + : "%g1", "%g2" __AND_CLOBBER_CC) +#define UMUL_TIME 39 /* 39 instructions */ +#endif +#ifndef udiv_qrnnd +#ifndef LONGLONG_STANDALONE +#define udiv_qrnnd(q, r, n1, n0, d) \ + do { UWtype __r; \ + (q) = __MPN(udiv_qrnnd) (&__r, (n1), (n0), (d)); \ + (r) = __r; \ + } while (0) +extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype); +#ifndef UDIV_TIME +#define UDIV_TIME 140 +#endif +#endif /* LONGLONG_STANDALONE */ +#endif /* udiv_qrnnd */ +#endif /* __sparc__ */ + +#if defined (__sparc__) && W_TYPE_SIZE == 64 +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + __asm__ ( \ + "addcc %r4,%5,%1\n" \ + " addccc %r6,%7,%%g0\n" \ + " addc %r2,%3,%0" \ + : "=r" (sh), "=&r" (sl) \ + : "rJ" (ah), "rI" (bh), "%rJ" (al), "rI" (bl), \ + "%rJ" ((al) >> 32), "rI" ((bl) >> 32) \ + __CLOBBER_CC) +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + __asm__ ( \ + "subcc %r4,%5,%1\n" \ + " subccc %r6,%7,%%g0\n" \ + " subc %r2,%3,%0" \ + : "=r" (sh), "=&r" (sl) \ + : "rJ" (ah), "rI" (bh), "rJ" (al), "rI" (bl), \ + "rJ" ((al) >> 32), "rI" ((bl) >> 32) \ + __CLOBBER_CC) +#if __VIS__ >= 0x300 +#undef add_ssaaaa +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + __asm__ ( \ + "addcc %r4, %5, %1\n" \ + " addxc %r2, %r3, %0" \ + : "=r" (sh), "=&r" (sl) \ + : "rJ" (ah), "rJ" (bh), "%rJ" (al), "rI" (bl) __CLOBBER_CC) +#define umul_ppmm(ph, pl, m0, m1) \ + do { \ + UDItype __m0 = (m0), __m1 = (m1); \ + (pl) = __m0 * __m1; \ + __asm__ ("umulxhi\t%2, %1, %0" \ + : "=r" (ph) \ + : "%r" (__m0), "r" (__m1)); \ + } while (0) +#define count_leading_zeros(count, x) \ + __asm__ ("lzd\t%1,%0" : "=r" (count) : "r" (x)) +#endif +#endif + +#if (defined (__vax) || defined (__vax__)) && W_TYPE_SIZE == 32 +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + __asm__ ("addl2 %5,%1\n\tadwc %3,%0" \ + : "=g" (sh), "=&g" (sl) \ + : "0" ((USItype)(ah)), "g" ((USItype)(bh)), \ + "%1" ((USItype)(al)), "g" ((USItype)(bl))) +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + __asm__ ("subl2 %5,%1\n\tsbwc %3,%0" \ + : "=g" (sh), "=&g" (sl) \ + : "0" ((USItype)(ah)), "g" ((USItype)(bh)), \ + "1" ((USItype)(al)), "g" ((USItype)(bl))) +#define smul_ppmm(xh, xl, m0, m1) \ + do { \ + union {UDItype __ll; \ + struct {USItype __l, __h;} __i; \ + } __x; \ + USItype __m0 = (m0), __m1 = (m1); \ + __asm__ ("emul %1,%2,$0,%0" \ + : "=g" (__x.__ll) : "g" (__m0), "g" (__m1)); \ + (xh) = __x.__i.__h; (xl) = __x.__i.__l; \ + } while (0) +#define sdiv_qrnnd(q, r, n1, n0, d) \ + do { \ + union {DItype __ll; \ + struct {SItype __l, __h;} __i; \ + } __x; \ + __x.__i.__h = n1; __x.__i.__l = n0; \ + __asm__ ("ediv %3,%2,%0,%1" \ + : "=g" (q), "=g" (r) : "g" (__x.__ll), "g" (d)); \ + } while (0) +#if 0 +#define count_trailing_zeros(count,x) \ + do { \ + __asm__ ("ffs 0, 31, %1, %0" \ + : "=g" (count) \ + : "g" ((USItype) (x))); \ + } while (0) +#endif +#endif /* vax */ + +#if defined (__z8000__) && W_TYPE_SIZE == 16 +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + __asm__ ("add %H1,%H5\n\tadc %H0,%H3" \ + : "=r" (sh), "=&r" (sl) \ + : "0" ((unsigned int)(ah)), "r" ((unsigned int)(bh)), \ + "%1" ((unsigned int)(al)), "rQR" ((unsigned int)(bl))) +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + __asm__ ("sub %H1,%H5\n\tsbc %H0,%H3" \ + : "=r" (sh), "=&r" (sl) \ + : "0" ((unsigned int)(ah)), "r" ((unsigned int)(bh)), \ + "1" ((unsigned int)(al)), "rQR" ((unsigned int)(bl))) +#define umul_ppmm(xh, xl, m0, m1) \ + do { \ + union {long int __ll; \ + struct {unsigned int __h, __l;} __i; \ + } __x; \ + unsigned int __m0 = (m0), __m1 = (m1); \ + __asm__ ("mult %S0,%H3" \ + : "=r" (__x.__i.__h), "=r" (__x.__i.__l) \ + : "%1" (m0), "rQR" (m1)); \ + (xh) = __x.__i.__h; (xl) = __x.__i.__l; \ + (xh) += ((((signed int) __m0 >> 15) & __m1) \ + + (((signed int) __m1 >> 15) & __m0)); \ + } while (0) +#endif /* __z8000__ */ + +#endif /* __GNUC__ */ + +#endif /* NO_ASM */ + +#if !defined (umul_ppmm) && defined (__umulsidi3) +#define umul_ppmm(ph, pl, m0, m1) \ + { \ + UDWtype __ll = __umulsidi3 (m0, m1); \ + ph = (UWtype) (__ll >> W_TYPE_SIZE); \ + pl = (UWtype) __ll; \ + } +#endif + +#if !defined (__umulsidi3) +#define __umulsidi3(u, v) \ + ({UWtype __hi, __lo; \ + umul_ppmm (__hi, __lo, u, v); \ + ((UDWtype) __hi << W_TYPE_SIZE) | __lo; }) +#endif + + +/* Use mpn_umul_ppmm or mpn_udiv_qrnnd functions, if they exist. The "_r" + forms have "reversed" arguments, meaning the pointer is last, which + sometimes allows better parameter passing, in particular on 64-bit + hppa. */ + +#define mpn_umul_ppmm __MPN(umul_ppmm) +extern UWtype mpn_umul_ppmm (UWtype *, UWtype, UWtype); + +#if ! defined (umul_ppmm) && defined (HAVE_NATIVE_mpn_umul_ppmm) \ + && ! defined (LONGLONG_STANDALONE) +#define umul_ppmm(wh, wl, u, v) \ + do { \ + UWtype __umul_ppmm__p0; \ + (wh) = mpn_umul_ppmm (&__umul_ppmm__p0, (UWtype) (u), (UWtype) (v));\ + (wl) = __umul_ppmm__p0; \ + } while (0) +#endif + +#define mpn_umul_ppmm_r __MPN(umul_ppmm_r) +extern UWtype mpn_umul_ppmm_r (UWtype, UWtype, UWtype *); + +#if ! defined (umul_ppmm) && defined (HAVE_NATIVE_mpn_umul_ppmm_r) \ + && ! defined (LONGLONG_STANDALONE) +#define umul_ppmm(wh, wl, u, v) \ + do { \ + UWtype __umul_p0; \ + (wh) = mpn_umul_ppmm_r ((UWtype) (u), (UWtype) (v), &__umul_p0); \ + (wl) = __umul_p0; \ + } while (0) +#endif + +#define mpn_udiv_qrnnd __MPN(udiv_qrnnd) +extern UWtype mpn_udiv_qrnnd (UWtype *, UWtype, UWtype, UWtype); + +#if ! defined (udiv_qrnnd) && defined (HAVE_NATIVE_mpn_udiv_qrnnd) \ + && ! defined (LONGLONG_STANDALONE) +#define udiv_qrnnd(q, r, n1, n0, d) \ + do { \ + UWtype __udiv_qrnnd_r; \ + (q) = mpn_udiv_qrnnd (&__udiv_qrnnd_r, \ + (UWtype) (n1), (UWtype) (n0), (UWtype) d); \ + (r) = __udiv_qrnnd_r; \ + } while (0) +#endif + +#define mpn_udiv_qrnnd_r __MPN(udiv_qrnnd_r) +extern UWtype mpn_udiv_qrnnd_r (UWtype, UWtype, UWtype, UWtype *); + +#if ! defined (udiv_qrnnd) && defined (HAVE_NATIVE_mpn_udiv_qrnnd_r) \ + && ! defined (LONGLONG_STANDALONE) +#define udiv_qrnnd(q, r, n1, n0, d) \ + do { \ + UWtype __udiv_qrnnd_r; \ + (q) = mpn_udiv_qrnnd_r ((UWtype) (n1), (UWtype) (n0), (UWtype) d, \ + &__udiv_qrnnd_r); \ + (r) = __udiv_qrnnd_r; \ + } while (0) +#endif + + +/* If this machine has no inline assembler, use C macros. */ + +#if !defined (add_ssaaaa) +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + do { \ + UWtype __x; \ + __x = (al) + (bl); \ + (sh) = (ah) + (bh) + (__x < (al)); \ + (sl) = __x; \ + } while (0) +#endif + +#if !defined (sub_ddmmss) +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + do { \ + UWtype __x; \ + __x = (al) - (bl); \ + (sh) = (ah) - (bh) - ((al) < (bl)); \ + (sl) = __x; \ + } while (0) +#endif + +/* If we lack umul_ppmm but have smul_ppmm, define umul_ppmm in terms of + smul_ppmm. */ +#if !defined (umul_ppmm) && defined (smul_ppmm) +#define umul_ppmm(w1, w0, u, v) \ + do { \ + UWtype __w1; \ + UWtype __xm0 = (u), __xm1 = (v); \ + smul_ppmm (__w1, w0, __xm0, __xm1); \ + (w1) = __w1 + (-(__xm0 >> (W_TYPE_SIZE - 1)) & __xm1) \ + + (-(__xm1 >> (W_TYPE_SIZE - 1)) & __xm0); \ + } while (0) +#endif + +/* If we still don't have umul_ppmm, define it using plain C. + + For reference, when this code is used for squaring (ie. u and v identical + expressions), gcc recognises __x1 and __x2 are the same and generates 3 + multiplies, not 4. The subsequent additions could be optimized a bit, + but the only place GMP currently uses such a square is mpn_sqr_basecase, + and chips obliged to use this generic C umul will have plenty of worse + performance problems than a couple of extra instructions on the diagonal + of sqr_basecase. */ + +#if !defined (umul_ppmm) +#define umul_ppmm(w1, w0, u, v) \ + do { \ + UWtype __x0, __x1, __x2, __x3; \ + UHWtype __ul, __vl, __uh, __vh; \ + UWtype __u = (u), __v = (v); \ + \ + __ul = __ll_lowpart (__u); \ + __uh = __ll_highpart (__u); \ + __vl = __ll_lowpart (__v); \ + __vh = __ll_highpart (__v); \ + \ + __x0 = (UWtype) __ul * __vl; \ + __x1 = (UWtype) __ul * __vh; \ + __x2 = (UWtype) __uh * __vl; \ + __x3 = (UWtype) __uh * __vh; \ + \ + __x1 += __ll_highpart (__x0);/* this can't give carry */ \ + __x1 += __x2; /* but this indeed can */ \ + if (__x1 < __x2) /* did we get it? */ \ + __x3 += __ll_B; /* yes, add it in the proper pos. */ \ + \ + (w1) = __x3 + __ll_highpart (__x1); \ + (w0) = (__x1 << W_TYPE_SIZE/2) + __ll_lowpart (__x0); \ + } while (0) +#endif + +/* If we don't have smul_ppmm, define it using umul_ppmm (which surely will + exist in one form or another. */ +#if !defined (smul_ppmm) +#define smul_ppmm(w1, w0, u, v) \ + do { \ + UWtype __w1; \ + UWtype __xm0 = (u), __xm1 = (v); \ + umul_ppmm (__w1, w0, __xm0, __xm1); \ + (w1) = __w1 - (-(__xm0 >> (W_TYPE_SIZE - 1)) & __xm1) \ + - (-(__xm1 >> (W_TYPE_SIZE - 1)) & __xm0); \ + } while (0) +#endif + +/* Define this unconditionally, so it can be used for debugging. */ +#define __udiv_qrnnd_c(q, r, n1, n0, d) \ + do { \ + UWtype __d1, __d0, __q1, __q0, __r1, __r0, __m; \ + \ + ASSERT ((d) != 0); \ + ASSERT ((n1) < (d)); \ + \ + __d1 = __ll_highpart (d); \ + __d0 = __ll_lowpart (d); \ + \ + __q1 = (n1) / __d1; \ + __r1 = (n1) - __q1 * __d1; \ + __m = __q1 * __d0; \ + __r1 = __r1 * __ll_B | __ll_highpart (n0); \ + if (__r1 < __m) \ + { \ + __q1--, __r1 += (d); \ + if (__r1 >= (d)) /* i.e. we didn't get carry when adding to __r1 */\ + if (__r1 < __m) \ + __q1--, __r1 += (d); \ + } \ + __r1 -= __m; \ + \ + __q0 = __r1 / __d1; \ + __r0 = __r1 - __q0 * __d1; \ + __m = __q0 * __d0; \ + __r0 = __r0 * __ll_B | __ll_lowpart (n0); \ + if (__r0 < __m) \ + { \ + __q0--, __r0 += (d); \ + if (__r0 >= (d)) \ + if (__r0 < __m) \ + __q0--, __r0 += (d); \ + } \ + __r0 -= __m; \ + \ + (q) = __q1 * __ll_B | __q0; \ + (r) = __r0; \ + } while (0) + +/* If the processor has no udiv_qrnnd but sdiv_qrnnd, go through + __udiv_w_sdiv (defined in libgcc or elsewhere). */ +#if !defined (udiv_qrnnd) && defined (sdiv_qrnnd) +#define udiv_qrnnd(q, r, nh, nl, d) \ + do { \ + UWtype __r; \ + (q) = __MPN(udiv_w_sdiv) (&__r, nh, nl, d); \ + (r) = __r; \ + } while (0) +__GMP_DECLSPEC UWtype __MPN(udiv_w_sdiv) (UWtype *, UWtype, UWtype, UWtype); +#endif + +/* If udiv_qrnnd was not defined for this processor, use __udiv_qrnnd_c. */ +#if !defined (udiv_qrnnd) +#define UDIV_NEEDS_NORMALIZATION 1 +#define udiv_qrnnd __udiv_qrnnd_c +#endif + +#if !defined (count_leading_zeros) +#define count_leading_zeros(count, x) \ + do { \ + UWtype __xr = (x); \ + UWtype __a; \ + \ + if (W_TYPE_SIZE == 32) \ + { \ + __a = __xr < ((UWtype) 1 << 2*__BITS4) \ + ? (__xr < ((UWtype) 1 << __BITS4) ? 1 : ((UWtype) (__BITS4 + 1))) \ + : (__xr < ((UWtype) 1 << 3*__BITS4) ? ((UWtype) (2*__BITS4 + 1)) \ + : ((UWtype) (3*__BITS4 + 1))); \ + } \ + else \ + { \ + for (__a = ((UWtype) W_TYPE_SIZE) - 8; __a > 0; __a -= 8) \ + if (((__xr >> __a) & 0xff) != 0) \ + break; \ + ++__a; \ + } \ + \ + (count) = ((unsigned int) (W_TYPE_SIZE + 1 - __a - __clz_tab[__xr >> __a])); \ + } while (0) +/* This version gives a well-defined value for zero. */ +#define COUNT_LEADING_ZEROS_0 (W_TYPE_SIZE - 1) +#define COUNT_LEADING_ZEROS_NEED_CLZ_TAB +#define COUNT_LEADING_ZEROS_SLOW +#endif + +/* clz_tab needed by mpn/x86/pentium/mod_1.asm in a fat binary */ +#if defined (HAVE_HOST_CPU_FAMILY_x86) && WANT_FAT_BINARY +#define COUNT_LEADING_ZEROS_NEED_CLZ_TAB +#endif + +#ifdef COUNT_LEADING_ZEROS_NEED_CLZ_TAB +extern const unsigned char __GMP_DECLSPEC __clz_tab[129]; +#endif + +#if !defined (count_trailing_zeros) +#if !defined (COUNT_LEADING_ZEROS_SLOW) +/* Define count_trailing_zeros using an asm count_leading_zeros. */ +#define count_trailing_zeros(count, x) \ + do { \ + UWtype __ctz_x = (x); \ + UWtype __ctz_c; \ + ASSERT (__ctz_x != 0); \ + count_leading_zeros (__ctz_c, __ctz_x & -__ctz_x); \ + (count) = W_TYPE_SIZE - 1 - __ctz_c; \ + } while (0) +#else +/* Define count_trailing_zeros in plain C, assuming small counts are common. + We use clz_tab without ado, since the C count_leading_zeros above will have + pulled it in. */ +#define count_trailing_zeros(count, x) \ + do { \ + UWtype __ctz_x = (x); \ + int __ctz_c; \ + \ + if (LIKELY ((__ctz_x & 0xff) != 0)) \ + (count) = __clz_tab[__ctz_x & -__ctz_x] - 2; \ + else \ + { \ + for (__ctz_c = 8 - 2; __ctz_c < W_TYPE_SIZE - 2; __ctz_c += 8) \ + { \ + __ctz_x >>= 8; \ + if (LIKELY ((__ctz_x & 0xff) != 0)) \ + break; \ + } \ + \ + (count) = __ctz_c + __clz_tab[__ctz_x & -__ctz_x]; \ + } \ + } while (0) +#endif +#endif + +#ifndef UDIV_NEEDS_NORMALIZATION +#define UDIV_NEEDS_NORMALIZATION 0 +#endif + +/* Whether udiv_qrnnd is actually implemented with udiv_qrnnd_preinv, and + that hence the latter should always be used. */ +#ifndef UDIV_PREINV_ALWAYS +#define UDIV_PREINV_ALWAYS 0 +#endif + +/* Give defaults for UMUL_TIME and UDIV_TIME. */ +#ifndef UMUL_TIME +#define UMUL_TIME 1 +#endif + +#ifndef UDIV_TIME +#define UDIV_TIME UMUL_TIME +#endif diff --git a/goil/build/libpm/gmp/mini-gmp.c.h b/goil/build/libpm/gmp/mini-gmp.c.h new file mode 100644 index 000000000..d4c0cb5ee --- /dev/null +++ b/goil/build/libpm/gmp/mini-gmp.c.h @@ -0,0 +1,4388 @@ +/* mini-gmp, a minimalistic implementation of a GNU GMP subset. + + Contributed to the GNU project by Niels Möller + +Copyright 1991-1997, 1999-2014 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +/* NOTE: All functions in this file which are not declared in + mini-gmp.h are internal, and are not intended to be compatible + neither with GMP nor with future versions of mini-gmp. */ + +/* Much of the material copied from GMP files, including: gmp-impl.h, + longlong.h, mpn/generic/add_n.c, mpn/generic/addmul_1.c, + mpn/generic/lshift.c, mpn/generic/mul_1.c, + mpn/generic/mul_basecase.c, mpn/generic/rshift.c, + mpn/generic/sbpi1_div_qr.c, mpn/generic/sub_n.c, + mpn/generic/submul_1.c. */ + +#include +#include +#include +#include +#include +#include + +#include "mini-gmp.h" + +#pragma GCC diagnostic ignored "-Wconversion" +#pragma GCC diagnostic ignored "-Wsign-compare" +#pragma GCC diagnostic ignored "-Wunused-value" +#pragma GCC diagnostic ignored "-Wunused-parameter" + +/* Macros */ +#define GMP_LIMB_BITS (sizeof(mp_limb_t) * CHAR_BIT) + +#define GMP_LIMB_MAX (~ (mp_limb_t) 0) +#define GMP_LIMB_HIGHBIT ((mp_limb_t) 1 << (GMP_LIMB_BITS - 1)) + +#define GMP_HLIMB_BIT ((mp_limb_t) 1 << (GMP_LIMB_BITS / 2)) +#define GMP_LLIMB_MASK (GMP_HLIMB_BIT - 1) + +#define GMP_ULONG_BITS (sizeof(unsigned long) * CHAR_BIT) +#define GMP_ULONG_HIGHBIT ((unsigned long) 1 << (GMP_ULONG_BITS - 1)) + +#define GMP_ABS(x) ((x) >= 0 ? (x) : -(x)) +#define GMP_NEG_CAST(T,x) (-((T)((x) + 1) - 1)) + +#define GMP_MIN(a, b) ((a) < (b) ? (a) : (b)) +#define GMP_MAX(a, b) ((a) > (b) ? (a) : (b)) + +#define gmp_assert_nocarry(x) do { \ + mp_limb_t __cy = x; \ + assert (__cy == 0); \ + } while (0) + +#define gmp_clz(count, x) do { \ + mp_limb_t __clz_x = (x); \ + unsigned __clz_c; \ + for (__clz_c = 0; \ + (__clz_x & ((mp_limb_t) 0xff << (GMP_LIMB_BITS - 8))) == 0; \ + __clz_c += 8) \ + __clz_x <<= 8; \ + for (; (__clz_x & GMP_LIMB_HIGHBIT) == 0; __clz_c++) \ + __clz_x <<= 1; \ + (count) = __clz_c; \ + } while (0) + +#define gmp_ctz(count, x) do { \ + mp_limb_t __ctz_x = (x); \ + unsigned __ctz_c = 0; \ + gmp_clz (__ctz_c, __ctz_x & - __ctz_x); \ + (count) = GMP_LIMB_BITS - 1 - __ctz_c; \ + } while (0) + +#define gmp_add_ssaaaa(sh, sl, ah, al, bh, bl) \ + do { \ + mp_limb_t __x; \ + __x = (al) + (bl); \ + (sh) = (ah) + (bh) + (__x < (al)); \ + (sl) = __x; \ + } while (0) + +#define gmp_sub_ddmmss(sh, sl, ah, al, bh, bl) \ + do { \ + mp_limb_t __x; \ + __x = (al) - (bl); \ + (sh) = (ah) - (bh) - ((al) < (bl)); \ + (sl) = __x; \ + } while (0) + +#define gmp_umul_ppmm(w1, w0, u, v) \ + do { \ + mp_limb_t __x0, __x1, __x2, __x3; \ + unsigned __ul, __vl, __uh, __vh; \ + mp_limb_t __u = (u), __v = (v); \ + \ + __ul = __u & GMP_LLIMB_MASK; \ + __uh = __u >> (GMP_LIMB_BITS / 2); \ + __vl = __v & GMP_LLIMB_MASK; \ + __vh = __v >> (GMP_LIMB_BITS / 2); \ + \ + __x0 = (mp_limb_t) __ul * __vl; \ + __x1 = (mp_limb_t) __ul * __vh; \ + __x2 = (mp_limb_t) __uh * __vl; \ + __x3 = (mp_limb_t) __uh * __vh; \ + \ + __x1 += __x0 >> (GMP_LIMB_BITS / 2);/* this can't give carry */ \ + __x1 += __x2; /* but this indeed can */ \ + if (__x1 < __x2) /* did we get it? */ \ + __x3 += GMP_HLIMB_BIT; /* yes, add it in the proper pos. */ \ + \ + (w1) = __x3 + (__x1 >> (GMP_LIMB_BITS / 2)); \ + (w0) = (__x1 << (GMP_LIMB_BITS / 2)) + (__x0 & GMP_LLIMB_MASK); \ + } while (0) + +#define gmp_udiv_qrnnd_preinv(q, r, nh, nl, d, di) \ + do { \ + mp_limb_t _qh, _ql, _r, _mask; \ + gmp_umul_ppmm (_qh, _ql, (nh), (di)); \ + gmp_add_ssaaaa (_qh, _ql, _qh, _ql, (nh) + 1, (nl)); \ + _r = (nl) - _qh * (d); \ + _mask = -(mp_limb_t) (_r > _ql); /* both > and >= are OK */ \ + _qh += _mask; \ + _r += _mask & (d); \ + if (_r >= (d)) \ + { \ + _r -= (d); \ + _qh++; \ + } \ + \ + (r) = _r; \ + (q) = _qh; \ + } while (0) + +#define gmp_udiv_qr_3by2(q, r1, r0, n2, n1, n0, d1, d0, dinv) \ + do { \ + mp_limb_t _q0, _t1, _t0, _mask; \ + gmp_umul_ppmm ((q), _q0, (n2), (dinv)); \ + gmp_add_ssaaaa ((q), _q0, (q), _q0, (n2), (n1)); \ + \ + /* Compute the two most significant limbs of n - q'd */ \ + (r1) = (n1) - (d1) * (q); \ + gmp_sub_ddmmss ((r1), (r0), (r1), (n0), (d1), (d0)); \ + gmp_umul_ppmm (_t1, _t0, (d0), (q)); \ + gmp_sub_ddmmss ((r1), (r0), (r1), (r0), _t1, _t0); \ + (q)++; \ + \ + /* Conditionally adjust q and the remainders */ \ + _mask = - (mp_limb_t) ((r1) >= _q0); \ + (q) += _mask; \ + gmp_add_ssaaaa ((r1), (r0), (r1), (r0), _mask & (d1), _mask & (d0)); \ + if ((r1) >= (d1)) \ + { \ + if ((r1) > (d1) || (r0) >= (d0)) \ + { \ + (q)++; \ + gmp_sub_ddmmss ((r1), (r0), (r1), (r0), (d1), (d0)); \ + } \ + } \ + } while (0) + +/* Swap macros. */ +#define MP_LIMB_T_SWAP(x, y) \ + do { \ + mp_limb_t __mp_limb_t_swap__tmp = (x); \ + (x) = (y); \ + (y) = __mp_limb_t_swap__tmp; \ + } while (0) +#define MP_SIZE_T_SWAP(x, y) \ + do { \ + mp_size_t __mp_size_t_swap__tmp = (x); \ + (x) = (y); \ + (y) = __mp_size_t_swap__tmp; \ + } while (0) +#define MP_BITCNT_T_SWAP(x,y) \ + do { \ + mp_bitcnt_t __mp_bitcnt_t_swap__tmp = (x); \ + (x) = (y); \ + (y) = __mp_bitcnt_t_swap__tmp; \ + } while (0) +#define MP_PTR_SWAP(x, y) \ + do { \ + mp_ptr __mp_ptr_swap__tmp = (x); \ + (x) = (y); \ + (y) = __mp_ptr_swap__tmp; \ + } while (0) +#define MP_SRCPTR_SWAP(x, y) \ + do { \ + mp_srcptr __mp_srcptr_swap__tmp = (x); \ + (x) = (y); \ + (y) = __mp_srcptr_swap__tmp; \ + } while (0) + +#define MPN_PTR_SWAP(xp,xs, yp,ys) \ + do { \ + MP_PTR_SWAP (xp, yp); \ + MP_SIZE_T_SWAP (xs, ys); \ + } while(0) +#define MPN_SRCPTR_SWAP(xp,xs, yp,ys) \ + do { \ + MP_SRCPTR_SWAP (xp, yp); \ + MP_SIZE_T_SWAP (xs, ys); \ + } while(0) + +#define MPZ_PTR_SWAP(x, y) \ + do { \ + mpz_ptr __mpz_ptr_swap__tmp = (x); \ + (x) = (y); \ + (y) = __mpz_ptr_swap__tmp; \ + } while (0) +#define MPZ_SRCPTR_SWAP(x, y) \ + do { \ + mpz_srcptr __mpz_srcptr_swap__tmp = (x); \ + (x) = (y); \ + (y) = __mpz_srcptr_swap__tmp; \ + } while (0) + +const int mp_bits_per_limb = GMP_LIMB_BITS; + + +/* Memory allocation and other helper functions. */ +static void +gmp_die (const char *msg) +{ + fprintf (stderr, "%s\n", msg); + abort(); +} + +static void * +gmp_default_alloc (size_t size) +{ + void *p; + + assert (size > 0); + + p = malloc (size); + if (!p) + gmp_die("gmp_default_alloc: Virtual memory exhausted."); + + return p; +} + +static void * +gmp_default_realloc (void *old, size_t old_size, size_t new_size) +{ + mp_ptr p; + + p = realloc (old, new_size); + + if (!p) + gmp_die("gmp_default_realoc: Virtual memory exhausted."); + + return p; +} + +static void +gmp_default_free (void *p, size_t size) +{ + free (p); +} + +static void * (*gmp_allocate_func) (size_t) = gmp_default_alloc; +static void * (*gmp_reallocate_func) (void *, size_t, size_t) = gmp_default_realloc; +static void (*gmp_free_func) (void *, size_t) = gmp_default_free; + +void +mp_get_memory_functions (void *(**alloc_func) (size_t), + void *(**realloc_func) (void *, size_t, size_t), + void (**free_func) (void *, size_t)) +{ + if (alloc_func) + *alloc_func = gmp_allocate_func; + + if (realloc_func) + *realloc_func = gmp_reallocate_func; + + if (free_func) + *free_func = gmp_free_func; +} + +void +mp_set_memory_functions (void *(*alloc_func) (size_t), + void *(*realloc_func) (void *, size_t, size_t), + void (*free_func) (void *, size_t)) +{ + if (!alloc_func) + alloc_func = gmp_default_alloc; + if (!realloc_func) + realloc_func = gmp_default_realloc; + if (!free_func) + free_func = gmp_default_free; + + gmp_allocate_func = alloc_func; + gmp_reallocate_func = realloc_func; + gmp_free_func = free_func; +} + +#define gmp_xalloc(size) ((*gmp_allocate_func)((size))) +#define gmp_free(p) ((*gmp_free_func) ((p), 0)) + +static mp_ptr +gmp_xalloc_limbs (mp_size_t size) +{ + return gmp_xalloc (size * sizeof (mp_limb_t)); +} + +static mp_ptr +gmp_xrealloc_limbs (mp_ptr old, mp_size_t size) +{ + assert (size > 0); + return (*gmp_reallocate_func) (old, 0, size * sizeof (mp_limb_t)); +} + + +/* MPN interface */ + +void +mpn_copyi (mp_ptr d, mp_srcptr s, mp_size_t n) +{ + mp_size_t i; + for (i = 0; i < n; i++) + d[i] = s[i]; +} + +void +mpn_copyd (mp_ptr d, mp_srcptr s, mp_size_t n) +{ + while (n-- > 0) + d[n] = s[n]; +} + +int +mpn_cmp (mp_srcptr ap, mp_srcptr bp, mp_size_t n) +{ + while (--n >= 0) + { + if (ap[n] != bp[n]) + return ap[n] > bp[n] ? 1 : -1; + } + return 0; +} + +static int +mpn_cmp4 (mp_srcptr ap, mp_size_t an, mp_srcptr bp, mp_size_t bn) +{ + if (an != bn) + return an < bn ? -1 : 1; + else + return mpn_cmp (ap, bp, an); +} + +static mp_size_t +mpn_normalized_size (mp_srcptr xp, mp_size_t n) +{ + for (; n > 0 && xp[n-1] == 0; n--) + ; + return n; +} + +#define mpn_zero_p(xp, n) (mpn_normalized_size ((xp), (n)) == 0) + +void +mpn_zero (mp_ptr rp, mp_size_t n) +{ + mp_size_t i; + + for (i = 0; i < n; i++) + rp[i] = 0; +} + +mp_limb_t +mpn_add_1 (mp_ptr rp, mp_srcptr ap, mp_size_t n, mp_limb_t b) +{ + mp_size_t i; + + assert (n > 0); + i = 0; + do + { + mp_limb_t r = ap[i] + b; + /* Carry out */ + b = (r < b); + rp[i] = r; + } + while (++i < n); + + return b; +} + +mp_limb_t +mpn_add_n (mp_ptr rp, mp_srcptr ap, mp_srcptr bp, mp_size_t n) +{ + mp_size_t i; + mp_limb_t cy; + + for (i = 0, cy = 0; i < n; i++) + { + mp_limb_t a, b, r; + a = ap[i]; b = bp[i]; + r = a + cy; + cy = (r < cy); + r += b; + cy += (r < b); + rp[i] = r; + } + return cy; +} + +mp_limb_t +mpn_add (mp_ptr rp, mp_srcptr ap, mp_size_t an, mp_srcptr bp, mp_size_t bn) +{ + mp_limb_t cy; + + assert (an >= bn); + + cy = mpn_add_n (rp, ap, bp, bn); + if (an > bn) + cy = mpn_add_1 (rp + bn, ap + bn, an - bn, cy); + return cy; +} + +mp_limb_t +mpn_sub_1 (mp_ptr rp, mp_srcptr ap, mp_size_t n, mp_limb_t b) +{ + mp_size_t i; + + assert (n > 0); + + i = 0; + do + { + mp_limb_t a = ap[i]; + /* Carry out */ + mp_limb_t cy = a < b;; + rp[i] = a - b; + b = cy; + } + while (++i < n); + + return b; +} + +mp_limb_t +mpn_sub_n (mp_ptr rp, mp_srcptr ap, mp_srcptr bp, mp_size_t n) +{ + mp_size_t i; + mp_limb_t cy; + + for (i = 0, cy = 0; i < n; i++) + { + mp_limb_t a, b; + a = ap[i]; b = bp[i]; + b += cy; + cy = (b < cy); + cy += (a < b); + rp[i] = a - b; + } + return cy; +} + +mp_limb_t +mpn_sub (mp_ptr rp, mp_srcptr ap, mp_size_t an, mp_srcptr bp, mp_size_t bn) +{ + mp_limb_t cy; + + assert (an >= bn); + + cy = mpn_sub_n (rp, ap, bp, bn); + if (an > bn) + cy = mpn_sub_1 (rp + bn, ap + bn, an - bn, cy); + return cy; +} + +mp_limb_t +mpn_mul_1 (mp_ptr rp, mp_srcptr up, mp_size_t n, mp_limb_t vl) +{ + mp_limb_t ul, cl, hpl, lpl; + + assert (n >= 1); + + cl = 0; + do + { + ul = *up++; + gmp_umul_ppmm (hpl, lpl, ul, vl); + + lpl += cl; + cl = (lpl < cl) + hpl; + + *rp++ = lpl; + } + while (--n != 0); + + return cl; +} + +mp_limb_t +mpn_addmul_1 (mp_ptr rp, mp_srcptr up, mp_size_t n, mp_limb_t vl) +{ + mp_limb_t ul, cl, hpl, lpl, rl; + + assert (n >= 1); + + cl = 0; + do + { + ul = *up++; + gmp_umul_ppmm (hpl, lpl, ul, vl); + + lpl += cl; + cl = (lpl < cl) + hpl; + + rl = *rp; + lpl = rl + lpl; + cl += lpl < rl; + *rp++ = lpl; + } + while (--n != 0); + + return cl; +} + +mp_limb_t +mpn_submul_1 (mp_ptr rp, mp_srcptr up, mp_size_t n, mp_limb_t vl) +{ + mp_limb_t ul, cl, hpl, lpl, rl; + + assert (n >= 1); + + cl = 0; + do + { + ul = *up++; + gmp_umul_ppmm (hpl, lpl, ul, vl); + + lpl += cl; + cl = (lpl < cl) + hpl; + + rl = *rp; + lpl = rl - lpl; + cl += lpl > rl; + *rp++ = lpl; + } + while (--n != 0); + + return cl; +} + +mp_limb_t +mpn_mul (mp_ptr rp, mp_srcptr up, mp_size_t un, mp_srcptr vp, mp_size_t vn) +{ + assert (un >= vn); + assert (vn >= 1); + + /* We first multiply by the low order limb. This result can be + stored, not added, to rp. We also avoid a loop for zeroing this + way. */ + + rp[un] = mpn_mul_1 (rp, up, un, vp[0]); + rp += 1, vp += 1, vn -= 1; + + /* Now accumulate the product of up[] and the next higher limb from + vp[]. */ + + while (vn >= 1) + { + rp[un] = mpn_addmul_1 (rp, up, un, vp[0]); + rp += 1, vp += 1, vn -= 1; + } + return rp[un - 1]; +} + +void +mpn_mul_n (mp_ptr rp, mp_srcptr ap, mp_srcptr bp, mp_size_t n) +{ + mpn_mul (rp, ap, n, bp, n); +} + +void +mpn_sqr (mp_ptr rp, mp_srcptr ap, mp_size_t n) +{ + mpn_mul (rp, ap, n, ap, n); +} + +mp_limb_t +mpn_lshift (mp_ptr rp, mp_srcptr up, mp_size_t n, unsigned int cnt) +{ + mp_limb_t high_limb, low_limb; + unsigned int tnc; + mp_size_t i; + mp_limb_t retval; + + assert (n >= 1); + assert (cnt >= 1); + assert (cnt < GMP_LIMB_BITS); + + up += n; + rp += n; + + tnc = GMP_LIMB_BITS - cnt; + low_limb = *--up; + retval = low_limb >> tnc; + high_limb = (low_limb << cnt); + + for (i = n; --i != 0;) + { + low_limb = *--up; + *--rp = high_limb | (low_limb >> tnc); + high_limb = (low_limb << cnt); + } + *--rp = high_limb; + + return retval; +} + +mp_limb_t +mpn_rshift (mp_ptr rp, mp_srcptr up, mp_size_t n, unsigned int cnt) +{ + mp_limb_t high_limb, low_limb; + unsigned int tnc; + mp_size_t i; + mp_limb_t retval; + + assert (n >= 1); + assert (cnt >= 1); + assert (cnt < GMP_LIMB_BITS); + + tnc = GMP_LIMB_BITS - cnt; + high_limb = *up++; + retval = (high_limb << tnc); + low_limb = high_limb >> cnt; + + for (i = n; --i != 0;) + { + high_limb = *up++; + *rp++ = low_limb | (high_limb << tnc); + low_limb = high_limb >> cnt; + } + *rp = low_limb; + + return retval; +} + +static mp_bitcnt_t +mpn_common_scan (mp_limb_t limb, mp_size_t i, mp_srcptr up, mp_size_t un, + mp_limb_t ux) +{ + unsigned cnt; + + assert (ux == 0 || ux == GMP_LIMB_MAX); + assert (0 <= i && i <= un ); + + while (limb == 0) + { + i++; + if (i == un) + return (ux == 0 ? ~(mp_bitcnt_t) 0 : un * GMP_LIMB_BITS); + limb = ux ^ up[i]; + } + gmp_ctz (cnt, limb); + return (mp_bitcnt_t) i * GMP_LIMB_BITS + cnt; +} + +mp_bitcnt_t +mpn_scan1 (mp_srcptr ptr, mp_bitcnt_t bit) +{ + mp_size_t i; + i = bit / GMP_LIMB_BITS; + + return mpn_common_scan ( ptr[i] & (GMP_LIMB_MAX << (bit % GMP_LIMB_BITS)), + i, ptr, i, 0); +} + +mp_bitcnt_t +mpn_scan0 (mp_srcptr ptr, mp_bitcnt_t bit) +{ + mp_size_t i; + i = bit / GMP_LIMB_BITS; + + return mpn_common_scan (~ptr[i] & (GMP_LIMB_MAX << (bit % GMP_LIMB_BITS)), + i, ptr, i, GMP_LIMB_MAX); +} + + +/* MPN division interface. */ +mp_limb_t +mpn_invert_3by2 (mp_limb_t u1, mp_limb_t u0) +{ + mp_limb_t r, p, m; + unsigned ul, uh; + unsigned ql, qh; + + /* First, do a 2/1 inverse. */ + /* The inverse m is defined as floor( (B^2 - 1 - u1)/u1 ), so that 0 < + * B^2 - (B + m) u1 <= u1 */ + assert (u1 >= GMP_LIMB_HIGHBIT); + + ul = u1 & GMP_LLIMB_MASK; + uh = u1 >> (GMP_LIMB_BITS / 2); + + qh = ~u1 / uh; + r = ((~u1 - (mp_limb_t) qh * uh) << (GMP_LIMB_BITS / 2)) | GMP_LLIMB_MASK; + + p = (mp_limb_t) qh * ul; + /* Adjustment steps taken from udiv_qrnnd_c */ + if (r < p) + { + qh--; + r += u1; + if (r >= u1) /* i.e. we didn't get carry when adding to r */ + if (r < p) + { + qh--; + r += u1; + } + } + r -= p; + + /* Do a 3/2 division (with half limb size) */ + p = (r >> (GMP_LIMB_BITS / 2)) * qh + r; + ql = (p >> (GMP_LIMB_BITS / 2)) + 1; + + /* By the 3/2 method, we don't need the high half limb. */ + r = (r << (GMP_LIMB_BITS / 2)) + GMP_LLIMB_MASK - ql * u1; + + if (r >= (p << (GMP_LIMB_BITS / 2))) + { + ql--; + r += u1; + } + m = ((mp_limb_t) qh << (GMP_LIMB_BITS / 2)) + ql; + if (r >= u1) + { + m++; + r -= u1; + } + + if (u0 > 0) + { + mp_limb_t th, tl; + r = ~r; + r += u0; + if (r < u0) + { + m--; + if (r >= u1) + { + m--; + r -= u1; + } + r -= u1; + } + gmp_umul_ppmm (th, tl, u0, m); + r += th; + if (r < th) + { + m--; + m -= ((r > u1) | ((r == u1) & (tl > u0))); + } + } + + return m; +} + +struct gmp_div_inverse +{ + /* Normalization shift count. */ + unsigned shift; + /* Normalized divisor (d0 unused for mpn_div_qr_1) */ + mp_limb_t d1, d0; + /* Inverse, for 2/1 or 3/2. */ + mp_limb_t di; +}; + +static void +mpn_div_qr_1_invert (struct gmp_div_inverse *inv, mp_limb_t d) +{ + unsigned shift; + + assert (d > 0); + gmp_clz (shift, d); + inv->shift = shift; + inv->d1 = d << shift; + inv->di = mpn_invert_limb (inv->d1); +} + +static void +mpn_div_qr_2_invert (struct gmp_div_inverse *inv, + mp_limb_t d1, mp_limb_t d0) +{ + unsigned shift; + + assert (d1 > 0); + gmp_clz (shift, d1); + inv->shift = shift; + if (shift > 0) + { + d1 = (d1 << shift) | (d0 >> (GMP_LIMB_BITS - shift)); + d0 <<= shift; + } + inv->d1 = d1; + inv->d0 = d0; + inv->di = mpn_invert_3by2 (d1, d0); +} + +static void +mpn_div_qr_invert (struct gmp_div_inverse *inv, + mp_srcptr dp, mp_size_t dn) +{ + assert (dn > 0); + + if (dn == 1) + mpn_div_qr_1_invert (inv, dp[0]); + else if (dn == 2) + mpn_div_qr_2_invert (inv, dp[1], dp[0]); + else + { + unsigned shift; + mp_limb_t d1, d0; + + d1 = dp[dn-1]; + d0 = dp[dn-2]; + assert (d1 > 0); + gmp_clz (shift, d1); + inv->shift = shift; + if (shift > 0) + { + d1 = (d1 << shift) | (d0 >> (GMP_LIMB_BITS - shift)); + d0 = (d0 << shift) | (dp[dn-3] >> (GMP_LIMB_BITS - shift)); + } + inv->d1 = d1; + inv->d0 = d0; + inv->di = mpn_invert_3by2 (d1, d0); + } +} + +/* Not matching current public gmp interface, rather corresponding to + the sbpi1_div_* functions. */ +static mp_limb_t +mpn_div_qr_1_preinv (mp_ptr qp, mp_srcptr np, mp_size_t nn, + const struct gmp_div_inverse *inv) +{ + mp_limb_t d, di; + mp_limb_t r; + mp_ptr tp = NULL; + + if (inv->shift > 0) + { + tp = gmp_xalloc_limbs (nn); + r = mpn_lshift (tp, np, nn, inv->shift); + np = tp; + } + else + r = 0; + + d = inv->d1; + di = inv->di; + while (nn-- > 0) + { + mp_limb_t q; + + gmp_udiv_qrnnd_preinv (q, r, r, np[nn], d, di); + if (qp) + qp[nn] = q; + } + if (inv->shift > 0) + gmp_free (tp); + + return r >> inv->shift; +} + +static mp_limb_t +mpn_div_qr_1 (mp_ptr qp, mp_srcptr np, mp_size_t nn, mp_limb_t d) +{ + assert (d > 0); + + /* Special case for powers of two. */ + if ((d & (d-1)) == 0) + { + mp_limb_t r = np[0] & (d-1); + if (qp) + { + if (d <= 1) + mpn_copyi (qp, np, nn); + else + { + unsigned shift; + gmp_ctz (shift, d); + mpn_rshift (qp, np, nn, shift); + } + } + return r; + } + else + { + struct gmp_div_inverse inv; + mpn_div_qr_1_invert (&inv, d); + return mpn_div_qr_1_preinv (qp, np, nn, &inv); + } +} + +static void +mpn_div_qr_2_preinv (mp_ptr qp, mp_ptr rp, mp_srcptr np, mp_size_t nn, + const struct gmp_div_inverse *inv) +{ + unsigned shift; + mp_size_t i; + mp_limb_t d1, d0, di, r1, r0; + mp_ptr tp; + + assert (nn >= 2); + shift = inv->shift; + d1 = inv->d1; + d0 = inv->d0; + di = inv->di; + + if (shift > 0) + { + tp = gmp_xalloc_limbs (nn); + r1 = mpn_lshift (tp, np, nn, shift); + np = tp; + } + else + r1 = 0; + + r0 = np[nn - 1]; + + i = nn - 2; + do + { + mp_limb_t n0, q; + n0 = np[i]; + gmp_udiv_qr_3by2 (q, r1, r0, r1, r0, n0, d1, d0, di); + + if (qp) + qp[i] = q; + } + while (--i >= 0); + + if (shift > 0) + { + assert ((r0 << (GMP_LIMB_BITS - shift)) == 0); + r0 = (r0 >> shift) | (r1 << (GMP_LIMB_BITS - shift)); + r1 >>= shift; + + gmp_free (tp); + } + + rp[1] = r1; + rp[0] = r0; +} + +#if 0 +static void +mpn_div_qr_2 (mp_ptr qp, mp_ptr rp, mp_srcptr np, mp_size_t nn, + mp_limb_t d1, mp_limb_t d0) +{ + struct gmp_div_inverse inv; + assert (nn >= 2); + + mpn_div_qr_2_invert (&inv, d1, d0); + mpn_div_qr_2_preinv (qp, rp, np, nn, &inv); +} +#endif + +static void +mpn_div_qr_pi1 (mp_ptr qp, + mp_ptr np, mp_size_t nn, mp_limb_t n1, + mp_srcptr dp, mp_size_t dn, + mp_limb_t dinv) +{ + mp_size_t i; + + mp_limb_t d1, d0; + mp_limb_t cy, cy1; + mp_limb_t q; + + assert (dn > 2); + assert (nn >= dn); + + d1 = dp[dn - 1]; + d0 = dp[dn - 2]; + + assert ((d1 & GMP_LIMB_HIGHBIT) != 0); + /* Iteration variable is the index of the q limb. + * + * We divide + * by + */ + + i = nn - dn; + do + { + mp_limb_t n0 = np[dn-1+i]; + + if (n1 == d1 && n0 == d0) + { + q = GMP_LIMB_MAX; + mpn_submul_1 (np+i, dp, dn, q); + n1 = np[dn-1+i]; /* update n1, last loop's value will now be invalid */ + } + else + { + gmp_udiv_qr_3by2 (q, n1, n0, n1, n0, np[dn-2+i], d1, d0, dinv); + + cy = mpn_submul_1 (np + i, dp, dn-2, q); + + cy1 = n0 < cy; + n0 = n0 - cy; + cy = n1 < cy1; + n1 = n1 - cy1; + np[dn-2+i] = n0; + + if (cy != 0) + { + n1 += d1 + mpn_add_n (np + i, np + i, dp, dn - 1); + q--; + } + } + + if (qp) + qp[i] = q; + } + while (--i >= 0); + + np[dn - 1] = n1; +} + +static void +mpn_div_qr_preinv (mp_ptr qp, mp_ptr np, mp_size_t nn, + mp_srcptr dp, mp_size_t dn, + const struct gmp_div_inverse *inv) +{ + assert (dn > 0); + assert (nn >= dn); + + if (dn == 1) + np[0] = mpn_div_qr_1_preinv (qp, np, nn, inv); + else if (dn == 2) + mpn_div_qr_2_preinv (qp, np, np, nn, inv); + else + { + mp_limb_t nh; + unsigned shift; + + assert (inv->d1 == dp[dn-1]); + assert (inv->d0 == dp[dn-2]); + assert ((inv->d1 & GMP_LIMB_HIGHBIT) != 0); + + shift = inv->shift; + if (shift > 0) + nh = mpn_lshift (np, np, nn, shift); + else + nh = 0; + + mpn_div_qr_pi1 (qp, np, nn, nh, dp, dn, inv->di); + + if (shift > 0) + gmp_assert_nocarry (mpn_rshift (np, np, dn, shift)); + } +} + +static void +mpn_div_qr (mp_ptr qp, mp_ptr np, mp_size_t nn, mp_srcptr dp, mp_size_t dn) +{ + struct gmp_div_inverse inv; + mp_ptr tp = NULL; + + assert (dn > 0); + assert (nn >= dn); + + mpn_div_qr_invert (&inv, dp, dn); + if (dn > 2 && inv.shift > 0) + { + tp = gmp_xalloc_limbs (dn); + gmp_assert_nocarry (mpn_lshift (tp, dp, dn, inv.shift)); + dp = tp; + } + mpn_div_qr_preinv (qp, np, nn, dp, dn, &inv); + if (tp) + gmp_free (tp); +} + + +/* MPN base conversion. */ +static unsigned +mpn_base_power_of_two_p (unsigned b) +{ + switch (b) + { + case 2: return 1; + case 4: return 2; + case 8: return 3; + case 16: return 4; + case 32: return 5; + case 64: return 6; + case 128: return 7; + case 256: return 8; + default: return 0; + } +} + +struct mpn_base_info +{ + /* bb is the largest power of the base which fits in one limb, and + exp is the corresponding exponent. */ + unsigned exp; + mp_limb_t bb; +}; + +static void +mpn_get_base_info (struct mpn_base_info *info, mp_limb_t b) +{ + mp_limb_t m; + mp_limb_t p; + unsigned exp; + + m = GMP_LIMB_MAX / b; + for (exp = 1, p = b; p <= m; exp++) + p *= b; + + info->exp = exp; + info->bb = p; +} + +static mp_bitcnt_t +mpn_limb_size_in_base_2 (mp_limb_t u) +{ + unsigned shift; + + assert (u > 0); + gmp_clz (shift, u); + return GMP_LIMB_BITS - shift; +} + +static size_t +mpn_get_str_bits (unsigned char *sp, unsigned bits, mp_srcptr up, mp_size_t un) +{ + unsigned char mask; + size_t sn, j; + mp_size_t i; + int shift; + + sn = ((un - 1) * GMP_LIMB_BITS + mpn_limb_size_in_base_2 (up[un-1]) + + bits - 1) / bits; + + mask = (1U << bits) - 1; + + for (i = 0, j = sn, shift = 0; j-- > 0;) + { + unsigned char digit = up[i] >> shift; + + shift += bits; + + if (shift >= GMP_LIMB_BITS && ++i < un) + { + shift -= GMP_LIMB_BITS; + digit |= up[i] << (bits - shift); + } + sp[j] = digit & mask; + } + return sn; +} + +/* We generate digits from the least significant end, and reverse at + the end. */ +static size_t +mpn_limb_get_str (unsigned char *sp, mp_limb_t w, + const struct gmp_div_inverse *binv) +{ + mp_size_t i; + for (i = 0; w > 0; i++) + { + mp_limb_t h, l, r; + + h = w >> (GMP_LIMB_BITS - binv->shift); + l = w << binv->shift; + + gmp_udiv_qrnnd_preinv (w, r, h, l, binv->d1, binv->di); + assert ( (r << (GMP_LIMB_BITS - binv->shift)) == 0); + r >>= binv->shift; + + sp[i] = r; + } + return i; +} + +static size_t +mpn_get_str_other (unsigned char *sp, + int base, const struct mpn_base_info *info, + mp_ptr up, mp_size_t un) +{ + struct gmp_div_inverse binv; + size_t sn; + size_t i; + + mpn_div_qr_1_invert (&binv, base); + + sn = 0; + + if (un > 1) + { + struct gmp_div_inverse bbinv; + mpn_div_qr_1_invert (&bbinv, info->bb); + + do + { + mp_limb_t w; + size_t done; + w = mpn_div_qr_1_preinv (up, up, un, &bbinv); + un -= (up[un-1] == 0); + done = mpn_limb_get_str (sp + sn, w, &binv); + + for (sn += done; done < info->exp; done++) + sp[sn++] = 0; + } + while (un > 1); + } + sn += mpn_limb_get_str (sp + sn, up[0], &binv); + + /* Reverse order */ + for (i = 0; 2*i + 1 < sn; i++) + { + unsigned char t = sp[i]; + sp[i] = sp[sn - i - 1]; + sp[sn - i - 1] = t; + } + + return sn; +} + +size_t +mpn_get_str (unsigned char *sp, int base, mp_ptr up, mp_size_t un) +{ + unsigned bits; + + assert (un > 0); + assert (up[un-1] > 0); + + bits = mpn_base_power_of_two_p (base); + if (bits) + return mpn_get_str_bits (sp, bits, up, un); + else + { + struct mpn_base_info info; + + mpn_get_base_info (&info, base); + return mpn_get_str_other (sp, base, &info, up, un); + } +} + +static mp_size_t +mpn_set_str_bits (mp_ptr rp, const unsigned char *sp, size_t sn, + unsigned bits) +{ + mp_size_t rn; + size_t j; + unsigned shift; + + for (j = sn, rn = 0, shift = 0; j-- > 0; ) + { + if (shift == 0) + { + rp[rn++] = sp[j]; + shift += bits; + } + else + { + rp[rn-1] |= (mp_limb_t) sp[j] << shift; + shift += bits; + if (shift >= GMP_LIMB_BITS) + { + shift -= GMP_LIMB_BITS; + if (shift > 0) + rp[rn++] = (mp_limb_t) sp[j] >> (bits - shift); + } + } + } + rn = mpn_normalized_size (rp, rn); + return rn; +} + +static mp_size_t +mpn_set_str_other (mp_ptr rp, const unsigned char *sp, size_t sn, + mp_limb_t b, const struct mpn_base_info *info) +{ + mp_size_t rn; + mp_limb_t w; + unsigned k; + size_t j; + + k = 1 + (sn - 1) % info->exp; + + j = 0; + w = sp[j++]; + for (; --k > 0; ) + w = w * b + sp[j++]; + + rp[0] = w; + + for (rn = (w > 0); j < sn;) + { + mp_limb_t cy; + + w = sp[j++]; + for (k = 1; k < info->exp; k++) + w = w * b + sp[j++]; + + cy = mpn_mul_1 (rp, rp, rn, info->bb); + cy += mpn_add_1 (rp, rp, rn, w); + if (cy > 0) + rp[rn++] = cy; + } + assert (j == sn); + + return rn; +} + +mp_size_t +mpn_set_str (mp_ptr rp, const unsigned char *sp, size_t sn, int base) +{ + unsigned bits; + + if (sn == 0) + return 0; + + bits = mpn_base_power_of_two_p (base); + if (bits) + return mpn_set_str_bits (rp, sp, sn, bits); + else + { + struct mpn_base_info info; + + mpn_get_base_info (&info, base); + return mpn_set_str_other (rp, sp, sn, base, &info); + } +} + + +/* MPZ interface */ +void +mpz_init (mpz_t r) +{ + r->_mp_alloc = 1; + r->_mp_size = 0; + r->_mp_d = gmp_xalloc_limbs (1); +} + +/* The utility of this function is a bit limited, since many functions + assigns the result variable using mpz_swap. */ +void +mpz_init2 (mpz_t r, mp_bitcnt_t bits) +{ + mp_size_t rn; + + bits -= (bits != 0); /* Round down, except if 0 */ + rn = 1 + bits / GMP_LIMB_BITS; + + r->_mp_alloc = rn; + r->_mp_size = 0; + r->_mp_d = gmp_xalloc_limbs (rn); +} + +void +mpz_clear (mpz_t r) +{ + gmp_free (r->_mp_d); +} + +static void * +mpz_realloc (mpz_t r, mp_size_t size) +{ + size = GMP_MAX (size, 1); + + r->_mp_d = gmp_xrealloc_limbs (r->_mp_d, size); + r->_mp_alloc = size; + + if (GMP_ABS (r->_mp_size) > size) + r->_mp_size = 0; + + return r->_mp_d; +} + +/* Realloc for an mpz_t WHAT if it has less than NEEDED limbs. */ +#define MPZ_REALLOC(z,n) ((n) > (z)->_mp_alloc \ + ? mpz_realloc(z,n) \ + : (z)->_mp_d) + +/* MPZ assignment and basic conversions. */ +void +mpz_set_si (mpz_t r, signed long int x) +{ + if (x >= 0) + mpz_set_ui (r, x); + else /* (x < 0) */ + { + r->_mp_size = -1; + r->_mp_d[0] = GMP_NEG_CAST (unsigned long int, x); + } +} + +void +mpz_set_ui (mpz_t r, unsigned long int x) +{ + if (x > 0) + { + r->_mp_size = 1; + r->_mp_d[0] = x; + } + else + r->_mp_size = 0; +} + +void +mpz_set (mpz_t r, const mpz_t x) +{ + /* Allow the NOP r == x */ + if (r != x) + { + mp_size_t n; + mp_ptr rp; + + n = GMP_ABS (x->_mp_size); + rp = MPZ_REALLOC (r, n); + + mpn_copyi (rp, x->_mp_d, n); + r->_mp_size = x->_mp_size; + } +} + +void +mpz_init_set_si (mpz_t r, signed long int x) +{ + mpz_init (r); + mpz_set_si (r, x); +} + +void +mpz_init_set_ui (mpz_t r, unsigned long int x) +{ + mpz_init (r); + mpz_set_ui (r, x); +} + +void +mpz_init_set (mpz_t r, const mpz_t x) +{ + mpz_init (r); + mpz_set (r, x); +} + +int +mpz_fits_slong_p (const mpz_t u) +{ + mp_size_t us = u->_mp_size; + + if (us == 0) + return 1; + else if (us == 1) + return u->_mp_d[0] < GMP_LIMB_HIGHBIT; + else if (us == -1) + return u->_mp_d[0] <= GMP_LIMB_HIGHBIT; + else + return 0; +} + +int +mpz_fits_ulong_p (const mpz_t u) +{ + mp_size_t us = u->_mp_size; + + return (us == (us > 0)); +} + +long int +mpz_get_si (const mpz_t u) +{ + mp_size_t us = u->_mp_size; + + if (us > 0) + return (long) (u->_mp_d[0] & ~GMP_LIMB_HIGHBIT); + else if (us < 0) + return (long) (- u->_mp_d[0] | GMP_LIMB_HIGHBIT); + else + return 0; +} + +unsigned long int +mpz_get_ui (const mpz_t u) +{ + return u->_mp_size == 0 ? 0 : u->_mp_d[0]; +} + +size_t +mpz_size (const mpz_t u) +{ + return GMP_ABS (u->_mp_size); +} + +mp_limb_t +mpz_getlimbn (const mpz_t u, mp_size_t n) +{ + if (n >= 0 && n < GMP_ABS (u->_mp_size)) + return u->_mp_d[n]; + else + return 0; +} + +void +mpz_realloc2 (mpz_t x, mp_bitcnt_t n) +{ + mpz_realloc (x, 1 + (n - (n != 0)) / GMP_LIMB_BITS); +} + +mp_srcptr +mpz_limbs_read (mpz_srcptr x) +{ + return x->_mp_d;; +} + +mp_ptr +mpz_limbs_modify (mpz_t x, mp_size_t n) +{ + assert (n > 0); + return MPZ_REALLOC (x, n); +} + +mp_ptr +mpz_limbs_write (mpz_t x, mp_size_t n) +{ + return mpz_limbs_modify (x, n); +} + +void +mpz_limbs_finish (mpz_t x, mp_size_t xs) +{ + mp_size_t xn; + xn = mpn_normalized_size (x->_mp_d, GMP_ABS (xs)); + x->_mp_size = xs < 0 ? -xn : xn; +} + +mpz_srcptr +mpz_roinit_n (mpz_t x, mp_srcptr xp, mp_size_t xs) +{ + x->_mp_alloc = 0; + x->_mp_d = (mp_ptr) xp; + mpz_limbs_finish (x, xs); + return x; +} + + +/* Conversions and comparison to double. */ +void +mpz_set_d (mpz_t r, double x) +{ + int sign; + mp_ptr rp; + mp_size_t rn, i; + double B; + double Bi; + mp_limb_t f; + + /* x != x is true when x is a NaN, and x == x * 0.5 is true when x is + zero or infinity. */ + if (x != x || x == x * 0.5) + { + r->_mp_size = 0; + return; + } + + sign = x < 0.0 ; + if (sign) + x = - x; + + if (x < 1.0) + { + r->_mp_size = 0; + return; + } + B = 2.0 * (double) GMP_LIMB_HIGHBIT; + Bi = 1.0 / B; + for (rn = 1; x >= B; rn++) + x *= Bi; + + rp = MPZ_REALLOC (r, rn); + + f = (mp_limb_t) x; + x -= f; + assert (x < 1.0); + i = rn-1; + rp[i] = f; + while (--i >= 0) + { + x = B * x; + f = (mp_limb_t) x; + x -= f; + assert (x < 1.0); + rp[i] = f; + } + + r->_mp_size = sign ? - rn : rn; +} + +void +mpz_init_set_d (mpz_t r, double x) +{ + mpz_init (r); + mpz_set_d (r, x); +} + +double +mpz_get_d (const mpz_t u) +{ + mp_size_t un; + double x; + double B = 2.0 * (double) GMP_LIMB_HIGHBIT; + + un = GMP_ABS (u->_mp_size); + + if (un == 0) + return 0.0; + + x = u->_mp_d[--un]; + while (un > 0) + x = B*x + u->_mp_d[--un]; + + if (u->_mp_size < 0) + x = -x; + + return x; +} + +int +mpz_cmpabs_d (const mpz_t x, double d) +{ + mp_size_t xn; + double B, Bi; + mp_size_t i; + + xn = x->_mp_size; + d = GMP_ABS (d); + + if (xn != 0) + { + xn = GMP_ABS (xn); + + B = 2.0 * (double) GMP_LIMB_HIGHBIT; + Bi = 1.0 / B; + + /* Scale d so it can be compared with the top limb. */ + for (i = 1; i < xn; i++) + d *= Bi; + + if (d >= B) + return -1; + + /* Compare floor(d) to top limb, subtract and cancel when equal. */ + for (i = xn; i-- > 0;) + { + mp_limb_t f, xl; + + f = (mp_limb_t) d; + xl = x->_mp_d[i]; + if (xl > f) + return 1; + else if (xl < f) + return -1; + d = B * (d - f); + } + } + return - (d > 0.0); +} + +int +mpz_cmp_d (const mpz_t x, double d) +{ + if (x->_mp_size < 0) + { + if (d >= 0.0) + return -1; + else + return -mpz_cmpabs_d (x, d); + } + else + { + if (d < 0.0) + return 1; + else + return mpz_cmpabs_d (x, d); + } +} + + +/* MPZ comparisons and the like. */ +int +mpz_sgn (const mpz_t u) +{ + mp_size_t usize = u->_mp_size; + + return (usize > 0) - (usize < 0); +} + +int +mpz_cmp_si (const mpz_t u, long v) +{ + mp_size_t usize = u->_mp_size; + + if (usize < -1) + return -1; + else if (v >= 0) + return mpz_cmp_ui (u, v); + else if (usize >= 0) + return 1; + else /* usize == -1 */ + { + mp_limb_t ul = u->_mp_d[0]; + if ((mp_limb_t)GMP_NEG_CAST (unsigned long int, v) < ul) + return -1; + else + return (mp_limb_t)GMP_NEG_CAST (unsigned long int, v) > ul; + } +} + +int +mpz_cmp_ui (const mpz_t u, unsigned long v) +{ + mp_size_t usize = u->_mp_size; + + if (usize > 1) + return 1; + else if (usize < 0) + return -1; + else + { + mp_limb_t ul = (usize > 0) ? u->_mp_d[0] : 0; + return (ul > v) - (ul < v); + } +} + +int +mpz_cmp (const mpz_t a, const mpz_t b) +{ + mp_size_t asize = a->_mp_size; + mp_size_t bsize = b->_mp_size; + + if (asize != bsize) + return (asize < bsize) ? -1 : 1; + else if (asize >= 0) + return mpn_cmp (a->_mp_d, b->_mp_d, asize); + else + return mpn_cmp (b->_mp_d, a->_mp_d, -asize); +} + +int +mpz_cmpabs_ui (const mpz_t u, unsigned long v) +{ + mp_size_t un = GMP_ABS (u->_mp_size); + mp_limb_t ul; + + if (un > 1) + return 1; + + ul = (un == 1) ? u->_mp_d[0] : 0; + + return (ul > v) - (ul < v); +} + +int +mpz_cmpabs (const mpz_t u, const mpz_t v) +{ + return mpn_cmp4 (u->_mp_d, GMP_ABS (u->_mp_size), + v->_mp_d, GMP_ABS (v->_mp_size)); +} + +void +mpz_abs (mpz_t r, const mpz_t u) +{ + if (r != u) + mpz_set (r, u); + + r->_mp_size = GMP_ABS (r->_mp_size); +} + +void +mpz_neg (mpz_t r, const mpz_t u) +{ + if (r != u) + mpz_set (r, u); + + r->_mp_size = -r->_mp_size; +} + +void +mpz_swap (mpz_t u, mpz_t v) +{ + MP_SIZE_T_SWAP (u->_mp_size, v->_mp_size); + MP_SIZE_T_SWAP (u->_mp_alloc, v->_mp_alloc); + MP_PTR_SWAP (u->_mp_d, v->_mp_d); +} + + +/* MPZ addition and subtraction */ + +/* Adds to the absolute value. Returns new size, but doesn't store it. */ +static mp_size_t +mpz_abs_add_ui (mpz_t r, const mpz_t a, unsigned long b) +{ + mp_size_t an; + mp_ptr rp; + mp_limb_t cy; + + an = GMP_ABS (a->_mp_size); + if (an == 0) + { + r->_mp_d[0] = b; + return b > 0; + } + + rp = MPZ_REALLOC (r, an + 1); + + cy = mpn_add_1 (rp, a->_mp_d, an, b); + rp[an] = cy; + an += cy; + + return an; +} + +/* Subtract from the absolute value. Returns new size, (or -1 on underflow), + but doesn't store it. */ +static mp_size_t +mpz_abs_sub_ui (mpz_t r, const mpz_t a, unsigned long b) +{ + mp_size_t an = GMP_ABS (a->_mp_size); + mp_ptr rp = MPZ_REALLOC (r, an); + + if (an == 0) + { + rp[0] = b; + return -(b > 0); + } + else if (an == 1 && a->_mp_d[0] < b) + { + rp[0] = b - a->_mp_d[0]; + return -1; + } + else + { + gmp_assert_nocarry (mpn_sub_1 (rp, a->_mp_d, an, b)); + return mpn_normalized_size (rp, an); + } +} + +void +mpz_add_ui (mpz_t r, const mpz_t a, unsigned long b) +{ + if (a->_mp_size >= 0) + r->_mp_size = mpz_abs_add_ui (r, a, b); + else + r->_mp_size = -mpz_abs_sub_ui (r, a, b); +} + +void +mpz_sub_ui (mpz_t r, const mpz_t a, unsigned long b) +{ + if (a->_mp_size < 0) + r->_mp_size = -mpz_abs_add_ui (r, a, b); + else + r->_mp_size = mpz_abs_sub_ui (r, a, b); +} + +void +mpz_ui_sub (mpz_t r, unsigned long a, const mpz_t b) +{ + if (b->_mp_size < 0) + r->_mp_size = mpz_abs_add_ui (r, b, a); + else + r->_mp_size = -mpz_abs_sub_ui (r, b, a); +} + +static mp_size_t +mpz_abs_add (mpz_t r, const mpz_t a, const mpz_t b) +{ + mp_size_t an = GMP_ABS (a->_mp_size); + mp_size_t bn = GMP_ABS (b->_mp_size); + mp_ptr rp; + mp_limb_t cy; + + if (an < bn) + { + MPZ_SRCPTR_SWAP (a, b); + MP_SIZE_T_SWAP (an, bn); + } + + rp = MPZ_REALLOC (r, an + 1); + cy = mpn_add (rp, a->_mp_d, an, b->_mp_d, bn); + + rp[an] = cy; + + return an + cy; +} + +static mp_size_t +mpz_abs_sub (mpz_t r, const mpz_t a, const mpz_t b) +{ + mp_size_t an = GMP_ABS (a->_mp_size); + mp_size_t bn = GMP_ABS (b->_mp_size); + int cmp; + mp_ptr rp; + + cmp = mpn_cmp4 (a->_mp_d, an, b->_mp_d, bn); + if (cmp > 0) + { + rp = MPZ_REALLOC (r, an); + gmp_assert_nocarry (mpn_sub (rp, a->_mp_d, an, b->_mp_d, bn)); + return mpn_normalized_size (rp, an); + } + else if (cmp < 0) + { + rp = MPZ_REALLOC (r, bn); + gmp_assert_nocarry (mpn_sub (rp, b->_mp_d, bn, a->_mp_d, an)); + return -mpn_normalized_size (rp, bn); + } + else + return 0; +} + +void +mpz_add (mpz_t r, const mpz_t a, const mpz_t b) +{ + mp_size_t rn; + + if ( (a->_mp_size ^ b->_mp_size) >= 0) + rn = mpz_abs_add (r, a, b); + else + rn = mpz_abs_sub (r, a, b); + + r->_mp_size = a->_mp_size >= 0 ? rn : - rn; +} + +void +mpz_sub (mpz_t r, const mpz_t a, const mpz_t b) +{ + mp_size_t rn; + + if ( (a->_mp_size ^ b->_mp_size) >= 0) + rn = mpz_abs_sub (r, a, b); + else + rn = mpz_abs_add (r, a, b); + + r->_mp_size = a->_mp_size >= 0 ? rn : - rn; +} + + +/* MPZ multiplication */ +void +mpz_mul_si (mpz_t r, const mpz_t u, long int v) +{ + if (v < 0) + { + mpz_mul_ui (r, u, GMP_NEG_CAST (unsigned long int, v)); + mpz_neg (r, r); + } + else + mpz_mul_ui (r, u, (unsigned long int) v); +} + +void +mpz_mul_ui (mpz_t r, const mpz_t u, unsigned long int v) +{ + mp_size_t un, us; + mp_ptr tp; + mp_limb_t cy; + + us = u->_mp_size; + + if (us == 0 || v == 0) + { + r->_mp_size = 0; + return; + } + + un = GMP_ABS (us); + + tp = MPZ_REALLOC (r, un + 1); + cy = mpn_mul_1 (tp, u->_mp_d, un, v); + tp[un] = cy; + + un += (cy > 0); + r->_mp_size = (us < 0) ? - un : un; +} + +void +mpz_mul (mpz_t r, const mpz_t u, const mpz_t v) +{ + int sign; + mp_size_t un, vn, rn; + mpz_t t; + mp_ptr tp; + + un = u->_mp_size; + vn = v->_mp_size; + + if (un == 0 || vn == 0) + { + r->_mp_size = 0; + return; + } + + sign = (un ^ vn) < 0; + + un = GMP_ABS (un); + vn = GMP_ABS (vn); + + mpz_init2 (t, (un + vn) * GMP_LIMB_BITS); + + tp = t->_mp_d; + if (un >= vn) + mpn_mul (tp, u->_mp_d, un, v->_mp_d, vn); + else + mpn_mul (tp, v->_mp_d, vn, u->_mp_d, un); + + rn = un + vn; + rn -= tp[rn-1] == 0; + + t->_mp_size = sign ? - rn : rn; + mpz_swap (r, t); + mpz_clear (t); +} + +void +mpz_mul_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t bits) +{ + mp_size_t un, rn; + mp_size_t limbs; + unsigned shift; + mp_ptr rp; + + un = GMP_ABS (u->_mp_size); + if (un == 0) + { + r->_mp_size = 0; + return; + } + + limbs = bits / GMP_LIMB_BITS; + shift = bits % GMP_LIMB_BITS; + + rn = un + limbs + (shift > 0); + rp = MPZ_REALLOC (r, rn); + if (shift > 0) + { + mp_limb_t cy = mpn_lshift (rp + limbs, u->_mp_d, un, shift); + rp[rn-1] = cy; + rn -= (cy == 0); + } + else + mpn_copyd (rp + limbs, u->_mp_d, un); + + while (limbs > 0) + rp[--limbs] = 0; + + r->_mp_size = (u->_mp_size < 0) ? - rn : rn; +} + +void +mpz_addmul_ui (mpz_t r, const mpz_t u, unsigned long int v) +{ + mpz_t t; + mpz_init (t); + mpz_mul_ui (t, u, v); + mpz_add (r, r, t); + mpz_clear (t); +} + +void +mpz_submul_ui (mpz_t r, const mpz_t u, unsigned long int v) +{ + mpz_t t; + mpz_init (t); + mpz_mul_ui (t, u, v); + mpz_sub (r, r, t); + mpz_clear (t); +} + +void +mpz_addmul (mpz_t r, const mpz_t u, const mpz_t v) +{ + mpz_t t; + mpz_init (t); + mpz_mul (t, u, v); + mpz_add (r, r, t); + mpz_clear (t); +} + +void +mpz_submul (mpz_t r, const mpz_t u, const mpz_t v) +{ + mpz_t t; + mpz_init (t); + mpz_mul (t, u, v); + mpz_sub (r, r, t); + mpz_clear (t); +} + + +/* MPZ division */ +enum mpz_div_round_mode { GMP_DIV_FLOOR, GMP_DIV_CEIL, GMP_DIV_TRUNC }; + +/* Allows q or r to be zero. Returns 1 iff remainder is non-zero. */ +static int +mpz_div_qr (mpz_t q, mpz_t r, + const mpz_t n, const mpz_t d, enum mpz_div_round_mode mode) +{ + mp_size_t ns, ds, nn, dn, qs; + ns = n->_mp_size; + ds = d->_mp_size; + + if (ds == 0) + gmp_die("mpz_div_qr: Divide by zero."); + + if (ns == 0) + { + if (q) + q->_mp_size = 0; + if (r) + r->_mp_size = 0; + return 0; + } + + nn = GMP_ABS (ns); + dn = GMP_ABS (ds); + + qs = ds ^ ns; + + if (nn < dn) + { + if (mode == GMP_DIV_CEIL && qs >= 0) + { + /* q = 1, r = n - d */ + if (r) + mpz_sub (r, n, d); + if (q) + mpz_set_ui (q, 1); + } + else if (mode == GMP_DIV_FLOOR && qs < 0) + { + /* q = -1, r = n + d */ + if (r) + mpz_add (r, n, d); + if (q) + mpz_set_si (q, -1); + } + else + { + /* q = 0, r = d */ + if (r) + mpz_set (r, n); + if (q) + q->_mp_size = 0; + } + return 1; + } + else + { + mp_ptr np, qp; + mp_size_t qn, rn; + mpz_t tq, tr; + + mpz_init_set (tr, n); + np = tr->_mp_d; + + qn = nn - dn + 1; + + if (q) + { + mpz_init2 (tq, qn * GMP_LIMB_BITS); + qp = tq->_mp_d; + } + else + qp = NULL; + + mpn_div_qr (qp, np, nn, d->_mp_d, dn); + + if (qp) + { + qn -= (qp[qn-1] == 0); + + tq->_mp_size = qs < 0 ? -qn : qn; + } + rn = mpn_normalized_size (np, dn); + tr->_mp_size = ns < 0 ? - rn : rn; + + if (mode == GMP_DIV_FLOOR && qs < 0 && rn != 0) + { + if (q) + mpz_sub_ui (tq, tq, 1); + if (r) + mpz_add (tr, tr, d); + } + else if (mode == GMP_DIV_CEIL && qs >= 0 && rn != 0) + { + if (q) + mpz_add_ui (tq, tq, 1); + if (r) + mpz_sub (tr, tr, d); + } + + if (q) + { + mpz_swap (tq, q); + mpz_clear (tq); + } + if (r) + mpz_swap (tr, r); + + mpz_clear (tr); + + return rn != 0; + } +} + +void +mpz_cdiv_qr (mpz_t q, mpz_t r, const mpz_t n, const mpz_t d) +{ + mpz_div_qr (q, r, n, d, GMP_DIV_CEIL); +} + +void +mpz_fdiv_qr (mpz_t q, mpz_t r, const mpz_t n, const mpz_t d) +{ + mpz_div_qr (q, r, n, d, GMP_DIV_FLOOR); +} + +void +mpz_tdiv_qr (mpz_t q, mpz_t r, const mpz_t n, const mpz_t d) +{ + mpz_div_qr (q, r, n, d, GMP_DIV_TRUNC); +} + +void +mpz_cdiv_q (mpz_t q, const mpz_t n, const mpz_t d) +{ + mpz_div_qr (q, NULL, n, d, GMP_DIV_CEIL); +} + +void +mpz_fdiv_q (mpz_t q, const mpz_t n, const mpz_t d) +{ + mpz_div_qr (q, NULL, n, d, GMP_DIV_FLOOR); +} + +void +mpz_tdiv_q (mpz_t q, const mpz_t n, const mpz_t d) +{ + mpz_div_qr (q, NULL, n, d, GMP_DIV_TRUNC); +} + +void +mpz_cdiv_r (mpz_t r, const mpz_t n, const mpz_t d) +{ + mpz_div_qr (NULL, r, n, d, GMP_DIV_CEIL); +} + +void +mpz_fdiv_r (mpz_t r, const mpz_t n, const mpz_t d) +{ + mpz_div_qr (NULL, r, n, d, GMP_DIV_FLOOR); +} + +void +mpz_tdiv_r (mpz_t r, const mpz_t n, const mpz_t d) +{ + mpz_div_qr (NULL, r, n, d, GMP_DIV_TRUNC); +} + +void +mpz_mod (mpz_t r, const mpz_t n, const mpz_t d) +{ + mpz_div_qr (NULL, r, n, d, d->_mp_size >= 0 ? GMP_DIV_FLOOR : GMP_DIV_CEIL); +} + +static void +mpz_div_q_2exp (mpz_t q, const mpz_t u, mp_bitcnt_t bit_index, + enum mpz_div_round_mode mode) +{ + mp_size_t un, qn; + mp_size_t limb_cnt; + mp_ptr qp; + int adjust; + + un = u->_mp_size; + if (un == 0) + { + q->_mp_size = 0; + return; + } + limb_cnt = bit_index / GMP_LIMB_BITS; + qn = GMP_ABS (un) - limb_cnt; + bit_index %= GMP_LIMB_BITS; + + if (mode == ((un > 0) ? GMP_DIV_CEIL : GMP_DIV_FLOOR)) /* un != 0 here. */ + /* Note: Below, the final indexing at limb_cnt is valid because at + that point we have qn > 0. */ + adjust = (qn <= 0 + || !mpn_zero_p (u->_mp_d, limb_cnt) + || (u->_mp_d[limb_cnt] + & (((mp_limb_t) 1 << bit_index) - 1))); + else + adjust = 0; + + if (qn <= 0) + qn = 0; + + else + { + qp = MPZ_REALLOC (q, qn); + + if (bit_index != 0) + { + mpn_rshift (qp, u->_mp_d + limb_cnt, qn, bit_index); + qn -= qp[qn - 1] == 0; + } + else + { + mpn_copyi (qp, u->_mp_d + limb_cnt, qn); + } + } + + q->_mp_size = qn; + + if (adjust) + mpz_add_ui (q, q, 1); + if (un < 0) + mpz_neg (q, q); +} + +static void +mpz_div_r_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t bit_index, + enum mpz_div_round_mode mode) +{ + mp_size_t us, un, rn; + mp_ptr rp; + mp_limb_t mask; + + us = u->_mp_size; + if (us == 0 || bit_index == 0) + { + r->_mp_size = 0; + return; + } + rn = (bit_index + GMP_LIMB_BITS - 1) / GMP_LIMB_BITS; + assert (rn > 0); + + rp = MPZ_REALLOC (r, rn); + un = GMP_ABS (us); + + mask = GMP_LIMB_MAX >> (rn * GMP_LIMB_BITS - bit_index); + + if (rn > un) + { + /* Quotient (with truncation) is zero, and remainder is + non-zero */ + if (mode == ((us > 0) ? GMP_DIV_CEIL : GMP_DIV_FLOOR)) /* us != 0 here. */ + { + /* Have to negate and sign extend. */ + mp_size_t i; + mp_limb_t cy; + + for (cy = 1, i = 0; i < un; i++) + { + mp_limb_t s = ~u->_mp_d[i] + cy; + cy = s < cy; + rp[i] = s; + } + assert (cy == 0); + for (; i < rn - 1; i++) + rp[i] = GMP_LIMB_MAX; + + rp[rn-1] = mask; + us = -us; + } + else + { + /* Just copy */ + if (r != u) + mpn_copyi (rp, u->_mp_d, un); + + rn = un; + } + } + else + { + if (r != u) + mpn_copyi (rp, u->_mp_d, rn - 1); + + rp[rn-1] = u->_mp_d[rn-1] & mask; + + if (mode == ((us > 0) ? GMP_DIV_CEIL : GMP_DIV_FLOOR)) /* us != 0 here. */ + { + /* If r != 0, compute 2^{bit_count} - r. */ + mp_size_t i; + + for (i = 0; i < rn && rp[i] == 0; i++) + ; + if (i < rn) + { + /* r > 0, need to flip sign. */ + rp[i] = ~rp[i] + 1; + while (++i < rn) + rp[i] = ~rp[i]; + + rp[rn-1] &= mask; + + /* us is not used for anything else, so we can modify it + here to indicate flipped sign. */ + us = -us; + } + } + } + rn = mpn_normalized_size (rp, rn); + r->_mp_size = us < 0 ? -rn : rn; +} + +void +mpz_cdiv_q_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t cnt) +{ + mpz_div_q_2exp (r, u, cnt, GMP_DIV_CEIL); +} + +void +mpz_fdiv_q_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t cnt) +{ + mpz_div_q_2exp (r, u, cnt, GMP_DIV_FLOOR); +} + +void +mpz_tdiv_q_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t cnt) +{ + mpz_div_q_2exp (r, u, cnt, GMP_DIV_TRUNC); +} + +void +mpz_cdiv_r_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t cnt) +{ + mpz_div_r_2exp (r, u, cnt, GMP_DIV_CEIL); +} + +void +mpz_fdiv_r_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t cnt) +{ + mpz_div_r_2exp (r, u, cnt, GMP_DIV_FLOOR); +} + +void +mpz_tdiv_r_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t cnt) +{ + mpz_div_r_2exp (r, u, cnt, GMP_DIV_TRUNC); +} + +void +mpz_divexact (mpz_t q, const mpz_t n, const mpz_t d) +{ + gmp_assert_nocarry (mpz_div_qr (q, NULL, n, d, GMP_DIV_TRUNC)); +} + +int +mpz_divisible_p (const mpz_t n, const mpz_t d) +{ + return mpz_div_qr (NULL, NULL, n, d, GMP_DIV_TRUNC) == 0; +} + +int +mpz_congruent_p (const mpz_t a, const mpz_t b, const mpz_t m) +{ + mpz_t t; + int res; + + /* a == b (mod 0) iff a == b */ + if (mpz_sgn (m) == 0) + return (mpz_cmp (a, b) == 0); + + mpz_init (t); + mpz_sub (t, a, b); + res = mpz_divisible_p (t, m); + mpz_clear (t); + + return res; +} + +static unsigned long +mpz_div_qr_ui (mpz_t q, mpz_t r, + const mpz_t n, unsigned long d, enum mpz_div_round_mode mode) +{ + mp_size_t ns, qn; + mp_ptr qp; + mp_limb_t rl; + mp_size_t rs; + + ns = n->_mp_size; + if (ns == 0) + { + if (q) + q->_mp_size = 0; + if (r) + r->_mp_size = 0; + return 0; + } + + qn = GMP_ABS (ns); + if (q) + qp = MPZ_REALLOC (q, qn); + else + qp = NULL; + + rl = mpn_div_qr_1 (qp, n->_mp_d, qn, d); + assert (rl < d); + + rs = rl > 0; + rs = (ns < 0) ? -rs : rs; + + if (rl > 0 && ( (mode == GMP_DIV_FLOOR && ns < 0) + || (mode == GMP_DIV_CEIL && ns >= 0))) + { + if (q) + gmp_assert_nocarry (mpn_add_1 (qp, qp, qn, 1)); + rl = d - rl; + rs = -rs; + } + + if (r) + { + r->_mp_d[0] = rl; + r->_mp_size = rs; + } + if (q) + { + qn -= (qp[qn-1] == 0); + assert (qn == 0 || qp[qn-1] > 0); + + q->_mp_size = (ns < 0) ? - qn : qn; + } + + return rl; +} + +unsigned long +mpz_cdiv_qr_ui (mpz_t q, mpz_t r, const mpz_t n, unsigned long d) +{ + return mpz_div_qr_ui (q, r, n, d, GMP_DIV_CEIL); +} + +unsigned long +mpz_fdiv_qr_ui (mpz_t q, mpz_t r, const mpz_t n, unsigned long d) +{ + return mpz_div_qr_ui (q, r, n, d, GMP_DIV_FLOOR); +} + +unsigned long +mpz_tdiv_qr_ui (mpz_t q, mpz_t r, const mpz_t n, unsigned long d) +{ + return mpz_div_qr_ui (q, r, n, d, GMP_DIV_TRUNC); +} + +unsigned long +mpz_cdiv_q_ui (mpz_t q, const mpz_t n, unsigned long d) +{ + return mpz_div_qr_ui (q, NULL, n, d, GMP_DIV_CEIL); +} + +unsigned long +mpz_fdiv_q_ui (mpz_t q, const mpz_t n, unsigned long d) +{ + return mpz_div_qr_ui (q, NULL, n, d, GMP_DIV_FLOOR); +} + +unsigned long +mpz_tdiv_q_ui (mpz_t q, const mpz_t n, unsigned long d) +{ + return mpz_div_qr_ui (q, NULL, n, d, GMP_DIV_TRUNC); +} + +unsigned long +mpz_cdiv_r_ui (mpz_t r, const mpz_t n, unsigned long d) +{ + return mpz_div_qr_ui (NULL, r, n, d, GMP_DIV_CEIL); +} +unsigned long +mpz_fdiv_r_ui (mpz_t r, const mpz_t n, unsigned long d) +{ + return mpz_div_qr_ui (NULL, r, n, d, GMP_DIV_FLOOR); +} +unsigned long +mpz_tdiv_r_ui (mpz_t r, const mpz_t n, unsigned long d) +{ + return mpz_div_qr_ui (NULL, r, n, d, GMP_DIV_TRUNC); +} + +unsigned long +mpz_cdiv_ui (const mpz_t n, unsigned long d) +{ + return mpz_div_qr_ui (NULL, NULL, n, d, GMP_DIV_CEIL); +} + +unsigned long +mpz_fdiv_ui (const mpz_t n, unsigned long d) +{ + return mpz_div_qr_ui (NULL, NULL, n, d, GMP_DIV_FLOOR); +} + +unsigned long +mpz_tdiv_ui (const mpz_t n, unsigned long d) +{ + return mpz_div_qr_ui (NULL, NULL, n, d, GMP_DIV_TRUNC); +} + +unsigned long +mpz_mod_ui (mpz_t r, const mpz_t n, unsigned long d) +{ + return mpz_div_qr_ui (NULL, r, n, d, GMP_DIV_FLOOR); +} + +void +mpz_divexact_ui (mpz_t q, const mpz_t n, unsigned long d) +{ + gmp_assert_nocarry (mpz_div_qr_ui (q, NULL, n, d, GMP_DIV_TRUNC)); +} + +int +mpz_divisible_ui_p (const mpz_t n, unsigned long d) +{ + return mpz_div_qr_ui (NULL, NULL, n, d, GMP_DIV_TRUNC) == 0; +} + + +/* GCD */ +static mp_limb_t +mpn_gcd_11 (mp_limb_t u, mp_limb_t v) +{ + unsigned shift; + + assert ( (u | v) > 0); + + if (u == 0) + return v; + else if (v == 0) + return u; + + gmp_ctz (shift, u | v); + + u >>= shift; + v >>= shift; + + if ( (u & 1) == 0) + MP_LIMB_T_SWAP (u, v); + + while ( (v & 1) == 0) + v >>= 1; + + while (u != v) + { + if (u > v) + { + u -= v; + do + u >>= 1; + while ( (u & 1) == 0); + } + else + { + v -= u; + do + v >>= 1; + while ( (v & 1) == 0); + } + } + return u << shift; +} + +unsigned long +mpz_gcd_ui (mpz_t g, const mpz_t u, unsigned long v) +{ + mp_size_t un; + + if (v == 0) + { + if (g) + mpz_abs (g, u); + } + else + { + un = GMP_ABS (u->_mp_size); + if (un != 0) + v = mpn_gcd_11 (mpn_div_qr_1 (NULL, u->_mp_d, un, v), v); + + if (g) + mpz_set_ui (g, v); + } + + return v; +} + +static mp_bitcnt_t +mpz_make_odd (mpz_t r) +{ + mp_bitcnt_t shift; + + assert (r->_mp_size > 0); + /* Count trailing zeros, equivalent to mpn_scan1, because we know that there is a 1 */ + shift = mpn_common_scan (r->_mp_d[0], 0, r->_mp_d, 0, 0); + mpz_tdiv_q_2exp (r, r, shift); + + return shift; +} + +void +mpz_gcd (mpz_t g, const mpz_t u, const mpz_t v) +{ + mpz_t tu, tv; + mp_bitcnt_t uz, vz, gz; + + if (u->_mp_size == 0) + { + mpz_abs (g, v); + return; + } + if (v->_mp_size == 0) + { + mpz_abs (g, u); + return; + } + + mpz_init (tu); + mpz_init (tv); + + mpz_abs (tu, u); + uz = mpz_make_odd (tu); + mpz_abs (tv, v); + vz = mpz_make_odd (tv); + gz = GMP_MIN (uz, vz); + + if (tu->_mp_size < tv->_mp_size) + mpz_swap (tu, tv); + + mpz_tdiv_r (tu, tu, tv); + if (tu->_mp_size == 0) + { + mpz_swap (g, tv); + } + else + for (;;) + { + int c; + + mpz_make_odd (tu); + c = mpz_cmp (tu, tv); + if (c == 0) + { + mpz_swap (g, tu); + break; + } + if (c < 0) + mpz_swap (tu, tv); + + if (tv->_mp_size == 1) + { + mp_limb_t vl = tv->_mp_d[0]; + mp_limb_t ul = mpz_tdiv_ui (tu, vl); + mpz_set_ui (g, mpn_gcd_11 (ul, vl)); + break; + } + mpz_sub (tu, tu, tv); + } + mpz_clear (tu); + mpz_clear (tv); + mpz_mul_2exp (g, g, gz); +} + +void +mpz_gcdext (mpz_t g, mpz_t s, mpz_t t, const mpz_t u, const mpz_t v) +{ + mpz_t tu, tv, s0, s1, t0, t1; + mp_bitcnt_t uz, vz, gz; + mp_bitcnt_t power; + + if (u->_mp_size == 0) + { + /* g = 0 u + sgn(v) v */ + signed long sign = mpz_sgn (v); + mpz_abs (g, v); + if (s) + mpz_set_ui (s, 0); + if (t) + mpz_set_si (t, sign); + return; + } + + if (v->_mp_size == 0) + { + /* g = sgn(u) u + 0 v */ + signed long sign = mpz_sgn (u); + mpz_abs (g, u); + if (s) + mpz_set_si (s, sign); + if (t) + mpz_set_ui (t, 0); + return; + } + + mpz_init (tu); + mpz_init (tv); + mpz_init (s0); + mpz_init (s1); + mpz_init (t0); + mpz_init (t1); + + mpz_abs (tu, u); + uz = mpz_make_odd (tu); + mpz_abs (tv, v); + vz = mpz_make_odd (tv); + gz = GMP_MIN (uz, vz); + + uz -= gz; + vz -= gz; + + /* Cofactors corresponding to odd gcd. gz handled later. */ + if (tu->_mp_size < tv->_mp_size) + { + mpz_swap (tu, tv); + MPZ_SRCPTR_SWAP (u, v); + MPZ_PTR_SWAP (s, t); + MP_BITCNT_T_SWAP (uz, vz); + } + + /* Maintain + * + * u = t0 tu + t1 tv + * v = s0 tu + s1 tv + * + * where u and v denote the inputs with common factors of two + * eliminated, and det (s0, t0; s1, t1) = 2^p. Then + * + * 2^p tu = s1 u - t1 v + * 2^p tv = -s0 u + t0 v + */ + + /* After initial division, tu = q tv + tu', we have + * + * u = 2^uz (tu' + q tv) + * v = 2^vz tv + * + * or + * + * t0 = 2^uz, t1 = 2^uz q + * s0 = 0, s1 = 2^vz + */ + + mpz_setbit (t0, uz); + mpz_tdiv_qr (t1, tu, tu, tv); + mpz_mul_2exp (t1, t1, uz); + + mpz_setbit (s1, vz); + power = uz + vz; + + if (tu->_mp_size > 0) + { + mp_bitcnt_t shift; + shift = mpz_make_odd (tu); + mpz_mul_2exp (t0, t0, shift); + mpz_mul_2exp (s0, s0, shift); + power += shift; + + for (;;) + { + int c; + c = mpz_cmp (tu, tv); + if (c == 0) + break; + + if (c < 0) + { + /* tv = tv' + tu + * + * u = t0 tu + t1 (tv' + tu) = (t0 + t1) tu + t1 tv' + * v = s0 tu + s1 (tv' + tu) = (s0 + s1) tu + s1 tv' */ + + mpz_sub (tv, tv, tu); + mpz_add (t0, t0, t1); + mpz_add (s0, s0, s1); + + shift = mpz_make_odd (tv); + mpz_mul_2exp (t1, t1, shift); + mpz_mul_2exp (s1, s1, shift); + } + else + { + mpz_sub (tu, tu, tv); + mpz_add (t1, t0, t1); + mpz_add (s1, s0, s1); + + shift = mpz_make_odd (tu); + mpz_mul_2exp (t0, t0, shift); + mpz_mul_2exp (s0, s0, shift); + } + power += shift; + } + } + + /* Now tv = odd part of gcd, and -s0 and t0 are corresponding + cofactors. */ + + mpz_mul_2exp (tv, tv, gz); + mpz_neg (s0, s0); + + /* 2^p g = s0 u + t0 v. Eliminate one factor of two at a time. To + adjust cofactors, we need u / g and v / g */ + + mpz_divexact (s1, v, tv); + mpz_abs (s1, s1); + mpz_divexact (t1, u, tv); + mpz_abs (t1, t1); + + while (power-- > 0) + { + /* s0 u + t0 v = (s0 - v/g) u - (t0 + u/g) v */ + if (mpz_odd_p (s0) || mpz_odd_p (t0)) + { + mpz_sub (s0, s0, s1); + mpz_add (t0, t0, t1); + } + mpz_divexact_ui (s0, s0, 2); + mpz_divexact_ui (t0, t0, 2); + } + + /* Arrange so that |s| < |u| / 2g */ + mpz_add (s1, s0, s1); + if (mpz_cmpabs (s0, s1) > 0) + { + mpz_swap (s0, s1); + mpz_sub (t0, t0, t1); + } + if (u->_mp_size < 0) + mpz_neg (s0, s0); + if (v->_mp_size < 0) + mpz_neg (t0, t0); + + mpz_swap (g, tv); + if (s) + mpz_swap (s, s0); + if (t) + mpz_swap (t, t0); + + mpz_clear (tu); + mpz_clear (tv); + mpz_clear (s0); + mpz_clear (s1); + mpz_clear (t0); + mpz_clear (t1); +} + +void +mpz_lcm (mpz_t r, const mpz_t u, const mpz_t v) +{ + mpz_t g; + + if (u->_mp_size == 0 || v->_mp_size == 0) + { + r->_mp_size = 0; + return; + } + + mpz_init (g); + + mpz_gcd (g, u, v); + mpz_divexact (g, u, g); + mpz_mul (r, g, v); + + mpz_clear (g); + mpz_abs (r, r); +} + +void +mpz_lcm_ui (mpz_t r, const mpz_t u, unsigned long v) +{ + if (v == 0 || u->_mp_size == 0) + { + r->_mp_size = 0; + return; + } + + v /= mpz_gcd_ui (NULL, u, v); + mpz_mul_ui (r, u, v); + + mpz_abs (r, r); +} + +int +mpz_invert (mpz_t r, const mpz_t u, const mpz_t m) +{ + mpz_t g, tr; + int invertible; + + if (u->_mp_size == 0 || mpz_cmpabs_ui (m, 1) <= 0) + return 0; + + mpz_init (g); + mpz_init (tr); + + mpz_gcdext (g, tr, NULL, u, m); + invertible = (mpz_cmp_ui (g, 1) == 0); + + if (invertible) + { + if (tr->_mp_size < 0) + { + if (m->_mp_size >= 0) + mpz_add (tr, tr, m); + else + mpz_sub (tr, tr, m); + } + mpz_swap (r, tr); + } + + mpz_clear (g); + mpz_clear (tr); + return invertible; +} + + +/* Higher level operations (sqrt, pow and root) */ + +void +mpz_pow_ui (mpz_t r, const mpz_t b, unsigned long e) +{ + unsigned long bit; + mpz_t tr; + mpz_init_set_ui (tr, 1); + + bit = GMP_ULONG_HIGHBIT; + do + { + mpz_mul (tr, tr, tr); + if (e & bit) + mpz_mul (tr, tr, b); + bit >>= 1; + } + while (bit > 0); + + mpz_swap (r, tr); + mpz_clear (tr); +} + +void +mpz_ui_pow_ui (mpz_t r, unsigned long blimb, unsigned long e) +{ + mpz_t b; + mpz_init_set_ui (b, blimb); + mpz_pow_ui (r, b, e); + mpz_clear (b); +} + +void +mpz_powm (mpz_t r, const mpz_t b, const mpz_t e, const mpz_t m) +{ + mpz_t tr; + mpz_t base; + mp_size_t en, mn; + mp_srcptr mp; + struct gmp_div_inverse minv; + unsigned shift; + mp_ptr tp = NULL; + + en = GMP_ABS (e->_mp_size); + mn = GMP_ABS (m->_mp_size); + if (mn == 0) + gmp_die ("mpz_powm: Zero modulo."); + + if (en == 0) + { + mpz_set_ui (r, 1); + return; + } + + mp = m->_mp_d; + mpn_div_qr_invert (&minv, mp, mn); + shift = minv.shift; + + if (shift > 0) + { + /* To avoid shifts, we do all our reductions, except the final + one, using a *normalized* m. */ + minv.shift = 0; + + tp = gmp_xalloc_limbs (mn); + gmp_assert_nocarry (mpn_lshift (tp, mp, mn, shift)); + mp = tp; + } + + mpz_init (base); + + if (e->_mp_size < 0) + { + if (!mpz_invert (base, b, m)) + gmp_die ("mpz_powm: Negative exponent and non-invertible base."); + } + else + { + mp_size_t bn; + mpz_abs (base, b); + + bn = base->_mp_size; + if (bn >= mn) + { + mpn_div_qr_preinv (NULL, base->_mp_d, base->_mp_size, mp, mn, &minv); + bn = mn; + } + + /* We have reduced the absolute value. Now take care of the + sign. Note that we get zero represented non-canonically as + m. */ + if (b->_mp_size < 0) + { + mp_ptr bp = MPZ_REALLOC (base, mn); + gmp_assert_nocarry (mpn_sub (bp, mp, mn, bp, bn)); + bn = mn; + } + base->_mp_size = mpn_normalized_size (base->_mp_d, bn); + } + mpz_init_set_ui (tr, 1); + + while (en-- > 0) + { + mp_limb_t w = e->_mp_d[en]; + mp_limb_t bit; + + bit = GMP_LIMB_HIGHBIT; + do + { + mpz_mul (tr, tr, tr); + if (w & bit) + mpz_mul (tr, tr, base); + if (tr->_mp_size > mn) + { + mpn_div_qr_preinv (NULL, tr->_mp_d, tr->_mp_size, mp, mn, &minv); + tr->_mp_size = mpn_normalized_size (tr->_mp_d, mn); + } + bit >>= 1; + } + while (bit > 0); + } + + /* Final reduction */ + if (tr->_mp_size >= mn) + { + minv.shift = shift; + mpn_div_qr_preinv (NULL, tr->_mp_d, tr->_mp_size, mp, mn, &minv); + tr->_mp_size = mpn_normalized_size (tr->_mp_d, mn); + } + if (tp) + gmp_free (tp); + + mpz_swap (r, tr); + mpz_clear (tr); + mpz_clear (base); +} + +void +mpz_powm_ui (mpz_t r, const mpz_t b, unsigned long elimb, const mpz_t m) +{ + mpz_t e; + mpz_init_set_ui (e, elimb); + mpz_powm (r, b, e, m); + mpz_clear (e); +} + +/* x=trunc(y^(1/z)), r=y-x^z */ +void +mpz_rootrem (mpz_t x, mpz_t r, const mpz_t y, unsigned long z) +{ + int sgn; + mpz_t t, u; + + sgn = y->_mp_size < 0; + if ((~z & sgn) != 0) + gmp_die ("mpz_rootrem: Negative argument, with even root."); + if (z == 0) + gmp_die ("mpz_rootrem: Zeroth root."); + + if (mpz_cmpabs_ui (y, 1) <= 0) { + if (x) + mpz_set (x, y); + if (r) + r->_mp_size = 0; + return; + } + + mpz_init (u); + { + mp_bitcnt_t tb; + tb = mpz_sizeinbase (y, 2) / z + 1; + mpz_init2 (t, tb); + mpz_setbit (t, tb); + } + + if (z == 2) /* simplify sqrt loop: z-1 == 1 */ + do { + mpz_swap (u, t); /* u = x */ + mpz_tdiv_q (t, y, u); /* t = y/x */ + mpz_add (t, t, u); /* t = y/x + x */ + mpz_tdiv_q_2exp (t, t, 1); /* x'= (y/x + x)/2 */ + } while (mpz_cmpabs (t, u) < 0); /* |x'| < |x| */ + else /* z != 2 */ { + mpz_t v; + + mpz_init (v); + if (sgn) + mpz_neg (t, t); + + do { + mpz_swap (u, t); /* u = x */ + mpz_pow_ui (t, u, z - 1); /* t = x^(z-1) */ + mpz_tdiv_q (t, y, t); /* t = y/x^(z-1) */ + mpz_mul_ui (v, u, z - 1); /* v = x*(z-1) */ + mpz_add (t, t, v); /* t = y/x^(z-1) + x*(z-1) */ + mpz_tdiv_q_ui (t, t, z); /* x'=(y/x^(z-1) + x*(z-1))/z */ + } while (mpz_cmpabs (t, u) < 0); /* |x'| < |x| */ + + mpz_clear (v); + } + + if (r) { + mpz_pow_ui (t, u, z); + mpz_sub (r, y, t); + } + if (x) + mpz_swap (x, u); + mpz_clear (u); + mpz_clear (t); +} + +int +mpz_root (mpz_t x, const mpz_t y, unsigned long z) +{ + int res; + mpz_t r; + + mpz_init (r); + mpz_rootrem (x, r, y, z); + res = r->_mp_size == 0; + mpz_clear (r); + + return res; +} + +/* Compute s = floor(sqrt(u)) and r = u - s^2. Allows r == NULL */ +void +mpz_sqrtrem (mpz_t s, mpz_t r, const mpz_t u) +{ + mpz_rootrem (s, r, u, 2); +} + +void +mpz_sqrt (mpz_t s, const mpz_t u) +{ + mpz_rootrem (s, NULL, u, 2); +} + +int +mpz_perfect_square_p (const mpz_t u) +{ + if (u->_mp_size <= 0) + return (u->_mp_size == 0); + else + return mpz_root (NULL, u, 2); +} + +int +mpn_perfect_square_p (mp_srcptr p, mp_size_t n) +{ + mpz_t t; + + assert (n > 0); + assert (p [n-1] != 0); + return mpz_root (NULL, mpz_roinit_n (t, p, n), 2); +} + +mp_size_t +mpn_sqrtrem (mp_ptr sp, mp_ptr rp, mp_srcptr p, mp_size_t n) +{ + mpz_t s, r, u; + mp_size_t res; + + assert (n > 0); + assert (p [n-1] != 0); + + mpz_init (r); + mpz_init (s); + mpz_rootrem (s, r, mpz_roinit_n (u, p, n), 2); + + assert (s->_mp_size == (n+1)/2); + mpn_copyd (sp, s->_mp_d, s->_mp_size); + mpz_clear (s); + res = r->_mp_size; + if (rp) + mpn_copyd (rp, r->_mp_d, res); + mpz_clear (r); + return res; +} + +/* Combinatorics */ + +void +mpz_fac_ui (mpz_t x, unsigned long n) +{ + mpz_set_ui (x, n + (n == 0)); + for (;n > 2;) + mpz_mul_ui (x, x, --n); +} + +void +mpz_bin_uiui (mpz_t r, unsigned long n, unsigned long k) +{ + mpz_t t; + + mpz_set_ui (r, k <= n); + + if (k > (n >> 1)) + k = (k <= n) ? n - k : 0; + + mpz_init (t); + mpz_fac_ui (t, k); + + for (; k > 0; k--) + mpz_mul_ui (r, r, n--); + + mpz_divexact (r, r, t); + mpz_clear (t); +} + + +/* Primality testing */ +static int +gmp_millerrabin (const mpz_t n, const mpz_t nm1, mpz_t y, + const mpz_t q, mp_bitcnt_t k) +{ + assert (k > 0); + + /* Caller must initialize y to the base. */ + mpz_powm (y, y, q, n); + + if (mpz_cmp_ui (y, 1) == 0 || mpz_cmp (y, nm1) == 0) + return 1; + + while (--k > 0) + { + mpz_powm_ui (y, y, 2, n); + if (mpz_cmp (y, nm1) == 0) + return 1; + /* y == 1 means that the previous y was a non-trivial square root + of 1 (mod n). y == 0 means that n is a power of the base. + In either case, n is not prime. */ + if (mpz_cmp_ui (y, 1) <= 0) + return 0; + } + return 0; +} + +/* This product is 0xc0cfd797, and fits in 32 bits. */ +#define GMP_PRIME_PRODUCT \ + (3UL*5UL*7UL*11UL*13UL*17UL*19UL*23UL*29UL) + +/* Bit (p+1)/2 is set, for each odd prime <= 61 */ +#define GMP_PRIME_MASK 0xc96996dcUL + +int +mpz_probab_prime_p (const mpz_t n, int reps) +{ + mpz_t nm1; + mpz_t q; + mpz_t y; + mp_bitcnt_t k; + int is_prime; + int j; + + /* Note that we use the absolute value of n only, for compatibility + with the real GMP. */ + if (mpz_even_p (n)) + return (mpz_cmpabs_ui (n, 2) == 0) ? 2 : 0; + + /* Above test excludes n == 0 */ + assert (n->_mp_size != 0); + + if (mpz_cmpabs_ui (n, 64) < 0) + return (GMP_PRIME_MASK >> (n->_mp_d[0] >> 1)) & 2; + + if (mpz_gcd_ui (NULL, n, GMP_PRIME_PRODUCT) != 1) + return 0; + + /* All prime factors are >= 31. */ + if (mpz_cmpabs_ui (n, 31*31) < 0) + return 2; + + /* Use Miller-Rabin, with a deterministic sequence of bases, a[j] = + j^2 + j + 41 using Euler's polynomial. We potentially stop early, + if a[j] >= n - 1. Since n >= 31*31, this can happen only if reps > + 30 (a[30] == 971 > 31*31 == 961). */ + + mpz_init (nm1); + mpz_init (q); + mpz_init (y); + + /* Find q and k, where q is odd and n = 1 + 2**k * q. */ + nm1->_mp_size = mpz_abs_sub_ui (nm1, n, 1); + k = mpz_scan1 (nm1, 0); + mpz_tdiv_q_2exp (q, nm1, k); + + for (j = 0, is_prime = 1; is_prime & (j < reps); j++) + { + mpz_set_ui (y, (unsigned long) j*j+j+41); + if (mpz_cmp (y, nm1) >= 0) + { + /* Don't try any further bases. This "early" break does not affect + the result for any reasonable reps value (<=5000 was tested) */ + assert (j >= 30); + break; + } + is_prime = gmp_millerrabin (n, nm1, y, q, k); + } + mpz_clear (nm1); + mpz_clear (q); + mpz_clear (y); + + return is_prime; +} + + +/* Logical operations and bit manipulation. */ + +/* Numbers are treated as if represented in two's complement (and + infinitely sign extended). For a negative values we get the two's + complement from -x = ~x + 1, where ~ is bitwise complement. + Negation transforms + + xxxx10...0 + + into + + yyyy10...0 + + where yyyy is the bitwise complement of xxxx. So least significant + bits, up to and including the first one bit, are unchanged, and + the more significant bits are all complemented. + + To change a bit from zero to one in a negative number, subtract the + corresponding power of two from the absolute value. This can never + underflow. To change a bit from one to zero, add the corresponding + power of two, and this might overflow. E.g., if x = -001111, the + two's complement is 110001. Clearing the least significant bit, we + get two's complement 110000, and -010000. */ + +int +mpz_tstbit (const mpz_t d, mp_bitcnt_t bit_index) +{ + mp_size_t limb_index; + unsigned shift; + mp_size_t ds; + mp_size_t dn; + mp_limb_t w; + int bit; + + ds = d->_mp_size; + dn = GMP_ABS (ds); + limb_index = bit_index / GMP_LIMB_BITS; + if (limb_index >= dn) + return ds < 0; + + shift = bit_index % GMP_LIMB_BITS; + w = d->_mp_d[limb_index]; + bit = (w >> shift) & 1; + + if (ds < 0) + { + /* d < 0. Check if any of the bits below is set: If so, our bit + must be complemented. */ + if (shift > 0 && (w << (GMP_LIMB_BITS - shift)) > 0) + return bit ^ 1; + while (limb_index-- > 0) + if (d->_mp_d[limb_index] > 0) + return bit ^ 1; + } + return bit; +} + +static void +mpz_abs_add_bit (mpz_t d, mp_bitcnt_t bit_index) +{ + mp_size_t dn, limb_index; + mp_limb_t bit; + mp_ptr dp; + + dn = GMP_ABS (d->_mp_size); + + limb_index = bit_index / GMP_LIMB_BITS; + bit = (mp_limb_t) 1 << (bit_index % GMP_LIMB_BITS); + + if (limb_index >= dn) + { + mp_size_t i; + /* The bit should be set outside of the end of the number. + We have to increase the size of the number. */ + dp = MPZ_REALLOC (d, limb_index + 1); + + dp[limb_index] = bit; + for (i = dn; i < limb_index; i++) + dp[i] = 0; + dn = limb_index + 1; + } + else + { + mp_limb_t cy; + + dp = d->_mp_d; + + cy = mpn_add_1 (dp + limb_index, dp + limb_index, dn - limb_index, bit); + if (cy > 0) + { + dp = MPZ_REALLOC (d, dn + 1); + dp[dn++] = cy; + } + } + + d->_mp_size = (d->_mp_size < 0) ? - dn : dn; +} + +static void +mpz_abs_sub_bit (mpz_t d, mp_bitcnt_t bit_index) +{ + mp_size_t dn, limb_index; + mp_ptr dp; + mp_limb_t bit; + + dn = GMP_ABS (d->_mp_size); + dp = d->_mp_d; + + limb_index = bit_index / GMP_LIMB_BITS; + bit = (mp_limb_t) 1 << (bit_index % GMP_LIMB_BITS); + + assert (limb_index < dn); + + gmp_assert_nocarry (mpn_sub_1 (dp + limb_index, dp + limb_index, + dn - limb_index, bit)); + dn -= (dp[dn-1] == 0); + d->_mp_size = (d->_mp_size < 0) ? - dn : dn; +} + +void +mpz_setbit (mpz_t d, mp_bitcnt_t bit_index) +{ + if (!mpz_tstbit (d, bit_index)) + { + if (d->_mp_size >= 0) + mpz_abs_add_bit (d, bit_index); + else + mpz_abs_sub_bit (d, bit_index); + } +} + +void +mpz_clrbit (mpz_t d, mp_bitcnt_t bit_index) +{ + if (mpz_tstbit (d, bit_index)) + { + if (d->_mp_size >= 0) + mpz_abs_sub_bit (d, bit_index); + else + mpz_abs_add_bit (d, bit_index); + } +} + +void +mpz_combit (mpz_t d, mp_bitcnt_t bit_index) +{ + if (mpz_tstbit (d, bit_index) ^ (d->_mp_size < 0)) + mpz_abs_sub_bit (d, bit_index); + else + mpz_abs_add_bit (d, bit_index); +} + +void +mpz_com (mpz_t r, const mpz_t u) +{ + mpz_neg (r, u); + mpz_sub_ui (r, r, 1); +} + +void +mpz_and (mpz_t r, const mpz_t u, const mpz_t v) +{ + mp_size_t un, vn, rn, i; + mp_ptr up, vp, rp; + + mp_limb_t ux, vx, rx; + mp_limb_t uc, vc, rc; + mp_limb_t ul, vl, rl; + + un = GMP_ABS (u->_mp_size); + vn = GMP_ABS (v->_mp_size); + if (un < vn) + { + MPZ_SRCPTR_SWAP (u, v); + MP_SIZE_T_SWAP (un, vn); + } + if (vn == 0) + { + r->_mp_size = 0; + return; + } + + uc = u->_mp_size < 0; + vc = v->_mp_size < 0; + rc = uc & vc; + + ux = -uc; + vx = -vc; + rx = -rc; + + /* If the smaller input is positive, higher limbs don't matter. */ + rn = vx ? un : vn; + + rp = MPZ_REALLOC (r, rn + rc); + + up = u->_mp_d; + vp = v->_mp_d; + + i = 0; + do + { + ul = (up[i] ^ ux) + uc; + uc = ul < uc; + + vl = (vp[i] ^ vx) + vc; + vc = vl < vc; + + rl = ( (ul & vl) ^ rx) + rc; + rc = rl < rc; + rp[i] = rl; + } + while (++i < vn); + assert (vc == 0); + + for (; i < rn; i++) + { + ul = (up[i] ^ ux) + uc; + uc = ul < uc; + + rl = ( (ul & vx) ^ rx) + rc; + rc = rl < rc; + rp[i] = rl; + } + if (rc) + rp[rn++] = rc; + else + rn = mpn_normalized_size (rp, rn); + + r->_mp_size = rx ? -rn : rn; +} + +void +mpz_ior (mpz_t r, const mpz_t u, const mpz_t v) +{ + mp_size_t un, vn, rn, i; + mp_ptr up, vp, rp; + + mp_limb_t ux, vx, rx; + mp_limb_t uc, vc, rc; + mp_limb_t ul, vl, rl; + + un = GMP_ABS (u->_mp_size); + vn = GMP_ABS (v->_mp_size); + if (un < vn) + { + MPZ_SRCPTR_SWAP (u, v); + MP_SIZE_T_SWAP (un, vn); + } + if (vn == 0) + { + mpz_set (r, u); + return; + } + + uc = u->_mp_size < 0; + vc = v->_mp_size < 0; + rc = uc | vc; + + ux = -uc; + vx = -vc; + rx = -rc; + + /* If the smaller input is negative, by sign extension higher limbs + don't matter. */ + rn = vx ? vn : un; + + rp = MPZ_REALLOC (r, rn + rc); + + up = u->_mp_d; + vp = v->_mp_d; + + i = 0; + do + { + ul = (up[i] ^ ux) + uc; + uc = ul < uc; + + vl = (vp[i] ^ vx) + vc; + vc = vl < vc; + + rl = ( (ul | vl) ^ rx) + rc; + rc = rl < rc; + rp[i] = rl; + } + while (++i < vn); + assert (vc == 0); + + for (; i < rn; i++) + { + ul = (up[i] ^ ux) + uc; + uc = ul < uc; + + rl = ( (ul | vx) ^ rx) + rc; + rc = rl < rc; + rp[i] = rl; + } + if (rc) + rp[rn++] = rc; + else + rn = mpn_normalized_size (rp, rn); + + r->_mp_size = rx ? -rn : rn; +} + +void +mpz_xor (mpz_t r, const mpz_t u, const mpz_t v) +{ + mp_size_t un, vn, i; + mp_ptr up, vp, rp; + + mp_limb_t ux, vx, rx; + mp_limb_t uc, vc, rc; + mp_limb_t ul, vl, rl; + + un = GMP_ABS (u->_mp_size); + vn = GMP_ABS (v->_mp_size); + if (un < vn) + { + MPZ_SRCPTR_SWAP (u, v); + MP_SIZE_T_SWAP (un, vn); + } + if (vn == 0) + { + mpz_set (r, u); + return; + } + + uc = u->_mp_size < 0; + vc = v->_mp_size < 0; + rc = uc ^ vc; + + ux = -uc; + vx = -vc; + rx = -rc; + + rp = MPZ_REALLOC (r, un + rc); + + up = u->_mp_d; + vp = v->_mp_d; + + i = 0; + do + { + ul = (up[i] ^ ux) + uc; + uc = ul < uc; + + vl = (vp[i] ^ vx) + vc; + vc = vl < vc; + + rl = (ul ^ vl ^ rx) + rc; + rc = rl < rc; + rp[i] = rl; + } + while (++i < vn); + assert (vc == 0); + + for (; i < un; i++) + { + ul = (up[i] ^ ux) + uc; + uc = ul < uc; + + rl = (ul ^ ux) + rc; + rc = rl < rc; + rp[i] = rl; + } + if (rc) + rp[un++] = rc; + else + un = mpn_normalized_size (rp, un); + + r->_mp_size = rx ? -un : un; +} + +static unsigned +gmp_popcount_limb (mp_limb_t x) +{ + unsigned c; + + /* Do 16 bits at a time, to avoid limb-sized constants. */ + for (c = 0; x > 0; x >>= 16) + { + unsigned w = ((x >> 1) & 0x5555) + (x & 0x5555); + w = ((w >> 2) & 0x3333) + (w & 0x3333); + w = ((w >> 4) & 0x0f0f) + (w & 0x0f0f); + w = (w >> 8) + (w & 0x00ff); + c += w; + } + return c; +} + +mp_bitcnt_t +mpn_popcount (mp_srcptr p, mp_size_t n) +{ + mp_size_t i; + mp_bitcnt_t c; + + for (c = 0, i = 0; i < n; i++) + c += gmp_popcount_limb (p[i]); + + return c; +} + +mp_bitcnt_t +mpz_popcount (const mpz_t u) +{ + mp_size_t un; + + un = u->_mp_size; + + if (un < 0) + return ~(mp_bitcnt_t) 0; + + return mpn_popcount (u->_mp_d, un); +} + +mp_bitcnt_t +mpz_hamdist (const mpz_t u, const mpz_t v) +{ + mp_size_t un, vn, i; + mp_limb_t uc, vc, ul, vl, comp; + mp_srcptr up, vp; + mp_bitcnt_t c; + + un = u->_mp_size; + vn = v->_mp_size; + + if ( (un ^ vn) < 0) + return ~(mp_bitcnt_t) 0; + + comp = - (uc = vc = (un < 0)); + if (uc) + { + assert (vn < 0); + un = -un; + vn = -vn; + } + + up = u->_mp_d; + vp = v->_mp_d; + + if (un < vn) + MPN_SRCPTR_SWAP (up, un, vp, vn); + + for (i = 0, c = 0; i < vn; i++) + { + ul = (up[i] ^ comp) + uc; + uc = ul < uc; + + vl = (vp[i] ^ comp) + vc; + vc = vl < vc; + + c += gmp_popcount_limb (ul ^ vl); + } + assert (vc == 0); + + for (; i < un; i++) + { + ul = (up[i] ^ comp) + uc; + uc = ul < uc; + + c += gmp_popcount_limb (ul ^ comp); + } + + return c; +} + +mp_bitcnt_t +mpz_scan1 (const mpz_t u, mp_bitcnt_t starting_bit) +{ + mp_ptr up; + mp_size_t us, un, i; + mp_limb_t limb, ux; + + us = u->_mp_size; + un = GMP_ABS (us); + i = starting_bit / GMP_LIMB_BITS; + + /* Past the end there's no 1 bits for u>=0, or an immediate 1 bit + for u<0. Notice this test picks up any u==0 too. */ + if (i >= un) + return (us >= 0 ? ~(mp_bitcnt_t) 0 : starting_bit); + + up = u->_mp_d; + ux = 0; + limb = up[i]; + + if (starting_bit != 0) + { + if (us < 0) + { + ux = mpn_zero_p (up, i); + limb = ~ limb + ux; + ux = - (mp_limb_t) (limb >= ux); + } + + /* Mask to 0 all bits before starting_bit, thus ignoring them. */ + limb &= (GMP_LIMB_MAX << (starting_bit % GMP_LIMB_BITS)); + } + + return mpn_common_scan (limb, i, up, un, ux); +} + +mp_bitcnt_t +mpz_scan0 (const mpz_t u, mp_bitcnt_t starting_bit) +{ + mp_ptr up; + mp_size_t us, un, i; + mp_limb_t limb, ux; + + us = u->_mp_size; + ux = - (mp_limb_t) (us >= 0); + un = GMP_ABS (us); + i = starting_bit / GMP_LIMB_BITS; + + /* When past end, there's an immediate 0 bit for u>=0, or no 0 bits for + u<0. Notice this test picks up all cases of u==0 too. */ + if (i >= un) + return (ux ? starting_bit : ~(mp_bitcnt_t) 0); + + up = u->_mp_d; + limb = up[i] ^ ux; + + if (ux == 0) + limb -= mpn_zero_p (up, i); /* limb = ~(~limb + zero_p) */ + + /* Mask all bits before starting_bit, thus ignoring them. */ + limb &= (GMP_LIMB_MAX << (starting_bit % GMP_LIMB_BITS)); + + return mpn_common_scan (limb, i, up, un, ux); +} + + +/* MPZ base conversion. */ + +size_t +mpz_sizeinbase (const mpz_t u, int base) +{ + mp_size_t un; + mp_srcptr up; + mp_ptr tp; + mp_bitcnt_t bits; + struct gmp_div_inverse bi; + size_t ndigits; + + assert (base >= 2); + assert (base <= 36); + + un = GMP_ABS (u->_mp_size); + if (un == 0) + return 1; + + up = u->_mp_d; + + bits = (un - 1) * GMP_LIMB_BITS + mpn_limb_size_in_base_2 (up[un-1]); + switch (base) + { + case 2: + return bits; + case 4: + return (bits + 1) / 2; + case 8: + return (bits + 2) / 3; + case 16: + return (bits + 3) / 4; + case 32: + return (bits + 4) / 5; + } + + tp = gmp_xalloc_limbs (un); + mpn_copyi (tp, up, un); + mpn_div_qr_1_invert (&bi, base); + + ndigits = 0; + do + { + ndigits++; + mpn_div_qr_1_preinv (tp, tp, un, &bi); + un -= (tp[un-1] == 0); + } + while (un > 0); + + gmp_free (tp); + return ndigits; +} + +char * +mpz_get_str (char *sp, int base, const mpz_t u) +{ + unsigned bits; + const char *digits; + mp_size_t un; + size_t i, sn; + + if (base >= 0) + { + digits = "0123456789abcdefghijklmnopqrstuvwxyz"; + } + else + { + base = -base; + digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + } + if (base <= 1) + base = 10; + if (base > 36) + return NULL; + + sn = 1 + mpz_sizeinbase (u, base); + if (!sp) + sp = gmp_xalloc (1 + sn); + + un = GMP_ABS (u->_mp_size); + + if (un == 0) + { + sp[0] = '0'; + sp[1] = '\0'; + return sp; + } + + i = 0; + + if (u->_mp_size < 0) + sp[i++] = '-'; + + bits = mpn_base_power_of_two_p (base); + + if (bits) + /* Not modified in this case. */ + sn = i + mpn_get_str_bits ((unsigned char *) sp + i, bits, u->_mp_d, un); + else + { + struct mpn_base_info info; + mp_ptr tp; + + mpn_get_base_info (&info, base); + tp = gmp_xalloc_limbs (un); + mpn_copyi (tp, u->_mp_d, un); + + sn = i + mpn_get_str_other ((unsigned char *) sp + i, base, &info, tp, un); + gmp_free (tp); + } + + for (; i < sn; i++) + sp[i] = digits[(unsigned char) sp[i]]; + + sp[sn] = '\0'; + return sp; +} + +int +mpz_set_str (mpz_t r, const char *sp, int base) +{ + unsigned bits; + mp_size_t rn, alloc; + mp_ptr rp; + size_t sn; + int sign; + unsigned char *dp; + + assert (base == 0 || (base >= 2 && base <= 36)); + + while (isspace( (unsigned char) *sp)) + sp++; + + sign = (*sp == '-'); + sp += sign; + + if (base == 0) + { + if (*sp == '0') + { + sp++; + if (*sp == 'x' || *sp == 'X') + { + base = 16; + sp++; + } + else if (*sp == 'b' || *sp == 'B') + { + base = 2; + sp++; + } + else + base = 8; + } + else + base = 10; + } + + sn = strlen (sp); + dp = gmp_xalloc (sn + (sn == 0)); + + for (sn = 0; *sp; sp++) + { + unsigned digit; + + if (isspace ((unsigned char) *sp)) + continue; + if (*sp >= '0' && *sp <= '9') + digit = *sp - '0'; + else if (*sp >= 'a' && *sp <= 'z') + digit = *sp - 'a' + 10; + else if (*sp >= 'A' && *sp <= 'Z') + digit = *sp - 'A' + 10; + else + digit = base; /* fail */ + + if (digit >= base) + { + gmp_free (dp); + r->_mp_size = 0; + return -1; + } + + dp[sn++] = digit; + } + + bits = mpn_base_power_of_two_p (base); + + if (bits > 0) + { + alloc = (sn * bits + GMP_LIMB_BITS - 1) / GMP_LIMB_BITS; + rp = MPZ_REALLOC (r, alloc); + rn = mpn_set_str_bits (rp, dp, sn, bits); + } + else + { + struct mpn_base_info info; + mpn_get_base_info (&info, base); + alloc = (sn + info.exp - 1) / info.exp; + rp = MPZ_REALLOC (r, alloc); + rn = mpn_set_str_other (rp, dp, sn, base, &info); + } + assert (rn <= alloc); + gmp_free (dp); + + r->_mp_size = sign ? - rn : rn; + + return 0; +} + +int +mpz_init_set_str (mpz_t r, const char *sp, int base) +{ + mpz_init (r); + return mpz_set_str (r, sp, base); +} + +size_t +mpz_out_str (FILE *stream, int base, const mpz_t x) +{ + char *str; + size_t len; + + str = mpz_get_str (NULL, base, x); + len = strlen (str); + len = fwrite (str, 1, len, stream); + gmp_free (str); + return len; +} + + +static int +gmp_detect_endian (void) +{ + static const int i = 2; + const unsigned char *p = (const unsigned char *) &i; + return 1 - *p; +} + +/* Import and export. Does not support nails. */ +void +mpz_import (mpz_t r, size_t count, int order, size_t size, int endian, + size_t nails, const void *src) +{ + const unsigned char *p; + ptrdiff_t word_step; + mp_ptr rp; + mp_size_t rn; + + /* The current (partial) limb. */ + mp_limb_t limb; + /* The number of bytes already copied to this limb (starting from + the low end). */ + size_t bytes; + /* The index where the limb should be stored, when completed. */ + mp_size_t i; + + if (nails != 0) + gmp_die ("mpz_import: Nails not supported."); + + assert (order == 1 || order == -1); + assert (endian >= -1 && endian <= 1); + + if (endian == 0) + endian = gmp_detect_endian (); + + p = (unsigned char *) src; + + word_step = (order != endian) ? 2 * size : 0; + + /* Process bytes from the least significant end, so point p at the + least significant word. */ + if (order == 1) + { + p += size * (count - 1); + word_step = - word_step; + } + + /* And at least significant byte of that word. */ + if (endian == 1) + p += (size - 1); + + rn = (size * count + sizeof(mp_limb_t) - 1) / sizeof(mp_limb_t); + rp = MPZ_REALLOC (r, rn); + + for (limb = 0, bytes = 0, i = 0; count > 0; count--, p += word_step) + { + size_t j; + for (j = 0; j < size; j++, p -= (ptrdiff_t) endian) + { + limb |= (mp_limb_t) *p << (bytes++ * CHAR_BIT); + if (bytes == sizeof(mp_limb_t)) + { + rp[i++] = limb; + bytes = 0; + limb = 0; + } + } + } + assert (i + (bytes > 0) == rn); + if (limb != 0) + rp[i++] = limb; + else + i = mpn_normalized_size (rp, i); + + r->_mp_size = i; +} + +void * +mpz_export (void *r, size_t *countp, int order, size_t size, int endian, + size_t nails, const mpz_t u) +{ + size_t count; + mp_size_t un; + + if (nails != 0) + gmp_die ("mpz_import: Nails not supported."); + + assert (order == 1 || order == -1); + assert (endian >= -1 && endian <= 1); + assert (size > 0 || u->_mp_size == 0); + + un = u->_mp_size; + count = 0; + if (un != 0) + { + size_t k; + unsigned char *p; + ptrdiff_t word_step; + /* The current (partial) limb. */ + mp_limb_t limb; + /* The number of bytes left to to in this limb. */ + size_t bytes; + /* The index where the limb was read. */ + mp_size_t i; + + un = GMP_ABS (un); + + /* Count bytes in top limb. */ + limb = u->_mp_d[un-1]; + assert (limb != 0); + + k = 0; + do { + k++; limb >>= CHAR_BIT; + } while (limb != 0); + + count = (k + (un-1) * sizeof (mp_limb_t) + size - 1) / size; + + if (!r) + r = gmp_xalloc (count * size); + + if (endian == 0) + endian = gmp_detect_endian (); + + p = (unsigned char *) r; + + word_step = (order != endian) ? 2 * size : 0; + + /* Process bytes from the least significant end, so point p at the + least significant word. */ + if (order == 1) + { + p += size * (count - 1); + word_step = - word_step; + } + + /* And at least significant byte of that word. */ + if (endian == 1) + p += (size - 1); + + for (bytes = 0, i = 0, k = 0; k < count; k++, p += word_step) + { + size_t j; + for (j = 0; j < size; j++, p -= (ptrdiff_t) endian) + { + if (bytes == 0) + { + if (i < un) + limb = u->_mp_d[i++]; + bytes = sizeof (mp_limb_t); + } + *p = limb; + limb >>= CHAR_BIT; + bytes--; + } + } + assert (i == un); + assert (k == count); + } + + if (countp) + *countp = count; + + return r; +} diff --git a/goil/build/libpm/gmp/mini-gmp.h b/goil/build/libpm/gmp/mini-gmp.h new file mode 100644 index 000000000..e9e9def1e --- /dev/null +++ b/goil/build/libpm/gmp/mini-gmp.h @@ -0,0 +1,295 @@ +/* mini-gmp, a minimalistic implementation of a GNU GMP subset. + +Copyright 2011-2014 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +/* About mini-gmp: This is a minimal implementation of a subset of the + GMP interface. It is intended for inclusion into applications which + have modest bignums needs, as a fallback when the real GMP library + is not installed. + + This file defines the public interface. */ + +#pragma once +//#ifndef __MINI_GMP_H__ +//#define __MINI_GMP_H__ + +/* For size_t */ +#include + +#if defined (__cplusplus) +extern "C" { +#endif + +void mp_set_memory_functions (void *(*) (size_t), + void *(*) (void *, size_t, size_t), + void (*) (void *, size_t)); + +void mp_get_memory_functions (void *(**) (size_t), + void *(**) (void *, size_t, size_t), + void (**) (void *, size_t)); + +typedef unsigned long mp_limb_t; +typedef long mp_size_t; +typedef unsigned long mp_bitcnt_t; + +typedef mp_limb_t *mp_ptr; +typedef const mp_limb_t *mp_srcptr; + +typedef struct +{ + int _mp_alloc; /* Number of *limbs* allocated and pointed + to by the _mp_d field. */ + int _mp_size; /* abs(_mp_size) is the number of limbs the + last field points to. If _mp_size is + negative this is a negative number. */ + mp_limb_t *_mp_d; /* Pointer to the limbs. */ +} __mpz_struct; + +typedef __mpz_struct mpz_t[1]; + +typedef __mpz_struct *mpz_ptr; +typedef const __mpz_struct *mpz_srcptr; + +extern const int mp_bits_per_limb; + +void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t); +void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t); +void mpn_zero (mp_ptr, mp_size_t); + +int mpn_cmp (mp_srcptr, mp_srcptr, mp_size_t); + +mp_limb_t mpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); +mp_limb_t mpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +mp_limb_t mpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); + +mp_limb_t mpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); +mp_limb_t mpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +mp_limb_t mpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); + +mp_limb_t mpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); +mp_limb_t mpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); +mp_limb_t mpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +mp_limb_t mpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); +void mpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +void mpn_sqr (mp_ptr, mp_srcptr, mp_size_t); +int mpn_perfect_square_p (mp_srcptr, mp_size_t); +mp_size_t mpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); + +mp_limb_t mpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); +mp_limb_t mpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); + +mp_bitcnt_t mpn_scan0 (mp_srcptr, mp_bitcnt_t); +mp_bitcnt_t mpn_scan1 (mp_srcptr, mp_bitcnt_t); + +mp_bitcnt_t mpn_popcount (mp_srcptr, mp_size_t); + +mp_limb_t mpn_invert_3by2 (mp_limb_t, mp_limb_t); +#define mpn_invert_limb(x) mpn_invert_3by2 ((x), 0) + +size_t mpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); +mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int); + +void mpz_init (mpz_t); +void mpz_init2 (mpz_t, mp_bitcnt_t); +void mpz_clear (mpz_t); + +#define mpz_odd_p(z) (((z)->_mp_size != 0) & (int) (z)->_mp_d[0]) +#define mpz_even_p(z) (! mpz_odd_p (z)) + +int mpz_sgn (const mpz_t); +int mpz_cmp_si (const mpz_t, long); +int mpz_cmp_ui (const mpz_t, unsigned long); +int mpz_cmp (const mpz_t, const mpz_t); +int mpz_cmpabs_ui (const mpz_t, unsigned long); +int mpz_cmpabs (const mpz_t, const mpz_t); +int mpz_cmp_d (const mpz_t, double); +int mpz_cmpabs_d (const mpz_t, double); + +void mpz_abs (mpz_t, const mpz_t); +void mpz_neg (mpz_t, const mpz_t); +void mpz_swap (mpz_t, mpz_t); + +void mpz_add_ui (mpz_t, const mpz_t, unsigned long); +void mpz_add (mpz_t, const mpz_t, const mpz_t); +void mpz_sub_ui (mpz_t, const mpz_t, unsigned long); +void mpz_ui_sub (mpz_t, unsigned long, const mpz_t); +void mpz_sub (mpz_t, const mpz_t, const mpz_t); + +void mpz_mul_si (mpz_t, const mpz_t, long int); +void mpz_mul_ui (mpz_t, const mpz_t, unsigned long int); +void mpz_mul (mpz_t, const mpz_t, const mpz_t); +void mpz_mul_2exp (mpz_t, const mpz_t, mp_bitcnt_t); +void mpz_addmul_ui (mpz_t, const mpz_t, unsigned long int); +void mpz_addmul (mpz_t, const mpz_t, const mpz_t); +void mpz_submul_ui (mpz_t, const mpz_t, unsigned long int); +void mpz_submul (mpz_t, const mpz_t, const mpz_t); + +void mpz_cdiv_qr (mpz_t, mpz_t, const mpz_t, const mpz_t); +void mpz_fdiv_qr (mpz_t, mpz_t, const mpz_t, const mpz_t); +void mpz_tdiv_qr (mpz_t, mpz_t, const mpz_t, const mpz_t); +void mpz_cdiv_q (mpz_t, const mpz_t, const mpz_t); +void mpz_fdiv_q (mpz_t, const mpz_t, const mpz_t); +void mpz_tdiv_q (mpz_t, const mpz_t, const mpz_t); +void mpz_cdiv_r (mpz_t, const mpz_t, const mpz_t); +void mpz_fdiv_r (mpz_t, const mpz_t, const mpz_t); +void mpz_tdiv_r (mpz_t, const mpz_t, const mpz_t); + +void mpz_cdiv_q_2exp (mpz_t, const mpz_t, mp_bitcnt_t); +void mpz_fdiv_q_2exp (mpz_t, const mpz_t, mp_bitcnt_t); +void mpz_tdiv_q_2exp (mpz_t, const mpz_t, mp_bitcnt_t); +void mpz_cdiv_r_2exp (mpz_t, const mpz_t, mp_bitcnt_t); +void mpz_fdiv_r_2exp (mpz_t, const mpz_t, mp_bitcnt_t); +void mpz_tdiv_r_2exp (mpz_t, const mpz_t, mp_bitcnt_t); + +void mpz_mod (mpz_t, const mpz_t, const mpz_t); + +void mpz_divexact (mpz_t, const mpz_t, const mpz_t); + +int mpz_divisible_p (const mpz_t, const mpz_t); +int mpz_congruent_p (const mpz_t, const mpz_t, const mpz_t); + +unsigned long mpz_cdiv_qr_ui (mpz_t, mpz_t, const mpz_t, unsigned long); +unsigned long mpz_fdiv_qr_ui (mpz_t, mpz_t, const mpz_t, unsigned long); +unsigned long mpz_tdiv_qr_ui (mpz_t, mpz_t, const mpz_t, unsigned long); +unsigned long mpz_cdiv_q_ui (mpz_t, const mpz_t, unsigned long); +unsigned long mpz_fdiv_q_ui (mpz_t, const mpz_t, unsigned long); +unsigned long mpz_tdiv_q_ui (mpz_t, const mpz_t, unsigned long); +unsigned long mpz_cdiv_r_ui (mpz_t, const mpz_t, unsigned long); +unsigned long mpz_fdiv_r_ui (mpz_t, const mpz_t, unsigned long); +unsigned long mpz_tdiv_r_ui (mpz_t, const mpz_t, unsigned long); +unsigned long mpz_cdiv_ui (const mpz_t, unsigned long); +unsigned long mpz_fdiv_ui (const mpz_t, unsigned long); +unsigned long mpz_tdiv_ui (const mpz_t, unsigned long); + +unsigned long mpz_mod_ui (mpz_t, const mpz_t, unsigned long); + +void mpz_divexact_ui (mpz_t, const mpz_t, unsigned long); + +int mpz_divisible_ui_p (const mpz_t, unsigned long); + +unsigned long mpz_gcd_ui (mpz_t, const mpz_t, unsigned long); +void mpz_gcd (mpz_t, const mpz_t, const mpz_t); +void mpz_gcdext (mpz_t, mpz_t, mpz_t, const mpz_t, const mpz_t); +void mpz_lcm_ui (mpz_t, const mpz_t, unsigned long); +void mpz_lcm (mpz_t, const mpz_t, const mpz_t); +int mpz_invert (mpz_t, const mpz_t, const mpz_t); + +void mpz_sqrtrem (mpz_t, mpz_t, const mpz_t); +void mpz_sqrt (mpz_t, const mpz_t); +int mpz_perfect_square_p (const mpz_t); + +void mpz_pow_ui (mpz_t, const mpz_t, unsigned long); +void mpz_ui_pow_ui (mpz_t, unsigned long, unsigned long); +void mpz_powm (mpz_t, const mpz_t, const mpz_t, const mpz_t); +void mpz_powm_ui (mpz_t, const mpz_t, unsigned long, const mpz_t); + +void mpz_rootrem (mpz_t, mpz_t, const mpz_t, unsigned long); +int mpz_root (mpz_t, const mpz_t, unsigned long); + +void mpz_fac_ui (mpz_t, unsigned long); +void mpz_bin_uiui (mpz_t, unsigned long, unsigned long); + +int mpz_probab_prime_p (const mpz_t, int); + +int mpz_tstbit (const mpz_t, mp_bitcnt_t); +void mpz_setbit (mpz_t, mp_bitcnt_t); +void mpz_clrbit (mpz_t, mp_bitcnt_t); +void mpz_combit (mpz_t, mp_bitcnt_t); + +void mpz_com (mpz_t, const mpz_t); +void mpz_and (mpz_t, const mpz_t, const mpz_t); +void mpz_ior (mpz_t, const mpz_t, const mpz_t); +void mpz_xor (mpz_t, const mpz_t, const mpz_t); + +mp_bitcnt_t mpz_popcount (const mpz_t); +mp_bitcnt_t mpz_hamdist (const mpz_t, const mpz_t); +mp_bitcnt_t mpz_scan0 (const mpz_t, mp_bitcnt_t); +mp_bitcnt_t mpz_scan1 (const mpz_t, mp_bitcnt_t); + +int mpz_fits_slong_p (const mpz_t); +int mpz_fits_ulong_p (const mpz_t); +long int mpz_get_si (const mpz_t); +unsigned long int mpz_get_ui (const mpz_t); +double mpz_get_d (const mpz_t); +size_t mpz_size (const mpz_t); +mp_limb_t mpz_getlimbn (const mpz_t, mp_size_t); + +void mpz_realloc2 (mpz_t, mp_bitcnt_t); +mp_srcptr mpz_limbs_read (mpz_srcptr); +mp_ptr mpz_limbs_modify (mpz_t, mp_size_t); +mp_ptr mpz_limbs_write (mpz_t, mp_size_t); +void mpz_limbs_finish (mpz_t, mp_size_t); +mpz_srcptr mpz_roinit_n (mpz_t, mp_srcptr, mp_size_t); + +#define MPZ_ROINIT_N(xp, xs) {{0, (xs),(xp) }} + +void mpz_set_si (mpz_t, signed long int); +void mpz_set_ui (mpz_t, unsigned long int); +void mpz_set (mpz_t, const mpz_t); +void mpz_set_d (mpz_t, double); + +void mpz_init_set_si (mpz_t, signed long int); +void mpz_init_set_ui (mpz_t, unsigned long int); +void mpz_init_set (mpz_t, const mpz_t); +void mpz_init_set_d (mpz_t, double); + +size_t mpz_sizeinbase (const mpz_t, int); +char *mpz_get_str (char *, int, const mpz_t); +int mpz_set_str (mpz_t, const char *, int); +int mpz_init_set_str (mpz_t, const char *, int); + +/* This long list taken from gmp.h. */ +/* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4, + defines EOF but not FILE. */ +#if defined (FILE) \ + || defined (H_STDIO) \ + || defined (_H_STDIO) /* AIX */ \ + || defined (_STDIO_H) /* glibc, Sun, SCO */ \ + || defined (_STDIO_H_) /* BSD, OSF */ \ + || defined (__STDIO_H) /* Borland */ \ + || defined (__STDIO_H__) /* IRIX */ \ + || defined (_STDIO_INCLUDED) /* HPUX */ \ + || defined (__dj_include_stdio_h_) /* DJGPP */ \ + || defined (_FILE_DEFINED) /* Microsoft */ \ + || defined (__STDIO__) /* Apple MPW MrC */ \ + || defined (_MSL_STDIO_H) /* Metrowerks */ \ + || defined (_STDIO_H_INCLUDED) /* QNX4 */ \ + || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ \ + || defined (__STDIO_LOADED) /* VMS */ +size_t mpz_out_str (FILE *, int, const mpz_t); +#endif + +void mpz_import (mpz_t, size_t, int, size_t, int, size_t, const void *); +void *mpz_export (void *, size_t *, int, size_t, int, size_t, const mpz_t); + +#if defined (__cplusplus) +} +#endif +//#endif /* __MINI_GMP_H__ */ diff --git a/goil/build/libpm/gmp/mpn-add.c b/goil/build/libpm/gmp/mpn-add.c new file mode 100644 index 000000000..559f26133 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-add.c @@ -0,0 +1,34 @@ +/* mpn_add - add mpn to mpn. + +Copyright 2001 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#define __GMP_FORCE_mpn_add 1 + +#include "gmp.h" +#include "gmp-impl.h" diff --git a/goil/build/libpm/gmp/mpn-add_1.c b/goil/build/libpm/gmp/mpn-add_1.c new file mode 100644 index 000000000..ca2d86685 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-add_1.c @@ -0,0 +1,34 @@ +/* mpn_add_1 - add limb to mpn. + +Copyright 2001 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#define __GMP_FORCE_mpn_add_1 1 + +#include "gmp.h" +#include "gmp-impl.h" diff --git a/goil/build/libpm/gmp/mpn-add_n.c b/goil/build/libpm/gmp/mpn-add_n.c new file mode 100644 index 000000000..1a0767090 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-add_n.c @@ -0,0 +1,90 @@ +/* mpn_add_n -- Add equal length limb vectors. + +Copyright 1992-1994, 1996, 2000, 2002, 2009 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + + +#if GMP_NAIL_BITS == 0 + +mp_limb_t +mpn_add_n (mp_ptr rp, mp_srcptr up, mp_srcptr vp, mp_size_t n) +{ + mp_limb_t ul, vl, sl, rl, cy, cy1, cy2; + + ASSERT (n >= 1); + ASSERT (MPN_SAME_OR_INCR_P (rp, up, n)); + ASSERT (MPN_SAME_OR_INCR_P (rp, vp, n)); + + cy = 0; + do + { + ul = *up++; + vl = *vp++; + sl = ul + vl; + cy1 = sl < ul; + rl = sl + cy; + cy2 = rl < sl; + cy = cy1 | cy2; + *rp++ = rl; + } + while (--n != 0); + + return cy; +} + +#endif + +#if GMP_NAIL_BITS >= 1 + +mp_limb_t +mpn_add_n (mp_ptr rp, mp_srcptr up, mp_srcptr vp, mp_size_t n) +{ + mp_limb_t ul, vl, rl, cy; + + ASSERT (n >= 1); + ASSERT (MPN_SAME_OR_INCR_P (rp, up, n)); + ASSERT (MPN_SAME_OR_INCR_P (rp, vp, n)); + + cy = 0; + do + { + ul = *up++; + vl = *vp++; + rl = ul + vl + cy; + cy = rl >> GMP_NUMB_BITS; + *rp++ = rl & GMP_NUMB_MASK; + } + while (--n != 0); + + return cy; +} + +#endif diff --git a/goil/build/libpm/gmp/mpn-addmul_1.c b/goil/build/libpm/gmp/mpn-addmul_1.c new file mode 100644 index 000000000..d76b4ad13 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-addmul_1.c @@ -0,0 +1,139 @@ +/* mpn_addmul_1 -- multiply the N long limb vector pointed to by UP by VL, + add the N least significant limbs of the product to the limb vector + pointed to by RP. Return the most significant limb of the product, + adjusted for carry-out from the addition. + +Copyright 1992-1994, 1996, 2000, 2002, 2004 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" +#include "longlong.h" + + +#if GMP_NAIL_BITS == 0 + +mp_limb_t +mpn_addmul_1 (mp_ptr rp, mp_srcptr up, mp_size_t n, mp_limb_t vl) +{ + mp_limb_t ul, cl, hpl, lpl, rl; + + ASSERT (n >= 1); + ASSERT (MPN_SAME_OR_SEPARATE_P (rp, up, n)); + + cl = 0; + do + { + ul = *up++; + umul_ppmm (hpl, lpl, ul, vl); + + lpl += cl; + cl = (lpl < cl) + hpl; + + rl = *rp; + lpl = rl + lpl; + cl += lpl < rl; + *rp++ = lpl; + } + while (--n != 0); + + return cl; +} + +#endif + +#if GMP_NAIL_BITS == 1 + +mp_limb_t +mpn_addmul_1 (mp_ptr rp, mp_srcptr up, mp_size_t n, mp_limb_t vl) +{ + mp_limb_t shifted_vl, ul, rl, lpl, hpl, prev_hpl, cl, xl, c1, c2, c3; + + ASSERT (n >= 1); + ASSERT (MPN_SAME_OR_SEPARATE_P (rp, up, n)); + ASSERT_MPN (rp, n); + ASSERT_MPN (up, n); + ASSERT_LIMB (vl); + + shifted_vl = vl << GMP_NAIL_BITS; + cl = 0; + prev_hpl = 0; + do + { + ul = *up++; + rl = *rp; + umul_ppmm (hpl, lpl, ul, shifted_vl); + lpl >>= GMP_NAIL_BITS; + ADDC_LIMB (c1, xl, prev_hpl, lpl); + ADDC_LIMB (c2, xl, xl, rl); + ADDC_LIMB (c3, xl, xl, cl); + cl = c1 + c2 + c3; + *rp++ = xl; + prev_hpl = hpl; + } + while (--n != 0); + + return prev_hpl + cl; +} + +#endif + +#if GMP_NAIL_BITS >= 2 + +mp_limb_t +mpn_addmul_1 (mp_ptr rp, mp_srcptr up, mp_size_t n, mp_limb_t vl) +{ + mp_limb_t shifted_vl, ul, rl, lpl, hpl, prev_hpl, xw, cl, xl; + + ASSERT (n >= 1); + ASSERT (MPN_SAME_OR_SEPARATE_P (rp, up, n)); + ASSERT_MPN (rp, n); + ASSERT_MPN (up, n); + ASSERT_LIMB (vl); + + shifted_vl = vl << GMP_NAIL_BITS; + cl = 0; + prev_hpl = 0; + do + { + ul = *up++; + rl = *rp; + umul_ppmm (hpl, lpl, ul, shifted_vl); + lpl >>= GMP_NAIL_BITS; + xw = prev_hpl + lpl + rl + cl; + cl = xw >> GMP_NUMB_BITS; + xl = xw & GMP_NUMB_MASK; + *rp++ = xl; + prev_hpl = hpl; + } + while (--n != 0); + + return prev_hpl + cl; +} + +#endif diff --git a/goil/build/libpm/gmp/mpn-bdiv_dbm1c.c b/goil/build/libpm/gmp/mpn-bdiv_dbm1c.c new file mode 100644 index 000000000..22c3cfd2c --- /dev/null +++ b/goil/build/libpm/gmp/mpn-bdiv_dbm1c.c @@ -0,0 +1,59 @@ +/* mpn_bdiv_dbm1c -- divide an mpn number by a divisor of B-1, where B is the + limb base. The dbm1c moniker means "Divisor of B Minus 1 with Carry". + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT'LL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2008, 2009 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" +#include "longlong.h" + + +mp_limb_t +mpn_bdiv_dbm1c (mp_ptr qp, mp_srcptr ap, mp_size_t n, mp_limb_t bd, mp_limb_t h) +{ + mp_limb_t a, p0, p1, cy; + mp_size_t i; + + for (i = 0; i < n; i++) + { + a = ap[i]; + umul_ppmm (p1, p0, a, bd << GMP_NAIL_BITS); + p0 >>= GMP_NAIL_BITS; + cy = h < p0; + h = (h - p0) & GMP_NUMB_MASK; + qp[i] = h; + h = h - p1 - cy; + } + + return h; +} diff --git a/goil/build/libpm/gmp/mpn-cmp.c b/goil/build/libpm/gmp/mpn-cmp.c new file mode 100644 index 000000000..18c7b4284 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-cmp.c @@ -0,0 +1,34 @@ +/* mpn_cmp -- Compare two low-level natural-number integers. + +Copyright 1991, 1993, 1994, 1996, 2000, 2001 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#define __GMP_FORCE_mpn_cmp 1 + +#include "gmp.h" +#include "gmp-impl.h" diff --git a/goil/build/libpm/gmp/mpn-dcpi1_div_qr.c b/goil/build/libpm/gmp/mpn-dcpi1_div_qr.c new file mode 100644 index 000000000..5f5b86fc0 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-dcpi1_div_qr.c @@ -0,0 +1,249 @@ +/* mpn_dcpi1_div_qr_n -- recursive divide-and-conquer division for arbitrary + size operands. + + Contributed to the GNU project by Torbjorn Granlund. + + THE FUNCTIONS IN THIS FILE ARE INTERNAL WITH MUTABLE INTERFACES. IT IS ONLY + SAFE TO REACH THEM THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT THEY WILL CHANGE OR DISAPPEAR IN A FUTURE GMP RELEASE. + +Copyright 2006, 2007, 2009 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" +#include "longlong.h" + + +mp_limb_t +mpn_dcpi1_div_qr_n (mp_ptr qp, mp_ptr np, mp_srcptr dp, mp_size_t n, + gmp_pi1_t *dinv, mp_ptr tp) +{ + mp_size_t lo, hi; + mp_limb_t cy, qh, ql; + + lo = n >> 1; /* floor(n/2) */ + hi = n - lo; /* ceil(n/2) */ + + if (BELOW_THRESHOLD (hi, DC_DIV_QR_THRESHOLD)) + qh = mpn_sbpi1_div_qr (qp + lo, np + 2 * lo, 2 * hi, dp + lo, hi, dinv->inv32); + else + qh = mpn_dcpi1_div_qr_n (qp + lo, np + 2 * lo, dp + lo, hi, dinv, tp); + + mpn_mul (tp, qp + lo, hi, dp, lo); + + cy = mpn_sub_n (np + lo, np + lo, tp, n); + if (qh != 0) + cy += mpn_sub_n (np + n, np + n, dp, lo); + + while (cy != 0) + { + qh -= mpn_sub_1 (qp + lo, qp + lo, hi, 1); + cy -= mpn_add_n (np + lo, np + lo, dp, n); + } + + if (BELOW_THRESHOLD (lo, DC_DIV_QR_THRESHOLD)) + ql = mpn_sbpi1_div_qr (qp, np + hi, 2 * lo, dp + hi, lo, dinv->inv32); + else + ql = mpn_dcpi1_div_qr_n (qp, np + hi, dp + hi, lo, dinv, tp); + + mpn_mul (tp, dp, hi, qp, lo); + + cy = mpn_sub_n (np, np, tp, n); + if (ql != 0) + cy += mpn_sub_n (np + lo, np + lo, dp, hi); + + while (cy != 0) + { + mpn_sub_1 (qp, qp, lo, 1); + cy -= mpn_add_n (np, np, dp, n); + } + + return qh; +} + +mp_limb_t +mpn_dcpi1_div_qr (mp_ptr qp, + mp_ptr np, mp_size_t nn, + mp_srcptr dp, mp_size_t dn, + gmp_pi1_t *dinv) +{ + mp_size_t qn; + mp_limb_t qh, ccy; + mp_ptr tp; + TMP_DECL; + + TMP_MARK; + + ASSERT (dn >= 6); /* to adhere to mpn_sbpi1_div_qr's limits */ + ASSERT (nn - dn >= 3); /* to adhere to mpn_sbpi1_div_qr's limits */ + ASSERT (dp[dn-1] & GMP_NUMB_HIGHBIT); + + tp = TMP_SALLOC_LIMBS (dn); + + qn = nn - dn; + qp += qn; + np += nn; + dp += dn; + + if (qn > dn) + { + /* Reduce qn mod dn without division, optimizing small operations. */ + do + qn -= dn; + while (qn > dn); + + qp -= qn; /* point at low limb of next quotient block */ + np -= qn; /* point in the middle of partial remainder */ + + /* Perform the typically smaller block first. */ + if (qn == 1) + { + mp_limb_t q, n2, n1, n0, d1, d0; + + /* Handle qh up front, for simplicity. */ + qh = mpn_cmp (np - dn + 1, dp - dn, dn) >= 0; + if (qh) + ASSERT_NOCARRY (mpn_sub_n (np - dn + 1, np - dn + 1, dp - dn, dn)); + + /* A single iteration of schoolbook: One 3/2 division, + followed by the bignum update and adjustment. */ + n2 = np[0]; + n1 = np[-1]; + n0 = np[-2]; + d1 = dp[-1]; + d0 = dp[-2]; + + ASSERT (n2 < d1 || (n2 == d1 && n1 <= d0)); + + if (UNLIKELY (n2 == d1) && n1 == d0) + { + q = GMP_NUMB_MASK; + ccy = mpn_submul_1 (np - dn, dp - dn, dn, q); + ASSERT (ccy == n2); + } + else + { + udiv_qr_3by2 (q, n1, n0, n2, n1, n0, d1, d0, dinv->inv32); + + if (dn > 2) + { + mp_limb_t cy, cy1; + cy = mpn_submul_1 (np - dn, dp - dn, dn - 2, q); + + cy1 = n0 < cy; + n0 = (n0 - cy) & GMP_NUMB_MASK; + cy = n1 < cy1; + n1 = (n1 - cy1) & GMP_NUMB_MASK; + np[-2] = n0; + + if (UNLIKELY (cy != 0)) + { + n1 += d1 + mpn_add_n (np - dn, np - dn, dp - dn, dn - 1); + qh -= (q == 0); + q = (q - 1) & GMP_NUMB_MASK; + } + } + else + np[-2] = n0; + + np[-1] = n1; + } + qp[0] = q; + } + else + { + /* Do a 2qn / qn division */ + if (qn == 2) + qh = mpn_divrem_2 (qp, 0L, np - 2, 4, dp - 2); + else if (BELOW_THRESHOLD (qn, DC_DIV_QR_THRESHOLD)) + qh = mpn_sbpi1_div_qr (qp, np - qn, 2 * qn, dp - qn, qn, dinv->inv32); + else + qh = mpn_dcpi1_div_qr_n (qp, np - qn, dp - qn, qn, dinv, tp); + + if (qn != dn) + { + if (qn > dn - qn) + mpn_mul (tp, qp, qn, dp - dn, dn - qn); + else + mpn_mul (tp, dp - dn, dn - qn, qp, qn); + + ccy = mpn_sub_n (np - dn, np - dn, tp, dn); + if (qh != 0) + ccy += mpn_sub_n (np - dn + qn, np - dn + qn, dp - dn, dn - qn); + + while (ccy != 0) + { + qh -= mpn_sub_1 (qp, qp, qn, 1); + ccy -= mpn_add_n (np - dn, np - dn, dp - dn, dn); + } + } + } + + qn = nn - dn - qn; + do + { + qp -= dn; + np -= dn; + mpn_dcpi1_div_qr_n (qp, np - dn, dp - dn, dn, dinv, tp); + qn -= dn; + } + while (qn > 0); + } + else + { + qp -= qn; /* point at low limb of next quotient block */ + np -= qn; /* point in the middle of partial remainder */ + + if (BELOW_THRESHOLD (qn, DC_DIV_QR_THRESHOLD)) + qh = mpn_sbpi1_div_qr (qp, np - qn, 2 * qn, dp - qn, qn, dinv->inv32); + else + qh = mpn_dcpi1_div_qr_n (qp, np - qn, dp - qn, qn, dinv, tp); + + if (qn != dn) + { + if (qn > dn - qn) + mpn_mul (tp, qp, qn, dp - dn, dn - qn); + else + mpn_mul (tp, dp - dn, dn - qn, qp, qn); + + ccy = mpn_sub_n (np - dn, np - dn, tp, dn); + if (qh != 0) + ccy += mpn_sub_n (np - dn + qn, np - dn + qn, dp - dn, dn - qn); + + while (ccy != 0) + { + qh -= mpn_sub_1 (qp, qp, qn, 1); + ccy -= mpn_add_n (np - dn, np - dn, dp - dn, dn); + } + } + } + + TMP_FREE; + return qh; +} diff --git a/goil/build/libpm/gmp/mpn-dive_1.c b/goil/build/libpm/gmp/mpn-dive_1.c new file mode 100644 index 000000000..e753d6606 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-dive_1.c @@ -0,0 +1,147 @@ +/* mpn_divexact_1 -- mpn by limb exact division. + + THE FUNCTIONS IN THIS FILE ARE FOR INTERNAL USE ONLY. THEY'RE ALMOST + CERTAIN TO BE SUBJECT TO INCOMPATIBLE CHANGES OR DISAPPEAR COMPLETELY IN + FUTURE GNU MP RELEASES. + +Copyright 2000-2003, 2005, 2013 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" +#include "longlong.h" + +/* Divide a={src,size} by d=divisor and store the quotient in q={dst,size}. + q will only be correct if d divides a exactly. + + A separate loop is used for shift==0 because n<s)" and let the caller do a final umul if interested. + + When the divisor is even, the factors of two could be handled with a + separate mpn_rshift, instead of shifting on the fly. That might be + faster on some CPUs and would mean just the shift==0 style loop would be + needed. + + If n<= 1); + ASSERT (divisor != 0); + ASSERT (MPN_SAME_OR_SEPARATE_P (dst, src, size)); + ASSERT_MPN (src, size); + ASSERT_LIMB (divisor); + + if ((divisor & 1) == 0) + { + count_trailing_zeros (shift, divisor); + divisor >>= shift; + } + else + shift = 0; + + binvert_limb (inverse, divisor); + divisor <<= GMP_NAIL_BITS; + + if (shift != 0) + { + c = 0; + + s = src[0]; + + for (i = 1; i < size; i++) + { + s_next = src[i]; + ls = ((s >> shift) | (s_next << (GMP_NUMB_BITS-shift))) & GMP_NUMB_MASK; + s = s_next; + + SUBC_LIMB (c, l, ls, c); + + l = (l * inverse) & GMP_NUMB_MASK; + dst[i - 1] = l; + + umul_ppmm (h, dummy, l, divisor); + c += h; + } + while (i < size); + + ls = s >> shift; + l = ls - c; + l = (l * inverse) & GMP_NUMB_MASK; + dst[size - 1] = l; + } + else + { + s = src[0]; + + l = (s * inverse) & GMP_NUMB_MASK; + dst[0] = l; + c = 0; + + for (i = 1; i < size; i++) + { + umul_ppmm (h, dummy, l, divisor); + c += h; + + s = src[i]; + SUBC_LIMB (c, l, s, c); + + l = (l * inverse) & GMP_NUMB_MASK; + dst[i] = l; + } + } +} diff --git a/goil/build/libpm/gmp/mpn-divrem_1.c b/goil/build/libpm/gmp/mpn-divrem_1.c new file mode 100644 index 000000000..3c29f27d1 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-divrem_1.c @@ -0,0 +1,255 @@ +/* mpn_divrem_1 -- mpn by limb division. + +Copyright 1991, 1993, 1994, 1996, 1998-2000, 2002, 2003 Free Software +Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" +#include "longlong.h" + + +/* The size where udiv_qrnnd_preinv should be used rather than udiv_qrnnd, + meaning the quotient size where that should happen, the quotient size + being how many udiv divisions will be done. + + The default is to use preinv always, CPUs where this doesn't suit have + tuned thresholds. Note in particular that preinv should certainly be + used if that's the only division available (USE_PREINV_ALWAYS). */ + +#ifndef DIVREM_1_NORM_THRESHOLD +#define DIVREM_1_NORM_THRESHOLD 0 +#endif +#ifndef DIVREM_1_UNNORM_THRESHOLD +#define DIVREM_1_UNNORM_THRESHOLD 0 +#endif + + + +/* If the cpu only has multiply-by-inverse division (eg. alpha), then NORM + and UNNORM thresholds are 0 and only the inversion code is included. + + If multiply-by-inverse is never viable, then NORM and UNNORM thresholds + will be MP_SIZE_T_MAX and only the plain division code is included. + + Otherwise mul-by-inverse is better than plain division above some + threshold, and best results are obtained by having code for both present. + + The main reason for separating the norm and unnorm cases is that not all + CPUs give zero for "n0 >> GMP_LIMB_BITS" which would arise in the unnorm + code used on an already normalized divisor. + + If UDIV_NEEDS_NORMALIZATION is false then plain division uses the same + non-shifting code for both the norm and unnorm cases, though with + different criteria for skipping a division, and with different thresholds + of course. And in fact if inversion is never viable, then that simple + non-shifting division would be all that's left. + + The NORM and UNNORM thresholds might not differ much, but if there's + going to be separate code for norm and unnorm then it makes sense to have + separate thresholds. One thing that's possible is that the + mul-by-inverse might be better only for normalized divisors, due to that + case not needing variable bit shifts. + + Notice that the thresholds are tested after the decision to possibly skip + one divide step, so they're based on the actual number of divisions done. + + For the unnorm case, it would be possible to call mpn_lshift to adjust + the dividend all in one go (into the quotient space say), rather than + limb-by-limb in the loop. This might help if mpn_lshift is a lot faster + than what the compiler can generate for EXTRACT. But this is left to CPU + specific implementations to consider, especially since EXTRACT isn't on + the dependent chain. */ + +mp_limb_t +mpn_divrem_1 (mp_ptr qp, mp_size_t qxn, + mp_srcptr up, mp_size_t un, mp_limb_t d) +{ + mp_size_t n; + mp_size_t i; + mp_limb_t n1, n0; + mp_limb_t r = 0; + + ASSERT (qxn >= 0); + ASSERT (un >= 0); + ASSERT (d != 0); + + ASSERT (MPN_SAME_OR_SEPARATE_P (qp+qxn, up, un)); + + n = un + qxn; + if (n == 0) + return 0; + + d <<= GMP_NAIL_BITS; + + qp += (n - 1); /* Make qp point at most significant quotient limb */ + + if ((d & GMP_LIMB_HIGHBIT) != 0) + { + if (un != 0) + { + /* High quotient limb is 0 or 1, skip a divide step. */ + mp_limb_t q; + r = up[un - 1] << GMP_NAIL_BITS; + q = (r >= d); + *qp-- = q; + r -= (d & -q); + r >>= GMP_NAIL_BITS; + n--; + un--; + } + + if (BELOW_THRESHOLD (n, DIVREM_1_NORM_THRESHOLD)) + { + plain: + for (i = un - 1; i >= 0; i--) + { + n0 = up[i] << GMP_NAIL_BITS; + udiv_qrnnd (*qp, r, r, n0, d); + r >>= GMP_NAIL_BITS; + qp--; + } + for (i = qxn - 1; i >= 0; i--) + { + udiv_qrnnd (*qp, r, r, CNST_LIMB(0), d); + r >>= GMP_NAIL_BITS; + qp--; + } + return r; + } + else + { + /* Multiply-by-inverse, divisor already normalized. */ + mp_limb_t dinv; + invert_limb (dinv, d); + + for (i = un - 1; i >= 0; i--) + { + n0 = up[i] << GMP_NAIL_BITS; + udiv_qrnnd_preinv (*qp, r, r, n0, d, dinv); + r >>= GMP_NAIL_BITS; + qp--; + } + for (i = qxn - 1; i >= 0; i--) + { + udiv_qrnnd_preinv (*qp, r, r, CNST_LIMB(0), d, dinv); + r >>= GMP_NAIL_BITS; + qp--; + } + return r; + } + } + else + { + /* Most significant bit of divisor == 0. */ + int cnt; + + /* Skip a division if high < divisor (high quotient 0). Testing here + before normalizing will still skip as often as possible. */ + if (un != 0) + { + n1 = up[un - 1] << GMP_NAIL_BITS; + if (n1 < d) + { + r = n1 >> GMP_NAIL_BITS; + *qp-- = 0; + n--; + if (n == 0) + return r; + un--; + } + } + + if (! UDIV_NEEDS_NORMALIZATION + && BELOW_THRESHOLD (n, DIVREM_1_UNNORM_THRESHOLD)) + goto plain; + + count_leading_zeros (cnt, d); + d <<= cnt; + r <<= cnt; + + if (UDIV_NEEDS_NORMALIZATION + && BELOW_THRESHOLD (n, DIVREM_1_UNNORM_THRESHOLD)) + { + mp_limb_t nshift; + if (un != 0) + { + n1 = up[un - 1] << GMP_NAIL_BITS; + r |= (n1 >> (GMP_LIMB_BITS - cnt)); + for (i = un - 2; i >= 0; i--) + { + n0 = up[i] << GMP_NAIL_BITS; + nshift = (n1 << cnt) | (n0 >> (GMP_NUMB_BITS - cnt)); + udiv_qrnnd (*qp, r, r, nshift, d); + r >>= GMP_NAIL_BITS; + qp--; + n1 = n0; + } + udiv_qrnnd (*qp, r, r, n1 << cnt, d); + r >>= GMP_NAIL_BITS; + qp--; + } + for (i = qxn - 1; i >= 0; i--) + { + udiv_qrnnd (*qp, r, r, CNST_LIMB(0), d); + r >>= GMP_NAIL_BITS; + qp--; + } + return r >> cnt; + } + else + { + mp_limb_t dinv, nshift; + invert_limb (dinv, d); + if (un != 0) + { + n1 = up[un - 1] << GMP_NAIL_BITS; + r |= (n1 >> (GMP_LIMB_BITS - cnt)); + for (i = un - 2; i >= 0; i--) + { + n0 = up[i] << GMP_NAIL_BITS; + nshift = (n1 << cnt) | (n0 >> (GMP_NUMB_BITS - cnt)); + udiv_qrnnd_preinv (*qp, r, r, nshift, d, dinv); + r >>= GMP_NAIL_BITS; + qp--; + n1 = n0; + } + udiv_qrnnd_preinv (*qp, r, r, n1 << cnt, d, dinv); + r >>= GMP_NAIL_BITS; + qp--; + } + for (i = qxn - 1; i >= 0; i--) + { + udiv_qrnnd_preinv (*qp, r, r, CNST_LIMB(0), d, dinv); + r >>= GMP_NAIL_BITS; + qp--; + } + return r >> cnt; + } + } +} diff --git a/goil/build/libpm/gmp/mpn-divrem_2.c b/goil/build/libpm/gmp/mpn-divrem_2.c new file mode 100644 index 000000000..30d24bb10 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-divrem_2.c @@ -0,0 +1,119 @@ +/* mpn_divrem_2 -- Divide natural numbers, producing both remainder and + quotient. The divisor is two limbs. + + THIS FILE CONTAINS INTERNAL FUNCTIONS WITH MUTABLE INTERFACES. IT IS ONLY + SAFE TO REACH THEM THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT THEY'LL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + + +Copyright 1993-1996, 1999-2002 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" +#include "longlong.h" + + +/* Divide num {np,nn} by den {dp,2} and write the nn-2 least significant + quotient limbs at qp and the 2 long remainder at np. If qxn is non-zero, + generate that many fraction bits and append them after the other quotient + limbs. Return the most significant limb of the quotient, this is always 0 + or 1. + + Preconditions: + 1. The most significant bit of the divisor must be set. + 2. qp must either not overlap with the input operands at all, or + qp >= np + 2 must hold true. (This means that it's possible to put + the quotient in the high part of {np,nn}, right above the remainder. + 3. nn >= 2, even if qxn is non-zero. */ + +mp_limb_t +mpn_divrem_2 (mp_ptr qp, mp_size_t qxn, + mp_ptr np, mp_size_t nn, + mp_srcptr dp) +{ + mp_limb_t most_significant_q_limb; + mp_size_t i; + mp_limb_t r1, r0, d1, d0; + gmp_pi1_t di; + + ASSERT (nn >= 2); + ASSERT (qxn >= 0); + ASSERT (dp[1] & GMP_NUMB_HIGHBIT); + ASSERT (! MPN_OVERLAP_P (qp, nn-2+qxn, np, nn) || qp >= np+2); + ASSERT_MPN (np, nn); + ASSERT_MPN (dp, 2); + + np += nn - 2; + d1 = dp[1]; + d0 = dp[0]; + r1 = np[1]; + r0 = np[0]; + + most_significant_q_limb = 0; + if (r1 >= d1 && (r1 > d1 || r0 >= d0)) + { +#if GMP_NAIL_BITS == 0 + sub_ddmmss (r1, r0, r1, r0, d1, d0); +#else + r0 = r0 - d0; + r1 = r1 - d1 - (r0 >> GMP_LIMB_BITS - 1); + r0 &= GMP_NUMB_MASK; +#endif + most_significant_q_limb = 1; + } + + invert_pi1 (di, d1, d0); + + qp += qxn; + + for (i = nn - 2 - 1; i >= 0; i--) + { + mp_limb_t n0, q; + n0 = np[-1]; + udiv_qr_3by2 (q, r1, r0, r1, r0, n0, d1, d0, di.inv32); + np--; + qp[i] = q; + } + + if (UNLIKELY (qxn != 0)) + { + qp -= qxn; + for (i = qxn - 1; i >= 0; i--) + { + mp_limb_t q; + udiv_qr_3by2 (q, r1, r0, r1, r0, CNST_LIMB(0), d1, d0, di.inv32); + qp[i] = q; + } + } + + np[1] = r1; + np[0] = r0; + + return most_significant_q_limb; +} diff --git a/goil/build/libpm/gmp/mpn-get_str.c b/goil/build/libpm/gmp/mpn-get_str.c new file mode 100644 index 000000000..438e9feab --- /dev/null +++ b/goil/build/libpm/gmp/mpn-get_str.c @@ -0,0 +1,554 @@ +/* mpn_get_str -- Convert {UP,USIZE} to a base BASE string in STR. + + Contributed to the GNU project by Torbjorn Granlund. + + THE FUNCTIONS IN THIS FILE, EXCEPT mpn_get_str, ARE INTERNAL WITH A MUTABLE + INTERFACE. IT IS ONLY SAFE TO REACH THEM THROUGH DOCUMENTED INTERFACES. IN + FACT, IT IS ALMOST GUARANTEED THAT THEY WILL CHANGE OR DISAPPEAR IN A FUTURE + GNU MP RELEASE. + +Copyright 1991-1994, 1996, 2000-2002, 2004, 2006-2008, 2011, 2012 Free Software +Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" +#include "longlong.h" + + +/* Conversion of U {up,un} to a string in base b. Internally, we convert to + base B = b^m, the largest power of b that fits a limb. Basic algorithms: + + A) Divide U repeatedly by B, generating a quotient and remainder, until the + quotient becomes zero. The remainders hold the converted digits. Digits + come out from right to left. (Used in mpn_sb_get_str.) + + B) Divide U by b^g, for g such that 1/b <= U/b^g < 1, generating a fraction. + Then develop digits by multiplying the fraction repeatedly by b. Digits + come out from left to right. (Currently not used herein, except for in + code for converting single limbs to individual digits.) + + C) Compute B^1, B^2, B^4, ..., B^s, for s such that B^s is just above + sqrt(U). Then divide U by B^s, generating quotient and remainder. + Recursively convert the quotient, then the remainder, using the + precomputed powers. Digits come out from left to right. (Used in + mpn_dc_get_str.) + + When using algorithm C, algorithm B might be suitable for basecase code, + since the required b^g power will be readily accessible. + + Optimization ideas: + 1. The recursive function of (C) could use less temporary memory. The powtab + allocation could be trimmed with some computation, and the tmp area could + be reduced, or perhaps eliminated if up is reused for both quotient and + remainder (it is currently used just for remainder). + 2. Store the powers of (C) in normalized form, with the normalization count. + Quotients will usually need to be left-shifted before each divide, and + remainders will either need to be left-shifted of right-shifted. + 3. In the code for developing digits from a single limb, we could avoid using + a full umul_ppmm except for the first (or first few) digits, provided base + is even. Subsequent digits can be developed using plain multiplication. + (This saves on register-starved machines (read x86) and on all machines + that generate the upper product half using a separate instruction (alpha, + powerpc, IA-64) or lacks such support altogether (sparc64, hppa64). + 4. Separate mpn_dc_get_str basecase code from code for small conversions. The + former code will have the exact right power readily available in the + powtab parameter for dividing the current number into a fraction. Convert + that using algorithm B. + 5. Completely avoid division. Compute the inverses of the powers now in + powtab instead of the actual powers. + 6. Decrease powtab allocation for even bases. E.g. for base 10 we could save + about 30% (1-log(5)/log(10)). + + Basic structure of (C): + mpn_get_str: + if POW2_P (n) + ... + else + if (un < GET_STR_PRECOMPUTE_THRESHOLD) + mpn_sb_get_str (str, base, up, un); + else + precompute_power_tables + mpn_dc_get_str + + mpn_dc_get_str: + mpn_tdiv_qr + if (qn < GET_STR_DC_THRESHOLD) + mpn_sb_get_str + else + mpn_dc_get_str + if (rn < GET_STR_DC_THRESHOLD) + mpn_sb_get_str + else + mpn_dc_get_str + + + The reason for the two threshold values is the cost of + precompute_power_tables. GET_STR_PRECOMPUTE_THRESHOLD will be considerably + larger than GET_STR_PRECOMPUTE_THRESHOLD. */ + + +/* The x86s and m68020 have a quotient and remainder "div" instruction and + gcc recognises an adjacent "/" and "%" can be combined using that. + Elsewhere "/" and "%" are either separate instructions, or separate + libgcc calls (which unfortunately gcc as of version 3.0 doesn't combine). + A multiply and subtract should be faster than a "%" in those cases. */ +#if defined (HAVE_HOST_CPU_FAMILY_x86) \ + || defined (HAVE_HOST_CPU_m68020) \ + || defined (HAVE_HOST_CPU_m68030) \ + || defined (HAVE_HOST_CPU_m68040) \ + || defined (HAVE_HOST_CPU_m68060) \ + || defined (HAVE_HOST_CPU_m68360) /* CPU32 */ +#define udiv_qrnd_unnorm(q,r,n,d) \ + do { \ + mp_limb_t __q = (n) / (d); \ + mp_limb_t __r = (n) % (d); \ + (q) = __q; \ + (r) = __r; \ + } while (0) +#else +#define udiv_qrnd_unnorm(q,r,n,d) \ + do { \ + mp_limb_t __q = (n) / (d); \ + mp_limb_t __r = (n) - __q*(d); \ + (q) = __q; \ + (r) = __r; \ + } while (0) +#endif + + +/* Convert {up,un} to a string in base base, and put the result in str. + Generate len characters, possibly padding with zeros to the left. If len is + zero, generate as many characters as required. Return a pointer immediately + after the last digit of the result string. Complexity is O(un^2); intended + for small conversions. */ +static unsigned char * +mpn_sb_get_str (unsigned char *str, size_t len, + mp_ptr up, mp_size_t un, int base) +{ + mp_limb_t rl, ul; + unsigned char *s; + size_t l; + /* Allocate memory for largest possible string, given that we only get here + for operands with un < GET_STR_PRECOMPUTE_THRESHOLD and that the smallest + base is 3. 7/11 is an approximation to 1/log2(3). */ +#ifdef TUNE_PROGRAM_BUILD +#define BUF_ALLOC (GET_STR_THRESHOLD_LIMIT * GMP_LIMB_BITS * 7 / 11) +#else +#define BUF_ALLOC (GET_STR_PRECOMPUTE_THRESHOLD * GMP_LIMB_BITS * 7 / 11) +#endif + unsigned char buf[BUF_ALLOC]; +#ifdef TUNE_PROGRAM_BUILD + mp_limb_t rp[GET_STR_THRESHOLD_LIMIT]; +#else + mp_limb_t rp[GET_STR_PRECOMPUTE_THRESHOLD]; +#endif + + if (base == 10) + { + /* Special case code for base==10 so that the compiler has a chance to + optimize things. */ + + MPN_COPY (rp + 1, up, un); + + s = buf + BUF_ALLOC; + while (un > 1) + { + int i; + mp_limb_t frac, digit; + MPN_DIVREM_OR_PREINV_DIVREM_1 (rp, (mp_size_t) 1, rp + 1, un, + MP_BASES_BIG_BASE_10, + MP_BASES_BIG_BASE_INVERTED_10, + MP_BASES_NORMALIZATION_STEPS_10); + un -= rp[un] == 0; + frac = (rp[0] + 1) << GMP_NAIL_BITS; + s -= MP_BASES_CHARS_PER_LIMB_10; +#ifdef HAVE_HOST_CPU_FAMILY_x86 + /* The code below turns out to be a bit slower for x86 using gcc. + Use plain code. */ + i = MP_BASES_CHARS_PER_LIMB_10; + do + { + umul_ppmm (digit, frac, frac, 10); + *s++ = digit; + } + while (--i); +#else + /* Use the fact that 10 in binary is 1010, with the lowest bit 0. + After a few umul_ppmm, we will have accumulated enough low zeros + to use a plain multiply. */ + if (MP_BASES_NORMALIZATION_STEPS_10 == 0) + { + umul_ppmm (digit, frac, frac, 10); + *s++ = digit; + } + if (MP_BASES_NORMALIZATION_STEPS_10 <= 1) + { + umul_ppmm (digit, frac, frac, 10); + *s++ = digit; + } + if (MP_BASES_NORMALIZATION_STEPS_10 <= 2) + { + umul_ppmm (digit, frac, frac, 10); + *s++ = digit; + } + if (MP_BASES_NORMALIZATION_STEPS_10 <= 3) + { + umul_ppmm (digit, frac, frac, 10); + *s++ = digit; + } + i = (MP_BASES_CHARS_PER_LIMB_10 - ((MP_BASES_NORMALIZATION_STEPS_10 < 4) + ? (4-MP_BASES_NORMALIZATION_STEPS_10) + : 0)); + frac = (frac + 0xf) >> 4; + do + { + frac *= 10; + digit = frac >> (GMP_LIMB_BITS - 4); + *s++ = digit; + frac &= (~(mp_limb_t) 0) >> 4; + } + while (--i); +#endif + s -= MP_BASES_CHARS_PER_LIMB_10; + } + + ul = rp[1]; + while (ul != 0) + { + udiv_qrnd_unnorm (ul, rl, ul, 10); + *--s = rl; + } + } + else /* not base 10 */ + { + unsigned chars_per_limb; + mp_limb_t big_base, big_base_inverted; + unsigned normalization_steps; + + chars_per_limb = mp_bases[base].chars_per_limb; + big_base = mp_bases[base].big_base; + big_base_inverted = mp_bases[base].big_base_inverted; + count_leading_zeros (normalization_steps, big_base); + + MPN_COPY (rp + 1, up, un); + + s = buf + BUF_ALLOC; + while (un > 1) + { + int i; + mp_limb_t frac; + MPN_DIVREM_OR_PREINV_DIVREM_1 (rp, (mp_size_t) 1, rp + 1, un, + big_base, big_base_inverted, + normalization_steps); + un -= rp[un] == 0; + frac = (rp[0] + 1) << GMP_NAIL_BITS; + s -= chars_per_limb; + i = chars_per_limb; + do + { + mp_limb_t digit; + umul_ppmm (digit, frac, frac, base); + *s++ = digit; + } + while (--i); + s -= chars_per_limb; + } + + ul = rp[1]; + while (ul != 0) + { + udiv_qrnd_unnorm (ul, rl, ul, base); + *--s = rl; + } + } + + l = buf + BUF_ALLOC - s; + while (l < len) + { + *str++ = 0; + len--; + } + while (l != 0) + { + *str++ = *s++; + l--; + } + return str; +} + + +/* Convert {UP,UN} to a string with a base as represented in POWTAB, and put + the string in STR. Generate LEN characters, possibly padding with zeros to + the left. If LEN is zero, generate as many characters as required. + Return a pointer immediately after the last digit of the result string. + This uses divide-and-conquer and is intended for large conversions. */ +static unsigned char * +mpn_dc_get_str (unsigned char *str, size_t len, + mp_ptr up, mp_size_t un, + const powers_t *powtab, mp_ptr tmp) +{ + if (BELOW_THRESHOLD (un, GET_STR_DC_THRESHOLD)) + { + if (un != 0) + str = mpn_sb_get_str (str, len, up, un, powtab->base); + else + { + while (len != 0) + { + *str++ = 0; + len--; + } + } + } + else + { + mp_ptr pwp, qp, rp; + mp_size_t pwn, qn; + mp_size_t sn; + + pwp = powtab->p; + pwn = powtab->n; + sn = powtab->shift; + + if (un < pwn + sn || (un == pwn + sn && mpn_cmp (up + sn, pwp, un - sn) < 0)) + { + str = mpn_dc_get_str (str, len, up, un, powtab - 1, tmp); + } + else + { + qp = tmp; /* (un - pwn + 1) limbs for qp */ + rp = up; /* pwn limbs for rp; overwrite up area */ + + mpn_tdiv_qr (qp, rp + sn, 0L, up + sn, un - sn, pwp, pwn); + qn = un - sn - pwn; qn += qp[qn] != 0; /* quotient size */ + + ASSERT (qn < pwn + sn || (qn == pwn + sn && mpn_cmp (qp + sn, pwp, pwn) < 0)); + + if (len != 0) + len = len - powtab->digits_in_base; + + str = mpn_dc_get_str (str, len, qp, qn, powtab - 1, tmp + qn); + str = mpn_dc_get_str (str, powtab->digits_in_base, rp, pwn + sn, powtab - 1, tmp); + } + } + return str; +} + + +/* There are no leading zeros on the digits generated at str, but that's not + currently a documented feature. The current mpz_out_str and mpz_get_str + rely on it. */ + +size_t +mpn_get_str (unsigned char *str, int base, mp_ptr up, mp_size_t un) +{ + mp_ptr powtab_mem, powtab_mem_ptr; + mp_limb_t big_base; + size_t digits_in_base; + powers_t powtab[GMP_LIMB_BITS]; + int pi; + mp_size_t n; + mp_ptr p, t; + size_t out_len; + mp_ptr tmp; + TMP_DECL; + + /* Special case zero, as the code below doesn't handle it. */ + if (un == 0) + { + str[0] = 0; + return 1; + } + + if (POW2_P (base)) + { + /* The base is a power of 2. Convert from most significant end. */ + mp_limb_t n1, n0; + int bits_per_digit = mp_bases[base].big_base; + int cnt; + int bit_pos; + mp_size_t i; + unsigned char *s = str; + mp_bitcnt_t bits; + + n1 = up[un - 1]; + count_leading_zeros (cnt, n1); + + /* BIT_POS should be R when input ends in least significant nibble, + R + bits_per_digit * n when input ends in nth least significant + nibble. */ + + bits = (mp_bitcnt_t) GMP_NUMB_BITS * un - cnt + GMP_NAIL_BITS; + cnt = bits % bits_per_digit; + if (cnt != 0) + bits += bits_per_digit - cnt; + bit_pos = bits - (mp_bitcnt_t) (un - 1) * GMP_NUMB_BITS; + + /* Fast loop for bit output. */ + i = un - 1; + for (;;) + { + bit_pos -= bits_per_digit; + while (bit_pos >= 0) + { + *s++ = (n1 >> bit_pos) & ((1 << bits_per_digit) - 1); + bit_pos -= bits_per_digit; + } + i--; + if (i < 0) + break; + n0 = (n1 << -bit_pos) & ((1 << bits_per_digit) - 1); + n1 = up[i]; + bit_pos += GMP_NUMB_BITS; + *s++ = n0 | (n1 >> bit_pos); + } + + return s - str; + } + + /* General case. The base is not a power of 2. */ + + if (BELOW_THRESHOLD (un, GET_STR_PRECOMPUTE_THRESHOLD)) + return mpn_sb_get_str (str, (size_t) 0, up, un, base) - str; + + TMP_MARK; + + /* Allocate one large block for the powers of big_base. */ + powtab_mem = TMP_BALLOC_LIMBS (mpn_dc_get_str_powtab_alloc (un)); + powtab_mem_ptr = powtab_mem; + + /* Compute a table of powers, were the largest power is >= sqrt(U). */ + + big_base = mp_bases[base].big_base; + digits_in_base = mp_bases[base].chars_per_limb; + + { + mp_size_t n_pows, xn, pn, exptab[GMP_LIMB_BITS], bexp; + mp_limb_t cy; + mp_size_t shift; + size_t ndig; + + DIGITS_IN_BASE_PER_LIMB (ndig, un, base); + xn = 1 + ndig / mp_bases[base].chars_per_limb; + + n_pows = 0; + for (pn = xn; pn != 1; pn = (pn + 1) >> 1) + { + exptab[n_pows] = pn; + n_pows++; + } + exptab[n_pows] = 1; + + powtab[0].p = &big_base; + powtab[0].n = 1; + powtab[0].digits_in_base = digits_in_base; + powtab[0].base = base; + powtab[0].shift = 0; + + powtab[1].p = powtab_mem_ptr; powtab_mem_ptr += 2; + powtab[1].p[0] = big_base; + powtab[1].n = 1; + powtab[1].digits_in_base = digits_in_base; + powtab[1].base = base; + powtab[1].shift = 0; + + n = 1; + p = &big_base; + bexp = 1; + shift = 0; + for (pi = 2; pi < n_pows; pi++) + { + t = powtab_mem_ptr; + powtab_mem_ptr += 2 * n + 2; + + ASSERT_ALWAYS (powtab_mem_ptr < powtab_mem + mpn_dc_get_str_powtab_alloc (un)); + + mpn_sqr (t, p, n); + + digits_in_base *= 2; + n *= 2; n -= t[n - 1] == 0; + bexp *= 2; + + if (bexp + 1 < exptab[n_pows - pi]) + { + digits_in_base += mp_bases[base].chars_per_limb; + cy = mpn_mul_1 (t, t, n, big_base); + t[n] = cy; + n += cy != 0; + bexp += 1; + } + shift *= 2; + /* Strip low zero limbs. */ + while (t[0] == 0) + { + t++; + n--; + shift++; + } + p = t; + powtab[pi].p = p; + powtab[pi].n = n; + powtab[pi].digits_in_base = digits_in_base; + powtab[pi].base = base; + powtab[pi].shift = shift; + } + + for (pi = 1; pi < n_pows; pi++) + { + t = powtab[pi].p; + n = powtab[pi].n; + cy = mpn_mul_1 (t, t, n, big_base); + t[n] = cy; + n += cy != 0; + if (t[0] == 0) + { + powtab[pi].p = t + 1; + n--; + powtab[pi].shift++; + } + powtab[pi].n = n; + powtab[pi].digits_in_base += mp_bases[base].chars_per_limb; + } + +#if 0 + { int i; + printf ("Computed table values for base=%d, un=%d, xn=%d:\n", base, un, xn); + for (i = 0; i < n_pows; i++) + printf ("%2d: %10ld %10ld %11ld %ld\n", i, exptab[n_pows-i], powtab[i].n, powtab[i].digits_in_base, powtab[i].shift); + } +#endif + } + + /* Using our precomputed powers, now in powtab[], convert our number. */ + tmp = TMP_BALLOC_LIMBS (mpn_dc_get_str_itch (un)); + out_len = mpn_dc_get_str (str, 0, up, un, powtab + (pi - 1), tmp) - str; + TMP_FREE; + + return out_len; +} diff --git a/goil/build/libpm/gmp/mpn-invertappr.c b/goil/build/libpm/gmp/mpn-invertappr.c new file mode 100644 index 000000000..33fdf0068 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-invertappr.c @@ -0,0 +1,304 @@ +/* mpn_invertappr and helper functions. Compute I such that + floor((B^{2n}-1)/U - 1 <= I + B^n <= floor((B^{2n}-1)/U. + + Contributed to the GNU project by Marco Bodrato. + + The algorithm used here was inspired by ApproximateReciprocal from "Modern + Computer Arithmetic", by Richard P. Brent and Paul Zimmermann. Special + thanks to Paul Zimmermann for his very valuable suggestions on all the + theoretical aspects during the work on this code. + + THE FUNCTIONS IN THIS FILE ARE INTERNAL WITH MUTABLE INTERFACES. IT IS ONLY + SAFE TO REACH THEM THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT THEY WILL CHANGE OR DISAPPEAR IN A FUTURE GMP RELEASE. + +Copyright (C) 2007, 2009, 2010, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include /* for NULL */ + +#include "gmp.h" +#include "gmp-impl.h" +#include "longlong.h" + +#ifdef TUNE_PROGRAM_BUILD +#define NPOWS \ + ((sizeof(mp_size_t) > 6 ? 48 : 8*sizeof(mp_size_t))) +#define MAYBE_dcpi1_divappr 1 +#else +#define NPOWS \ + ((sizeof(mp_size_t) > 6 ? 48 : 8*sizeof(mp_size_t)) - LOG2C (INV_NEWTON_THRESHOLD)) +#define MAYBE_dcpi1_divappr \ + (INV_NEWTON_THRESHOLD < DC_DIVAPPR_Q_THRESHOLD) +#if (INV_NEWTON_THRESHOLD > INV_MULMOD_BNM1_THRESHOLD) && \ + (INV_APPR_THRESHOLD > INV_MULMOD_BNM1_THRESHOLD) +#undef INV_MULMOD_BNM1_THRESHOLD +#define INV_MULMOD_BNM1_THRESHOLD 0 /* always when Newton */ +#endif +#endif + +/* All the three functions mpn{,_bc,_ni}_invertappr (ip, dp, n, scratch), take + the strictly normalised value {dp,n} (i.e., most significant bit must be set) + as an input, and compute {ip,n}: the approximate reciprocal of {dp,n}. + + Let e = mpn*_invertappr (ip, dp, n, scratch) be the returned value; the + following conditions are satisfied by the output: + 0 <= e <= 1; + {dp,n}*(B^n+{ip,n}) < B^{2n} <= {dp,n}*(B^n+{ip,n}+1+e) . + I.e. e=0 means that the result {ip,n} equals the one given by mpn_invert. + e=1 means that the result _may_ be one less than expected. + + The _bc version returns e=1 most of the time. + The _ni version should return e=0 most of the time; only about 1% of + possible random input should give e=1. + + When the strict result is needed, i.e., e=0 in the relation above: + {dp,n}*(B^n+{ip,n}) < B^{2n} <= {dp,n}*(B^n+{ip,n}+1) ; + the function mpn_invert (ip, dp, n, scratch) should be used instead. */ + +/* Maximum scratch needed by this branch (at tp): 3*n + 2 */ +static mp_limb_t +mpn_bc_invertappr (mp_ptr ip, mp_srcptr dp, mp_size_t n, mp_ptr tp) +{ + mp_ptr xp; + + ASSERT (n > 0); + ASSERT (dp[n-1] & GMP_NUMB_HIGHBIT); + ASSERT (! MPN_OVERLAP_P (ip, n, dp, n)); + ASSERT (! MPN_OVERLAP_P (ip, n, tp, mpn_invertappr_itch(n))); + ASSERT (! MPN_OVERLAP_P (dp, n, tp, mpn_invertappr_itch(n))); + + /* Compute a base value of r limbs. */ + if (n == 1) + invert_limb (*ip, *dp); + else { + mp_size_t i; + xp = tp + n + 2; /* 2 * n limbs */ + + for (i = n - 1; i >= 0; i--) + xp[i] = GMP_NUMB_MAX; + mpn_com (xp + n, dp, n); + + /* Now xp contains B^2n - {dp,n}*B^n - 1 */ + + if (n == 2) { + mpn_divrem_2 (ip, 0, xp, 4, dp); + } else { + gmp_pi1_t inv; + invert_pi1 (inv, dp[n-1], dp[n-2]); + if (! MAYBE_dcpi1_divappr + || BELOW_THRESHOLD (n, DC_DIVAPPR_Q_THRESHOLD)) + mpn_sbpi1_divappr_q (ip, xp, 2 * n, dp, n, inv.inv32); + else + mpn_dcpi1_divappr_q (ip, xp, 2 * n, dp, n, &inv); + MPN_DECR_U(ip, n, 1); + return 1; + } + } + return 0; +} + +/* mpn_ni_invertappr: computes the approximate reciprocal using Newton's + iterations (at least one). + + Inspired by Algorithm "ApproximateReciprocal", published in "Modern Computer + Arithmetic" by Richard P. Brent and Paul Zimmermann, algorithm 3.5, page 121 + in version 0.4 of the book. + + Some adaptations were introduced, to allow product mod B^m-1 and return the + value e. + + USE_MUL_N = 1 (default) introduces a correction in such a way that "the + value of B^{n+h}-T computed at step 8 cannot exceed B^n-1" (the book reads + "2B^n-1"). This correction should not require to modify the proof. + + We use a wrapped product modulo B^m-1. NOTE: is there any normalisation + problem for the [0] class? It shouldn't: we compute 2*|A*X_h - B^{n+h}| < + B^m-1. We may get [0] if and only if we get AX_h = B^{n+h}. This can + happen only if A=B^{n}/2, but this implies X_h = B^{h}*2-1 i.e., AX_h = + B^{n+h} - A, then we get into the "negative" branch, where X_h is not + incremented (because A < B^n). + */ + +#define USE_MUL_N 1 + +mp_limb_t +mpn_ni_invertappr (mp_ptr ip, mp_srcptr dp, mp_size_t n, mp_ptr scratch) +{ + mp_limb_t cy; + mp_ptr xp; + mp_size_t rn, mn; + mp_size_t sizes[NPOWS], *sizp; + mp_ptr tp; + TMP_DECL; +#define rp scratch + + ASSERT (n > 2); + ASSERT (dp[n-1] & GMP_NUMB_HIGHBIT); + ASSERT (! MPN_OVERLAP_P (ip, n, dp, n)); + ASSERT (! MPN_OVERLAP_P (ip, n, scratch, mpn_invertappr_itch(n))); + ASSERT (! MPN_OVERLAP_P (dp, n, scratch, mpn_invertappr_itch(n))); + + /* Compute the computation precisions from highest to lowest, leaving the + base case size in 'rn'. */ + sizp = sizes; + rn = n; + do { + *sizp = rn; + rn = ((rn) >> 1) + 1; + sizp ++; + } while (ABOVE_THRESHOLD (rn, INV_NEWTON_THRESHOLD)); + + /* We search the inverse of 0.{dp,n}, we compute it as 1.{ip,n} */ + dp += n; + ip += n; + + /* Compute a base value of rn limbs. */ + mpn_bc_invertappr (ip - rn, dp - rn, rn, scratch); + + TMP_MARK; + + if (ABOVE_THRESHOLD (n, INV_MULMOD_BNM1_THRESHOLD)) + { + mn = mpn_mulmod_bnm1_next_size (n + 1); + tp = TMP_ALLOC_LIMBS (mpn_mulmod_bnm1_itch (mn, n, (n >> 1) + 1)); + } + /* Use Newton's iterations to get the desired precision.*/ + + /* define rp scratch; 2rn + 1 limbs <= 2(n>>1 + 1) + 1 <= n + 3 limbs */ + /* Maximum scratch needed by this branch <= 3*n + 2 */ + xp = scratch + n + 3; /* n + rn limbs */ + while (1) { + mp_limb_t method; + + n = *--sizp; + /* + v n v + +----+--+ + ^ rn ^ + */ + + /* Compute i_jd . */ + if (BELOW_THRESHOLD (n, INV_MULMOD_BNM1_THRESHOLD) + || ((mn = mpn_mulmod_bnm1_next_size (n + 1)) > (n + rn))) { + + mpn_mul (xp, dp - n, n, ip - rn, rn); + mpn_add_n (xp + rn, xp + rn, dp - n, n - rn + 1); + method = 1; /* Remember we used (truncated) product */ + /* We computed cy.{xp,rn+n} <- 1.{ip,rn} * 0.{dp,n} */ + } else { /* Use B^n-1 wraparound */ + mpn_mulmod_bnm1 (xp, mn, dp - n, n, ip - rn, rn, tp); + /* We computed {xp,mn} <- {ip,rn} * {dp,n} mod (B^mn-1) */ + /* We know that 2*|ip*dp + dp*B^rn - B^{rn+n}| < B^mn-1 */ + /* Add dp*B^rn mod (B^mn-1) */ + ASSERT (n >= mn - rn); + xp[mn] = 1 + mpn_add_n (xp + rn, xp + rn, dp - n, mn - rn); + cy = mpn_add_n (xp, xp, dp - (n - (mn - rn)), n - (mn - rn)); + MPN_INCR_U (xp + n - (mn - rn), mn + 1 - n + (mn - rn), cy); + ASSERT (n + rn >= mn); + /* Subtract B^{rn+n} */ + MPN_DECR_U (xp + rn + n - mn, 2*mn + 1 - rn - n, 1); + if (xp[mn]) + MPN_INCR_U (xp, mn, xp[mn] - 1); + else + MPN_DECR_U (xp, mn, 1); + method = 0; /* Remember we are working Mod B^m-1 */ + } + + if (xp[n] < 2) { /* "positive" residue class */ + cy = 1; + while (xp[n] || mpn_cmp (xp, dp - n, n)>0) { + xp[n] -= mpn_sub_n (xp, xp, dp - n, n); + cy ++; + } + MPN_DECR_U(ip - rn, rn, cy); + ASSERT (cy <= 4); /* at most 3 cycles for the while above */ + ASSERT_NOCARRY (mpn_sub_n (xp, dp - n, xp, n)); + ASSERT (xp[n] == 0); + } else { /* "negative" residue class */ + mpn_com (xp, xp, n + 1); + MPN_INCR_U(xp, n + 1, method); + ASSERT (xp[n] <= 1); +#if USE_MUL_N + if (xp[n]) { + MPN_INCR_U(ip - rn, rn, 1); + ASSERT_CARRY (mpn_sub_n (xp, xp, dp - n, n)); + } +#endif + } + +#if USE_MUL_N + mpn_mul_n (rp, xp + n - rn, ip - rn, rn); +#else + rp[2*rn] = 0; + mpn_mul (rp, xp + n - rn, rn + xp[n], ip - rn, rn); +#endif + /* We need _only_ the carry from the next addition */ + /* Anyway 2rn-n <= 2... we don't need to optimise. */ + cy = mpn_add_n (rp + rn, rp + rn, xp + n - rn, 2*rn - n); + cy = mpn_add_nc (ip - n, rp + 3*rn - n, xp + rn, n - rn, cy); + MPN_INCR_U (ip - rn, rn, cy + (1-USE_MUL_N)*(rp[2*rn] + xp[n])); + if (sizp == sizes) { /* Get out of the cycle */ + /* Check for possible carry propagation from below. */ + cy = rp[3*rn - n - 1] > GMP_NUMB_MAX - 7; /* Be conservative. */ +/* cy = mpn_add_1 (rp + rn, rp + rn, 2*rn - n, 4); */ + break; + } + rn = n; + } + TMP_FREE; + + return cy; +#undef rp +} + +mp_limb_t +mpn_invertappr (mp_ptr ip, mp_srcptr dp, mp_size_t n, mp_ptr scratch) +{ + mp_limb_t res; + TMP_DECL; + + TMP_MARK; + + if (scratch == NULL) + scratch = TMP_ALLOC_LIMBS (mpn_invertappr_itch (n)); + + ASSERT (n > 0); + ASSERT (dp[n-1] & GMP_NUMB_HIGHBIT); + ASSERT (! MPN_OVERLAP_P (ip, n, dp, n)); + ASSERT (! MPN_OVERLAP_P (ip, n, scratch, mpn_invertappr_itch(n))); + ASSERT (! MPN_OVERLAP_P (dp, n, scratch, mpn_invertappr_itch(n))); + + if (BELOW_THRESHOLD (n, INV_NEWTON_THRESHOLD)) + res = mpn_bc_invertappr (ip, dp, n, scratch); + else + res = mpn_ni_invertappr (ip, dp, n, scratch); + + TMP_FREE; + return res; +} diff --git a/goil/build/libpm/gmp/mpn-lshift.c b/goil/build/libpm/gmp/mpn-lshift.c new file mode 100644 index 000000000..518263297 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-lshift.c @@ -0,0 +1,73 @@ +/* mpn_lshift -- Shift left low level. + +Copyright 1991, 1993, 1994, 1996, 2000-2002 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + +/* Shift U (pointed to by up and n limbs long) cnt bits to the left + and store the n least significant limbs of the result at rp. + Return the bits shifted out from the most significant limb. + + Argument constraints: + 1. 0 < cnt < GMP_NUMB_BITS. + 2. If the result is to be written over the input, rp must be >= up. +*/ + +mp_limb_t +mpn_lshift (mp_ptr rp, mp_srcptr up, mp_size_t n, unsigned int cnt) +{ + mp_limb_t high_limb, low_limb; + unsigned int tnc; + mp_size_t i; + mp_limb_t retval; + + ASSERT (n >= 1); + ASSERT (cnt >= 1); + ASSERT (cnt < GMP_NUMB_BITS); + ASSERT (MPN_SAME_OR_DECR_P (rp, up, n)); + + up += n; + rp += n; + + tnc = GMP_NUMB_BITS - cnt; + low_limb = *--up; + retval = low_limb >> tnc; + high_limb = (low_limb << cnt) & GMP_NUMB_MASK; + + for (i = n - 1; i != 0; i--) + { + low_limb = *--up; + *--rp = high_limb | (low_limb >> tnc); + high_limb = (low_limb << cnt) & GMP_NUMB_MASK; + } + *--rp = high_limb; + + return retval; +} diff --git a/goil/build/libpm/gmp/mpn-lshiftc.c b/goil/build/libpm/gmp/mpn-lshiftc.c new file mode 100644 index 000000000..e8051b7b9 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-lshiftc.c @@ -0,0 +1,74 @@ +/* mpn_lshiftc -- Shift left low level with complement. + +Copyright 1991, 1993, 1994, 1996, 2000-2002, 2009 Free Software Foundation, +Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + +/* Shift U (pointed to by up and n limbs long) cnt bits to the left + and store the n least significant limbs of the result at rp. + Return the bits shifted out from the most significant limb. + + Argument constraints: + 1. 0 < cnt < GMP_NUMB_BITS. + 2. If the result is to be written over the input, rp must be >= up. +*/ + +mp_limb_t +mpn_lshiftc (mp_ptr rp, mp_srcptr up, mp_size_t n, unsigned int cnt) +{ + mp_limb_t high_limb, low_limb; + unsigned int tnc; + mp_size_t i; + mp_limb_t retval; + + ASSERT (n >= 1); + ASSERT (cnt >= 1); + ASSERT (cnt < GMP_NUMB_BITS); + ASSERT (MPN_SAME_OR_DECR_P (rp, up, n)); + + up += n; + rp += n; + + tnc = GMP_NUMB_BITS - cnt; + low_limb = *--up; + retval = low_limb >> tnc; + high_limb = (low_limb << cnt); + + for (i = n - 1; i != 0; i--) + { + low_limb = *--up; + *--rp = (~(high_limb | (low_limb >> tnc))) & GMP_NUMB_MASK; + high_limb = low_limb << cnt; + } + *--rp = (~high_limb) & GMP_NUMB_MASK; + + return retval; +} diff --git a/goil/build/libpm/gmp/mpn-mu_div_qr.c b/goil/build/libpm/gmp/mpn-mu_div_qr.c new file mode 100644 index 000000000..8e421c135 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-mu_div_qr.c @@ -0,0 +1,410 @@ +/* mpn_mu_div_qr, mpn_preinv_mu_div_qr. + + Compute Q = floor(N / D) and R = N-QD. N is nn limbs and D is dn limbs and + must be normalized, and Q must be nn-dn limbs. The requirement that Q is + nn-dn limbs (and not nn-dn+1 limbs) was put in place in order to allow us to + let N be unmodified during the operation. + + Contributed to the GNU project by Torbjorn Granlund. + + THE FUNCTIONS IN THIS FILE ARE INTERNAL WITH MUTABLE INTERFACES. IT IS ONLY + SAFE TO REACH THEM THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT THEY WILL CHANGE OR DISAPPEAR IN A FUTURE GMP RELEASE. + +Copyright 2005-2007, 2009, 2010 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +/* + The idea of the algorithm used herein is to compute a smaller inverted value + than used in the standard Barrett algorithm, and thus save time in the + Newton iterations, and pay just a small price when using the inverted value + for developing quotient bits. This algorithm was presented at ICMS 2006. +*/ + +/* CAUTION: This code and the code in mu_divappr_q.c should be edited in sync. + + Things to work on: + + * This isn't optimal when the quotient isn't needed, as it might take a lot + of space. The computation is always needed, though, so there is no time to + save with special code. + + * The itch/scratch scheme isn't perhaps such a good idea as it once seemed, + demonstrated by the fact that the mpn_invertappr function's scratch needs + mean that we need to keep a large allocation long after it is needed. + Things are worse as mpn_mul_fft does not accept any scratch parameter, + which means we'll have a large memory hole while in mpn_mul_fft. In + general, a peak scratch need in the beginning of a function isn't + well-handled by the itch/scratch scheme. +*/ + +#ifdef STAT +#undef STAT +#define STAT(x) x +#else +#define STAT(x) +#endif + +#include /* for NULL */ +#include "gmp.h" +#include "gmp-impl.h" + + +#ifndef MU_DIV_QR_SKEW_THRESHOLD +#define MU_DIV_QR_SKEW_THRESHOLD 100 +#endif + +#ifdef CHECK +#undef MU_DIV_QR_SKEW_THRESHOLD +#define MU_DIV_QR_SKEW_THRESHOLD 1 +#endif + + +static mp_limb_t mpn_mu_div_qr2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t, mp_ptr); + + +mp_limb_t +mpn_mu_div_qr (mp_ptr qp, + mp_ptr rp, + mp_srcptr np, + mp_size_t nn, + mp_srcptr dp, + mp_size_t dn, + mp_ptr scratch) +{ + mp_size_t qn; + mp_limb_t cy, qh; + + qn = nn - dn; + if (qn + MU_DIV_QR_SKEW_THRESHOLD < dn) + { + /* |______________|_ign_first__| dividend nn + |_______|_ign_first__| divisor dn + + |______| quotient (prel) qn + + |___________________| quotient * ignored-divisor-part dn-1 + */ + + /* Compute a preliminary quotient and a partial remainder by dividing the + most significant limbs of each operand. */ + qh = mpn_mu_div_qr2 (qp, rp + nn - (2 * qn + 1), + np + nn - (2 * qn + 1), 2 * qn + 1, + dp + dn - (qn + 1), qn + 1, + scratch); + + /* Multiply the quotient by the divisor limbs ignored above. */ + if (dn - (qn + 1) > qn) + mpn_mul (scratch, dp, dn - (qn + 1), qp, qn); /* prod is dn-1 limbs */ + else + mpn_mul (scratch, qp, qn, dp, dn - (qn + 1)); /* prod is dn-1 limbs */ + + if (qh) + cy = mpn_add_n (scratch + qn, scratch + qn, dp, dn - (qn + 1)); + else + cy = 0; + scratch[dn - 1] = cy; + + cy = mpn_sub_n (rp, np, scratch, nn - (2 * qn + 1)); + cy = mpn_sub_nc (rp + nn - (2 * qn + 1), + rp + nn - (2 * qn + 1), + scratch + nn - (2 * qn + 1), + qn + 1, cy); + if (cy) + { + qh -= mpn_sub_1 (qp, qp, qn, 1); + mpn_add_n (rp, rp, dp, dn); + } + } + else + { + qh = mpn_mu_div_qr2 (qp, rp, np, nn, dp, dn, scratch); + } + + return qh; +} + +static mp_limb_t +mpn_mu_div_qr2 (mp_ptr qp, + mp_ptr rp, + mp_srcptr np, + mp_size_t nn, + mp_srcptr dp, + mp_size_t dn, + mp_ptr scratch) +{ + mp_size_t qn, in; + mp_limb_t cy, qh; + mp_ptr ip, tp; + + ASSERT (dn > 1); + + qn = nn - dn; + + /* Compute the inverse size. */ + in = mpn_mu_div_qr_choose_in (qn, dn, 0); + ASSERT (in <= dn); + +#if 1 + + ip = scratch; + tp = scratch + in + 1; + + /* compute an approximate inverse on (in+1) limbs */ + if (dn == in) + { + MPN_COPY (tp + 1, dp, in); + tp[0] = 1; + mpn_invertappr (ip, tp, in + 1, NULL); + MPN_COPY_INCR (ip, ip + 1, in); + } + else + { + cy = mpn_add_1 (tp, dp + dn - (in + 1), in + 1, 1); + if (UNLIKELY (cy != 0)) + MPN_ZERO (ip, in); + else + { + mpn_invertappr (ip, tp, in + 1, NULL); + MPN_COPY_INCR (ip, ip + 1, in); + } + } +#else + /* This older inverse computation method gets slightly worse results than the + one above. */ + ip = scratch; + tp = scratch + in; + + /* Compute inverse of D to in+1 limbs, then round to 'in' limbs. Ideally the + inversion function should do this automatically. */ + if (dn == in) + { + tp[in + 1] = 0; + MPN_COPY (tp + in + 2, dp, in); + mpn_invertappr (tp, tp + in + 1, in + 1, NULL); + } + else + { + mpn_invertappr (tp, dp + dn - (in + 1), in + 1, NULL); + } + cy = mpn_sub_1 (tp, tp, in + 1, GMP_NUMB_HIGHBIT); + if (UNLIKELY (cy != 0)) + MPN_ZERO (tp + 1, in); + MPN_COPY (ip, tp + 1, in); +#endif + + qh = mpn_preinv_mu_div_qr (qp, rp, np, nn, dp, dn, ip, in, scratch + in); + + return qh; +} + +mp_limb_t +mpn_preinv_mu_div_qr (mp_ptr qp, + mp_ptr rp, + mp_srcptr np, + mp_size_t nn, + mp_srcptr dp, + mp_size_t dn, + mp_srcptr ip, + mp_size_t in, + mp_ptr scratch) +{ + mp_size_t qn; + mp_limb_t cy, cx, qh; + mp_limb_t r; + mp_size_t tn, wn; + +#define tp scratch +#define scratch_out (scratch + tn) + + qn = nn - dn; + + np += qn; + qp += qn; + + qh = mpn_cmp (np, dp, dn) >= 0; + if (qh != 0) + mpn_sub_n (rp, np, dp, dn); + else + MPN_COPY_INCR (rp, np, dn); + + if (qn == 0) + return qh; /* Degenerate use. Should we allow this? */ + + while (qn > 0) + { + if (qn < in) + { + ip += in - qn; + in = qn; + } + np -= in; + qp -= in; + + /* Compute the next block of quotient limbs by multiplying the inverse I + by the upper part of the partial remainder R. */ + mpn_mul_n (tp, rp + dn - in, ip, in); /* mulhi */ + cy = mpn_add_n (qp, tp + in, rp + dn - in, in); /* I's msb implicit */ + ASSERT_ALWAYS (cy == 0); + + qn -= in; + + /* Compute the product of the quotient block and the divisor D, to be + subtracted from the partial remainder combined with new limbs from the + dividend N. We only really need the low dn+1 limbs. */ + + if (BELOW_THRESHOLD (in, MUL_TO_MULMOD_BNM1_FOR_2NXN_THRESHOLD)) + mpn_mul (tp, dp, dn, qp, in); /* dn+in limbs, high 'in' cancels */ + else + { + tn = mpn_mulmod_bnm1_next_size (dn + 1); + mpn_mulmod_bnm1 (tp, tn, dp, dn, qp, in, scratch_out); + wn = dn + in - tn; /* number of wrapped limbs */ + if (wn > 0) + { + cy = mpn_sub_n (tp, tp, rp + dn - wn, wn); + cy = mpn_sub_1 (tp + wn, tp + wn, tn - wn, cy); + cx = mpn_cmp (rp + dn - in, tp + dn, tn - dn) < 0; + ASSERT_ALWAYS (cx >= cy); + mpn_incr_u (tp, cx - cy); + } + } + + r = rp[dn - in] - tp[dn]; + + /* Subtract the product from the partial remainder combined with new + limbs from the dividend N, generating a new partial remainder R. */ + if (dn != in) + { + cy = mpn_sub_n (tp, np, tp, in); /* get next 'in' limbs from N */ + cy = mpn_sub_nc (tp + in, rp, tp + in, dn - in, cy); + MPN_COPY (rp, tp, dn); + } + else + { + cy = mpn_sub_n (rp, np, tp, in); /* get next 'in' limbs from N */ + } + + STAT (int i; int err = 0; + static int errarr[5]; static int err_rec; static int tot); + + /* Check the remainder R and adjust the quotient as needed. */ + r -= cy; + while (r != 0) + { + /* We loop 0 times with about 69% probability, 1 time with about 31% + probability, 2 times with about 0.6% probability, if inverse is + computed as recommended. */ + mpn_incr_u (qp, 1); + cy = mpn_sub_n (rp, rp, dp, dn); + r -= cy; + STAT (err++); + } + if (mpn_cmp (rp, dp, dn) >= 0) + { + /* This is executed with about 76% probability. */ + mpn_incr_u (qp, 1); + cy = mpn_sub_n (rp, rp, dp, dn); + STAT (err++); + } + + STAT ( + tot++; + errarr[err]++; + if (err > err_rec) + err_rec = err; + if (tot % 0x10000 == 0) + { + for (i = 0; i <= err_rec; i++) + printf (" %d(%.1f%%)", errarr[i], 100.0*errarr[i]/tot); + printf ("\n"); + } + ); + } + + return qh; +} + +/* In case k=0 (automatic choice), we distinguish 3 cases: + (a) dn < qn: in = ceil(qn / ceil(qn/dn)) + (b) dn/3 < qn <= dn: in = ceil(qn / 2) + (c) qn < dn/3: in = qn + In all cases we have in <= dn. + */ +mp_size_t +mpn_mu_div_qr_choose_in (mp_size_t qn, mp_size_t dn, int k) +{ + mp_size_t in; + + if (k == 0) + { + mp_size_t b; + if (qn > dn) + { + /* Compute an inverse size that is a nice partition of the quotient. */ + b = (qn - 1) / dn + 1; /* ceil(qn/dn), number of blocks */ + in = (qn - 1) / b + 1; /* ceil(qn/b) = ceil(qn / ceil(qn/dn)) */ + } + else if (3 * qn > dn) + { + in = (qn - 1) / 2 + 1; /* b = 2 */ + } + else + { + in = (qn - 1) / 1 + 1; /* b = 1 */ + } + } + else + { + mp_size_t xn; + xn = MIN (dn, qn); + in = (xn - 1) / k + 1; + } + + return in; +} + +mp_size_t +mpn_mu_div_qr_itch (mp_size_t nn, mp_size_t dn, int mua_k) +{ + mp_size_t itch_local = mpn_mulmod_bnm1_next_size (dn + 1); + mp_size_t in = mpn_mu_div_qr_choose_in (nn - dn, dn, mua_k); + mp_size_t itch_out = mpn_mulmod_bnm1_itch (itch_local, dn, in); + + return in + itch_local + itch_out; +} + +mp_size_t +mpn_preinv_mu_div_qr_itch (mp_size_t nn __attribute__ ((unused)), mp_size_t dn, mp_size_t in) // Unused parameter commented out by PM +{ + mp_size_t itch_local = mpn_mulmod_bnm1_next_size (dn + 1); + mp_size_t itch_out = mpn_mulmod_bnm1_itch (itch_local, dn, in); + + return itch_local + itch_out; +} diff --git a/goil/build/libpm/gmp/mpn-mul.c b/goil/build/libpm/gmp/mpn-mul.c new file mode 100644 index 000000000..a832e8582 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-mul.c @@ -0,0 +1,424 @@ +/* mpn_mul -- Multiply two natural numbers. + + Contributed to the GNU project by Torbjorn Granlund. + +Copyright 1991, 1993, 1994, 1996, 1997, 1999-2003, 2005-2007, 2009, 2010, 2012 +Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + + +#ifndef MUL_BASECASE_MAX_UN +#define MUL_BASECASE_MAX_UN 500 +#endif + +/* Areas where the different toom algorithms can be called (extracted + from the t-toom*.c files, and ignoring small constant offsets): + + 1/6 1/5 1/4 4/13 1/3 3/8 2/5 5/11 1/2 3/5 2/3 3/4 4/5 1 vn/un + 4/7 6/7 + 6/11 + |--------------------| toom22 (small) + || toom22 (large) + |xxxx| toom22 called + |-------------------------------------| toom32 + |xxxxxxxxxxxxxxxx| | toom32 called + |------------| toom33 + |x| toom33 called + |---------------------------------| | toom42 + |xxxxxxxxxxxxxxxxxxxxxxxx| | toom42 called + |--------------------| toom43 + |xxxxxxxxxx| toom43 called + |-----------------------------| toom52 (unused) + |--------| toom44 + |xxxxxxxx| toom44 called + |--------------------| | toom53 + |xxxxxx| toom53 called + |-------------------------| toom62 (unused) + |----------------| toom54 (unused) + |--------------------| toom63 + |xxxxxxxxx| | toom63 called + |---------------------------------| toom6h + |xxxxxxxx| toom6h called + |-------------------------| toom8h (32 bit) + |------------------------------------------| toom8h (64 bit) + |xxxxxxxx| toom8h called +*/ + +#define TOOM33_OK(an,bn) (6 + 2 * an < 3 * bn) +#define TOOM44_OK(an,bn) (12 + 3 * an < 4 * bn) + +/* Multiply the natural numbers u (pointed to by UP, with UN limbs) and v + (pointed to by VP, with VN limbs), and store the result at PRODP. The + result is UN + VN limbs. Return the most significant limb of the result. + + NOTE: The space pointed to by PRODP is overwritten before finished with U + and V, so overlap is an error. + + Argument constraints: + 1. UN >= VN. + 2. PRODP != UP and PRODP != VP, i.e. the destination must be distinct from + the multiplier and the multiplicand. */ + +/* + * The cutoff lines in the toomX2 and toomX3 code are now exactly between the + ideal lines of the surrounding algorithms. Is that optimal? + + * The toomX3 code now uses a structure similar to the one of toomX2, except + that it loops longer in the unbalanced case. The result is that the + remaining area might have un < vn. Should we fix the toomX2 code in a + similar way? + + * The toomX3 code is used for the largest non-FFT unbalanced operands. It + therefore calls mpn_mul recursively for certain cases. + + * Allocate static temp space using THRESHOLD variables (except for toom44 + when !WANT_FFT). That way, we can typically have no TMP_ALLOC at all. + + * We sort ToomX2 algorithms together, assuming the toom22, toom32, toom42 + have the same vn threshold. This is not true, we should actually use + mul_basecase for slightly larger operands for toom32 than for toom22, and + even larger for toom42. + + * That problem is even more prevalent for toomX3. We therefore use special + THRESHOLD variables there. + + * Is our ITCH allocation correct? +*/ + +#define ITCH (16*vn + 100) + +mp_limb_t +mpn_mul (mp_ptr prodp, + mp_srcptr up, mp_size_t un, + mp_srcptr vp, mp_size_t vn) +{ + ASSERT (un >= vn); + ASSERT (vn >= 1); + ASSERT (! MPN_OVERLAP_P (prodp, un+vn, up, un)); + ASSERT (! MPN_OVERLAP_P (prodp, un+vn, vp, vn)); + + if (un == vn) + { + if (up == vp) + mpn_sqr (prodp, up, un); + else + mpn_mul_n (prodp, up, vp, un); + } + else if (vn < MUL_TOOM22_THRESHOLD) + { /* plain schoolbook multiplication */ + + /* Unless un is very large, or else if have an applicable mpn_mul_N, + perform basecase multiply directly. */ + if (un <= MUL_BASECASE_MAX_UN +#ifdef HAVE_NATIVE_mpn_mul_2 + || vn <= 2 +#else + || vn == 1 +#endif + ) + mpn_mul_basecase (prodp, up, un, vp, vn); + else + { + /* We have un >> MUL_BASECASE_MAX_UN > vn. For better memory + locality, split up[] into MUL_BASECASE_MAX_UN pieces and multiply + these pieces with the vp[] operand. After each such partial + multiplication (but the last) we copy the most significant vn + limbs into a temporary buffer since that part would otherwise be + overwritten by the next multiplication. After the next + multiplication, we add it back. This illustrates the situation: + + -->vn<-- + | |<------- un ------->| + _____________________| + X /| + /XX__________________/ | + _____________________ | + X / | + /XX__________________/ | + _____________________ | + / / | + /____________________/ | + ================================================================== + + The parts marked with X are the parts whose sums are copied into + the temporary buffer. */ + + mp_limb_t tp[MUL_TOOM22_THRESHOLD_LIMIT]; + mp_limb_t cy; + ASSERT (MUL_TOOM22_THRESHOLD <= MUL_TOOM22_THRESHOLD_LIMIT); + + mpn_mul_basecase (prodp, up, MUL_BASECASE_MAX_UN, vp, vn); + prodp += MUL_BASECASE_MAX_UN; + MPN_COPY (tp, prodp, vn); /* preserve high triangle */ + up += MUL_BASECASE_MAX_UN; + un -= MUL_BASECASE_MAX_UN; + while (un > MUL_BASECASE_MAX_UN) + { + mpn_mul_basecase (prodp, up, MUL_BASECASE_MAX_UN, vp, vn); + cy = mpn_add_n (prodp, prodp, tp, vn); /* add back preserved triangle */ + mpn_incr_u (prodp + vn, cy); + prodp += MUL_BASECASE_MAX_UN; + MPN_COPY (tp, prodp, vn); /* preserve high triangle */ + up += MUL_BASECASE_MAX_UN; + un -= MUL_BASECASE_MAX_UN; + } + if (un > vn) + { + mpn_mul_basecase (prodp, up, un, vp, vn); + } + else + { + ASSERT (un > 0); + mpn_mul_basecase (prodp, vp, vn, up, un); + } + cy = mpn_add_n (prodp, prodp, tp, vn); /* add back preserved triangle */ + mpn_incr_u (prodp + vn, cy); + } + } + else if (BELOW_THRESHOLD (vn, MUL_TOOM33_THRESHOLD)) + { + /* Use ToomX2 variants */ + mp_ptr scratch; + TMP_SDECL; TMP_SMARK; + + scratch = TMP_SALLOC_LIMBS (ITCH); + + if (un >= 3 * vn) + { + mp_limb_t cy; + mp_ptr ws; + + /* The maximum ws usage is for the mpn_mul result. */ + ws = TMP_SALLOC_LIMBS (4 * (size_t) vn); // (size_t) added by PM + + mpn_toom42_mul (prodp, up, 2 * vn, vp, vn, scratch); + un -= 2 * vn; + up += 2 * vn; + prodp += 2 * vn; + + while (un >= 3 * vn) + { + mpn_toom42_mul (ws, up, 2 * vn, vp, vn, scratch); + un -= 2 * vn; + up += 2 * vn; + cy = mpn_add_n (prodp, prodp, ws, vn); + MPN_COPY (prodp + vn, ws + vn, 2 * vn); + mpn_incr_u (prodp + vn, cy); + prodp += 2 * vn; + } + + /* vn <= un < 3vn */ + + if (4 * un < 5 * vn) + mpn_toom22_mul (ws, up, un, vp, vn, scratch); + else if (4 * un < 7 * vn) + mpn_toom32_mul (ws, up, un, vp, vn, scratch); + else + mpn_toom42_mul (ws, up, un, vp, vn, scratch); + + cy = mpn_add_n (prodp, prodp, ws, vn); + MPN_COPY (prodp + vn, ws + vn, un); + mpn_incr_u (prodp + vn, cy); + } + else + { + if (4 * un < 5 * vn) + mpn_toom22_mul (prodp, up, un, vp, vn, scratch); + else if (4 * un < 7 * vn) + mpn_toom32_mul (prodp, up, un, vp, vn, scratch); + else + mpn_toom42_mul (prodp, up, un, vp, vn, scratch); + } + TMP_SFREE; + } + else if (BELOW_THRESHOLD ((un + vn) >> 1, MUL_FFT_THRESHOLD) || + BELOW_THRESHOLD (3 * vn, MUL_FFT_THRESHOLD)) + { + /* Handle the largest operands that are not in the FFT range. The 2nd + condition makes very unbalanced operands avoid the FFT code (except + perhaps as coefficient products of the Toom code. */ + + if (BELOW_THRESHOLD (vn, MUL_TOOM44_THRESHOLD) || !TOOM44_OK (un, vn)) + { + /* Use ToomX3 variants */ + mp_ptr scratch; + TMP_SDECL; TMP_SMARK; + + scratch = TMP_SALLOC_LIMBS (ITCH); + + if (2 * un >= 5 * vn) + { + mp_limb_t cy; + mp_ptr ws; + + /* The maximum ws usage is for the mpn_mul result. */ + ws = TMP_SALLOC_LIMBS (7 * ((size_t) (vn >> 1))); // (size_t) added by PM + + if (BELOW_THRESHOLD (vn, MUL_TOOM42_TO_TOOM63_THRESHOLD)) + mpn_toom42_mul (prodp, up, 2 * vn, vp, vn, scratch); + else + mpn_toom63_mul (prodp, up, 2 * vn, vp, vn, scratch); + un -= 2 * vn; + up += 2 * vn; + prodp += 2 * vn; + + while (2 * un >= 5 * vn) /* un >= 2.5vn */ + { + if (BELOW_THRESHOLD (vn, MUL_TOOM42_TO_TOOM63_THRESHOLD)) + mpn_toom42_mul (ws, up, 2 * vn, vp, vn, scratch); + else + mpn_toom63_mul (ws, up, 2 * vn, vp, vn, scratch); + un -= 2 * vn; + up += 2 * vn; + cy = mpn_add_n (prodp, prodp, ws, vn); + MPN_COPY (prodp + vn, ws + vn, 2 * vn); + mpn_incr_u (prodp + vn, cy); + prodp += 2 * vn; + } + + /* vn / 2 <= un < 2.5vn */ + + if (un < vn) + mpn_mul (ws, vp, vn, up, un); + else + mpn_mul (ws, up, un, vp, vn); + + cy = mpn_add_n (prodp, prodp, ws, vn); + MPN_COPY (prodp + vn, ws + vn, un); + mpn_incr_u (prodp + vn, cy); + } + else + { + if (6 * un < 7 * vn) + mpn_toom33_mul (prodp, up, un, vp, vn, scratch); + else if (2 * un < 3 * vn) + { + if (BELOW_THRESHOLD (vn, MUL_TOOM32_TO_TOOM43_THRESHOLD)) + mpn_toom32_mul (prodp, up, un, vp, vn, scratch); + else + mpn_toom43_mul (prodp, up, un, vp, vn, scratch); + } + else if (6 * un < 11 * vn) + { + if (4 * un < 7 * vn) + { + if (BELOW_THRESHOLD (vn, MUL_TOOM32_TO_TOOM53_THRESHOLD)) + mpn_toom32_mul (prodp, up, un, vp, vn, scratch); + else + mpn_toom53_mul (prodp, up, un, vp, vn, scratch); + } + else + { + if (BELOW_THRESHOLD (vn, MUL_TOOM42_TO_TOOM53_THRESHOLD)) + mpn_toom42_mul (prodp, up, un, vp, vn, scratch); + else + mpn_toom53_mul (prodp, up, un, vp, vn, scratch); + } + } + else + { + if (BELOW_THRESHOLD (vn, MUL_TOOM42_TO_TOOM63_THRESHOLD)) + mpn_toom42_mul (prodp, up, un, vp, vn, scratch); + else + mpn_toom63_mul (prodp, up, un, vp, vn, scratch); + } + } + TMP_SFREE; + } + else + { + mp_ptr scratch; + TMP_DECL; TMP_MARK; + + if (BELOW_THRESHOLD (vn, MUL_TOOM6H_THRESHOLD)) + { + scratch = TMP_ALLOC_LIMBS (mpn_toom44_mul_itch (un, vn)); + mpn_toom44_mul (prodp, up, un, vp, vn, scratch); + } + else if (BELOW_THRESHOLD (vn, MUL_TOOM8H_THRESHOLD)) + { + scratch = TMP_ALLOC_LIMBS (mpn_toom6h_mul_itch (un, vn)); + mpn_toom6h_mul (prodp, up, un, vp, vn, scratch); + } + else + { + scratch = TMP_ALLOC_LIMBS (mpn_toom8h_mul_itch (un, vn)); + mpn_toom8h_mul (prodp, up, un, vp, vn, scratch); + } + TMP_FREE; + } + } + else + { + if (un >= 8 * vn) + { + mp_limb_t cy; + mp_ptr ws; + TMP_DECL; TMP_MARK; + + /* The maximum ws usage is for the mpn_mul result. */ + ws = TMP_BALLOC_LIMBS (9 * ((size_t) (vn >> 1))); // (size_t) added by PM + + mpn_fft_mul (prodp, up, 3 * vn, vp, vn); + un -= 3 * vn; + up += 3 * vn; + prodp += 3 * vn; + + while (2 * un >= 7 * vn) /* un >= 3.5vn */ + { + mpn_fft_mul (ws, up, 3 * vn, vp, vn); + un -= 3 * vn; + up += 3 * vn; + cy = mpn_add_n (prodp, prodp, ws, vn); + MPN_COPY (prodp + vn, ws + vn, 3 * vn); + mpn_incr_u (prodp + vn, cy); + prodp += 3 * vn; + } + + /* vn / 2 <= un < 3.5vn */ + + if (un < vn) + mpn_mul (ws, vp, vn, up, un); + else + mpn_mul (ws, up, un, vp, vn); + + cy = mpn_add_n (prodp, prodp, ws, vn); + MPN_COPY (prodp + vn, ws + vn, un); + mpn_incr_u (prodp + vn, cy); + + TMP_FREE; + } + else + mpn_fft_mul (prodp, up, un, vp, vn); + } + + return prodp[un + vn - 1]; /* historic */ +} diff --git a/goil/build/libpm/gmp/mpn-mul_1.c b/goil/build/libpm/gmp/mpn-mul_1.c new file mode 100644 index 000000000..6b2ee59a2 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-mul_1.c @@ -0,0 +1,97 @@ +/* mpn_mul_1 -- Multiply a limb vector with a single limb and store the + product in a second limb vector. + +Copyright 1991-1994, 1996, 2000-2002 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" +#include "longlong.h" + + +#if GMP_NAIL_BITS == 0 + +mp_limb_t +mpn_mul_1 (mp_ptr rp, mp_srcptr up, mp_size_t n, mp_limb_t vl) +{ + mp_limb_t ul, cl, hpl, lpl; + + ASSERT (n >= 1); + ASSERT (MPN_SAME_OR_INCR_P (rp, up, n)); + + cl = 0; + do + { + ul = *up++; + umul_ppmm (hpl, lpl, ul, vl); + + lpl += cl; + cl = (lpl < cl) + hpl; + + *rp++ = lpl; + } + while (--n != 0); + + return cl; +} + +#endif + +#if GMP_NAIL_BITS >= 1 + +mp_limb_t +mpn_mul_1 (mp_ptr rp, mp_srcptr up, mp_size_t n, mp_limb_t vl) +{ + mp_limb_t shifted_vl, ul, lpl, hpl, prev_hpl, xw, cl, xl; + + ASSERT (n >= 1); + ASSERT (MPN_SAME_OR_INCR_P (rp, up, n)); + ASSERT_MPN (up, n); + ASSERT_LIMB (vl); + + shifted_vl = vl << GMP_NAIL_BITS; + cl = 0; + prev_hpl = 0; + do + { + ul = *up++; + + umul_ppmm (hpl, lpl, ul, shifted_vl); + lpl >>= GMP_NAIL_BITS; + xw = prev_hpl + lpl + cl; + cl = xw >> GMP_NUMB_BITS; + xl = xw & GMP_NUMB_MASK; + *rp++ = xl; + prev_hpl = hpl; + } + while (--n != 0); + + return prev_hpl + cl; +} + +#endif diff --git a/goil/build/libpm/gmp/mpn-mul_basecase.c b/goil/build/libpm/gmp/mpn-mul_basecase.c new file mode 100644 index 000000000..a7f96ee61 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-mul_basecase.c @@ -0,0 +1,166 @@ +/* mpn_mul_basecase -- Internal routine to multiply two natural numbers + of length m and n. + + THIS IS AN INTERNAL FUNCTION WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH THIS FUNCTION THROUGH DOCUMENTED INTERFACES. + +Copyright 1991-1994, 1996, 1997, 2000-2002 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + + +/* Multiply {up,usize} by {vp,vsize} and write the result to + {prodp,usize+vsize}. Must have usize>=vsize. + + Note that prodp gets usize+vsize limbs stored, even if the actual result + only needs usize+vsize-1. + + There's no good reason to call here with vsize>=MUL_TOOM22_THRESHOLD. + Currently this is allowed, but it might not be in the future. + + This is the most critical code for multiplication. All multiplies rely + on this, both small and huge. Small ones arrive here immediately, huge + ones arrive here as this is the base case for Karatsuba's recursive + algorithm. */ + +void +mpn_mul_basecase (mp_ptr rp, + mp_srcptr up, mp_size_t un, + mp_srcptr vp, mp_size_t vn) +{ + ASSERT (un >= vn); + ASSERT (vn >= 1); + ASSERT (! MPN_OVERLAP_P (rp, un+vn, up, un)); + ASSERT (! MPN_OVERLAP_P (rp, un+vn, vp, vn)); + + /* We first multiply by the low order limb (or depending on optional function + availability, limbs). This result can be stored, not added, to rp. We + also avoid a loop for zeroing this way. */ + +#ifdef HAVE_NATIVE_mpn_mul_2 + if (vn >= 2) + { + rp[un + 1] = mpn_mul_2 (rp, up, un, vp); + rp += 2, vp += 2, vn -= 2; + } + else + { + rp[un] = mpn_mul_1 (rp, up, un, vp[0]); + return; + } +#else + rp[un] = mpn_mul_1 (rp, up, un, vp[0]); + rp += 1 ; vp += 1 ; vn -= 1; +#endif + + /* Now accumulate the product of up[] and the next higher limb (or depending + on optional function availability, limbs) from vp[]. */ + +#define MAX_LEFT MP_SIZE_T_MAX /* Used to simplify loops into if statements */ + + +#ifdef HAVE_NATIVE_mpn_addmul_6 + while (vn >= 6) + { + rp[un + 6 - 1] = mpn_addmul_6 (rp, up, un, vp); + if (MAX_LEFT == 6) + return; + rp += 6, vp += 6, vn -= 6; + if (MAX_LEFT < 2 * 6) + break; + } +#undef MAX_LEFT +#define MAX_LEFT (6 - 1) +#endif + +#ifdef HAVE_NATIVE_mpn_addmul_5 + while (vn >= 5) + { + rp[un + 5 - 1] = mpn_addmul_5 (rp, up, un, vp); + if (MAX_LEFT == 5) + return; + rp += 5, vp += 5, vn -= 5; + if (MAX_LEFT < 2 * 5) + break; + } +#undef MAX_LEFT +#define MAX_LEFT (5 - 1) +#endif + +#ifdef HAVE_NATIVE_mpn_addmul_4 + while (vn >= 4) + { + rp[un + 4 - 1] = mpn_addmul_4 (rp, up, un, vp); + if (MAX_LEFT == 4) + return; + rp += 4, vp += 4, vn -= 4; + if (MAX_LEFT < 2 * 4) + break; + } +#undef MAX_LEFT +#define MAX_LEFT (4 - 1) +#endif + +#ifdef HAVE_NATIVE_mpn_addmul_3 + while (vn >= 3) + { + rp[un + 3 - 1] = mpn_addmul_3 (rp, up, un, vp); + if (MAX_LEFT == 3) + return; + rp += 3, vp += 3, vn -= 3; + if (MAX_LEFT < 2 * 3) + break; + } +#undef MAX_LEFT +#define MAX_LEFT (3 - 1) +#endif + +#ifdef HAVE_NATIVE_mpn_addmul_2 + while (vn >= 2) + { + rp[un + 2 - 1] = mpn_addmul_2 (rp, up, un, vp); + if (MAX_LEFT == 2) + return; + rp += 2, vp += 2, vn -= 2; + if (MAX_LEFT < 2 * 2) + break; + } +#undef MAX_LEFT +#define MAX_LEFT (2 - 1) +#endif + + while (vn >= 1) + { + rp[un] = mpn_addmul_1 (rp, up, un, vp[0]); + if (MAX_LEFT == 1) + return; + rp += 1 ; vp += 1 ; vn -= 1; + } +} diff --git a/goil/build/libpm/gmp/mpn-mul_fft.c b/goil/build/libpm/gmp/mpn-mul_fft.c new file mode 100644 index 000000000..16499026a --- /dev/null +++ b/goil/build/libpm/gmp/mpn-mul_fft.c @@ -0,0 +1,1014 @@ +/* Schoenhage's fast multiplication modulo 2^N+1. + + Contributed by Paul Zimmermann. + + THE FUNCTIONS IN THIS FILE ARE INTERNAL WITH MUTABLE INTERFACES. IT IS ONLY + SAFE TO REACH THEM THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT THEY WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 1998-2010, 2012, 2013 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +/* References: + + Schnelle Multiplikation grosser Zahlen, by Arnold Schoenhage and Volker + Strassen, Computing 7, p. 281-292, 1971. + + Asymptotically fast algorithms for the numerical multiplication and division + of polynomials with complex coefficients, by Arnold Schoenhage, Computer + Algebra, EUROCAM'82, LNCS 144, p. 3-15, 1982. + + Tapes versus Pointers, a study in implementing fast algorithms, by Arnold + Schoenhage, Bulletin of the EATCS, 30, p. 23-32, 1986. + + TODO: + + Implement some of the tricks published at ISSAC'2007 by Gaudry, Kruppa, and + Zimmermann. + + It might be possible to avoid a small number of MPN_COPYs by using a + rotating temporary or two. + + Cleanup and simplify the code! +*/ + +#ifdef TRACE +#undef TRACE +#define TRACE(x) x +#include +#else +#define TRACE(x) +#endif + +#include "gmp.h" +#include "gmp-impl.h" + + +#ifdef WANT_ADDSUB +#include "generic/add_n_sub_n.c" +#define HAVE_NATIVE_mpn_add_n_sub_n 1 +#endif + +static mp_limb_t mpn_mul_fft_internal (mp_ptr, mp_size_t, int, mp_ptr *, + mp_ptr *, mp_ptr, mp_ptr, mp_size_t, + mp_size_t, mp_size_t, int **, mp_ptr, int); +static void mpn_mul_fft_decompose (mp_ptr, mp_ptr *, mp_size_t, mp_size_t, mp_srcptr, + mp_size_t, mp_size_t, mp_size_t, mp_ptr); + + +/* Find the best k to use for a mod 2^(m*GMP_NUMB_BITS)+1 FFT for m >= n. + We have sqr=0 if for a multiply, sqr=1 for a square. + There are three generations of this code; we keep the old ones as long as + some gmp-mparam.h is not updated. */ + + +/*****************************************************************************/ + +#if defined (TUNE_PROGRAM_BUILD) || (defined (MUL_FFT_TABLE3) && defined (SQR_FFT_TABLE3)) + +#ifndef FFT_TABLE3_SIZE /* When tuning this is defined in gmp-impl.h */ +#if defined (MUL_FFT_TABLE3_SIZE) && defined (SQR_FFT_TABLE3_SIZE) +#if MUL_FFT_TABLE3_SIZE > SQR_FFT_TABLE3_SIZE +#define FFT_TABLE3_SIZE MUL_FFT_TABLE3_SIZE +#else +#define FFT_TABLE3_SIZE SQR_FFT_TABLE3_SIZE +#endif +#endif +#endif + +#ifndef FFT_TABLE3_SIZE +#define FFT_TABLE3_SIZE 200 +#endif + +FFT_TABLE_ATTRS struct fft_table_nk mpn_fft_table3[2][FFT_TABLE3_SIZE] = +{ + MUL_FFT_TABLE3, + SQR_FFT_TABLE3 +}; + +int +mpn_fft_best_k (mp_size_t n, int sqr) +{ + FFT_TABLE_ATTRS struct fft_table_nk *fft_tab, *tab; + mp_size_t tab_n, thres; + int last_k; + + fft_tab = mpn_fft_table3[sqr]; + last_k = fft_tab->k; + for (tab = fft_tab + 1; ; tab++) + { + tab_n = tab->n; + thres = tab_n << last_k; + if (n <= thres) + break; + last_k = tab->k; + } + return last_k; +} + +#define MPN_FFT_BEST_READY 1 +#endif + +/*****************************************************************************/ + +#if ! defined (MPN_FFT_BEST_READY) +FFT_TABLE_ATTRS mp_size_t mpn_fft_table[2][MPN_FFT_TABLE_SIZE] = +{ + MUL_FFT_TABLE, + SQR_FFT_TABLE +}; + +int +mpn_fft_best_k (mp_size_t n, int sqr) +{ + int i; + + for (i = 0; mpn_fft_table[sqr][i] != 0; i++) + if (n < mpn_fft_table[sqr][i]) + return i + FFT_FIRST_K; + + /* treat 4*last as one further entry */ + if (i == 0 || n < 4 * mpn_fft_table[sqr][i - 1]) + return i + FFT_FIRST_K; + else + return i + FFT_FIRST_K + 1; +} +#endif + +/*****************************************************************************/ + + +/* Returns smallest possible number of limbs >= pl for a fft of size 2^k, + i.e. smallest multiple of 2^k >= pl. + + Don't declare static: needed by tuneup. +*/ + +mp_size_t +mpn_fft_next_size (mp_size_t pl, int k) +{ + pl = 1 + ((pl - 1) >> k); /* ceil (pl/2^k) */ + return pl << k; +} + + +/* Initialize l[i][j] with bitrev(j) */ +static void +mpn_fft_initl (int **l, int k) +{ + int i, j, K; + int *li; + + l[0][0] = 0; + for (i = 1, K = 1; i <= k; i++, K *= 2) + { + li = l[i]; + for (j = 0; j < K; j++) + { + li[j] = 2 * l[i - 1][j]; + li[K + j] = 1 + li[j]; + } + } +} + + +/* r <- a*2^d mod 2^(n*GMP_NUMB_BITS)+1 with a = {a, n+1} + Assumes a is semi-normalized, i.e. a[n] <= 1. + r and a must have n+1 limbs, and not overlap. +*/ +static void +mpn_fft_mul_2exp_modF (mp_ptr r, mp_srcptr a, mp_bitcnt_t d, mp_size_t n) +{ + unsigned int sh; + mp_size_t m; + mp_limb_t cc, rd; + + sh = d % GMP_NUMB_BITS; + m = d / GMP_NUMB_BITS; + + if (m >= n) /* negate */ + { + /* r[0..m-1] <-- lshift(a[n-m]..a[n-1], sh) + r[m..n-1] <-- -lshift(a[0]..a[n-m-1], sh) */ + + m -= n; + if (sh != 0) + { + /* no out shift below since a[n] <= 1 */ + mpn_lshift (r, a + n - m, m + 1, sh); + rd = r[m]; + cc = mpn_lshiftc (r + m, a, n - m, sh); + } + else + { + MPN_COPY (r, a + n - m, m); + rd = a[n]; + mpn_com (r + m, a, n - m); + cc = 0; + } + + /* add cc to r[0], and add rd to r[m] */ + + /* now add 1 in r[m], subtract 1 in r[n], i.e. add 1 in r[0] */ + + r[n] = 0; + /* cc < 2^sh <= 2^(GMP_NUMB_BITS-1) thus no overflow here */ + cc++; + mpn_incr_u (r, cc); + + rd++; + /* rd might overflow when sh=GMP_NUMB_BITS-1 */ + cc = (rd == 0) ? 1 : rd; + r = r + m + (rd == 0); + mpn_incr_u (r, cc); + } + else + { + /* r[0..m-1] <-- -lshift(a[n-m]..a[n-1], sh) + r[m..n-1] <-- lshift(a[0]..a[n-m-1], sh) */ + if (sh != 0) + { + /* no out bits below since a[n] <= 1 */ + mpn_lshiftc (r, a + n - m, m + 1, sh); + rd = ~r[m]; + /* {r, m+1} = {a+n-m, m+1} << sh */ + cc = mpn_lshift (r + m, a, n - m, sh); /* {r+m, n-m} = {a, n-m}< 1) + { + r[n] = 1; /* r[n] - c = 1 */ + MPN_DECR_U (r, n + 1, c - 1); + } + else + { + r[n] = c; + } +#endif +} + +/* r <- a-b mod 2^(n*GMP_NUMB_BITS)+1. + Assumes a and b are semi-normalized. +*/ +static inline void +mpn_fft_sub_modF (mp_ptr r, mp_srcptr a, mp_srcptr b, mp_size_t n) +{ + mp_limb_t c, x; + + c = a[n] - b[n] - mpn_sub_n (r, a, b, n); + /* -2 <= c <= 1 */ + +#if 1 + /* GCC 4.1 outsmarts most expressions here, and generates a 50% branch. The + result is slower code, of course. But the following outsmarts GCC. */ + x = (-c) & -((c & GMP_LIMB_HIGHBIT) != 0); + r[n] = x + c; + MPN_INCR_U (r, n + 1, x); +#endif +#if 0 + if ((c & GMP_LIMB_HIGHBIT) != 0) + { + r[n] = 0; + MPN_INCR_U (r, n + 1, -c); + } + else + { + r[n] = c; + } +#endif +} + +/* input: A[0] ... A[inc*(K-1)] are residues mod 2^N+1 where + N=n*GMP_NUMB_BITS, and 2^omega is a primitive root mod 2^N+1 + output: A[inc*l[k][i]] <- \sum (2^omega)^(ij) A[inc*j] mod 2^N+1 */ + +static void +mpn_fft_fft (mp_ptr *Ap, mp_size_t K, int **ll, + mp_size_t omega, mp_size_t n, mp_size_t inc, mp_ptr tp) +{ + if (K == 2) + { + mp_limb_t cy; +#ifdef HAVE_NATIVE_mpn_add_n_sub_n + cy = mpn_add_n_sub_n (Ap[0], Ap[inc], Ap[0], Ap[inc], n + 1) & 1; +#else + MPN_COPY (tp, Ap[0], n + 1); + mpn_add_n (Ap[0], Ap[0], Ap[inc], n + 1); + cy = mpn_sub_n (Ap[inc], tp, Ap[inc], n + 1); +#endif + if (Ap[0][n] > 1) /* can be 2 or 3 */ + Ap[0][n] = 1 - mpn_sub_1 (Ap[0], Ap[0], n, Ap[0][n] - 1); + if (cy) /* Ap[inc][n] can be -1 or -2 */ + Ap[inc][n] = mpn_add_1 (Ap[inc], Ap[inc], n, ~Ap[inc][n] + 1); + } + else + { + mp_size_t j, K2 = K >> 1; + int *lk = *ll; + + mpn_fft_fft (Ap, K2, ll-1, 2 * omega, n, inc * 2, tp); + mpn_fft_fft (Ap+inc, K2, ll-1, 2 * omega, n, inc * 2, tp); + /* A[2*j*inc] <- A[2*j*inc] + omega^l[k][2*j*inc] A[(2j+1)inc] + A[(2j+1)inc] <- A[2*j*inc] + omega^l[k][(2j+1)inc] A[(2j+1)inc] */ + for (j = 0; j < K2; j++, lk += 2, Ap += 2 * inc) + { + /* Ap[inc] <- Ap[0] + Ap[inc] * 2^(lk[1] * omega) + Ap[0] <- Ap[0] + Ap[inc] * 2^(lk[0] * omega) */ + mpn_fft_mul_2exp_modF (tp, Ap[inc], lk[0] * omega, n); + mpn_fft_sub_modF (Ap[inc], Ap[0], tp, n); + mpn_fft_add_modF (Ap[0], Ap[0], tp, n); + } + } +} + +/* input: A[0] ... A[inc*(K-1)] are residues mod 2^N+1 where + N=n*GMP_NUMB_BITS, and 2^omega is a primitive root mod 2^N+1 + output: A[inc*l[k][i]] <- \sum (2^omega)^(ij) A[inc*j] mod 2^N+1 + tp must have space for 2*(n+1) limbs. +*/ + + +/* Given ap[0..n] with ap[n]<=1, reduce it modulo 2^(n*GMP_NUMB_BITS)+1, + by subtracting that modulus if necessary. + + If ap[0..n] is exactly 2^(n*GMP_NUMB_BITS) then mpn_sub_1 produces a + borrow and the limbs must be zeroed out again. This will occur very + infrequently. */ + +static inline void +mpn_fft_normalize (mp_ptr ap, mp_size_t n) +{ + if (ap[n] != 0) + { + MPN_DECR_U (ap, n + 1, CNST_LIMB(1)); + if (ap[n] == 0) + { + /* This happens with very low probability; we have yet to trigger it, + and thereby make sure this code is correct. */ + MPN_ZERO (ap, n); + ap[n] = 1; + } + else + ap[n] = 0; + } +} + +/* a[i] <- a[i]*b[i] mod 2^(n*GMP_NUMB_BITS)+1 for 0 <= i < K */ +static void +mpn_fft_mul_modF_K (mp_ptr *ap, mp_ptr *bp, mp_size_t n, mp_size_t K) +{ + int i; + int sqr = (ap == bp); + TMP_DECL; + + TMP_MARK; + + if (n >= (sqr ? SQR_FFT_MODF_THRESHOLD : MUL_FFT_MODF_THRESHOLD)) + { + mp_size_t K2, nprime2, Nprime2, M2, maxLK, l, Mp2; + int k; + int **fft_l, *tmp; + mp_ptr *Ap, *Bp, A, B, T; + + k = mpn_fft_best_k (n, sqr); + K2 = (mp_size_t) 1 << k; + ASSERT_ALWAYS((n & (K2 - 1)) == 0); + maxLK = (K2 > GMP_NUMB_BITS) ? K2 : GMP_NUMB_BITS; + M2 = n * GMP_NUMB_BITS >> k; + l = n >> k; + Nprime2 = ((2 * M2 + k + 2 + maxLK) / maxLK) * maxLK; + /* Nprime2 = ceil((2*M2+k+3)/maxLK)*maxLK*/ + nprime2 = Nprime2 / GMP_NUMB_BITS; + + /* we should ensure that nprime2 is a multiple of the next K */ + if (nprime2 >= (sqr ? SQR_FFT_MODF_THRESHOLD : MUL_FFT_MODF_THRESHOLD)) + { + mp_size_t K3; + for (;;) + { + K3 = (mp_size_t) 1 << mpn_fft_best_k (nprime2, sqr); + if ((nprime2 & (K3 - 1)) == 0) + break; + nprime2 = (nprime2 + K3 - 1) & -K3; + Nprime2 = nprime2 * GMP_LIMB_BITS; + /* warning: since nprime2 changed, K3 may change too! */ + } + } + ASSERT_ALWAYS(nprime2 < n); /* otherwise we'll loop */ + + Mp2 = Nprime2 >> k; + + Ap = TMP_BALLOC_MP_PTRS (K2); + Bp = TMP_BALLOC_MP_PTRS (K2); + A = TMP_BALLOC_LIMBS (2 * (nprime2 + 1) << k); + T = TMP_BALLOC_LIMBS (2 * (nprime2 + 1)); + B = A + ((nprime2 + 1) << k); + fft_l = TMP_BALLOC_TYPE (k + 1, int *); + tmp = TMP_BALLOC_TYPE ((size_t) 2 << k, int); + for (i = 0; i <= k; i++) + { + fft_l[i] = tmp; + tmp += (mp_size_t) 1 << i; + } + + mpn_fft_initl (fft_l, k); + + TRACE (printf ("recurse: %ldx%ld limbs -> %ld times %ldx%ld (%1.2f)\n", n, + n, K2, nprime2, nprime2, 2.0*(double)n/nprime2/K2)); + for (i = 0; i < K; i++, ap++, bp++) + { + mp_limb_t cy; + mpn_fft_normalize (*ap, n); + if (!sqr) + mpn_fft_normalize (*bp, n); + + mpn_mul_fft_decompose (A, Ap, K2, nprime2, *ap, (l << k) + 1, l, Mp2, T); + if (!sqr) + mpn_mul_fft_decompose (B, Bp, K2, nprime2, *bp, (l << k) + 1, l, Mp2, T); + + cy = mpn_mul_fft_internal (*ap, n, k, Ap, Bp, A, B, nprime2, + l, Mp2, fft_l, T, sqr); + (*ap)[n] = cy; + } + } + else + { + mp_ptr a, b, tp, tpn; + mp_limb_t cc; + mp_size_t n2 = 2 * n; + tp = TMP_BALLOC_LIMBS (n2); + tpn = tp + n; + TRACE (printf (" mpn_mul_n %ld of %ld limbs\n", K, n)); + for (i = 0; i < K; i++) + { + a = *ap++; + b = *bp++; + if (sqr) + mpn_sqr (tp, a, n); + else + mpn_mul_n (tp, b, a, n); + if (a[n] != 0) + cc = mpn_add_n (tpn, tpn, b, n); + else + cc = 0; + if (b[n] != 0) + cc += mpn_add_n (tpn, tpn, a, n) + a[n]; + if (cc != 0) + { + cc = mpn_add_1 (tp, tp, n2, cc); + ASSERT (cc == 0); + } + a[n] = mpn_sub_n (a, tp, tpn, n) && mpn_add_1 (a, a, n, CNST_LIMB(1)); + } + } + TMP_FREE; +} + + +/* input: A^[l[k][0]] A^[l[k][1]] ... A^[l[k][K-1]] + output: K*A[0] K*A[K-1] ... K*A[1]. + Assumes the Ap[] are pseudo-normalized, i.e. 0 <= Ap[][n] <= 1. + This condition is also fulfilled at exit. +*/ +static void +mpn_fft_fftinv (mp_ptr *Ap, mp_size_t K, mp_size_t omega, mp_size_t n, mp_ptr tp) +{ + if (K == 2) + { + mp_limb_t cy; +#ifdef HAVE_NATIVE_mpn_add_n_sub_n + cy = mpn_add_n_sub_n (Ap[0], Ap[1], Ap[0], Ap[1], n + 1) & 1; +#else + MPN_COPY (tp, Ap[0], n + 1); + mpn_add_n (Ap[0], Ap[0], Ap[1], n + 1); + cy = mpn_sub_n (Ap[1], tp, Ap[1], n + 1); +#endif + if (Ap[0][n] > 1) /* can be 2 or 3 */ + Ap[0][n] = 1 - mpn_sub_1 (Ap[0], Ap[0], n, Ap[0][n] - 1); + if (cy) /* Ap[1][n] can be -1 or -2 */ + Ap[1][n] = mpn_add_1 (Ap[1], Ap[1], n, ~Ap[1][n] + 1); + } + else + { + mp_size_t j, K2 = K >> 1; + + mpn_fft_fftinv (Ap, K2, 2 * omega, n, tp); + mpn_fft_fftinv (Ap + K2, K2, 2 * omega, n, tp); + /* A[j] <- A[j] + omega^j A[j+K/2] + A[j+K/2] <- A[j] + omega^(j+K/2) A[j+K/2] */ + for (j = 0; j < K2; j++, Ap++) + { + /* Ap[K2] <- Ap[0] + Ap[K2] * 2^((j + K2) * omega) + Ap[0] <- Ap[0] + Ap[K2] * 2^(j * omega) */ + mpn_fft_mul_2exp_modF (tp, Ap[K2], j * omega, n); + mpn_fft_sub_modF (Ap[K2], Ap[0], tp, n); + mpn_fft_add_modF (Ap[0], Ap[0], tp, n); + } + } +} + + +/* R <- A/2^k mod 2^(n*GMP_NUMB_BITS)+1 */ +static void +mpn_fft_div_2exp_modF (mp_ptr r, mp_srcptr a, mp_bitcnt_t k, mp_size_t n) +{ + mp_bitcnt_t i; + + ASSERT (r != a); + i = (mp_bitcnt_t) 2 * n * GMP_NUMB_BITS - k; + mpn_fft_mul_2exp_modF (r, a, i, n); + /* 1/2^k = 2^(2nL-k) mod 2^(n*GMP_NUMB_BITS)+1 */ + /* normalize so that R < 2^(n*GMP_NUMB_BITS)+1 */ + mpn_fft_normalize (r, n); +} + + +/* {rp,n} <- {ap,an} mod 2^(n*GMP_NUMB_BITS)+1, n <= an <= 3*n. + Returns carry out, i.e. 1 iff {ap,an} = -1 mod 2^(n*GMP_NUMB_BITS)+1, + then {rp,n}=0. +*/ +static mp_size_t +mpn_fft_norm_modF (mp_ptr rp, mp_size_t n, mp_ptr ap, mp_size_t an) +{ + mp_size_t l, m, rpn; + mp_limb_t cc; + + ASSERT ((n <= an) && (an <= 3 * n)); + m = an - 2 * n; + if (m > 0) + { + l = n; + /* add {ap, m} and {ap+2n, m} in {rp, m} */ + cc = mpn_add_n (rp, ap, ap + 2 * n, m); + /* copy {ap+m, n-m} to {rp+m, n-m} */ + rpn = mpn_add_1 (rp + m, ap + m, n - m, cc); + } + else + { + l = an - n; /* l <= n */ + MPN_COPY (rp, ap, n); + rpn = 0; + } + + /* remains to subtract {ap+n, l} from {rp, n+1} */ + cc = mpn_sub_n (rp, rp, ap + n, l); + rpn -= mpn_sub_1 (rp + l, rp + l, n - l, cc); + if (rpn < 0) /* necessarily rpn = -1 */ + rpn = mpn_add_1 (rp, rp, n, CNST_LIMB(1)); + return rpn; +} + +/* store in A[0..nprime] the first M bits from {n, nl}, + in A[nprime+1..] the following M bits, ... + Assumes M is a multiple of GMP_NUMB_BITS (M = l * GMP_NUMB_BITS). + T must have space for at least (nprime + 1) limbs. + We must have nl <= 2*K*l. +*/ +static void +mpn_mul_fft_decompose (mp_ptr A, mp_ptr *Ap, mp_size_t K, mp_size_t nprime, + mp_srcptr n, mp_size_t nl, mp_size_t l, mp_size_t Mp, + mp_ptr T) +{ + mp_size_t i, j; + mp_ptr tmp; + mp_size_t Kl = K * l; + TMP_DECL; + TMP_MARK; + + if (nl > Kl) /* normalize {n, nl} mod 2^(Kl*GMP_NUMB_BITS)+1 */ + { + mp_size_t dif = nl - Kl; + mp_limb_signed_t cy; + + tmp = TMP_BALLOC_LIMBS(Kl + 1); + + if (dif > Kl) + { + int subp = 0; + + cy = mpn_sub_n (tmp, n, n + Kl, Kl); + n += 2 * Kl; + dif -= Kl; + + /* now dif > 0 */ + while (dif > Kl) + { + if (subp) + cy += mpn_sub_n (tmp, tmp, n, Kl); + else + cy -= mpn_add_n (tmp, tmp, n, Kl); + subp ^= 1; + n += Kl; + dif -= Kl; + } + /* now dif <= Kl */ + if (subp) + cy += mpn_sub (tmp, tmp, Kl, n, dif); + else + cy -= mpn_add (tmp, tmp, Kl, n, dif); + if (cy >= 0) + cy = mpn_add_1 (tmp, tmp, Kl, cy); + else + cy = mpn_sub_1 (tmp, tmp, Kl, -cy); + } + else /* dif <= Kl, i.e. nl <= 2 * Kl */ + { + cy = mpn_sub (tmp, n, Kl, n + Kl, dif); + cy = mpn_add_1 (tmp, tmp, Kl, cy); + } + tmp[Kl] = cy; + nl = Kl + 1; + n = tmp; + } + for (i = 0; i < K; i++) + { + Ap[i] = A; + /* store the next M bits of n into A[0..nprime] */ + if (nl > 0) /* nl is the number of remaining limbs */ + { + j = (l <= nl && i < K - 1) ? l : nl; /* store j next limbs */ + nl -= j; + MPN_COPY (T, n, j); + MPN_ZERO (T + j, nprime + 1 - j); + n += l; + mpn_fft_mul_2exp_modF (A, T, i * Mp, nprime); + } + else + MPN_ZERO (A, nprime + 1); + A += nprime + 1; + } + ASSERT_ALWAYS (nl == 0); + TMP_FREE; +} + +/* op <- n*m mod 2^N+1 with fft of size 2^k where N=pl*GMP_NUMB_BITS + op is pl limbs, its high bit is returned. + One must have pl = mpn_fft_next_size (pl, k). + T must have space for 2 * (nprime + 1) limbs. +*/ + +static mp_limb_t +mpn_mul_fft_internal (mp_ptr op, mp_size_t pl, int k, + mp_ptr *Ap, mp_ptr *Bp, mp_ptr A, mp_ptr B, + mp_size_t nprime, mp_size_t l, mp_size_t Mp, + int **fft_l, mp_ptr T, int sqr) +{ + mp_size_t K, i, pla, lo, sh, j; + mp_ptr p; + mp_limb_t cc; + + K = (mp_size_t) 1 << k; + + /* direct fft's */ + mpn_fft_fft (Ap, K, fft_l + k, 2 * Mp, nprime, 1, T); + if (!sqr) + mpn_fft_fft (Bp, K, fft_l + k, 2 * Mp, nprime, 1, T); + + /* term to term multiplications */ + mpn_fft_mul_modF_K (Ap, sqr ? Ap : Bp, nprime, K); + + /* inverse fft's */ + mpn_fft_fftinv (Ap, K, 2 * Mp, nprime, T); + + /* division of terms after inverse fft */ + Bp[0] = T + nprime + 1; + mpn_fft_div_2exp_modF (Bp[0], Ap[0], k, nprime); + for (i = 1; i < K; i++) + { + Bp[i] = Ap[i - 1]; + mpn_fft_div_2exp_modF (Bp[i], Ap[i], k + (K - i) * Mp, nprime); + } + + /* addition of terms in result p */ + MPN_ZERO (T, nprime + 1); + pla = l * (K - 1) + nprime + 1; /* number of required limbs for p */ + p = B; /* B has K*(n' + 1) limbs, which is >= pla, i.e. enough */ + MPN_ZERO (p, pla); + cc = 0; /* will accumulate the (signed) carry at p[pla] */ + for (i = K - 1, lo = l * i + nprime,sh = l * i; i >= 0; i--,lo -= l,sh -= l) + { + mp_ptr n = p + sh; + + j = (K - i) & (K - 1); + + if (mpn_add_n (n, n, Bp[j], nprime + 1)) + cc += mpn_add_1 (n + nprime + 1, n + nprime + 1, + pla - sh - nprime - 1, CNST_LIMB(1)); + T[2 * l] = i + 1; /* T = (i + 1)*2^(2*M) */ + if (mpn_cmp (Bp[j], T, nprime + 1) > 0) + { /* subtract 2^N'+1 */ + cc -= mpn_sub_1 (n, n, pla - sh, CNST_LIMB(1)); + cc -= mpn_sub_1 (p + lo, p + lo, pla - lo, CNST_LIMB(1)); + } + } + if (cc == -CNST_LIMB(1)) + { + if ((cc = mpn_add_1 (p + pla - pl, p + pla - pl, pl, CNST_LIMB(1)))) + { + /* p[pla-pl]...p[pla-1] are all zero */ + mpn_sub_1 (p + pla - pl - 1, p + pla - pl - 1, pl + 1, CNST_LIMB(1)); + mpn_sub_1 (p + pla - 1, p + pla - 1, 1, CNST_LIMB(1)); + } + } + else if (cc == 1) + { + if (pla >= 2 * pl) + { + while ((cc = mpn_add_1 (p + pla - 2 * pl, p + pla - 2 * pl, 2 * pl, cc))) + ; + } + else + { + cc = mpn_sub_1 (p + pla - pl, p + pla - pl, pl, cc); + ASSERT (cc == 0); + } + } + else + ASSERT (cc == 0); + + /* here p < 2^(2M) [K 2^(M(K-1)) + (K-1) 2^(M(K-2)) + ... ] + < K 2^(2M) [2^(M(K-1)) + 2^(M(K-2)) + ... ] + < K 2^(2M) 2^(M(K-1))*2 = 2^(M*K+M+k+1) */ + return mpn_fft_norm_modF (op, pl, p, pla); +} + +/* return the lcm of a and 2^k */ +static mp_bitcnt_t +mpn_mul_fft_lcm (mp_bitcnt_t a, int k) +{ + mp_bitcnt_t l = k; + + while (a % 2 == 0 && k > 0) + { + a >>= 1; + k --; + } + return a << l; +} + + +mp_limb_t +mpn_mul_fft (mp_ptr op, mp_size_t pl, + mp_srcptr n, mp_size_t nl, + mp_srcptr m, mp_size_t ml, + int k) +{ + int i; + mp_size_t K, maxLK; + mp_size_t N, Nprime, nprime, M, Mp, l; + mp_ptr *Ap, *Bp, A, T, B; + int **fft_l, *tmp; + int sqr = (n == m && nl == ml); + mp_limb_t h; + TMP_DECL; + + TRACE (printf ("\nmpn_mul_fft pl=%ld nl=%ld ml=%ld k=%d\n", pl, nl, ml, k)); + ASSERT_ALWAYS (mpn_fft_next_size (pl, k) == pl); + + TMP_MARK; + N = pl * GMP_NUMB_BITS; + fft_l = TMP_BALLOC_TYPE (k + 1, int *); + tmp = TMP_BALLOC_TYPE ((size_t) 2 << k, int); + for (i = 0; i <= k; i++) + { + fft_l[i] = tmp; + tmp += (mp_size_t) 1 << i; + } + + mpn_fft_initl (fft_l, k); + K = (mp_size_t) 1 << k; + M = N >> k; /* N = 2^k M */ + l = 1 + (M - 1) / GMP_NUMB_BITS; + maxLK = mpn_mul_fft_lcm (GMP_NUMB_BITS, k); /* lcm (GMP_NUMB_BITS, 2^k) */ + + Nprime = (1 + (2 * M + k + 2) / maxLK) * maxLK; + /* Nprime = ceil((2*M+k+3)/maxLK)*maxLK; */ + nprime = Nprime / GMP_NUMB_BITS; + TRACE (printf ("N=%ld K=%ld, M=%ld, l=%ld, maxLK=%ld, Np=%ld, np=%ld\n", + N, K, M, l, maxLK, Nprime, nprime)); + /* we should ensure that recursively, nprime is a multiple of the next K */ + if (nprime >= (sqr ? SQR_FFT_MODF_THRESHOLD : MUL_FFT_MODF_THRESHOLD)) + { + mp_size_t K2; + for (;;) + { + K2 = (mp_size_t) 1 << mpn_fft_best_k (nprime, sqr); + if ((nprime & (K2 - 1)) == 0) + break; + nprime = (nprime + K2 - 1) & -K2; + Nprime = nprime * GMP_LIMB_BITS; + /* warning: since nprime changed, K2 may change too! */ + } + TRACE (printf ("new maxLK=%ld, Np=%ld, np=%ld\n", maxLK, Nprime, nprime)); + } + ASSERT_ALWAYS (nprime < pl); /* otherwise we'll loop */ + + T = TMP_BALLOC_LIMBS (2 * (nprime + 1)); + Mp = Nprime >> k; + + TRACE (printf ("%ldx%ld limbs -> %ld times %ldx%ld limbs (%1.2f)\n", + pl, pl, K, nprime, nprime, 2.0 * (double) N / Nprime / K); + printf (" temp space %ld\n", 2 * K * (nprime + 1))); + + A = TMP_BALLOC_LIMBS (K * (nprime + 1)); + Ap = TMP_BALLOC_MP_PTRS (K); + mpn_mul_fft_decompose (A, Ap, K, nprime, n, nl, l, Mp, T); + if (sqr) + { + mp_size_t pla; + pla = l * (K - 1) + nprime + 1; /* number of required limbs for p */ + B = TMP_BALLOC_LIMBS (pla); + Bp = TMP_BALLOC_MP_PTRS (K); + } + else + { + B = TMP_BALLOC_LIMBS (K * (nprime + 1)); + Bp = TMP_BALLOC_MP_PTRS (K); + mpn_mul_fft_decompose (B, Bp, K, nprime, m, ml, l, Mp, T); + } + h = mpn_mul_fft_internal (op, pl, k, Ap, Bp, A, B, nprime, l, Mp, fft_l, T, sqr); + + TMP_FREE; + return h; +} + +#ifdef WANT_OLD_FFT_FULL +/* multiply {n, nl} by {m, ml}, and put the result in {op, nl+ml} */ +void +mpn_mul_fft_full (mp_ptr op, + mp_srcptr n, mp_size_t nl, + mp_srcptr m, mp_size_t ml) +{ + mp_ptr pad_op; + mp_size_t pl, pl2, pl3, l; + mp_size_t cc, c2, oldcc; + int k2, k3; + int sqr = (n == m && nl == ml); + + pl = nl + ml; /* total number of limbs of the result */ + + /* perform a fft mod 2^(2N)+1 and one mod 2^(3N)+1. + We must have pl3 = 3/2 * pl2, with pl2 a multiple of 2^k2, and + pl3 a multiple of 2^k3. Since k3 >= k2, both are multiples of 2^k2, + and pl2 must be an even multiple of 2^k2. Thus (pl2,pl3) = + (2*j*2^k2,3*j*2^k2), which works for 3*j <= pl/2^k2 <= 5*j. + We need that consecutive intervals overlap, i.e. 5*j >= 3*(j+1), + which requires j>=2. Thus this scheme requires pl >= 6 * 2^FFT_FIRST_K. */ + + /* ASSERT_ALWAYS(pl >= 6 * (1 << FFT_FIRST_K)); */ + + pl2 = (2 * pl - 1) / 5; /* ceil (2pl/5) - 1 */ + do + { + pl2++; + k2 = mpn_fft_best_k (pl2, sqr); /* best fft size for pl2 limbs */ + pl2 = mpn_fft_next_size (pl2, k2); + pl3 = 3 * pl2 / 2; /* since k>=FFT_FIRST_K=4, pl2 is a multiple of 2^4, + thus pl2 / 2 is exact */ + k3 = mpn_fft_best_k (pl3, sqr); + } + while (mpn_fft_next_size (pl3, k3) != pl3); + + TRACE (printf ("mpn_mul_fft_full nl=%ld ml=%ld -> pl2=%ld pl3=%ld k=%d\n", + nl, ml, pl2, pl3, k2)); + + ASSERT_ALWAYS(pl3 <= pl); + cc = mpn_mul_fft (op, pl3, n, nl, m, ml, k3); /* mu */ + ASSERT(cc == 0); + pad_op = __GMP_ALLOCATE_FUNC_LIMBS (pl2); + cc = mpn_mul_fft (pad_op, pl2, n, nl, m, ml, k2); /* lambda */ + cc = -cc + mpn_sub_n (pad_op, pad_op, op, pl2); /* lambda - low(mu) */ + /* 0 <= cc <= 1 */ + ASSERT(0 <= cc && cc <= 1); + l = pl3 - pl2; /* l = pl2 / 2 since pl3 = 3/2 * pl2 */ + c2 = mpn_add_n (pad_op, pad_op, op + pl2, l); + cc = mpn_add_1 (pad_op + l, pad_op + l, l, (mp_limb_t) c2) - cc; + ASSERT(-1 <= cc && cc <= 1); + if (cc < 0) + cc = mpn_add_1 (pad_op, pad_op, pl2, (mp_limb_t) -cc); + ASSERT(0 <= cc && cc <= 1); + /* now lambda-mu = {pad_op, pl2} - cc mod 2^(pl2*GMP_NUMB_BITS)+1 */ + oldcc = cc; +#if HAVE_NATIVE_mpn_add_n_sub_n + c2 = mpn_add_n_sub_n (pad_op + l, pad_op, pad_op, pad_op + l, l); + /* c2 & 1 is the borrow, c2 & 2 is the carry */ + cc += c2 >> 1; /* carry out from high <- low + high */ + c2 = c2 & 1; /* borrow out from low <- low - high */ +#else + { + mp_ptr tmp; + TMP_DECL; + + TMP_MARK; + tmp = TMP_BALLOC_LIMBS (l); + MPN_COPY (tmp, pad_op, l); + c2 = mpn_sub_n (pad_op, pad_op, pad_op + l, l); + cc += mpn_add_n (pad_op + l, tmp, pad_op + l, l); + TMP_FREE; + } +#endif + c2 += oldcc; + /* first normalize {pad_op, pl2} before dividing by 2: c2 is the borrow + at pad_op + l, cc is the carry at pad_op + pl2 */ + /* 0 <= cc <= 2 */ + cc -= mpn_sub_1 (pad_op + l, pad_op + l, l, (mp_limb_t) c2); + /* -1 <= cc <= 2 */ + if (cc > 0) + cc = -mpn_sub_1 (pad_op, pad_op, pl2, (mp_limb_t) cc); + /* now -1 <= cc <= 0 */ + if (cc < 0) + cc = mpn_add_1 (pad_op, pad_op, pl2, (mp_limb_t) -cc); + /* now {pad_op, pl2} is normalized, with 0 <= cc <= 1 */ + if (pad_op[0] & 1) /* if odd, add 2^(pl2*GMP_NUMB_BITS)+1 */ + cc += 1 + mpn_add_1 (pad_op, pad_op, pl2, CNST_LIMB(1)); + /* now 0 <= cc <= 2, but cc=2 cannot occur since it would give a carry + out below */ + mpn_rshift (pad_op, pad_op, pl2, 1); /* divide by two */ + if (cc) /* then cc=1 */ + pad_op [pl2 - 1] |= (mp_limb_t) 1 << (GMP_NUMB_BITS - 1); + /* now {pad_op,pl2}-cc = (lambda-mu)/(1-2^(l*GMP_NUMB_BITS)) + mod 2^(pl2*GMP_NUMB_BITS) + 1 */ + c2 = mpn_add_n (op, op, pad_op, pl2); /* no need to add cc (is 0) */ + /* since pl2+pl3 >= pl, necessary the extra limbs (including cc) are zero */ + MPN_COPY (op + pl3, pad_op, pl - pl3); + ASSERT_MPN_ZERO_P (pad_op + pl - pl3, pl2 + pl3 - pl); + __GMP_FREE_FUNC_LIMBS (pad_op, pl2); + /* since the final result has at most pl limbs, no carry out below */ + mpn_add_1 (op + pl2, op + pl2, pl - pl2, (mp_limb_t) c2); +} +#endif diff --git a/goil/build/libpm/gmp/mpn-mul_n.c b/goil/build/libpm/gmp/mpn-mul_n.c new file mode 100644 index 000000000..5df8b16fa --- /dev/null +++ b/goil/build/libpm/gmp/mpn-mul_n.c @@ -0,0 +1,97 @@ +/* mpn_mul_n -- multiply natural numbers. + +Copyright 1991, 1993, 1994, 1996-2003, 2005, 2008, 2009 Free Software +Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" +#include "longlong.h" + +void +mpn_mul_n (mp_ptr p, mp_srcptr a, mp_srcptr b, mp_size_t n) +{ + ASSERT (n >= 1); + ASSERT (! MPN_OVERLAP_P (p, 2 * n, a, n)); + ASSERT (! MPN_OVERLAP_P (p, 2 * n, b, n)); + + if (BELOW_THRESHOLD (n, MUL_TOOM22_THRESHOLD)) + { + mpn_mul_basecase (p, a, n, b, n); + } + else if (BELOW_THRESHOLD (n, MUL_TOOM33_THRESHOLD)) + { + /* Allocate workspace of fixed size on stack: fast! */ + mp_limb_t ws[mpn_toom22_mul_itch (MUL_TOOM33_THRESHOLD_LIMIT-1, + MUL_TOOM33_THRESHOLD_LIMIT-1)]; + ASSERT (MUL_TOOM33_THRESHOLD <= MUL_TOOM33_THRESHOLD_LIMIT); + mpn_toom22_mul (p, a, n, b, n, ws); + } + else if (BELOW_THRESHOLD (n, MUL_TOOM44_THRESHOLD)) + { + mp_ptr ws; + TMP_SDECL; + TMP_SMARK; + ws = TMP_SALLOC_LIMBS (mpn_toom33_mul_itch (n, n)); + mpn_toom33_mul (p, a, n, b, n, ws); + TMP_SFREE; + } + else if (BELOW_THRESHOLD (n, MUL_TOOM6H_THRESHOLD)) + { + mp_ptr ws; + TMP_SDECL; + TMP_SMARK; + ws = TMP_SALLOC_LIMBS (mpn_toom44_mul_itch (n, n)); + mpn_toom44_mul (p, a, n, b, n, ws); + TMP_SFREE; + } + else if (BELOW_THRESHOLD (n, MUL_TOOM8H_THRESHOLD)) + { + mp_ptr ws; + TMP_SDECL; + TMP_SMARK; + ws = TMP_SALLOC_LIMBS (mpn_toom6_mul_n_itch (n)); + mpn_toom6h_mul (p, a, n, b, n, ws); + TMP_SFREE; + } + else if (BELOW_THRESHOLD (n, MUL_FFT_THRESHOLD)) + { + mp_ptr ws; + TMP_DECL; + TMP_MARK; + ws = TMP_ALLOC_LIMBS (mpn_toom8_mul_n_itch (n)); + mpn_toom8h_mul (p, a, n, b, n, ws); + TMP_FREE; + } + else + { + /* The current FFT code allocates its own space. That should probably + change. */ + mpn_fft_mul (p, a, n, b, n); + } +} diff --git a/goil/build/libpm/gmp/mpn-mulmod_bnm1.c b/goil/build/libpm/gmp/mpn-mulmod_bnm1.c new file mode 100644 index 000000000..e660457c3 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-mulmod_bnm1.c @@ -0,0 +1,353 @@ +/* mulmod_bnm1.c -- multiplication mod B^n-1. + + Contributed to the GNU project by Niels Möller, Torbjorn Granlund and + Marco Bodrato. + + THE FUNCTIONS IN THIS FILE ARE INTERNAL WITH MUTABLE INTERFACES. IT IS ONLY + SAFE TO REACH THEM THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT THEY WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2009, 2010, 2012, 2013 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "gmp.h" +#include "gmp-impl.h" +#include "longlong.h" + + +/* Inputs are {ap,rn} and {bp,rn}; output is {rp,rn}, computation is + mod B^rn - 1, and values are semi-normalised; zero is represented + as either 0 or B^n - 1. Needs a scratch of 2rn limbs at tp. + tp==rp is allowed. */ +void +mpn_bc_mulmod_bnm1 (mp_ptr rp, mp_srcptr ap, mp_srcptr bp, mp_size_t rn, + mp_ptr tp) +{ + mp_limb_t cy; + + ASSERT (0 < rn); + + mpn_mul_n (tp, ap, bp, rn); + cy = mpn_add_n (rp, tp, tp + rn, rn); + /* If cy == 1, then the value of rp is at most B^rn - 2, so there can + * be no overflow when adding in the carry. */ + MPN_INCR_U (rp, rn, cy); +} + + +/* Inputs are {ap,rn+1} and {bp,rn+1}; output is {rp,rn+1}, in + semi-normalised representation, computation is mod B^rn + 1. Needs + a scratch area of 2rn + 2 limbs at tp; tp == rp is allowed. + Output is normalised. */ +static void +mpn_bc_mulmod_bnp1 (mp_ptr rp, mp_srcptr ap, mp_srcptr bp, mp_size_t rn, + mp_ptr tp) +{ + mp_limb_t cy; + + ASSERT (0 < rn); + + mpn_mul_n (tp, ap, bp, rn + 1); + ASSERT (tp[2*rn+1] == 0); + ASSERT (tp[2*rn] < GMP_NUMB_MAX); + cy = tp[2*rn] + mpn_sub_n (rp, tp, tp+rn, rn); + rp[rn] = 0; + MPN_INCR_U (rp, rn+1, cy ); +} + + +/* Computes {rp,MIN(rn,an+bn)} <- {ap,an}*{bp,bn} Mod(B^rn-1) + * + * The result is expected to be ZERO if and only if one of the operand + * already is. Otherwise the class [0] Mod(B^rn-1) is represented by + * B^rn-1. This should not be a problem if mulmod_bnm1 is used to + * combine results and obtain a natural number when one knows in + * advance that the final value is less than (B^rn-1). + * Moreover it should not be a problem if mulmod_bnm1 is used to + * compute the full product with an+bn <= rn, because this condition + * implies (B^an-1)(B^bn-1) < (B^rn-1) . + * + * Requires 0 < bn <= an <= rn and an + bn > rn/2 + * Scratch need: rn + (need for recursive call OR rn + 4). This gives + * + * S(n) <= rn + MAX (rn + 4, S(n/2)) <= 2rn + 4 + */ +void +mpn_mulmod_bnm1 (mp_ptr rp, mp_size_t rn, mp_srcptr ap, mp_size_t an, mp_srcptr bp, mp_size_t bn, mp_ptr tp) +{ + ASSERT (0 < bn); + ASSERT (bn <= an); + ASSERT (an <= rn); + + if ((rn & 1) != 0 || BELOW_THRESHOLD (rn, MULMOD_BNM1_THRESHOLD)) + { + if (UNLIKELY (bn < rn)) + { + if (UNLIKELY (an + bn <= rn)) + { + mpn_mul (rp, ap, an, bp, bn); + } + else + { + mp_limb_t cy; + mpn_mul (tp, ap, an, bp, bn); + cy = mpn_add (rp, tp, rn, tp + rn, an + bn - rn); + MPN_INCR_U (rp, rn, cy); + } + } + else + mpn_bc_mulmod_bnm1 (rp, ap, bp, rn, tp); + } + else + { + mp_size_t n; + mp_limb_t cy; + mp_limb_t hi; + + n = rn >> 1; + + /* We need at least an + bn >= n, to be able to fit one of the + recursive products at rp. Requiring strict inequality makes + the coded slightly simpler. If desired, we could avoid this + restriction by initially halving rn as long as rn is even and + an + bn <= rn/2. */ + + ASSERT (an + bn > n); + + /* Compute xm = a*b mod (B^n - 1), xp = a*b mod (B^n + 1) + and crt together as + + x = -xp * B^n + (B^n + 1) * [ (xp + xm)/2 mod (B^n-1)] + */ + +#define a0 ap +#define a1 (ap + n) +#define b0 bp +#define b1 (bp + n) + +#define xp tp /* 2n + 2 */ + /* am1 maybe in {xp, n} */ + /* bm1 maybe in {xp + n, n} */ +#define sp1 (tp + 2*n + 2) + /* ap1 maybe in {sp1, n + 1} */ + /* bp1 maybe in {sp1 + n + 1, n + 1} */ + + { + mp_srcptr am1, bm1; + mp_size_t anm, bnm; + mp_ptr so; + + bm1 = b0; + bnm = bn; + if (LIKELY (an > n)) + { + am1 = xp; + cy = mpn_add (xp, a0, n, a1, an - n); + MPN_INCR_U (xp, n, cy); + anm = n; + so = xp + n; + if (LIKELY (bn > n)) + { + bm1 = so; + cy = mpn_add (so, b0, n, b1, bn - n); + MPN_INCR_U (so, n, cy); + bnm = n; + so += n; + } + } + else + { + so = xp; + am1 = a0; + anm = an; + } + + mpn_mulmod_bnm1 (rp, n, am1, anm, bm1, bnm, so); + } + + { + int k; + mp_srcptr ap1, bp1; + mp_size_t anp, bnp; + + bp1 = b0; + bnp = bn; + if (LIKELY (an > n)) { + ap1 = sp1; + cy = mpn_sub (sp1, a0, n, a1, an - n); + sp1[n] = 0; + MPN_INCR_U (sp1, n + 1, cy); + anp = n + ap1[n]; + if (LIKELY (bn > n)) { + bp1 = sp1 + n + 1; + cy = mpn_sub (sp1 + n + 1, b0, n, b1, bn - n); + sp1[2*n+1] = 0; + MPN_INCR_U (sp1 + n + 1, n + 1, cy); + bnp = n + bp1[n]; + } + } else { + ap1 = a0; + anp = an; + } + + if (BELOW_THRESHOLD (n, MUL_FFT_MODF_THRESHOLD)) + k=0; + else + { + int mask; + k = mpn_fft_best_k (n, 0); + mask = (1<>=1;}; + } + if (k >= FFT_FIRST_K) + xp[n] = mpn_mul_fft (xp, n, ap1, anp, bp1, bnp, k); + else if (UNLIKELY (bp1 == b0)) + { + ASSERT (anp + bnp <= 2*n+1); + ASSERT (anp + bnp > n); + ASSERT (anp >= bnp); + mpn_mul (xp, ap1, anp, bp1, bnp); + anp = anp + bnp - n; + ASSERT (anp <= n || xp[2*n]==0); + anp-= anp > n; + cy = mpn_sub (xp, xp, n, xp + n, anp); + xp[n] = 0; + MPN_INCR_U (xp, n+1, cy); + } + else + mpn_bc_mulmod_bnp1 (xp, ap1, bp1, n, xp); + } + + /* Here the CRT recomposition begins. + + xm <- (xp + xm)/2 = (xp + xm)B^n/2 mod (B^n-1) + Division by 2 is a bitwise rotation. + + Assumes xp normalised mod (B^n+1). + + The residue class [0] is represented by [B^n-1]; except when + both input are ZERO. + */ + +#if defined (HAVE_NATIVE_mpn_rsh1add_n) || defined (HAVE_NATIVE_mpn_rsh1add_nc) +#if HAVE_NATIVE_mpn_rsh1add_nc + cy = mpn_rsh1add_nc(rp, rp, xp, n, xp[n]); /* B^n = 1 */ + hi = cy << (GMP_NUMB_BITS - 1); + cy = 0; + /* next update of rp[n-1] will set cy = 1 only if rp[n-1]+=hi + overflows, i.e. a further increment will not overflow again. */ +#else /* ! _nc */ + cy = xp[n] + mpn_rsh1add_n(rp, rp, xp, n); /* B^n = 1 */ + hi = (cy<<(GMP_NUMB_BITS-1))&GMP_NUMB_MASK; /* (cy&1) << ... */ + cy >>= 1; + /* cy = 1 only if xp[n] = 1 i.e. {xp,n} = ZERO, this implies that + the rsh1add was a simple rshift: the top bit is 0. cy=1 => hi=0. */ +#endif +#if GMP_NAIL_BITS == 0 + add_ssaaaa(cy, rp[n-1], cy, rp[n-1], 0, hi); +#else + cy += (hi & rp[n-1]) >> (GMP_NUMB_BITS-1); + rp[n-1] ^= hi; +#endif +#else /* ! HAVE_NATIVE_mpn_rsh1add_n */ +#ifdef HAVE_NATIVE_mpn_add_nc + cy = mpn_add_nc(rp, rp, xp, n, xp[n]); +#else /* ! _nc */ + cy = xp[n] + mpn_add_n(rp, rp, xp, n); /* xp[n] == 1 implies {xp,n} == ZERO */ +#endif + cy += (rp[0]&1); + mpn_rshift(rp, rp, n, 1); + ASSERT (cy <= 2); + hi = (cy<<(GMP_NUMB_BITS-1))&GMP_NUMB_MASK; /* (cy&1) << ... */ + cy >>= 1; + /* We can have cy != 0 only if hi = 0... */ + ASSERT ((rp[n-1] & GMP_NUMB_HIGHBIT) == 0); + rp[n-1] |= hi; + /* ... rp[n-1] + cy can not overflow, the following INCR is correct. */ +#endif + ASSERT (cy <= 1); + /* Next increment can not overflow, read the previous comments about cy. */ + ASSERT ((cy == 0) || ((rp[n-1] & GMP_NUMB_HIGHBIT) == 0)); + MPN_INCR_U(rp, n, cy); + + /* Compute the highest half: + ([(xp + xm)/2 mod (B^n-1)] - xp ) * B^n + */ + if (UNLIKELY (an + bn < rn)) + { + /* Note that in this case, the only way the result can equal + zero mod B^{rn} - 1 is if one of the inputs is zero, and + then the output of both the recursive calls and this CRT + reconstruction is zero, not B^{rn} - 1. Which is good, + since the latter representation doesn't fit in the output + area.*/ + cy = mpn_sub_n (rp + n, rp, xp, an + bn - n); + + cy = xp[n] + mpn_sub_nc (xp + an + bn - n, rp + an + bn - n, + xp + an + bn - n, rn - (an + bn), cy); + ASSERT (an + bn == rn - 1 || + mpn_zero_p (xp + an + bn - n + 1, rn - 1 - (an + bn))); + cy = mpn_sub_1 (rp, rp, an + bn, cy); + ASSERT (cy == (xp + an + bn - n)[0]); + } + else + { + cy = xp[n] + mpn_sub_n (rp + n, rp, xp, n); + /* cy = 1 only if {xp,n+1} is not ZERO, i.e. {rp,n} is not ZERO. + DECR will affect _at most_ the lowest n limbs. */ + MPN_DECR_U (rp, 2*n, cy); + } +#undef a0 +#undef a1 +#undef b0 +#undef b1 +#undef xp +#undef sp1 + } +} + +mp_size_t +mpn_mulmod_bnm1_next_size (mp_size_t n) +{ + mp_size_t nh; + + if (BELOW_THRESHOLD (n, MULMOD_BNM1_THRESHOLD)) + return n; + if (BELOW_THRESHOLD (n, 4 * (MULMOD_BNM1_THRESHOLD - 1) + 1)) + return (n + (2-1)) & (-2); + if (BELOW_THRESHOLD (n, 8 * (MULMOD_BNM1_THRESHOLD - 1) + 1)) + return (n + (4-1)) & (-4); + + nh = (n + 1) >> 1; + + if (BELOW_THRESHOLD (nh, MUL_FFT_MODF_THRESHOLD)) + return (n + (8-1)) & (-8); + + return 2 * mpn_fft_next_size (nh, mpn_fft_best_k (nh, 0)); +} diff --git a/goil/build/libpm/gmp/mpn-nussbaumer_mul.c b/goil/build/libpm/gmp/mpn-nussbaumer_mul.c new file mode 100644 index 000000000..d2bf19ad5 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-nussbaumer_mul.c @@ -0,0 +1,71 @@ +/* mpn_nussbaumer_mul -- Multiply {ap,an} and {bp,bn} using + Nussbaumer's negacyclic convolution. + + Contributed to the GNU project by Marco Bodrato. + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2009 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "gmp.h" +#include "gmp-impl.h" + +/* Multiply {ap,an} by {bp,bn}, and put the result in {pp, an+bn} */ +void +mpn_nussbaumer_mul (mp_ptr pp, + mp_srcptr ap, mp_size_t an, + mp_srcptr bp, mp_size_t bn) +{ + mp_size_t rn; + mp_ptr tp; + TMP_DECL; + + ASSERT (an >= bn); + ASSERT (bn > 0); + + TMP_MARK; + + if ((ap == bp) && (an == bn)) + { + rn = mpn_sqrmod_bnm1_next_size (2*an); + tp = TMP_ALLOC_LIMBS (mpn_sqrmod_bnm1_itch (rn, an)); + mpn_sqrmod_bnm1 (pp, rn, ap, an, tp); + } + else + { + rn = mpn_mulmod_bnm1_next_size (an + bn); + tp = TMP_ALLOC_LIMBS (mpn_mulmod_bnm1_itch (rn, an, bn)); + mpn_mulmod_bnm1 (pp, rn, ap, an, bp, bn, tp); + } + + TMP_FREE; +} diff --git a/goil/build/libpm/gmp/mpn-pre_divrem_1.c b/goil/build/libpm/gmp/mpn-pre_divrem_1.c new file mode 100644 index 000000000..2de74575c --- /dev/null +++ b/goil/build/libpm/gmp/mpn-pre_divrem_1.c @@ -0,0 +1,146 @@ +/* mpn_preinv_divrem_1 -- mpn by limb division with pre-inverted divisor. + + THE FUNCTIONS IN THIS FILE ARE FOR INTERNAL USE ONLY. THEY'RE ALMOST + CERTAIN TO BE SUBJECT TO INCOMPATIBLE CHANGES OR DISAPPEAR COMPLETELY IN + FUTURE GNU MP RELEASES. + +Copyright 2000-2003 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" +#include "longlong.h" + + +/* Don't bloat a shared library with unused code. */ +#if USE_PREINV_DIVREM_1 + +/* Same test here for skipping one divide step as in mpn_divrem_1. + + The main reason for a separate shift==0 case is that not all CPUs give + zero for "n0 >> GMP_LIMB_BITS" which would arise in the general case + code used on shift==0. shift==0 is also reasonably common in mp_bases + big_base, for instance base==10 on a 64-bit limb. + + Under shift!=0 it would be possible to call mpn_lshift to adjust the + dividend all in one go (into the quotient space say), rather than + limb-by-limb in the loop. This might help if mpn_lshift is a lot faster + than what the compiler can generate for EXTRACT. But this is left to CPU + specific implementations to consider, especially since EXTRACT isn't on + the dependent chain. + + If size==0 then the result is simply xsize limbs of zeros, but nothing + special is done for that, since it wouldn't be a usual call, and + certainly never arises from mpn_get_str which is our main caller. */ + +mp_limb_t +mpn_preinv_divrem_1 (mp_ptr qp, mp_size_t xsize, + mp_srcptr ap, mp_size_t size, mp_limb_t d_unnorm, + mp_limb_t dinv, int shift) +{ + mp_limb_t ahigh, qhigh, r; + mp_size_t i; + mp_limb_t n1, n0; + mp_limb_t d; + + ASSERT (xsize >= 0); + ASSERT (size >= 1); + ASSERT (d_unnorm != 0); +#ifdef WANT_ASSERT + { + int want_shift; + mp_limb_t want_dinv; + count_leading_zeros (want_shift, d_unnorm); + ASSERT (shift == want_shift); + invert_limb (want_dinv, d_unnorm << shift); + ASSERT (dinv == want_dinv); + } +#endif + + ASSERT (MPN_SAME_OR_SEPARATE_P (qp+xsize, ap, size)); + + ahigh = ap[size-1]; + d = d_unnorm << shift; + qp += (size + xsize - 1); /* dest high limb */ + + if (shift == 0) + { + /* High quotient limb is 0 or 1, and skip a divide step. */ + r = ahigh; + qhigh = (r >= d); + r = (qhigh ? r-d : r); + *qp-- = qhigh; + size--; + + for (i = size-1; i >= 0; i--) + { + n0 = ap[i]; + udiv_qrnnd_preinv (*qp, r, r, n0, d, dinv); + qp--; + } + } + else + { + r = 0; + if (ahigh < d_unnorm) + { + r = ahigh << shift; + *qp-- = 0; + size--; + if (size == 0) + goto done_integer; + } + + n1 = ap[size-1]; + r |= n1 >> (GMP_LIMB_BITS - shift); + + for (i = size-2; i >= 0; i--) + { + ASSERT (r < d); + n0 = ap[i]; + udiv_qrnnd_preinv (*qp, r, r, + ((n1 << shift) | (n0 >> (GMP_LIMB_BITS - shift))), + d, dinv); + qp--; + n1 = n0; + } + udiv_qrnnd_preinv (*qp, r, r, n1 << shift, d, dinv); + qp--; + } + + done_integer: + for (i = 0; i < xsize; i++) + { + udiv_qrnnd_preinv (*qp, r, r, CNST_LIMB(0), d, dinv); + qp--; + } + + return r >> shift; +} + +#endif /* USE_PREINV_DIVREM_1 */ diff --git a/goil/build/libpm/gmp/mpn-rshift.c b/goil/build/libpm/gmp/mpn-rshift.c new file mode 100644 index 000000000..ec61f2f7e --- /dev/null +++ b/goil/build/libpm/gmp/mpn-rshift.c @@ -0,0 +1,70 @@ +/* mpn_rshift -- Shift right low level. + +Copyright 1991, 1993, 1994, 1996, 2000-2002 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + +/* Shift U (pointed to by up and N limbs long) cnt bits to the right + and store the n least significant limbs of the result at rp. + The bits shifted out to the right are returned. + + Argument constraints: + 1. 0 < cnt < GMP_NUMB_BITS. + 2. If the result is to be written over the input, rp must be <= up. +*/ + +mp_limb_t +mpn_rshift (mp_ptr rp, mp_srcptr up, mp_size_t n, unsigned int cnt) +{ + mp_limb_t high_limb, low_limb; + unsigned int tnc; + mp_size_t i; + mp_limb_t retval; + + ASSERT (n >= 1); + ASSERT (cnt >= 1); + ASSERT (cnt < GMP_NUMB_BITS); + ASSERT (MPN_SAME_OR_INCR_P (rp, up, n)); + + tnc = GMP_NUMB_BITS - cnt; + high_limb = *up++; + retval = (high_limb << tnc) & GMP_NUMB_MASK; + low_limb = high_limb >> cnt; + + for (i = n - 1; i != 0; i--) + { + high_limb = *up++; + *rp++ = low_limb | ((high_limb << tnc) & GMP_NUMB_MASK); + low_limb = high_limb >> cnt; + } + *rp = low_limb; + + return retval; +} diff --git a/goil/build/libpm/gmp/mpn-sbpi1_div_qr.c b/goil/build/libpm/gmp/mpn-sbpi1_div_qr.c new file mode 100644 index 000000000..0c3e4cb72 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-sbpi1_div_qr.c @@ -0,0 +1,110 @@ +/* mpn_sbpi1_div_qr -- Schoolbook division using the Möller-Granlund 3/2 + division algorithm. + + Contributed to the GNU project by Torbjorn Granlund. + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GMP RELEASE. + +Copyright 2007, 2009 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "gmp.h" +#include "gmp-impl.h" +#include "longlong.h" + +mp_limb_t +mpn_sbpi1_div_qr (mp_ptr qp, + mp_ptr np, mp_size_t nn, + mp_srcptr dp, mp_size_t dn, + mp_limb_t dinv) +{ + mp_limb_t qh; + mp_size_t i; + mp_limb_t n1, n0; + mp_limb_t d1, d0; + mp_limb_t cy, cy1; + mp_limb_t q; + + ASSERT (dn > 2); + ASSERT (nn >= dn); + ASSERT ((dp[dn-1] & GMP_NUMB_HIGHBIT) != 0); + + np += nn; + + qh = mpn_cmp (np - dn, dp, dn) >= 0; + if (qh != 0) + mpn_sub_n (np - dn, np - dn, dp, dn); + + qp += nn - dn; + + dn -= 2; /* offset dn by 2 for main division loops, + saving two iterations in mpn_submul_1. */ + d1 = dp[dn + 1]; + d0 = dp[dn + 0]; + + np -= 2; + + n1 = np[1]; + + for (i = nn - (dn + 2); i > 0; i--) + { + np--; + if (UNLIKELY (n1 == d1) && np[1] == d0) + { + q = GMP_NUMB_MASK; + mpn_submul_1 (np - dn, dp, dn + 2, q); + n1 = np[1]; /* update n1, last loop's value will now be invalid */ + } + else + { + udiv_qr_3by2 (q, n1, n0, n1, np[1], np[0], d1, d0, dinv); + + cy = mpn_submul_1 (np - dn, dp, dn, q); + + cy1 = n0 < cy; + n0 = (n0 - cy) & GMP_NUMB_MASK; + cy = n1 < cy1; + n1 = (n1 - cy1) & GMP_NUMB_MASK; + np[0] = n0; + + if (UNLIKELY (cy != 0)) + { + n1 += d1 + mpn_add_n (np - dn, np - dn, dp, dn + 1); + q--; + } + } + + *--qp = q; + } + np[1] = n1; + + return qh; +} diff --git a/goil/build/libpm/gmp/mpn-sbpi1_divappr_q.c b/goil/build/libpm/gmp/mpn-sbpi1_divappr_q.c new file mode 100644 index 000000000..3e7cf91ba --- /dev/null +++ b/goil/build/libpm/gmp/mpn-sbpi1_divappr_q.c @@ -0,0 +1,199 @@ +/* mpn_sbpi1_divappr_q -- Schoolbook division using the Möller-Granlund 3/2 + division algorithm, returning approximate quotient. The quotient returned + is either correct, or one too large. + + Contributed to the GNU project by Torbjorn Granlund. + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GMP RELEASE. + +Copyright 2007, 2009 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "gmp.h" +#include "gmp-impl.h" +#include "longlong.h" + +mp_limb_t +mpn_sbpi1_divappr_q (mp_ptr qp, + mp_ptr np, mp_size_t nn, + mp_srcptr dp, mp_size_t dn, + mp_limb_t dinv) +{ + mp_limb_t qh; + mp_size_t qn, i; + mp_limb_t n1, n0; + mp_limb_t d1, d0; + mp_limb_t cy, cy1; + mp_limb_t q; + mp_limb_t flag; + + ASSERT (dn > 2); + ASSERT (nn >= dn); + ASSERT ((dp[dn-1] & GMP_NUMB_HIGHBIT) != 0); + + np += nn; + + qn = nn - dn; + if (qn + 1 < dn) + { + dp += dn - (qn + 1); + dn = qn + 1; + } + + qh = mpn_cmp (np - dn, dp, dn) >= 0; + if (qh != 0) + mpn_sub_n (np - dn, np - dn, dp, dn); + + qp += qn; + + dn -= 2; /* offset dn by 2 for main division loops, + saving two iterations in mpn_submul_1. */ + d1 = dp[dn + 1]; + d0 = dp[dn + 0]; + + np -= 2; + + n1 = np[1]; + + for (i = qn - (dn + 2); i >= 0; i--) + { + np--; + if (UNLIKELY (n1 == d1) && np[1] == d0) + { + q = GMP_NUMB_MASK; + mpn_submul_1 (np - dn, dp, dn + 2, q); + n1 = np[1]; /* update n1, last loop's value will now be invalid */ + } + else + { + udiv_qr_3by2 (q, n1, n0, n1, np[1], np[0], d1, d0, dinv); + + cy = mpn_submul_1 (np - dn, dp, dn, q); + + cy1 = n0 < cy; + n0 = (n0 - cy) & GMP_NUMB_MASK; + cy = n1 < cy1; + n1 -= cy1; + np[0] = n0; + + if (UNLIKELY (cy != 0)) + { + n1 += d1 + mpn_add_n (np - dn, np - dn, dp, dn + 1); + q--; + } + } + + *--qp = q; + } + + flag = ~CNST_LIMB(0); + + if (dn >= 0) + { + for (i = dn; i > 0; i--) + { + np--; + if (UNLIKELY (n1 >= (d1 & flag))) + { + q = GMP_NUMB_MASK; + cy = mpn_submul_1 (np - dn, dp, dn + 2, q); + + if (UNLIKELY (n1 != cy)) + { + if (n1 < (cy & flag)) + { + q--; + mpn_add_n (np - dn, np - dn, dp, dn + 2); + } + else + flag = 0; + } + n1 = np[1]; + } + else + { + udiv_qr_3by2 (q, n1, n0, n1, np[1], np[0], d1, d0, dinv); + + cy = mpn_submul_1 (np - dn, dp, dn, q); + + cy1 = n0 < cy; + n0 = (n0 - cy) & GMP_NUMB_MASK; + cy = n1 < cy1; + n1 -= cy1; + np[0] = n0; + + if (UNLIKELY (cy != 0)) + { + n1 += d1 + mpn_add_n (np - dn, np - dn, dp, dn + 1); + q--; + } + } + + *--qp = q; + + /* Truncate operands. */ + dn--; + dp++; + } + + np--; + if (UNLIKELY (n1 >= (d1 & flag))) + { + q = GMP_NUMB_MASK; + cy = mpn_submul_1 (np, dp, 2, q); + + if (UNLIKELY (n1 != cy)) + { + if (n1 < (cy & flag)) + { + q--; + add_ssaaaa (np[1], np[0], np[1], np[0], dp[1], dp[0]); + } + else + flag = 0; + } + n1 = np[1]; + } + else + { + udiv_qr_3by2 (q, n1, n0, n1, np[1], np[0], d1, d0, dinv); + + np[1] = n1; + np[0] = n0; + } + + *--qp = q; + } + + ASSERT_ALWAYS (np[1] == n1); + + return qh; +} diff --git a/goil/build/libpm/gmp/mpn-set_str.c b/goil/build/libpm/gmp/mpn-set_str.c new file mode 100644 index 000000000..d11160360 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-set_str.c @@ -0,0 +1,375 @@ +/* mpn_set_str (mp_ptr res_ptr, const char *str, size_t str_len, int base) -- + Convert a STR_LEN long base BASE byte string pointed to by STR to a limb + vector pointed to by RES_PTR. Return the number of limbs in RES_PTR. + + Contributed to the GNU project by Torbjorn Granlund. + + THE FUNCTIONS IN THIS FILE, EXCEPT mpn_set_str, ARE INTERNAL WITH A MUTABLE + INTERFACE. IT IS ONLY SAFE TO REACH THEM THROUGH DOCUMENTED INTERFACES. IN + FACT, IT IS ALMOST GUARANTEED THAT THEY WILL CHANGE OR DISAPPEAR IN A FUTURE + GNU MP RELEASE. + +Copyright 1991-1994, 1996, 2000-2002, 2004, 2006-2008, 2012, 2013 Free +Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +/* TODO: + + Perhaps do not compute the highest power? + Instead, multiply twice by the 2nd highest power: + + _______ + |_______| hp + |_______| pow + _______________ + |_______________| final result + + + _______ + |_______| hp + |___| pow[-1] + ___________ + |___________| intermediate result + |___| pow[-1] + _______________ + |_______________| final result + + Generalizing that idea, perhaps we should make powtab contain successive + cubes, not squares. +*/ + +#include "gmp.h" +#include "gmp-impl.h" +#include "longlong.h" + + +mp_size_t +mpn_set_str (mp_ptr rp, const unsigned char *str, size_t str_len, int base) +{ + if (POW2_P (base)) + { + /* The base is a power of 2. Read the input string from least to most + significant character/digit. */ + + const unsigned char *s; + int next_bitpos; + mp_limb_t res_digit; + mp_size_t size; + int bits_per_indigit = (int) mp_bases[base].big_base; // (int) added by PM + + size = 0; + res_digit = 0; + next_bitpos = 0; + + for (s = str + str_len - 1; s >= str; s--) + { + int inp_digit = *s; + + res_digit |= ((mp_limb_t) inp_digit << next_bitpos) & GMP_NUMB_MASK; + next_bitpos += bits_per_indigit; + if (next_bitpos >= GMP_NUMB_BITS) + { + rp[size++] = res_digit; + next_bitpos -= GMP_NUMB_BITS; + res_digit = ((mp_limb_t) inp_digit) >> (bits_per_indigit - next_bitpos); // (mp_limb_t) added by PM + } + } + + if (res_digit != 0) + rp[size++] = res_digit; + return size; + } + + if (BELOW_THRESHOLD (str_len, SET_STR_PRECOMPUTE_THRESHOLD)) + return mpn_bc_set_str (rp, str, str_len, base); + else + { + mp_ptr powtab_mem, tp; + powers_t powtab[GMP_LIMB_BITS]; + int chars_per_limb; + mp_size_t size; + mp_size_t un; + TMP_DECL; + + TMP_MARK; + + chars_per_limb = mp_bases[base].chars_per_limb; + + un = (mp_size_t) (str_len / ((size_t) chars_per_limb) + 1); // (mp_size_t), (size_t) added by PM + + /* Allocate one large block for the powers of big_base. */ + powtab_mem = TMP_BALLOC_LIMBS (mpn_dc_set_str_powtab_alloc (un)); + + mpn_set_str_compute_powtab (powtab, powtab_mem, un, base); + + tp = TMP_BALLOC_LIMBS (mpn_dc_set_str_itch (un)); + size = mpn_dc_set_str (rp, str, str_len, powtab, tp); + + TMP_FREE; + return size; + } +} + +void +mpn_set_str_compute_powtab (powers_t *powtab, mp_ptr powtab_mem, mp_size_t un, int base) +{ + mp_ptr powtab_mem_ptr; + long i, pi; + mp_size_t n; + mp_ptr p, t; + mp_limb_t big_base; + int chars_per_limb; + size_t digits_in_base; + mp_size_t shift; + + powtab_mem_ptr = powtab_mem; + + chars_per_limb = mp_bases[base].chars_per_limb; + big_base = mp_bases[base].big_base; + + p = powtab_mem_ptr; + powtab_mem_ptr += 1; + + digits_in_base = (size_t) chars_per_limb; // (size_t) added by PM + + p[0] = big_base; + n = 1; + + count_leading_zeros (i, (UWtype) (un - 1)); // (UWtype) added by PM + i = GMP_LIMB_BITS - 1 - i; + + powtab[i].p = p; + powtab[i].n = n; + powtab[i].digits_in_base = digits_in_base; + powtab[i].base = base; + powtab[i].shift = 0; + + shift = 0; + for (pi = i - 1; pi >= 0; pi--) + { + t = powtab_mem_ptr; + powtab_mem_ptr += 2 * n; + + ASSERT_ALWAYS (powtab_mem_ptr < powtab_mem + mpn_dc_set_str_powtab_alloc (un)); + + mpn_sqr (t, p, n); + n = 2 * n - 1; n += t[n] != 0; + digits_in_base *= 2; +#if 1 + if ((((un - 1) >> pi) & 2) == 0) + { + mpn_divexact_1 (t, t, n, big_base); + n -= t[n - 1] == 0; + digits_in_base -= (unsigned long) chars_per_limb; // (unsigned long) added by PM + } +#else + if (CLEVER_CONDITION_1 ()) + { + /* perform adjustment operation of previous */ + cy = mpn_mul_1 (p, p, n, big_base); + } + if (CLEVER_CONDITION_2 ()) + { + /* perform adjustment operation of new */ + cy = mpn_mul_1 (t, t, n, big_base); + } +#endif + shift *= 2; + /* Strip low zero limbs, but be careful to keep the result divisible by + big_base. */ + while (t[0] == 0 && (t[1] & ((big_base & -big_base) - 1)) == 0) + { + t++; + n--; + shift++; + } + p = t; + powtab[pi].p = p; + powtab[pi].n = n; + powtab[pi].digits_in_base = digits_in_base; + powtab[pi].base = base; + powtab[pi].shift = shift; + } +} + +mp_size_t +mpn_dc_set_str (mp_ptr rp, const unsigned char *str, size_t str_len, + const powers_t *powtab, mp_ptr tp) +{ + size_t len_lo, len_hi; + mp_limb_t cy; + mp_size_t ln, hn, n, sn; + + len_lo = powtab->digits_in_base; + + if (str_len <= len_lo) + { + if (BELOW_THRESHOLD (str_len, SET_STR_DC_THRESHOLD)) + return mpn_bc_set_str (rp, str, str_len, powtab->base); + else + return mpn_dc_set_str (rp, str, str_len, powtab + 1, tp); + } + + len_hi = str_len - len_lo; + ASSERT (len_lo >= len_hi); + + if (BELOW_THRESHOLD (len_hi, SET_STR_DC_THRESHOLD)) + hn = mpn_bc_set_str (tp, str, len_hi, powtab->base); + else + hn = mpn_dc_set_str (tp, str, len_hi, powtab + 1, rp); + + sn = powtab->shift; + + if (hn == 0) + { + /* Zero +1 limb here, to avoid reading an allocated but uninitialised + limb in mpn_incr_u below. */ + MPN_ZERO (rp, powtab->n + sn + 1); + } + else + { + if (powtab->n > hn) + mpn_mul (rp + sn, powtab->p, powtab->n, tp, hn); + else + mpn_mul (rp + sn, tp, hn, powtab->p, powtab->n); + MPN_ZERO (rp, sn); + } + + str = str + str_len - len_lo; + if (BELOW_THRESHOLD (len_lo, SET_STR_DC_THRESHOLD)) + ln = mpn_bc_set_str (tp, str, len_lo, powtab->base); + else + ln = mpn_dc_set_str (tp, str, len_lo, powtab + 1, tp + powtab->n + sn + 1); + + if (ln != 0) + { + cy = mpn_add_n (rp, rp, tp, ln); + mpn_incr_u (rp + ln, cy); + } + n = hn + powtab->n + sn; + return n - (rp[n - 1] == 0); +} + +mp_size_t +mpn_bc_set_str (mp_ptr rp, const unsigned char *str, size_t str_len, int base) +{ + mp_size_t size; + size_t i; + long j; + mp_limb_t cy_limb; + + mp_limb_t big_base; + int chars_per_limb; + mp_limb_t res_digit; + + ASSERT (base >= 2); + ASSERT (base < numberof (mp_bases)); + ASSERT (str_len >= 1); + + big_base = mp_bases[base].big_base; + chars_per_limb = mp_bases[base].chars_per_limb; + + size = 0; + for (i = (size_t) chars_per_limb; i < str_len; i += (size_t) chars_per_limb) // size_t added by PM + { + res_digit = *str++; + if (base == 10) + { /* This is a common case. + Help the compiler to avoid multiplication. */ + for (j = MP_BASES_CHARS_PER_LIMB_10 - 1; j != 0; j--) + res_digit = res_digit * 10 + *str++; + } + else + { + for (j = chars_per_limb - 1; j != 0; j--) + res_digit = res_digit * ((unsigned long) base) + *str++; // (unsigned long) added by PM + } + + if (size == 0) + { + if (res_digit != 0) + { + rp[0] = res_digit; + size = 1; + } + } + else + { +#ifdef HAVE_NATIVE_mpn_mul_1c + cy_limb = mpn_mul_1c (rp, rp, size, big_base, res_digit); +#else + cy_limb = mpn_mul_1 (rp, rp, size, big_base); + cy_limb += mpn_add_1 (rp, rp, size, res_digit); +#endif + if (cy_limb != 0) + rp[size++] = cy_limb; + } + } + + big_base = (mp_limb_t) base; // (mp_limb_t) added by PM + res_digit = *str++; + if (base == 10) + { /* This is a common case. + Help the compiler to avoid multiplication. */ + for (j = (long) (str_len - (((long) i) - MP_BASES_CHARS_PER_LIMB_10) - 1); j > 0; j--) + { + res_digit = res_digit * 10 + *str++; + big_base *= 10; + } + } + else + { + for (j = ((long) str_len) - (((long) i) - (long) chars_per_limb) - 1; j > 0; j--) // (long) added by PM + { + res_digit = res_digit * (mp_limb_t) base + *str++; // (mp_limb_t) added by PM + big_base *= (mp_limb_t) base; // (mp_limb_t) added by PM + } + } + + if (size == 0) + { + if (res_digit != 0) + { + rp[0] = res_digit; + size = 1; + } + } + else + { +#ifdef HAVE_NATIVE_mpn_mul_1c + cy_limb = mpn_mul_1c (rp, rp, size, big_base, res_digit); +#else + cy_limb = mpn_mul_1 (rp, rp, size, big_base); + cy_limb += mpn_add_1 (rp, rp, size, res_digit); +#endif + if (cy_limb != 0) + rp[size++] = cy_limb; + } + return size; +} diff --git a/goil/build/libpm/gmp/mpn-sqr.c b/goil/build/libpm/gmp/mpn-sqr.c new file mode 100644 index 000000000..3743761f7 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-sqr.c @@ -0,0 +1,99 @@ +/* mpn_sqr -- square natural numbers. + +Copyright 1991, 1993, 1994, 1996-2003, 2005, 2008, 2009 Free Software +Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" +#include "longlong.h" + +void +mpn_sqr (mp_ptr p, mp_srcptr a, mp_size_t n) +{ + ASSERT (n >= 1); + ASSERT (! MPN_OVERLAP_P (p, 2 * n, a, n)); + + if (BELOW_THRESHOLD (n, SQR_BASECASE_THRESHOLD)) + { /* mul_basecase is faster than sqr_basecase on small sizes sometimes */ + mpn_mul_basecase (p, a, n, a, n); + } + else if (BELOW_THRESHOLD (n, SQR_TOOM2_THRESHOLD)) + { + mpn_sqr_basecase (p, a, n); + } + else if (BELOW_THRESHOLD (n, SQR_TOOM3_THRESHOLD)) + { + /* Allocate workspace of fixed size on stack: fast! */ + mp_limb_t ws[mpn_toom2_sqr_itch (SQR_TOOM3_THRESHOLD_LIMIT-1)]; + ASSERT (SQR_TOOM3_THRESHOLD <= SQR_TOOM3_THRESHOLD_LIMIT); + mpn_toom2_sqr (p, a, n, ws); + } + else if (BELOW_THRESHOLD (n, SQR_TOOM4_THRESHOLD)) + { + mp_ptr ws; + TMP_SDECL; + TMP_SMARK; + ws = TMP_SALLOC_LIMBS (mpn_toom3_sqr_itch (n)); + mpn_toom3_sqr (p, a, n, ws); + TMP_SFREE; + } + else if (BELOW_THRESHOLD (n, SQR_TOOM6_THRESHOLD)) + { + mp_ptr ws; + TMP_SDECL; + TMP_SMARK; + ws = TMP_SALLOC_LIMBS (mpn_toom4_sqr_itch (n)); + mpn_toom4_sqr (p, a, n, ws); + TMP_SFREE; + } + else if (BELOW_THRESHOLD (n, SQR_TOOM8_THRESHOLD)) + { + mp_ptr ws; + TMP_SDECL; + TMP_SMARK; + ws = TMP_SALLOC_LIMBS (mpn_toom6_sqr_itch (n)); + mpn_toom6_sqr (p, a, n, ws); + TMP_SFREE; + } + else if (BELOW_THRESHOLD (n, SQR_FFT_THRESHOLD)) + { + mp_ptr ws; + TMP_DECL; + TMP_MARK; + ws = TMP_ALLOC_LIMBS (mpn_toom8_sqr_itch (n)); + mpn_toom8_sqr (p, a, n, ws); + TMP_FREE; + } + else + { + /* The current FFT code allocates its own space. That should probably + change. */ + mpn_fft_mul (p, a, n, a, n); + } +} diff --git a/goil/build/libpm/gmp/mpn-sqr_basecase.c b/goil/build/libpm/gmp/mpn-sqr_basecase.c new file mode 100644 index 000000000..e30609437 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-sqr_basecase.c @@ -0,0 +1,322 @@ +/* mpn_sqr_basecase -- Internal routine to square a natural number + of length n. + + THIS IS AN INTERNAL FUNCTION WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH THIS FUNCTION THROUGH DOCUMENTED INTERFACES. + + +Copyright 1991-1994, 1996, 1997, 2000-2005, 2008, 2010, 2011 Free Software +Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" +#include "longlong.h" + + +#ifdef HAVE_NATIVE_mpn_sqr_diagonal +#define MPN_SQR_DIAGONAL(rp, up, n) \ + mpn_sqr_diagonal (rp, up, n) +#else +#define MPN_SQR_DIAGONAL(rp, up, n) \ + do { \ + mp_size_t _i; \ + for (_i = 0; _i < (n); _i++) \ + { \ + mp_limb_t ul, lpl; \ + ul = (up)[_i]; \ + umul_ppmm ((rp)[2 * _i + 1], lpl, ul, ul << GMP_NAIL_BITS); \ + (rp)[2 * _i] = lpl >> GMP_NAIL_BITS; \ + } \ + } while (0) +#endif + +#ifdef HAVE_NATIVE_mpn_sqr_diag_addlsh1 +#define MPN_SQR_DIAG_ADDLSH1(rp, tp, up, n) \ + mpn_sqr_diag_addlsh1 (rp, tp, up, n) +#else +#ifdef HAVE_NATIVE_mpn_addlsh1_n +#define MPN_SQR_DIAG_ADDLSH1(rp, tp, up, n) \ + do { \ + mp_limb_t cy; \ + MPN_SQR_DIAGONAL (rp, up, n); \ + cy = mpn_addlsh1_n (rp + 1, rp + 1, tp, 2 * n - 2); \ + rp[2 * n - 1] += cy; \ + } while (0) +#else +#define MPN_SQR_DIAG_ADDLSH1(rp, tp, up, n) \ + do { \ + mp_limb_t cy; \ + MPN_SQR_DIAGONAL (rp, up, n); \ + cy = mpn_lshift (tp, tp, 2 * n - 2, 1); \ + cy += mpn_add_n (rp + 1, rp + 1, tp, 2 * n - 2); \ + rp[2 * n - 1] += cy; \ + } while (0) +#endif +#endif + + +#undef READY_WITH_mpn_sqr_basecase + + +#if ! defined (READY_WITH_mpn_sqr_basecase) && defined (HAVE_NATIVE_mpn_addmul_2s) +void +mpn_sqr_basecase (mp_ptr rp, mp_srcptr up, mp_size_t n) +{ + mp_size_t i; + mp_limb_t tarr[2 * SQR_TOOM2_THRESHOLD]; + mp_ptr tp = tarr; + mp_limb_t cy; + + /* must fit 2*n limbs in tarr */ + ASSERT (n <= SQR_TOOM2_THRESHOLD); + + if ((n & 1) != 0) + { + if (n == 1) + { + mp_limb_t ul, lpl; + ul = up[0]; + umul_ppmm (rp[1], lpl, ul, ul << GMP_NAIL_BITS); + rp[0] = lpl >> GMP_NAIL_BITS; + return; + } + + MPN_ZERO (tp, n); + + for (i = 0; i <= n - 2; i += 2) + { + cy = mpn_addmul_2s (tp + 2 * i, up + i + 1, n - (i + 1), up + i); + tp[n + i] = cy; + } + } + else + { + if (n == 2) + { +#if HAVE_NATIVE_mpn_mul_2 + rp[3] = mpn_mul_2 (rp, up, 2, up); +#else + rp[0] = 0; + rp[1] = 0; + rp[3] = mpn_addmul_2 (rp, up, 2, up); +#endif + return; + } + + MPN_ZERO (tp, n); + + for (i = 0; i <= n - 4; i += 2) + { + cy = mpn_addmul_2s (tp + 2 * i, up + i + 1, n - (i + 1), up + i); + tp[n + i] = cy; + } + cy = mpn_addmul_1 (tp + 2 * n - 4, up + n - 1, 1, up[n - 2]); + tp[2 * n - 3] = cy; + } + + MPN_SQR_DIAG_ADDLSH1 (rp, tp, up, n); +} +#define READY_WITH_mpn_sqr_basecase +#endif + + +#if ! defined (READY_WITH_mpn_sqr_basecase) && defined (HAVE_NATIVE_mpn_addmul_2) + +/* mpn_sqr_basecase using plain mpn_addmul_2. + + This is tricky, since we have to let mpn_addmul_2 make some undesirable + multiplies, u[k]*u[k], that we would like to let mpn_sqr_diagonal handle. + This forces us to conditionally add or subtract the mpn_sqr_diagonal + results. Examples of the product we form: + + n = 4 n = 5 n = 6 + u1u0 * u3u2u1 u1u0 * u4u3u2u1 u1u0 * u5u4u3u2u1 + u2 * u3 u3u2 * u4u3 u3u2 * u5u4u3 + u4 * u5 + add: u0 u2 u3 add: u0 u2 u4 add: u0 u2 u4 u5 + sub: u1 sub: u1 u3 sub: u1 u3 +*/ + +void +mpn_sqr_basecase (mp_ptr rp, mp_srcptr up, mp_size_t n) +{ + mp_size_t i; + mp_limb_t tarr[2 * SQR_TOOM2_THRESHOLD]; + mp_ptr tp = tarr; + mp_limb_t cy; + + /* must fit 2*n limbs in tarr */ + ASSERT (n <= SQR_TOOM2_THRESHOLD); + + if ((n & 1) != 0) + { + mp_limb_t x0, x1; + + if (n == 1) + { + mp_limb_t ul, lpl; + ul = up[0]; + umul_ppmm (rp[1], lpl, ul, ul << GMP_NAIL_BITS); + rp[0] = lpl >> GMP_NAIL_BITS; + return; + } + + /* The code below doesn't like unnormalized operands. Since such + operands are unusual, handle them with a dumb recursion. */ + if (up[n - 1] == 0) + { + rp[2 * n - 2] = 0; + rp[2 * n - 1] = 0; + mpn_sqr_basecase (rp, up, n - 1); + return; + } + + MPN_ZERO (tp, n); + + for (i = 0; i <= n - 2; i += 2) + { + cy = mpn_addmul_2 (tp + 2 * i, up + i + 1, n - (i + 1), up + i); + tp[n + i] = cy; + } + + MPN_SQR_DIAGONAL (rp, up, n); + + for (i = 2;; i += 4) + { + x0 = rp[i + 0]; + rp[i + 0] = (-x0) & GMP_NUMB_MASK; + x1 = rp[i + 1]; + rp[i + 1] = (-x1 - (x0 != 0)) & GMP_NUMB_MASK; + __GMPN_SUB_1 (cy, rp + i + 2, rp + i + 2, 2, (x1 | x0) != 0); + if (i + 4 >= 2 * n) + break; + mpn_incr_u (rp + i + 4, cy); + } + } + else + { + mp_limb_t x0, x1; + + if (n == 2) + { +#if HAVE_NATIVE_mpn_mul_2 + rp[3] = mpn_mul_2 (rp, up, 2, up); +#else + rp[0] = 0; + rp[1] = 0; + rp[3] = mpn_addmul_2 (rp, up, 2, up); +#endif + return; + } + + /* The code below doesn't like unnormalized operands. Since such + operands are unusual, handle them with a dumb recursion. */ + if (up[n - 1] == 0) + { + rp[2 * n - 2] = 0; + rp[2 * n - 1] = 0; + mpn_sqr_basecase (rp, up, n - 1); + return; + } + + MPN_ZERO (tp, n); + + for (i = 0; i <= n - 4; i += 2) + { + cy = mpn_addmul_2 (tp + 2 * i, up + i + 1, n - (i + 1), up + i); + tp[n + i] = cy; + } + cy = mpn_addmul_1 (tp + 2 * n - 4, up + n - 1, 1, up[n - 2]); + tp[2 * n - 3] = cy; + + MPN_SQR_DIAGONAL (rp, up, n); + + for (i = 2;; i += 4) + { + x0 = rp[i + 0]; + rp[i + 0] = (-x0) & GMP_NUMB_MASK; + x1 = rp[i + 1]; + rp[i + 1] = (-x1 - (x0 != 0)) & GMP_NUMB_MASK; + if (i + 6 >= 2 * n) + break; + __GMPN_SUB_1 (cy, rp + i + 2, rp + i + 2, 2, (x1 | x0) != 0); + mpn_incr_u (rp + i + 4, cy); + } + mpn_decr_u (rp + i + 2, (x1 | x0) != 0); + } + +#if HAVE_NATIVE_mpn_addlsh1_n + cy = mpn_addlsh1_n (rp + 1, rp + 1, tp, 2 * n - 2); +#else + cy = mpn_lshift (tp, tp, 2 * n - 2, 1); + cy += mpn_add_n (rp + 1, rp + 1, tp, 2 * n - 2); +#endif + rp[2 * n - 1] += cy; +} +#define READY_WITH_mpn_sqr_basecase +#endif + + +#if ! defined (READY_WITH_mpn_sqr_basecase) + +/* Default mpn_sqr_basecase using mpn_addmul_1. */ + +void +mpn_sqr_basecase (mp_ptr rp, mp_srcptr up, mp_size_t n) +{ + mp_size_t i; + + ASSERT (n >= 1); + ASSERT (! MPN_OVERLAP_P (rp, 2*n, up, n)); + + { + mp_limb_t ul, lpl; + ul = up[0]; + umul_ppmm (rp[1], lpl, ul, ul << GMP_NAIL_BITS); + rp[0] = lpl >> GMP_NAIL_BITS; + } + if (n > 1) { + mp_limb_t tarr[2 * SQR_TOOM2_THRESHOLD]; + mp_ptr tp = tarr; + mp_limb_t ccy; + + /* must fit 2*n limbs in tarr */ + ASSERT (n <= SQR_TOOM2_THRESHOLD); + + ccy = mpn_mul_1 (tp, up + 1, n - 1, up[0]); + tp[n - 1] = ccy; + for (i = 2; i < n; i++) { + const mp_limb_t cy = mpn_addmul_1 (tp + 2 * i - 2, up + i, n - i, up[i - 1]); + tp[n + i - 2] = cy; + } + + MPN_SQR_DIAG_ADDLSH1 (rp, tp, up, n); + } +} +#endif diff --git a/goil/build/libpm/gmp/mpn-sqrmod_bnm1.c b/goil/build/libpm/gmp/mpn-sqrmod_bnm1.c new file mode 100644 index 000000000..c7cc2f05b --- /dev/null +++ b/goil/build/libpm/gmp/mpn-sqrmod_bnm1.c @@ -0,0 +1,311 @@ +/* sqrmod_bnm1.c -- squaring mod B^n-1. + + Contributed to the GNU project by Niels Möller, Torbjorn Granlund and + Marco Bodrato. + + THE FUNCTIONS IN THIS FILE ARE INTERNAL WITH MUTABLE INTERFACES. IT IS ONLY + SAFE TO REACH THEM THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT THEY WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2009, 2010, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "gmp.h" +#include "gmp-impl.h" +#include "longlong.h" + + +/* Input is {ap,rn}; output is {rp,rn}, computation is + mod B^rn - 1, and values are semi-normalised; zero is represented + as either 0 or B^n - 1. Needs a scratch of 2rn limbs at tp. + tp==rp is allowed. */ +static void +mpn_bc_sqrmod_bnm1 (mp_ptr rp, mp_srcptr ap, mp_size_t rn, mp_ptr tp) +{ + mp_limb_t cy; + + ASSERT (0 < rn); + + mpn_sqr (tp, ap, rn); + cy = mpn_add_n (rp, tp, tp + rn, rn); + /* If cy == 1, then the value of rp is at most B^rn - 2, so there can + * be no overflow when adding in the carry. */ + MPN_INCR_U (rp, rn, cy); +} + + +/* Input is {ap,rn+1}; output is {rp,rn+1}, in + semi-normalised representation, computation is mod B^rn + 1. Needs + a scratch area of 2rn + 2 limbs at tp; tp == rp is allowed. + Output is normalised. */ +static void +mpn_bc_sqrmod_bnp1 (mp_ptr rp, mp_srcptr ap, mp_size_t rn, mp_ptr tp) +{ + mp_limb_t cy; + + ASSERT (0 < rn); + + mpn_sqr (tp, ap, rn + 1); + ASSERT (tp[2*rn+1] == 0); + ASSERT (tp[2*rn] < GMP_NUMB_MAX); + cy = tp[2*rn] + mpn_sub_n (rp, tp, tp+rn, rn); + rp[rn] = 0; + MPN_INCR_U (rp, rn+1, cy ); +} + + +/* Computes {rp,MIN(rn,2an)} <- {ap,an}^2 Mod(B^rn-1) + * + * The result is expected to be ZERO if and only if the operand + * already is. Otherwise the class [0] Mod(B^rn-1) is represented by + * B^rn-1. + * It should not be a problem if sqrmod_bnm1 is used to + * compute the full square with an <= 2*rn, because this condition + * implies (B^an-1)^2 < (B^rn-1) . + * + * Requires rn/4 < an <= rn + * Scratch need: rn/2 + (need for recursive call OR rn + 3). This gives + * + * S(n) <= rn/2 + MAX (rn + 4, S(n/2)) <= 3/2 rn + 4 + */ +void +mpn_sqrmod_bnm1 (mp_ptr rp, mp_size_t rn, mp_srcptr ap, mp_size_t an, mp_ptr tp) +{ + ASSERT (0 < an); + ASSERT (an <= rn); + + if ((rn & 1) != 0 || BELOW_THRESHOLD (rn, SQRMOD_BNM1_THRESHOLD)) + { + if (UNLIKELY (an < rn)) + { + if (UNLIKELY (2*an <= rn)) + { + mpn_sqr (rp, ap, an); + } + else + { + mp_limb_t cy; + mpn_sqr (tp, ap, an); + cy = mpn_add (rp, tp, rn, tp + rn, 2*an - rn); + MPN_INCR_U (rp, rn, cy); + } + } + else + mpn_bc_sqrmod_bnm1 (rp, ap, rn, tp); + } + else + { + mp_size_t n; + mp_limb_t cy; + mp_limb_t hi; + + n = rn >> 1; + + ASSERT (2*an > n); + + /* Compute xm = a^2 mod (B^n - 1), xp = a^2 mod (B^n + 1) + and crt together as + + x = -xp * B^n + (B^n + 1) * [ (xp + xm)/2 mod (B^n-1)] + */ + +#define a0 ap +#define a1 (ap + n) + +#define xp tp /* 2n + 2 */ + /* am1 maybe in {xp, n} */ +#define sp1 (tp + 2*n + 2) + /* ap1 maybe in {sp1, n + 1} */ + + { + mp_srcptr am1; + mp_size_t anm; + mp_ptr so; + + if (LIKELY (an > n)) + { + so = xp + n; + am1 = xp; + cy = mpn_add (xp, a0, n, a1, an - n); + MPN_INCR_U (xp, n, cy); + anm = n; + } + else + { + so = xp; + am1 = a0; + anm = an; + } + + mpn_sqrmod_bnm1 (rp, n, am1, anm, so); + } + + { + int k; + mp_srcptr ap1; + mp_size_t anp; + + if (LIKELY (an > n)) { + ap1 = sp1; + cy = mpn_sub (sp1, a0, n, a1, an - n); + sp1[n] = 0; + MPN_INCR_U (sp1, n + 1, cy); + anp = n + ap1[n]; + } else { + ap1 = a0; + anp = an; + } + + if (BELOW_THRESHOLD (n, MUL_FFT_MODF_THRESHOLD)) + k=0; + else + { + int mask; + k = mpn_fft_best_k (n, 1); + mask = (1<>=1;}; + } + if (k >= FFT_FIRST_K) + xp[n] = mpn_mul_fft (xp, n, ap1, anp, ap1, anp, k); + else if (UNLIKELY (ap1 == a0)) + { + ASSERT (anp <= n); + ASSERT (2*anp > n); + mpn_sqr (xp, a0, an); + anp = 2*an - n; + cy = mpn_sub (xp, xp, n, xp + n, anp); + xp[n] = 0; + MPN_INCR_U (xp, n+1, cy); + } + else + mpn_bc_sqrmod_bnp1 (xp, ap1, n, xp); + } + + /* Here the CRT recomposition begins. + + xm <- (xp + xm)/2 = (xp + xm)B^n/2 mod (B^n-1) + Division by 2 is a bitwise rotation. + + Assumes xp normalised mod (B^n+1). + + The residue class [0] is represented by [B^n-1]; except when + both input are ZERO. + */ + +#if defined (HAVE_NATIVE_mpn_rsh1add_n) || defined (HAVE_NATIVE_mpn_rsh1add_nc) +#if HAVE_NATIVE_mpn_rsh1add_nc + cy = mpn_rsh1add_nc(rp, rp, xp, n, xp[n]); /* B^n = 1 */ + hi = cy << (GMP_NUMB_BITS - 1); + cy = 0; + /* next update of rp[n-1] will set cy = 1 only if rp[n-1]+=hi + overflows, i.e. a further increment will not overflow again. */ +#else /* ! _nc */ + cy = xp[n] + mpn_rsh1add_n(rp, rp, xp, n); /* B^n = 1 */ + hi = (cy<<(GMP_NUMB_BITS-1))&GMP_NUMB_MASK; /* (cy&1) << ... */ + cy >>= 1; + /* cy = 1 only if xp[n] = 1 i.e. {xp,n} = ZERO, this implies that + the rsh1add was a simple rshift: the top bit is 0. cy=1 => hi=0. */ +#endif +#if GMP_NAIL_BITS == 0 + add_ssaaaa(cy, rp[n-1], cy, rp[n-1], CNST_LIMB(0), hi); +#else + cy += (hi & rp[n-1]) >> (GMP_NUMB_BITS-1); + rp[n-1] ^= hi; +#endif +#else /* ! HAVE_NATIVE_mpn_rsh1add_n */ +#ifdef HAVE_NATIVE_mpn_add_nc + cy = mpn_add_nc(rp, rp, xp, n, xp[n]); +#else /* ! _nc */ + cy = xp[n] + mpn_add_n(rp, rp, xp, n); /* xp[n] == 1 implies {xp,n} == ZERO */ +#endif + cy += (rp[0]&1); + mpn_rshift(rp, rp, n, 1); + ASSERT (cy <= 2); + hi = (cy<<(GMP_NUMB_BITS-1))&GMP_NUMB_MASK; /* (cy&1) << ... */ + cy >>= 1; + /* We can have cy != 0 only if hi = 0... */ + ASSERT ((rp[n-1] & GMP_NUMB_HIGHBIT) == 0); + rp[n-1] |= hi; + /* ... rp[n-1] + cy can not overflow, the following INCR is correct. */ +#endif + ASSERT (cy <= 1); + /* Next increment can not overflow, read the previous comments about cy. */ + ASSERT ((cy == 0) || ((rp[n-1] & GMP_NUMB_HIGHBIT) == 0)); + MPN_INCR_U(rp, n, cy); + + /* Compute the highest half: + ([(xp + xm)/2 mod (B^n-1)] - xp ) * B^n + */ + if (UNLIKELY (2*an < rn)) + { + /* Note that in this case, the only way the result can equal + zero mod B^{rn} - 1 is if the input is zero, and + then the output of both the recursive calls and this CRT + reconstruction is zero, not B^{rn} - 1. */ + cy = mpn_sub_n (rp + n, rp, xp, 2*an - n); + + cy = xp[n] + mpn_sub_nc (xp + 2*an - n, rp + 2*an - n, + xp + 2*an - n, rn - 2*an, cy); + ASSERT (mpn_zero_p (xp + 2*an - n+1, rn - 1 - 2*an)); + cy = mpn_sub_1 (rp, rp, 2*an, cy); + ASSERT (cy == (xp + 2*an - n)[0]); + } + else + { + cy = xp[n] + mpn_sub_n (rp + n, rp, xp, n); + /* cy = 1 only if {xp,n+1} is not ZERO, i.e. {rp,n} is not ZERO. + DECR will affect _at most_ the lowest n limbs. */ + MPN_DECR_U (rp, 2*n, cy); + } +#undef a0 +#undef a1 +#undef xp +#undef sp1 + } +} + +mp_size_t +mpn_sqrmod_bnm1_next_size (mp_size_t n) +{ + mp_size_t nh; + + if (BELOW_THRESHOLD (n, SQRMOD_BNM1_THRESHOLD)) + return n; + if (BELOW_THRESHOLD (n, 4 * (SQRMOD_BNM1_THRESHOLD - 1) + 1)) + return (n + (2-1)) & (-2); + if (BELOW_THRESHOLD (n, 8 * (SQRMOD_BNM1_THRESHOLD - 1) + 1)) + return (n + (4-1)) & (-4); + + nh = (n + 1) >> 1; + + if (BELOW_THRESHOLD (nh, SQR_FFT_MODF_THRESHOLD)) + return (n + (8-1)) & (-8); + + return 2 * mpn_fft_next_size (nh, mpn_fft_best_k (nh, 1)); +} diff --git a/goil/build/libpm/gmp/mpn-sub.c b/goil/build/libpm/gmp/mpn-sub.c new file mode 100644 index 000000000..3fbcbbe98 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-sub.c @@ -0,0 +1,34 @@ +/* mpn_sub - subtract mpn from mpn. + +Copyright 2001 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#define __GMP_FORCE_mpn_sub 1 + +#include "gmp.h" +#include "gmp-impl.h" diff --git a/goil/build/libpm/gmp/mpn-sub_1.c b/goil/build/libpm/gmp/mpn-sub_1.c new file mode 100644 index 000000000..db2e6f948 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-sub_1.c @@ -0,0 +1,34 @@ +/* mpn_sub_1 - subtract limb from mpn. + +Copyright 2001 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#define __GMP_FORCE_mpn_sub_1 1 + +#include "gmp.h" +#include "gmp-impl.h" diff --git a/goil/build/libpm/gmp/mpn-sub_n.c b/goil/build/libpm/gmp/mpn-sub_n.c new file mode 100644 index 000000000..29de2d2d8 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-sub_n.c @@ -0,0 +1,90 @@ +/* mpn_sub_n -- Subtract equal length limb vectors. + +Copyright 1992-1994, 1996, 2000, 2002, 2009 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + + +#if GMP_NAIL_BITS == 0 + +mp_limb_t +mpn_sub_n (mp_ptr rp, mp_srcptr up, mp_srcptr vp, mp_size_t n) +{ + mp_limb_t ul, vl, sl, rl, cy, cy1, cy2; + + ASSERT (n >= 1); + ASSERT (MPN_SAME_OR_INCR_P (rp, up, n)); + ASSERT (MPN_SAME_OR_INCR_P (rp, vp, n)); + + cy = 0; + do + { + ul = *up++; + vl = *vp++; + sl = ul - vl; + cy1 = sl > ul; + rl = sl - cy; + cy2 = rl > sl; + cy = cy1 | cy2; + *rp++ = rl; + } + while (--n != 0); + + return cy; +} + +#endif + +#if GMP_NAIL_BITS >= 1 + +mp_limb_t +mpn_sub_n (mp_ptr rp, mp_srcptr up, mp_srcptr vp, mp_size_t n) +{ + mp_limb_t ul, vl, rl, cy; + + ASSERT (n >= 1); + ASSERT (MPN_SAME_OR_INCR_P (rp, up, n)); + ASSERT (MPN_SAME_OR_INCR_P (rp, vp, n)); + + cy = 0; + do + { + ul = *up++; + vl = *vp++; + rl = ul - vl - cy; + cy = rl >> (GMP_LIMB_BITS - 1); + *rp++ = rl & GMP_NUMB_MASK; + } + while (--n != 0); + + return cy; +} + +#endif diff --git a/goil/build/libpm/gmp/mpn-submul_1.c b/goil/build/libpm/gmp/mpn-submul_1.c new file mode 100644 index 000000000..9cd84839c --- /dev/null +++ b/goil/build/libpm/gmp/mpn-submul_1.c @@ -0,0 +1,139 @@ +/* mpn_submul_1 -- multiply the N long limb vector pointed to by UP by VL, + subtract the N least significant limbs of the product from the limb + vector pointed to by RP. Return the most significant limb of the + product, adjusted for carry-out from the subtraction. + +Copyright 1992-1994, 1996, 2000, 2002, 2004 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" +#include "longlong.h" + + +#if GMP_NAIL_BITS == 0 + +mp_limb_t +mpn_submul_1 (mp_ptr rp, mp_srcptr up, mp_size_t n, mp_limb_t vl) +{ + mp_limb_t ul, cl, hpl, lpl, rl; + + ASSERT (n >= 1); + ASSERT (MPN_SAME_OR_SEPARATE_P (rp, up, n)); + + cl = 0; + do + { + ul = *up++; + umul_ppmm (hpl, lpl, ul, vl); + + lpl += cl; + cl = (lpl < cl) + hpl; + + rl = *rp; + lpl = rl - lpl; + cl += lpl > rl; + *rp++ = lpl; + } + while (--n != 0); + + return cl; +} + +#endif + +#if GMP_NAIL_BITS == 1 + +mp_limb_t +mpn_submul_1 (mp_ptr rp, mp_srcptr up, mp_size_t n, mp_limb_t vl) +{ + mp_limb_t shifted_vl, ul, rl, lpl, hpl, prev_hpl, cl, xl, c1, c2, c3; + + ASSERT (n >= 1); + ASSERT (MPN_SAME_OR_SEPARATE_P (rp, up, n)); + ASSERT_MPN (rp, n); + ASSERT_MPN (up, n); + ASSERT_LIMB (vl); + + shifted_vl = vl << GMP_NAIL_BITS; + cl = 0; + prev_hpl = 0; + do + { + ul = *up++; + rl = *rp; + umul_ppmm (hpl, lpl, ul, shifted_vl); + lpl >>= GMP_NAIL_BITS; + SUBC_LIMB (c1, xl, rl, prev_hpl); + SUBC_LIMB (c2, xl, xl, lpl); + SUBC_LIMB (c3, xl, xl, cl); + cl = c1 + c2 + c3; + *rp++ = xl; + prev_hpl = hpl; + } + while (--n != 0); + + return prev_hpl + cl; +} + +#endif + +#if GMP_NAIL_BITS >= 2 + +mp_limb_t +mpn_submul_1 (mp_ptr rp, mp_srcptr up, mp_size_t n, mp_limb_t vl) +{ + mp_limb_t shifted_vl, ul, rl, lpl, hpl, prev_hpl, xw, cl, xl; + + ASSERT (n >= 1); + ASSERT (MPN_SAME_OR_SEPARATE_P (rp, up, n)); + ASSERT_MPN (rp, n); + ASSERT_MPN (up, n); + ASSERT_LIMB (vl); + + shifted_vl = vl << GMP_NAIL_BITS; + cl = 0; + prev_hpl = 0; + do + { + ul = *up++; + rl = *rp; + umul_ppmm (hpl, lpl, ul, shifted_vl); + lpl >>= GMP_NAIL_BITS; + xw = rl - (prev_hpl + lpl) + cl; + cl = (mp_limb_signed_t) xw >> GMP_NUMB_BITS; + xl = xw & GMP_NUMB_MASK; + *rp++ = xl; + prev_hpl = hpl; + } + while (--n != 0); + + return prev_hpl - cl; +} + +#endif diff --git a/goil/build/libpm/gmp/mpn-tdiv_qr.c b/goil/build/libpm/gmp/mpn-tdiv_qr.c new file mode 100644 index 000000000..ef9109f50 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-tdiv_qr.c @@ -0,0 +1,390 @@ +/* mpn_tdiv_qr -- Divide the numerator (np,nn) by the denominator (dp,dn) and + write the nn-dn+1 quotient limbs at qp and the dn remainder limbs at rp. If + qxn is non-zero, generate that many fraction limbs and append them after the + other quotient limbs, and update the remainder accordingly. The input + operands are unaffected. + + Preconditions: + 1. The most significant limb of of the divisor must be non-zero. + 2. nn >= dn, even if qxn is non-zero. (??? relax this ???) + + The time complexity of this is O(qn*qn+M(dn,qn)), where M(m,n) is the time + complexity of multiplication. + +Copyright 1997, 2000-2002, 2005, 2009 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" +#include "longlong.h" +#include "utilities/switch-fallthrough.h" + +void +mpn_tdiv_qr (mp_ptr qp, mp_ptr rp, mp_size_t qxn, + mp_srcptr np, mp_size_t nn, mp_srcptr dp, mp_size_t dn) +{ + ASSERT_ALWAYS (qxn == 0); + + ASSERT (nn >= 0); + ASSERT (dn >= 0); + ASSERT (dn == 0 || dp[dn - 1] != 0); + ASSERT (! MPN_OVERLAP_P (qp, nn - dn + 1 + qxn, np, nn)); + ASSERT (! MPN_OVERLAP_P (qp, nn - dn + 1 + qxn, dp, dn)); + + switch (dn) + { + case 0: + DIVIDE_BY_ZERO; FALLTHROUGH ; + + case 1: + { + rp[0] = mpn_divrem_1 (qp, (mp_size_t) 0, np, nn, dp[0]); + return; + } + + case 2: + { + mp_ptr n2p, d2p; + mp_limb_t qhl, cy; + TMP_DECL; + TMP_MARK; + if ((dp[1] & GMP_NUMB_HIGHBIT) == 0) + { + unsigned long cnt; // int changed to unsigned long by PM + mp_limb_t dtmp[2]; + count_leading_zeros (cnt, dp[1]); + cnt -= GMP_NAIL_BITS; + d2p = dtmp; + d2p[1] = (dp[1] << cnt) | (dp[0] >> (GMP_NUMB_BITS - cnt)); + d2p[0] = (dp[0] << cnt) & GMP_NUMB_MASK; + n2p = TMP_ALLOC_LIMBS (nn + 1); + cy = mpn_lshift (n2p, np, nn, (unsigned int) cnt); // (unsigned int) added by PM + n2p[nn] = cy; + qhl = mpn_divrem_2 (qp, 0L, n2p, nn + (cy != 0), d2p); + if (cy == 0) + qp[nn - 2] = qhl; /* always store nn-2+1 quotient limbs */ + rp[0] = (n2p[0] >> cnt) + | ((n2p[1] << (GMP_NUMB_BITS - cnt)) & GMP_NUMB_MASK); + rp[1] = (n2p[1] >> cnt); + } + else + { + d2p = (mp_ptr) dp; + n2p = TMP_ALLOC_LIMBS (nn); + MPN_COPY (n2p, np, nn); + qhl = mpn_divrem_2 (qp, 0L, n2p, nn, d2p); + qp[nn - 2] = qhl; /* always store nn-2+1 quotient limbs */ + rp[0] = n2p[0]; + rp[1] = n2p[1]; + } + TMP_FREE; + return; + } + + default: + { + int adjust; + gmp_pi1_t dinv; + TMP_DECL; + TMP_MARK; + adjust = np[nn - 1] >= dp[dn - 1]; /* conservative tests for quotient size */ + if (nn + adjust >= 2 * dn) + { + mp_ptr n2p, d2p; + mp_limb_t cy; + unsigned long cnt; // int changed to unsigned long by PM + + qp[nn - dn] = 0; /* zero high quotient limb */ + if ((dp[dn - 1] & GMP_NUMB_HIGHBIT) == 0) /* normalize divisor */ + { + count_leading_zeros (cnt, dp[dn - 1]); + cnt -= GMP_NAIL_BITS; + d2p = TMP_ALLOC_LIMBS (dn); + mpn_lshift (d2p, dp, dn, (unsigned int) cnt); // (unsigned int) added by PM + n2p = TMP_ALLOC_LIMBS (nn + 1); + cy = mpn_lshift (n2p, np, nn, (unsigned int) cnt); // (unsigned int) added by PM + n2p[nn] = cy; + nn += adjust; + } + else + { + cnt = 0; + d2p = (mp_ptr) dp; + n2p = TMP_ALLOC_LIMBS (nn + 1); + MPN_COPY (n2p, np, nn); + n2p[nn] = 0; + nn += adjust; + } + + invert_pi1 (dinv, d2p[dn - 1], d2p[dn - 2]); + if (BELOW_THRESHOLD (dn, DC_DIV_QR_THRESHOLD)) + mpn_sbpi1_div_qr (qp, n2p, nn, d2p, dn, dinv.inv32); + else if (BELOW_THRESHOLD (dn, MUPI_DIV_QR_THRESHOLD) || /* fast condition */ + BELOW_THRESHOLD (nn, 2 * MU_DIV_QR_THRESHOLD) || /* fast condition */ + (double) (2 * (MU_DIV_QR_THRESHOLD - MUPI_DIV_QR_THRESHOLD)) * dn /* slow... */ + + (double) MUPI_DIV_QR_THRESHOLD * nn > (double) dn * nn) /* ...condition */ + mpn_dcpi1_div_qr (qp, n2p, nn, d2p, dn, &dinv); + else + { + mp_size_t itch = mpn_mu_div_qr_itch (nn, dn, 0); + mp_ptr scratch = TMP_ALLOC_LIMBS (itch); + mpn_mu_div_qr (qp, rp, n2p, nn, d2p, dn, scratch); + n2p = rp; + } + + if (cnt != 0) + mpn_rshift (rp, n2p, dn, (unsigned int) cnt); // (unsigned int) added by PM + else + MPN_COPY (rp, n2p, dn); + TMP_FREE; + return; + } + + /* When we come here, the numerator/partial remainder is less + than twice the size of the denominator. */ + + { + /* Problem: + + Divide a numerator N with nn limbs by a denominator D with dn + limbs forming a quotient of qn=nn-dn+1 limbs. When qn is small + compared to dn, conventional division algorithms perform poorly. + We want an algorithm that has an expected running time that is + dependent only on qn. + + Algorithm (very informally stated): + + 1) Divide the 2 x qn most significant limbs from the numerator + by the qn most significant limbs from the denominator. Call + the result qest. This is either the correct quotient, but + might be 1 or 2 too large. Compute the remainder from the + division. (This step is implemented by a mpn_divrem call.) + + 2) Is the most significant limb from the remainder < p, where p + is the product of the most significant limb from the quotient + and the next(d)? (Next(d) denotes the next ignored limb from + the denominator.) If it is, decrement qest, and adjust the + remainder accordingly. + + 3) Is the remainder >= qest? If it is, qest is the desired + quotient. The algorithm terminates. + + 4) Subtract qest x next(d) from the remainder. If there is + borrow out, decrement qest, and adjust the remainder + accordingly. + + 5) Skip one word from the denominator (i.e., let next(d) denote + the next less significant limb. */ + + mp_size_t qn; + mp_ptr n2p, d2p; + mp_ptr tp; + mp_limb_t ccy; + mp_size_t in, rn; + mp_limb_t quotient_too_large; + unsigned int cnt; + + qn = nn - dn; + qp[qn] = 0; /* zero high quotient limb */ + qn += adjust; /* qn cannot become bigger */ + + if (qn == 0) + { + MPN_COPY (rp, np, dn); + TMP_FREE; + return; + } + + in = dn - qn; /* (at least partially) ignored # of limbs in ops */ + /* Normalize denominator by shifting it to the left such that its + most significant bit is set. Then shift the numerator the same + amount, to mathematically preserve quotient. */ + if ((dp[dn - 1] & GMP_NUMB_HIGHBIT) == 0) + { + count_leading_zeros (cnt, dp[dn - 1]); + cnt -= GMP_NAIL_BITS; + + d2p = TMP_ALLOC_LIMBS (qn); + mpn_lshift (d2p, dp + in, qn, cnt); + d2p[0] |= dp[in - 1] >> (GMP_NUMB_BITS - cnt); + + n2p = TMP_ALLOC_LIMBS (2 * (size_t) (qn + 1)); // (size_t) added by PM + ccy = mpn_lshift (n2p, np + nn - 2 * qn, 2 * qn, cnt); + if (adjust) + { + n2p[2 * qn] = ccy; + n2p++; + } + else + { + n2p[0] |= np[nn - 2 * qn - 1] >> (GMP_NUMB_BITS - cnt); + } + } + else + { + cnt = 0; + d2p = (mp_ptr) dp + in; + + n2p = TMP_ALLOC_LIMBS (2 * (size_t) (qn + 1)); // (size_t) added by PM + MPN_COPY (n2p, np + nn - 2 * qn, 2 * qn); + if (adjust) + { + n2p[2 * qn] = 0; + n2p++; + } + } + + /* Get an approximate quotient using the extracted operands. */ + if (qn == 1) + { + mp_limb_t q0, r0; + udiv_qrnnd (q0, r0, n2p[1], n2p[0] << GMP_NAIL_BITS, d2p[0] << GMP_NAIL_BITS); + n2p[0] = r0 >> GMP_NAIL_BITS; + qp[0] = q0; + } + else if (qn == 2) + mpn_divrem_2 (qp, 0L, n2p, 4L, d2p); + else + { + invert_pi1 (dinv, d2p[qn - 1], d2p[qn - 2]); + if (BELOW_THRESHOLD (qn, DC_DIV_QR_THRESHOLD)) + mpn_sbpi1_div_qr (qp, n2p, 2 * qn, d2p, qn, dinv.inv32); + else if (BELOW_THRESHOLD (qn, MU_DIV_QR_THRESHOLD)) + mpn_dcpi1_div_qr (qp, n2p, 2 * qn, d2p, qn, &dinv); + else + { + mp_size_t itch = mpn_mu_div_qr_itch (2 * qn, qn, 0); + mp_ptr scratch = TMP_ALLOC_LIMBS (itch); + mp_ptr r2p = rp; + if (np == r2p) /* If N and R share space, put ... */ + r2p += nn - qn; /* intermediate remainder at N's upper end. */ + mpn_mu_div_qr (qp, r2p, n2p, 2 * qn, d2p, qn, scratch); + MPN_COPY (n2p, r2p, qn); + } + } + + rn = qn; + /* Multiply the first ignored divisor limb by the most significant + quotient limb. If that product is > the partial remainder's + most significant limb, we know the quotient is too large. This + test quickly catches most cases where the quotient is too large; + it catches all cases where the quotient is 2 too large. */ + { + mp_limb_t dl, x; + mp_limb_t h ; + mp_limb_t dummy __attribute__((unused)); + + if (in - 2 < 0) + dl = 0; + else + dl = dp[in - 2]; + +#if GMP_NAIL_BITS == 0 + x = (dp[in - 1] << cnt) | ((dl >> 1) >> ((~cnt) % GMP_LIMB_BITS)); +#else + x = (dp[in - 1] << cnt) & GMP_NUMB_MASK; + if (cnt != 0) + x |= dl >> (GMP_NUMB_BITS - cnt); +#endif + umul_ppmm (h, dummy, x, qp[qn - 1] << GMP_NAIL_BITS); + + if (n2p[qn - 1] < h) + { + mp_limb_t cy; + + mpn_decr_u (qp, (mp_limb_t) 1); + cy = mpn_add_n (n2p, n2p, d2p, qn); + if (cy) + { + /* The partial remainder is safely large. */ + n2p[qn] = cy; + ++rn; + } + } + } + + quotient_too_large = 0; + if (cnt != 0) + { + mp_limb_t cy1, cy2; + + /* Append partially used numerator limb to partial remainder. */ + cy1 = mpn_lshift (n2p, n2p, rn, GMP_NUMB_BITS - cnt); + n2p[0] |= np[in - 1] & (GMP_NUMB_MASK >> cnt); + + /* Update partial remainder with partially used divisor limb. */ + cy2 = mpn_submul_1 (n2p, qp, qn, dp[in - 1] & (GMP_NUMB_MASK >> cnt)); + if (qn != rn) + { + ASSERT_ALWAYS (n2p[qn] >= cy2); + n2p[qn] -= cy2; + } + else + { + n2p[qn] = cy1 - cy2; /* & GMP_NUMB_MASK; */ + + quotient_too_large = (cy1 < cy2); + ++rn; + } + --in; + } + /* True: partial remainder now is neutral, i.e., it is not shifted up. */ + + tp = TMP_ALLOC_LIMBS (dn); + + if (in < qn) + { + if (in == 0) + { + MPN_COPY (rp, n2p, rn); + ASSERT_ALWAYS (rn == dn); + goto foo; + } + mpn_mul (tp, qp, qn, dp, in); + } + else + mpn_mul (tp, dp, in, qp, qn); + + ccy = mpn_sub (n2p, n2p, rn, tp + in, qn); + MPN_COPY (rp + in, n2p, dn - in); + quotient_too_large |= ccy; + ccy = mpn_sub_n (rp, np, tp, in); + ccy = mpn_sub_1 (rp + in, rp + in, rn, ccy); + quotient_too_large |= ccy; + foo: + if (quotient_too_large) + { + mpn_decr_u (qp, (mp_limb_t) 1); + mpn_add_n (rp, rp, dp, dn); + } + } + TMP_FREE; + return; + } + } +} diff --git a/goil/build/libpm/gmp/mpn-toom22_mul.c b/goil/build/libpm/gmp/mpn-toom22_mul.c new file mode 100644 index 000000000..2ad9b2963 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-toom22_mul.c @@ -0,0 +1,209 @@ +/* mpn_toom22_mul -- Multiply {ap,an} and {bp,bn} where an >= bn. Or more + accurately, bn <= an < 2bn. + + Contributed to the GNU project by Torbjorn Granlund. + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2006-2010, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "gmp.h" +#include "gmp-impl.h" + +/* Evaluate in: -1, 0, +inf + + <-s--><--n--> + ____ ______ + |_a1_|___a0_| + |b1_|___b0_| + <-t-><--n--> + + v0 = a0 * b0 # A(0)*B(0) + vm1 = (a0- a1)*(b0- b1) # A(-1)*B(-1) + vinf= a1 * b1 # A(inf)*B(inf) +*/ + +#if defined (TUNE_PROGRAM_BUILD) || defined (WANT_FAT_BINARY) +#define MAYBE_mul_toom22 1 +#else +#define MAYBE_mul_toom22 \ + (MUL_TOOM33_THRESHOLD >= 2 * MUL_TOOM22_THRESHOLD) +#endif + +#define TOOM22_MUL_N_REC(p, a, b, n, ws) \ + do { \ + if (! MAYBE_mul_toom22 \ + || BELOW_THRESHOLD (n, MUL_TOOM22_THRESHOLD)) \ + mpn_mul_basecase (p, a, n, b, n); \ + else \ + mpn_toom22_mul (p, a, n, b, n, ws); \ + } while (0) + +/* Normally, this calls mul_basecase or toom22_mul. But when when the fraction + MUL_TOOM33_THRESHOLD / MUL_TOOM22_THRESHOLD is large, an initially small + relative unbalance will become a larger and larger relative unbalance with + each recursion (the difference s-t will be invariant over recursive calls). + Therefore, we need to call toom32_mul. */ +#define TOOM22_MUL_REC(p, a, an, b, bn, ws) \ + do { \ + if (! MAYBE_mul_toom22 \ + || BELOW_THRESHOLD (bn, MUL_TOOM22_THRESHOLD)) \ + mpn_mul_basecase (p, a, an, b, bn); \ + else if (4 * an < 5 * bn) \ + mpn_toom22_mul (p, a, an, b, bn, ws); \ + else \ + mpn_toom32_mul (p, a, an, b, bn, ws); \ + } while (0) + +void +mpn_toom22_mul (mp_ptr pp, + mp_srcptr ap, mp_size_t an, + mp_srcptr bp, mp_size_t bn, + mp_ptr scratch) +{ +// const int __gmpn_cpuvec_initialized = 1; + mp_size_t n, s, t; + int vm1_neg; + mp_limb_t cy, cy2; + mp_ptr asm1; + mp_ptr bsm1; + +#define a0 ap +#define a1 (ap + n) +#define b0 bp +#define b1 (bp + n) + + s = an >> 1; + n = an - s; + t = bn - n; + + ASSERT (an >= bn); + + ASSERT (0 < s && s <= n); + ASSERT (0 < t && t <= s); + + asm1 = pp; + bsm1 = pp + n; + + vm1_neg = 0; + + /* Compute asm1. */ + if (s == n) + { + if (mpn_cmp (a0, a1, n) < 0) + { + mpn_sub_n (asm1, a1, a0, n); + vm1_neg = 1; + } + else + { + mpn_sub_n (asm1, a0, a1, n); + } + } + else + { + if (mpn_zero_p (a0 + s, n - s) && mpn_cmp (a0, a1, s) < 0) + { + mpn_sub_n (asm1, a1, a0, s); + MPN_ZERO (asm1 + s, n - s); + vm1_neg = 1; + } + else + { + mpn_sub (asm1, a0, n, a1, s); + } + } + + /* Compute bsm1. */ + if (t == n) + { + if (mpn_cmp (b0, b1, n) < 0) + { + mpn_sub_n (bsm1, b1, b0, n); + vm1_neg ^= 1; + } + else + { + mpn_sub_n (bsm1, b0, b1, n); + } + } + else + { + if (mpn_zero_p (b0 + t, n - t) && mpn_cmp (b0, b1, t) < 0) + { + mpn_sub_n (bsm1, b1, b0, t); + MPN_ZERO (bsm1 + t, n - t); + vm1_neg ^= 1; + } + else + { + mpn_sub (bsm1, b0, n, b1, t); + } + } + +#define v0 pp /* 2n */ +#define vinf (pp + 2 * n) /* s+t */ +#define vm1 scratch /* 2n */ +#define scratch_out scratch + 2 * n + + /* vm1, 2n limbs */ + TOOM22_MUL_N_REC (vm1, asm1, bsm1, n, scratch_out); + + if (s > t) TOOM22_MUL_REC (vinf, a1, s, b1, t, scratch_out); + else TOOM22_MUL_N_REC (vinf, a1, b1, s, scratch_out); + + /* v0, 2n limbs */ + TOOM22_MUL_N_REC (v0, ap, bp, n, scratch_out); + + /* H(v0) + L(vinf) */ + cy = mpn_add_n (pp + 2 * n, v0 + n, vinf, n); + + /* L(v0) + H(v0) */ + cy2 = cy + mpn_add_n (pp + n, pp + 2 * n, v0, n); + + /* L(vinf) + H(vinf) */ + cy += mpn_add (pp + 2 * n, pp + 2 * n, n, vinf + n, s + t - n); + + if (vm1_neg) + cy += mpn_add_n (pp + n, pp + n, vm1, 2 * n); + else + cy -= mpn_sub_n (pp + n, pp + n, vm1, 2 * n); + + ASSERT (cy + 1 <= 3); + ASSERT (cy2 <= 2); + + mpn_incr_u (pp + 2 * n, cy2); + if (LIKELY (cy <= 2)) + mpn_incr_u (pp + 3 * n, cy); + else + mpn_decr_u (pp + 3 * n, 1); +} diff --git a/goil/build/libpm/gmp/mpn-toom2_sqr.c b/goil/build/libpm/gmp/mpn-toom2_sqr.c new file mode 100644 index 000000000..e79e2276a --- /dev/null +++ b/goil/build/libpm/gmp/mpn-toom2_sqr.c @@ -0,0 +1,146 @@ +/* mpn_toom2_sqr -- Square {ap,an}. + + Contributed to the GNU project by Torbjorn Granlund. + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2006-2010, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "gmp.h" +#include "gmp-impl.h" + +/* Evaluate in: -1, 0, +inf + + <-s--><--n--> + ____ ______ + |_a1_|___a0_| + + v0 = a0 ^2 # A(0)^2 + vm1 = (a0- a1)^2 # A(-1)^2 + vinf= a1 ^2 # A(inf)^2 +*/ + +#if defined (TUNE_PROGRAM_BUILD) || defined (WANT_FAT_BINARY) +#define MAYBE_sqr_toom2 1 +#else +#define MAYBE_sqr_toom2 \ + (SQR_TOOM3_THRESHOLD >= 2 * SQR_TOOM2_THRESHOLD) +#endif + +#define TOOM2_SQR_REC(p, a, n, ws) \ + do { \ + if (! MAYBE_sqr_toom2 \ + || BELOW_THRESHOLD (n, SQR_TOOM2_THRESHOLD)) \ + mpn_sqr_basecase (p, a, n); \ + else \ + mpn_toom2_sqr (p, a, n, ws); \ + } while (0) + +void +mpn_toom2_sqr (mp_ptr pp, + mp_srcptr ap, mp_size_t an, + mp_ptr scratch) +{ +// const int __gmpn_cpuvec_initialized = 1; + mp_size_t n, s; + mp_limb_t cy, cy2; + mp_ptr asm1; + +#define a0 ap +#define a1 (ap + n) + + s = an >> 1; + n = an - s; + + ASSERT (0 < s && s <= n); + + asm1 = pp; + + /* Compute asm1. */ + if (s == n) + { + if (mpn_cmp (a0, a1, n) < 0) + { + mpn_sub_n (asm1, a1, a0, n); + } + else + { + mpn_sub_n (asm1, a0, a1, n); + } + } + else + { + if (mpn_zero_p (a0 + s, n - s) && mpn_cmp (a0, a1, s) < 0) + { + mpn_sub_n (asm1, a1, a0, s); + MPN_ZERO (asm1 + s, n - s); + } + else + { + mpn_sub (asm1, a0, n, a1, s); + } + } + +#define v0 pp /* 2n */ +#define vinf (pp + 2 * n) /* s+s */ +#define vm1 scratch /* 2n */ +#define scratch_out scratch + 2 * n + + /* vm1, 2n limbs */ + TOOM2_SQR_REC (vm1, asm1, n, scratch_out); + + /* vinf, s+s limbs */ + TOOM2_SQR_REC (vinf, a1, s, scratch_out); + + /* v0, 2n limbs */ + TOOM2_SQR_REC (v0, ap, n, scratch_out); + + /* H(v0) + L(vinf) */ + cy = mpn_add_n (pp + 2 * n, v0 + n, vinf, n); + + /* L(v0) + H(v0) */ + cy2 = cy + mpn_add_n (pp + n, pp + 2 * n, v0, n); + + /* L(vinf) + H(vinf) */ + cy += mpn_add (pp + 2 * n, pp + 2 * n, n, vinf + n, s + s - n); + + cy -= mpn_sub_n (pp + n, pp + n, vm1, 2 * n); + + ASSERT (cy + 1 <= 3); + ASSERT (cy2 <= 2); + + mpn_incr_u (pp + 2 * n, cy2); + if (LIKELY (cy <= 2)) + mpn_incr_u (pp + 3 * n, cy); + else + mpn_decr_u (pp + 3 * n, 1); +} diff --git a/goil/build/libpm/gmp/mpn-toom32_mul.c b/goil/build/libpm/gmp/mpn-toom32_mul.c new file mode 100644 index 000000000..3402f21de --- /dev/null +++ b/goil/build/libpm/gmp/mpn-toom32_mul.c @@ -0,0 +1,319 @@ +/* mpn_toom32_mul -- Multiply {ap,an} and {bp,bn} where an is nominally 1.5 + times as large as bn. Or more accurately, bn < an < 3bn. + + Contributed to the GNU project by Torbjorn Granlund. + Improvements by Marco Bodrato and Niels Möller. + + The idea of applying toom to unbalanced multiplication is due to Marco + Bodrato and Alberto Zanoni. + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2006-2010 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "gmp.h" +#include "gmp-impl.h" + + +/* Evaluate in: -1, 0, +1, +inf + + <-s-><--n--><--n--> + ___ ______ ______ + |a2_|___a1_|___a0_| + |_b1_|___b0_| + <-t--><--n--> + + v0 = a0 * b0 # A(0)*B(0) + v1 = (a0+ a1+ a2)*(b0+ b1) # A(1)*B(1) ah <= 2 bh <= 1 + vm1 = (a0- a1+ a2)*(b0- b1) # A(-1)*B(-1) |ah| <= 1 bh = 0 + vinf= a2 * b1 # A(inf)*B(inf) +*/ + +#define TOOM32_MUL_N_REC(p, a, b, n, ws) \ + do { \ + mpn_mul_n (p, a, b, n); \ + } while (0) + +void +mpn_toom32_mul (mp_ptr pp, + mp_srcptr ap, mp_size_t an, + mp_srcptr bp, mp_size_t bn, + mp_ptr scratch) +{ + mp_size_t n, s, t; + int vm1_neg; + mp_limb_t cy; + mp_limb_signed_t hi; + mp_limb_t ap1_hi, bp1_hi; + +#define a0 ap +#define a1 (ap + n) +#define a2 (ap + 2 * n) +#define b0 bp +#define b1 (bp + n) + + /* Required, to ensure that s + t >= n. */ + ASSERT (bn + 2 <= an && an + 6 <= 3*bn); + + n = 1 + (2 * an >= 3 * bn ? (an - 1) / (mp_size_t) 3 : (bn - 1) >> 1); // (size_t) changed to mp_size_t by PM + + s = an - 2 * n; + t = bn - n; + + ASSERT (0 < s && s <= n); + ASSERT (0 < t && t <= n); + ASSERT (s + t >= n); + + /* Product area of size an + bn = 3*n + s + t >= 4*n + 2. */ +#define ap1 (pp) /* n, most significant limb in ap1_hi */ +#define bp1 (pp + n) /* n, most significant bit in bp1_hi */ +#define am1 (pp + 2*n) /* n, most significant bit in hi */ +#define bm1 (pp + 3*n) /* n */ +#define v1 (scratch) /* 2n + 1 */ +#define vm1 (pp) /* 2n + 1 */ +#define scratch_out (scratch + 2*n + 1) /* Currently unused. */ + + /* Scratch need: 2*n + 1 + scratch for the recursive multiplications. */ + + + /* Compute ap1 = a0 + a1 + a3, am1 = a0 - a1 + a3 */ + ap1_hi = mpn_add (ap1, a0, n, a2, s); +#ifdef HAVE_NATIVE_mpn_add_n_sub_n + if (ap1_hi == 0 && mpn_cmp (ap1, a1, n) < 0) + { + ap1_hi = mpn_add_n_sub_n (ap1, am1, a1, ap1, n) >> 1; + hi = 0; + vm1_neg = 1; + } + else + { + cy = mpn_add_n_sub_n (ap1, am1, ap1, a1, n); + hi = ap1_hi - (cy & 1); + ap1_hi += (cy >> 1); + vm1_neg = 0; + } +#else + if (ap1_hi == 0 && mpn_cmp (ap1, a1, n) < 0) + { + ASSERT_NOCARRY (mpn_sub_n (am1, a1, ap1, n)); + hi = 0; + vm1_neg = 1; + } + else + { + hi = (mp_limb_signed_t) (ap1_hi - mpn_sub_n (am1, ap1, a1, n)); + vm1_neg = 0; + } + ap1_hi += mpn_add_n (ap1, ap1, a1, n); +#endif + + /* Compute bp1 = b0 + b1 and bm1 = b0 - b1. */ + if (t == n) + { +#ifdef HAVE_NATIVE_mpn_add_n_sub_n + if (mpn_cmp (b0, b1, n) < 0) + { + cy = mpn_add_n_sub_n (bp1, bm1, b1, b0, n); + vm1_neg ^= 1; + } + else + { + cy = mpn_add_n_sub_n (bp1, bm1, b0, b1, n); + } + bp1_hi = cy >> 1; +#else + bp1_hi = mpn_add_n (bp1, b0, b1, n); + + if (mpn_cmp (b0, b1, n) < 0) + { + ASSERT_NOCARRY (mpn_sub_n (bm1, b1, b0, n)); + vm1_neg ^= 1; + } + else + { + ASSERT_NOCARRY (mpn_sub_n (bm1, b0, b1, n)); + } +#endif + } + else + { + bp1_hi = mpn_add (bp1, b0, n, b1, t); + + if (mpn_zero_p (b0 + t, n - t) && mpn_cmp (b0, b1, t) < 0) + { + ASSERT_NOCARRY (mpn_sub_n (bm1, b1, b0, t)); + MPN_ZERO (bm1 + t, n - t); + vm1_neg ^= 1; + } + else + { + ASSERT_NOCARRY (mpn_sub (bm1, b0, n, b1, t)); + } + } + + TOOM32_MUL_N_REC (v1, ap1, bp1, n, scratch_out); + if (ap1_hi == 1) + { + cy = bp1_hi + mpn_add_n (v1 + n, v1 + n, bp1, n); + } + else if (ap1_hi == 2) + { +#ifdef HAVE_NATIVE_mpn_addlsh1_n + cy = 2 * bp1_hi + mpn_addlsh1_n (v1 + n, v1 + n, bp1, n); +#else + cy = 2 * bp1_hi + mpn_addmul_1 (v1 + n, bp1, n, CNST_LIMB(2)); +#endif + } + else + cy = 0; + if (bp1_hi != 0) + cy += mpn_add_n (v1 + n, v1 + n, ap1, n); + v1[2 * n] = cy; + + TOOM32_MUL_N_REC (vm1, am1, bm1, n, scratch_out); + if (hi) + hi = mpn_add_n (vm1+n, vm1+n, bm1, n); + + vm1[2*n] = hi; + + /* v1 <-- (v1 + vm1) / 2 = x0 + x2 */ + if (vm1_neg) + { +#ifdef HAVE_NATIVE_mpn_rsh1sub_n + mpn_rsh1sub_n (v1, v1, vm1, 2*n+1); +#else + mpn_sub_n (v1, v1, vm1, 2*n+1); + ASSERT_NOCARRY (mpn_rshift (v1, v1, 2*n+1, 1)); +#endif + } + else + { +#ifdef HAVE_NATIVE_mpn_rsh1add_n + mpn_rsh1add_n (v1, v1, vm1, 2*n+1); +#else + mpn_add_n (v1, v1, vm1, 2*n+1); + ASSERT_NOCARRY (mpn_rshift (v1, v1, 2*n+1, 1)); +#endif + } + + /* We get x1 + x3 = (x0 + x2) - (x0 - x1 + x2 - x3), and hence + + y = x1 + x3 + (x0 + x2) * B + = (x0 + x2) * B + (x0 + x2) - vm1. + + y is 3*n + 1 limbs, y = y0 + y1 B + y2 B^2. We store them as + follows: y0 at scratch, y1 at pp + 2*n, and y2 at scratch + n + (already in place, except for carry propagation). + + We thus add + + B^3 B^2 B 1 + | | | | + +-----+----+ + + | x0 + x2 | + +----+-----+----+ + + | x0 + x2 | + +----------+ + - | vm1 | + --+----++----+----+- + | y2 | y1 | y0 | + +-----+----+----+ + + Since we store y0 at the same location as the low half of x0 + x2, we + need to do the middle sum first. */ + + hi = vm1[2*n]; + cy = mpn_add_n (pp + 2*n, v1, v1 + n, n); + MPN_INCR_U (v1 + n, n + 1, cy + v1[2*n]); + + if (vm1_neg) + { + cy = mpn_add_n (v1, v1, vm1, n); + hi += mpn_add_nc (pp + 2*n, pp + 2*n, vm1 + n, n, cy); + MPN_INCR_U (v1 + n, n+1, hi); + } + else + { + cy = mpn_sub_n (v1, v1, vm1, n); + hi += mpn_sub_nc (pp + 2*n, pp + 2*n, vm1 + n, n, cy); + MPN_DECR_U (v1 + n, n+1, hi); + } + + TOOM32_MUL_N_REC (pp, a0, b0, n, scratch_out); + /* vinf, s+t limbs. Use mpn_mul for now, to handle unbalanced operands */ + if (s > t) mpn_mul (pp+3*n, a2, s, b1, t); + else mpn_mul (pp+3*n, b1, t, a2, s); + + /* Remaining interpolation. + + y * B + x0 + x3 B^3 - x0 B^2 - x3 B + = (x1 + x3) B + (x0 + x2) B^2 + x0 + x3 B^3 - x0 B^2 - x3 B + = y0 B + y1 B^2 + y3 B^3 + Lx0 + H x0 B + + L x3 B^3 + H x3 B^4 - Lx0 B^2 - H x0 B^3 - L x3 B - H x3 B^2 + = L x0 + (y0 + H x0 - L x3) B + (y1 - L x0 - H x3) B^2 + + (y2 - (H x0 - L x3)) B^3 + H x3 B^4 + + B^4 B^3 B^2 B 1 + | | | | | | + +-------+ +---------+---------+ + | Hx3 | | Hx0-Lx3 | Lx0 | + +------+----------+---------+---------+---------+ + | y2 | y1 | y0 | + ++---------+---------+---------+ + -| Hx0-Lx3 | - Lx0 | + +---------+---------+ + | - Hx3 | + +--------+ + + We must take into account the carry from Hx0 - Lx3. + */ + + cy = mpn_sub_n (pp + n, pp + n, pp+3*n, n); + hi = scratch[2*n] + cy; + + cy = mpn_sub_nc (pp + 2*n, pp + 2*n, pp, n, cy); + hi -= mpn_sub_nc (pp + 3*n, scratch + n, pp + n, n, cy); + + hi += mpn_add (pp + n, pp + n, 3*n, scratch, n); + + if (LIKELY (s + t > n)) + { + hi -= mpn_sub (pp + 2*n, pp + 2*n, 2*n, pp + 4*n, s+t-n); + + if (hi < 0) + MPN_DECR_U (pp + 4*n, s+t-n, -hi); + else + MPN_INCR_U (pp + 4*n, s+t-n, hi); + } + else + ASSERT (hi == 0); +} diff --git a/goil/build/libpm/gmp/mpn-toom33_mul.c b/goil/build/libpm/gmp/mpn-toom33_mul.c new file mode 100644 index 000000000..ceafb75aa --- /dev/null +++ b/goil/build/libpm/gmp/mpn-toom33_mul.c @@ -0,0 +1,309 @@ +/* mpn_toom33_mul -- Multiply {ap,an} and {p,bn} where an and bn are close in + size. Or more accurately, bn <= an < (3/2)bn. + + Contributed to the GNU project by Torbjorn Granlund. + Additional improvements by Marco Bodrato. + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2006-2008, 2010, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "gmp.h" +#include "gmp-impl.h" + +/* Evaluate in: -1, 0, +1, +2, +inf + + <-s--><--n--><--n--> + ____ ______ ______ + |_a2_|___a1_|___a0_| + |b2_|___b1_|___b0_| + <-t-><--n--><--n--> + + v0 = a0 * b0 # A(0)*B(0) + v1 = (a0+ a1+ a2)*(b0+ b1+ b2) # A(1)*B(1) ah <= 2 bh <= 2 + vm1 = (a0- a1+ a2)*(b0- b1+ b2) # A(-1)*B(-1) |ah| <= 1 bh <= 1 + v2 = (a0+2a1+4a2)*(b0+2b1+4b2) # A(2)*B(2) ah <= 6 bh <= 6 + vinf= a2 * b2 # A(inf)*B(inf) +*/ + +#if defined (TUNE_PROGRAM_BUILD) || defined (WANT_FAT_BINARY) +#define MAYBE_mul_basecase 1 +#define MAYBE_mul_toom33 1 +#else +#define MAYBE_mul_basecase \ + (MUL_TOOM33_THRESHOLD < 3 * MUL_TOOM22_THRESHOLD) +#define MAYBE_mul_toom33 \ + (MUL_TOOM44_THRESHOLD >= 3 * MUL_TOOM33_THRESHOLD) +#endif + +#define TOOM33_MUL_N_REC(p, a, b, n, ws) \ + do { \ + if (MAYBE_mul_basecase \ + && BELOW_THRESHOLD (n, MUL_TOOM22_THRESHOLD)) \ + mpn_mul_basecase (p, a, n, b, n); \ + else if (! MAYBE_mul_toom33 \ + || BELOW_THRESHOLD (n, MUL_TOOM33_THRESHOLD)) \ + mpn_toom22_mul (p, a, n, b, n, ws); \ + else \ + mpn_toom33_mul (p, a, n, b, n, ws); \ + } while (0) + +void +mpn_toom33_mul (mp_ptr pp, + mp_srcptr ap, mp_size_t an, + mp_srcptr bp, mp_size_t bn, + mp_ptr scratch) +{ +// const int __gmpn_cpuvec_initialized = 1; // Unused var removed by PM + mp_size_t n, s, t; + int vm1_neg; + mp_limb_t cy, vinf0; + mp_ptr gp; + mp_ptr as1, asm1, as2; + mp_ptr bs1, bsm1, bs2; + +#define a0 ap +#define a1 (ap + n) +#define a2 (ap + 2*n) +#define b0 bp +#define b1 (bp + n) +#define b2 (bp + 2*n) + + n = (an + 2) / 3; // (size_t) removed by PM + + s = an - 2 * n; + t = bn - 2 * n; + + ASSERT (an >= bn); + + ASSERT (0 < s && s <= n); + ASSERT (0 < t && t <= n); + + as1 = scratch + 4 * n + 4; + asm1 = scratch + 2 * n + 2; + as2 = pp + n + 1; + + bs1 = pp; + bsm1 = scratch + 3 * n + 3; /* we need 4n+4 <= 4n+s+t */ + bs2 = pp + 2 * n + 2; + + gp = scratch; + + vm1_neg = 0; + + /* Compute as1 and asm1. */ + cy = mpn_add (gp, a0, n, a2, s); +#ifdef HAVE_NATIVE_mpn_add_n_sub_n + if (cy == 0 && mpn_cmp (gp, a1, n) < 0) + { + cy = mpn_add_n_sub_n (as1, asm1, a1, gp, n); + as1[n] = cy >> 1; + asm1[n] = 0; + vm1_neg = 1; + } + else + { + mp_limb_t cy2; + cy2 = mpn_add_n_sub_n (as1, asm1, gp, a1, n); + as1[n] = cy + (cy2 >> 1); + asm1[n] = cy - (cy2 & 1); + } +#else + as1[n] = cy + mpn_add_n (as1, gp, a1, n); + if (cy == 0 && mpn_cmp (gp, a1, n) < 0) + { + mpn_sub_n (asm1, a1, gp, n); + asm1[n] = 0; + vm1_neg = 1; + } + else + { + cy -= mpn_sub_n (asm1, gp, a1, n); + asm1[n] = cy; + } +#endif + + /* Compute as2. */ +#ifdef HAVE_NATIVE_mpn_rsblsh1_n + cy = mpn_add_n (as2, a2, as1, s); + if (s != n) + cy = mpn_add_1 (as2 + s, as1 + s, n - s, cy); + cy += as1[n]; + cy = 2 * cy + mpn_rsblsh1_n (as2, a0, as2, n); +#else +#ifdef HAVE_NATIVE_mpn_addlsh1_n + cy = mpn_addlsh1_n (as2, a1, a2, s); + if (s != n) + cy = mpn_add_1 (as2 + s, a1 + s, n - s, cy); + cy = 2 * cy + mpn_addlsh1_n (as2, a0, as2, n); +#else + cy = mpn_add_n (as2, a2, as1, s); + if (s != n) + cy = mpn_add_1 (as2 + s, as1 + s, n - s, cy); + cy += as1[n]; + cy = 2 * cy + mpn_lshift (as2, as2, n, 1); + cy -= mpn_sub_n (as2, as2, a0, n); +#endif +#endif + as2[n] = cy; + + /* Compute bs1 and bsm1. */ + cy = mpn_add (gp, b0, n, b2, t); +#ifdef HAVE_NATIVE_mpn_add_n_sub_n + if (cy == 0 && mpn_cmp (gp, b1, n) < 0) + { + cy = mpn_add_n_sub_n (bs1, bsm1, b1, gp, n); + bs1[n] = cy >> 1; + bsm1[n] = 0; + vm1_neg ^= 1; + } + else + { + mp_limb_t cy2; + cy2 = mpn_add_n_sub_n (bs1, bsm1, gp, b1, n); + bs1[n] = cy + (cy2 >> 1); + bsm1[n] = cy - (cy2 & 1); + } +#else + bs1[n] = cy + mpn_add_n (bs1, gp, b1, n); + if (cy == 0 && mpn_cmp (gp, b1, n) < 0) + { + mpn_sub_n (bsm1, b1, gp, n); + bsm1[n] = 0; + vm1_neg ^= 1; + } + else + { + cy -= mpn_sub_n (bsm1, gp, b1, n); + bsm1[n] = cy; + } +#endif + + /* Compute bs2. */ +#ifdef HAVE_NATIVE_mpn_rsblsh1_n + cy = mpn_add_n (bs2, b2, bs1, t); + if (t != n) + cy = mpn_add_1 (bs2 + t, bs1 + t, n - t, cy); + cy += bs1[n]; + cy = 2 * cy + mpn_rsblsh1_n (bs2, b0, bs2, n); +#else +#ifdef HAVE_NATIVE_mpn_addlsh1_n + cy = mpn_addlsh1_n (bs2, b1, b2, t); + if (t != n) + cy = mpn_add_1 (bs2 + t, b1 + t, n - t, cy); + cy = 2 * cy + mpn_addlsh1_n (bs2, b0, bs2, n); +#else + cy = mpn_add_n (bs2, bs1, b2, t); + if (t != n) + cy = mpn_add_1 (bs2 + t, bs1 + t, n - t, cy); + cy += bs1[n]; + cy = 2 * cy + mpn_lshift (bs2, bs2, n, 1); + cy -= mpn_sub_n (bs2, bs2, b0, n); +#endif +#endif + bs2[n] = cy; + + ASSERT (as1[n] <= 2); + ASSERT (bs1[n] <= 2); + ASSERT (asm1[n] <= 1); + ASSERT (bsm1[n] <= 1); + ASSERT (as2[n] <= 6); + ASSERT (bs2[n] <= 6); + +#define v0 pp /* 2n */ +#define v1 (pp + 2 * n) /* 2n+1 */ +#define vinf (pp + 4 * n) /* s+t */ +#define vm1 scratch /* 2n+1 */ +#define v2 (scratch + 2 * n + 1) /* 2n+2 */ +#define scratch_out (scratch + 5 * n + 5) + + /* vm1, 2n+1 limbs */ +#ifdef SMALLER_RECURSION + TOOM33_MUL_N_REC (vm1, asm1, bsm1, n, scratch_out); + cy = 0; + if (asm1[n] != 0) + cy = bsm1[n] + mpn_add_n (vm1 + n, vm1 + n, bsm1, n); + if (bsm1[n] != 0) + cy += mpn_add_n (vm1 + n, vm1 + n, asm1, n); + vm1[2 * n] = cy; +#else + TOOM33_MUL_N_REC (vm1, asm1, bsm1, n + 1, scratch_out); +#endif + + TOOM33_MUL_N_REC (v2, as2, bs2, n + 1, scratch_out); /* v2, 2n+1 limbs */ + + /* vinf, s+t limbs */ + if (s > t) mpn_mul (vinf, a2, s, b2, t); + else TOOM33_MUL_N_REC (vinf, a2, b2, s, scratch_out); + + vinf0 = vinf[0]; /* v1 overlaps with this */ + +#ifdef SMALLER_RECURSION + /* v1, 2n+1 limbs */ + TOOM33_MUL_N_REC (v1, as1, bs1, n, scratch_out); + if (as1[n] == 1) + { + cy = bs1[n] + mpn_add_n (v1 + n, v1 + n, bs1, n); + } + else if (as1[n] != 0) + { +#if HAVE_NATIVE_mpn_addlsh1_n + cy = 2 * bs1[n] + mpn_addlsh1_n (v1 + n, v1 + n, bs1, n); +#else + cy = 2 * bs1[n] + mpn_addmul_1 (v1 + n, bs1, n, CNST_LIMB(2)); +#endif + } + else + cy = 0; + if (bs1[n] == 1) + { + cy += mpn_add_n (v1 + n, v1 + n, as1, n); + } + else if (bs1[n] != 0) + { +#if HAVE_NATIVE_mpn_addlsh1_n + cy += mpn_addlsh1_n (v1 + n, v1 + n, as1, n); +#else + cy += mpn_addmul_1 (v1 + n, as1, n, CNST_LIMB(2)); +#endif + } + v1[2 * n] = cy; +#else + cy = vinf[1]; + TOOM33_MUL_N_REC (v1, as1, bs1, n + 1, scratch_out); + vinf[1] = cy; +#endif + + TOOM33_MUL_N_REC (v0, ap, bp, n, scratch_out); /* v0, 2n limbs */ + + mpn_toom_interpolate_5pts (pp, v2, vm1, n, s + t, vm1_neg, vinf0); +} diff --git a/goil/build/libpm/gmp/mpn-toom3_sqr.c b/goil/build/libpm/gmp/mpn-toom3_sqr.c new file mode 100644 index 000000000..91c4e4235 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-toom3_sqr.c @@ -0,0 +1,227 @@ +/* mpn_toom3_sqr -- Square {ap,an}. + + Contributed to the GNU project by Torbjorn Granlund. + Additional improvements by Marco Bodrato. + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2006-2010, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "gmp.h" +#include "gmp-impl.h" + + +/* Evaluate in: -1, 0, +1, +2, +inf + + <-s--><--n--><--n--> + ____ ______ ______ + |_a2_|___a1_|___a0_| + + v0 = a0 ^2 # A(0)^2 + v1 = (a0+ a1+ a2)^2 # A(1)^2 ah <= 2 + vm1 = (a0- a1+ a2)^2 # A(-1)^2 |ah| <= 1 + v2 = (a0+2a1+4a2)^2 # A(2)^2 ah <= 6 + vinf= a2 ^2 # A(inf)^2 +*/ + +#if defined (TUNE_PROGRAM_BUILD) || defined (WANT_FAT_BINARY) +#define MAYBE_sqr_basecase 1 +#define MAYBE_sqr_toom3 1 +#else +#define MAYBE_sqr_basecase \ + (SQR_TOOM3_THRESHOLD < 3 * SQR_TOOM2_THRESHOLD) +#define MAYBE_sqr_toom3 \ + (SQR_TOOM4_THRESHOLD >= 3 * SQR_TOOM3_THRESHOLD) +#endif + +#define TOOM3_SQR_REC(p, a, n, ws) \ + do { \ + if (MAYBE_sqr_basecase \ + && BELOW_THRESHOLD (n, SQR_TOOM2_THRESHOLD)) \ + mpn_sqr_basecase (p, a, n); \ + else if (! MAYBE_sqr_toom3 \ + || BELOW_THRESHOLD (n, SQR_TOOM3_THRESHOLD)) \ + mpn_toom2_sqr (p, a, n, ws); \ + else \ + mpn_toom3_sqr (p, a, n, ws); \ + } while (0) + +void +mpn_toom3_sqr (mp_ptr pp, + mp_srcptr ap, mp_size_t an, + mp_ptr scratch) +{ +// const int __gmpn_cpuvec_initialized = 1; + mp_size_t n, s; + mp_limb_t cy, vinf0; + mp_ptr gp; + mp_ptr as1, asm1, as2; + +#define a0 ap +#define a1 (ap + n) +#define a2 (ap + 2*n) + + n = (an + 2) / (size_t) 3; + + s = an - 2 * n; + + ASSERT (0 < s && s <= n); + + as1 = scratch + 4 * n + 4; + asm1 = scratch + 2 * n + 2; + as2 = pp + n + 1; + + gp = scratch; + + /* Compute as1 and asm1. */ + cy = mpn_add (gp, a0, n, a2, s); +#ifdef HAVE_NATIVE_mpn_add_n_sub_n + if (cy == 0 && mpn_cmp (gp, a1, n) < 0) + { + cy = mpn_add_n_sub_n (as1, asm1, a1, gp, n); + as1[n] = cy >> 1; + asm1[n] = 0; + } + else + { + mp_limb_t cy2; + cy2 = mpn_add_n_sub_n (as1, asm1, gp, a1, n); + as1[n] = cy + (cy2 >> 1); + asm1[n] = cy - (cy2 & 1); + } +#else + as1[n] = cy + mpn_add_n (as1, gp, a1, n); + if (cy == 0 && mpn_cmp (gp, a1, n) < 0) + { + mpn_sub_n (asm1, a1, gp, n); + asm1[n] = 0; + } + else + { + cy -= mpn_sub_n (asm1, gp, a1, n); + asm1[n] = cy; + } +#endif + + /* Compute as2. */ +#ifdef HAVE_NATIVE_mpn_rsblsh1_n + cy = mpn_add_n (as2, a2, as1, s); + if (s != n) + cy = mpn_add_1 (as2 + s, as1 + s, n - s, cy); + cy += as1[n]; + cy = 2 * cy + mpn_rsblsh1_n (as2, a0, as2, n); +#else +#ifdef HAVE_NATIVE_mpn_addlsh1_n + cy = mpn_addlsh1_n (as2, a1, a2, s); + if (s != n) + cy = mpn_add_1 (as2 + s, a1 + s, n - s, cy); + cy = 2 * cy + mpn_addlsh1_n (as2, a0, as2, n); +#else + cy = mpn_add_n (as2, a2, as1, s); + if (s != n) + cy = mpn_add_1 (as2 + s, as1 + s, n - s, cy); + cy += as1[n]; + cy = 2 * cy + mpn_lshift (as2, as2, n, 1); + cy -= mpn_sub_n (as2, as2, a0, n); +#endif +#endif + as2[n] = cy; + + ASSERT (as1[n] <= 2); + ASSERT (asm1[n] <= 1); + +#define v0 pp /* 2n */ +#define v1 (pp + 2 * n) /* 2n+1 */ +#define vinf (pp + 4 * n) /* s+s */ +#define vm1 scratch /* 2n+1 */ +#define v2 (scratch + 2 * n + 1) /* 2n+2 */ +#define scratch_out (scratch + 5 * n + 5) + + /* vm1, 2n+1 limbs */ +#ifdef SMALLER_RECURSION + TOOM3_SQR_REC (vm1, asm1, n, scratch_out); + cy = 0; + if (asm1[n] != 0) + cy = asm1[n] + mpn_add_n (vm1 + n, vm1 + n, asm1, n); + if (asm1[n] != 0) + cy += mpn_add_n (vm1 + n, vm1 + n, asm1, n); + vm1[2 * n] = cy; +#else + TOOM3_SQR_REC (vm1, asm1, n + 1, scratch_out); +#endif + + TOOM3_SQR_REC (v2, as2, n + 1, scratch_out); /* v2, 2n+1 limbs */ + + TOOM3_SQR_REC (vinf, a2, s, scratch_out); /* vinf, s+s limbs */ + + vinf0 = vinf[0]; /* v1 overlaps with this */ + +#ifdef SMALLER_RECURSION + /* v1, 2n+1 limbs */ + TOOM3_SQR_REC (v1, as1, n, scratch_out); + if (as1[n] == 1) + { + cy = as1[n] + mpn_add_n (v1 + n, v1 + n, as1, n); + } + else if (as1[n] != 0) + { +#if HAVE_NATIVE_mpn_addlsh1_n + cy = 2 * as1[n] + mpn_addlsh1_n (v1 + n, v1 + n, as1, n); +#else + cy = 2 * as1[n] + mpn_addmul_1 (v1 + n, as1, n, CNST_LIMB(2)); +#endif + } + else + cy = 0; + if (as1[n] == 1) + { + cy += mpn_add_n (v1 + n, v1 + n, as1, n); + } + else if (as1[n] != 0) + { +#if HAVE_NATIVE_mpn_addlsh1_n + cy += mpn_addlsh1_n (v1 + n, v1 + n, as1, n); +#else + cy += mpn_addmul_1 (v1 + n, as1, n, CNST_LIMB(2)); +#endif + } + v1[2 * n] = cy; +#else + cy = vinf[1]; + TOOM3_SQR_REC (v1, as1, n + 1, scratch_out); + vinf[1] = cy; +#endif + + TOOM3_SQR_REC (v0, ap, n, scratch_out); /* v0, 2n limbs */ + + mpn_toom_interpolate_5pts (pp, v2, vm1, n, s + s, 0, vinf0); +} diff --git a/goil/build/libpm/gmp/mpn-toom42_mul.c b/goil/build/libpm/gmp/mpn-toom42_mul.c new file mode 100644 index 000000000..c253d2ca2 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-toom42_mul.c @@ -0,0 +1,234 @@ +/* mpn_toom42_mul -- Multiply {ap,an} and {bp,bn} where an is nominally twice + as large as bn. Or more accurately, (3/2)bn < an < 4bn. + + Contributed to the GNU project by Torbjorn Granlund. + Additional improvements by Marco Bodrato. + + The idea of applying toom to unbalanced multiplication is due to Marco + Bodrato and Alberto Zanoni. + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2006-2008, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "gmp.h" +#include "gmp-impl.h" + +/* Evaluate in: -1, 0, +1, +2, +inf + + <-s-><--n--><--n--><--n--> + ___ ______ ______ ______ + |a3_|___a2_|___a1_|___a0_| + |_b1_|___b0_| + <-t--><--n--> + + v0 = a0 * b0 # A(0)*B(0) + v1 = (a0+ a1+ a2+ a3)*(b0+ b1) # A(1)*B(1) ah <= 3 bh <= 1 + vm1 = (a0- a1+ a2- a3)*(b0- b1) # A(-1)*B(-1) |ah| <= 1 bh = 0 + v2 = (a0+2a1+4a2+8a3)*(b0+2b1) # A(2)*B(2) ah <= 14 bh <= 2 + vinf= a3 * b1 # A(inf)*B(inf) +*/ + +#define TOOM42_MUL_N_REC(p, a, b, n, ws) \ + do { \ + mpn_mul_n (p, a, b, n); \ + } while (0) + +void +mpn_toom42_mul (mp_ptr pp, + mp_srcptr ap, mp_size_t an, + mp_srcptr bp, mp_size_t bn, + mp_ptr scratch) +{ + mp_size_t n, s, t; + int vm1_neg; + mp_limb_t cy, vinf0; + mp_ptr a0_a2; + mp_ptr as1, asm1, as2; + mp_ptr bs1, bsm1, bs2; + TMP_DECL; + +#define a0 ap +#define a1 (ap + n) +#define a2 (ap + 2*n) +#define a3 (ap + 3*n) +#define b0 bp +#define b1 (bp + n) + + n = an >= 2 * bn ? (an + 3) >> 2 : (bn + 1) >> 1; + + s = an - 3 * n; + t = bn - n; + + ASSERT (0 < s && s <= n); + ASSERT (0 < t && t <= n); + + TMP_MARK; + + as1 = TMP_SALLOC_LIMBS (n + 1); + asm1 = TMP_SALLOC_LIMBS (n + 1); + as2 = TMP_SALLOC_LIMBS (n + 1); + + bs1 = TMP_SALLOC_LIMBS (n + 1); + bsm1 = TMP_SALLOC_LIMBS (n); + bs2 = TMP_SALLOC_LIMBS (n + 1); + + a0_a2 = pp; + + /* Compute as1 and asm1. */ + vm1_neg = mpn_toom_eval_dgr3_pm1 (as1, asm1, ap, n, s, a0_a2) & 1; + + /* Compute as2. */ +#ifdef HAVE_NATIVE_mpn_addlsh1_n + cy = mpn_addlsh1_n (as2, a2, a3, s); + if (s != n) + cy = mpn_add_1 (as2 + s, a2 + s, n - s, cy); + cy = 2 * cy + mpn_addlsh1_n (as2, a1, as2, n); + cy = 2 * cy + mpn_addlsh1_n (as2, a0, as2, n); +#else + cy = mpn_lshift (as2, a3, s, 1); + cy += mpn_add_n (as2, a2, as2, s); + if (s != n) + cy = mpn_add_1 (as2 + s, a2 + s, n - s, cy); + cy = 2 * cy + mpn_lshift (as2, as2, n, 1); + cy += mpn_add_n (as2, a1, as2, n); + cy = 2 * cy + mpn_lshift (as2, as2, n, 1); + cy += mpn_add_n (as2, a0, as2, n); +#endif + as2[n] = cy; + + /* Compute bs1 and bsm1. */ + if (t == n) + { +#ifdef HAVE_NATIVE_mpn_add_n_sub_n + if (mpn_cmp (b0, b1, n) < 0) + { + cy = mpn_add_n_sub_n (bs1, bsm1, b1, b0, n); + vm1_neg ^= 1; + } + else + { + cy = mpn_add_n_sub_n (bs1, bsm1, b0, b1, n); + } + bs1[n] = cy >> 1; +#else + bs1[n] = mpn_add_n (bs1, b0, b1, n); + + if (mpn_cmp (b0, b1, n) < 0) + { + mpn_sub_n (bsm1, b1, b0, n); + vm1_neg ^= 1; + } + else + { + mpn_sub_n (bsm1, b0, b1, n); + } +#endif + } + else + { + bs1[n] = mpn_add (bs1, b0, n, b1, t); + + if (mpn_zero_p (b0 + t, n - t) && mpn_cmp (b0, b1, t) < 0) + { + mpn_sub_n (bsm1, b1, b0, t); + MPN_ZERO (bsm1 + t, n - t); + vm1_neg ^= 1; + } + else + { + mpn_sub (bsm1, b0, n, b1, t); + } + } + + /* Compute bs2, recycling bs1. bs2=bs1+b1 */ + mpn_add (bs2, bs1, n + 1, b1, t); + + ASSERT (as1[n] <= 3); + ASSERT (bs1[n] <= 1); + ASSERT (asm1[n] <= 1); +/*ASSERT (bsm1[n] == 0);*/ + ASSERT (as2[n] <= 14); + ASSERT (bs2[n] <= 2); + +#define v0 pp /* 2n */ +#define v1 (pp + 2 * n) /* 2n+1 */ +#define vinf (pp + 4 * n) /* s+t */ +#define vm1 scratch /* 2n+1 */ +#define v2 (scratch + 2 * n + 1) /* 2n+2 */ +#define scratch_out scratch + 4 * n + 4 /* Currently unused. */ + + /* vm1, 2n+1 limbs */ + TOOM42_MUL_N_REC (vm1, asm1, bsm1, n, scratch_out); + cy = 0; + if (asm1[n] != 0) + cy = mpn_add_n (vm1 + n, vm1 + n, bsm1, n); + vm1[2 * n] = cy; + + TOOM42_MUL_N_REC (v2, as2, bs2, n + 1, scratch_out); /* v2, 2n+1 limbs */ + + /* vinf, s+t limbs */ + if (s > t) mpn_mul (vinf, a3, s, b1, t); + else mpn_mul (vinf, b1, t, a3, s); + + vinf0 = vinf[0]; /* v1 overlaps with this */ + + /* v1, 2n+1 limbs */ + TOOM42_MUL_N_REC (v1, as1, bs1, n, scratch_out); + if (as1[n] == 1) + { + cy = bs1[n] + mpn_add_n (v1 + n, v1 + n, bs1, n); + } + else if (as1[n] == 2) + { +#ifdef HAVE_NATIVE_mpn_addlsh1_n + cy = 2 * bs1[n] + mpn_addlsh1_n (v1 + n, v1 + n, bs1, n); +#else + cy = 2 * bs1[n] + mpn_addmul_1 (v1 + n, bs1, n, CNST_LIMB(2)); +#endif + } + else if (as1[n] == 3) + { + cy = 3 * bs1[n] + mpn_addmul_1 (v1 + n, bs1, n, CNST_LIMB(3)); + } + else + cy = 0; + if (bs1[n] != 0) + cy += mpn_add_n (v1 + n, v1 + n, as1, n); + v1[2 * n] = cy; + + TOOM42_MUL_N_REC (v0, ap, bp, n, scratch_out); /* v0, 2n limbs */ + + mpn_toom_interpolate_5pts (pp, v2, vm1, n, s + t, vm1_neg, vinf0); + + TMP_FREE; +} diff --git a/goil/build/libpm/gmp/mpn-toom43_mul.c b/goil/build/libpm/gmp/mpn-toom43_mul.c new file mode 100644 index 000000000..4a18ecaeb --- /dev/null +++ b/goil/build/libpm/gmp/mpn-toom43_mul.c @@ -0,0 +1,234 @@ +/* mpn_toom43_mul -- Multiply {ap,an} and {bp,bn} where an is nominally 4/3 + times as large as bn. Or more accurately, bn < an < 2 bn. + + Contributed to the GNU project by Marco Bodrato. + + The idea of applying toom to unbalanced multiplication is due to Marco + Bodrato and Alberto Zanoni. + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2009 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "gmp.h" +#include "gmp-impl.h" + +/* Evaluate in: -2, -1, 0, +1, +2, +inf + + <-s-><--n--><--n--><--n--> + ___ ______ ______ ______ + |a3_|___a2_|___a1_|___a0_| + |_b2_|___b1_|___b0_| + <-t--><--n--><--n--> + + v0 = a0 * b0 # A(0)*B(0) + v1 = (a0+ a1+ a2+ a3)*(b0+ b1+ b2) # A(1)*B(1) ah <= 3 bh <= 2 + vm1 = (a0- a1+ a2- a3)*(b0- b1+ b2) # A(-1)*B(-1) |ah| <= 1 |bh|<= 1 + v2 = (a0+2a1+4a2+8a3)*(b0+2b1+4b2) # A(2)*B(2) ah <= 14 bh <= 6 + vm2 = (a0-2a1+4a2-8a3)*(b0-2b1+4b2) # A(-2)*B(-2) |ah| <= 9 |bh|<= 4 + vinf= a3 * b2 # A(inf)*B(inf) +*/ + +void +mpn_toom43_mul (mp_ptr pp, + mp_srcptr ap, mp_size_t an, + mp_srcptr bp, mp_size_t bn, mp_ptr scratch) +{ + mp_size_t n, s, t; + enum toom6_flags flags; + mp_limb_t cy; + +#define a0 ap +#define a1 (ap + n) +#define a2 (ap + 2 * n) +#define a3 (ap + 3 * n) +#define b0 bp +#define b1 (bp + n) +#define b2 (bp + 2 * n) + + n = 1 + (3 * an >= 4 * bn ? (an - 1) >> 2 : (bn - 1) / 3); // (size_t) deleted by PM + + s = an - 3 * n; + t = bn - 2 * n; + + ASSERT (0 < s && s <= n); + ASSERT (0 < t && t <= n); + + /* This is true whenever an >= 25 or bn >= 19, I think. It + guarantees that we can fit 5 values of size n+1 in the product + area. */ + ASSERT (s+t >= 5); + +#define v0 pp /* 2n */ +#define vm1 (scratch) /* 2n+1 */ +#define v1 (pp + 2*n) /* 2n+1 */ +#define vm2 (scratch + 2 * n + 1) /* 2n+1 */ +#define v2 (scratch + 4 * n + 2) /* 2n+1 */ +#define vinf (pp + 5 * n) /* s+t */ +#define bs1 pp /* n+1 */ +#define bsm1 (scratch + 2 * n + 2) /* n+1 */ +#define asm1 (scratch + 3 * n + 3) /* n+1 */ +#define asm2 (scratch + 4 * n + 4) /* n+1 */ +#define bsm2 (pp + n + 1) /* n+1 */ +#define bs2 (pp + 2 * n + 2) /* n+1 */ +#define as2 (pp + 3 * n + 3) /* n+1 */ +#define as1 (pp + 4 * n + 4) /* n+1 */ + + /* Total sccratch need is 6 * n + 3 + 1; we allocate one extra + limb, because products will overwrite 2n+2 limbs. */ + +#define a0a2 scratch +#define b0b2 scratch +#define a1a3 asm1 +#define b1d bsm1 + + /* Compute as2 and asm2. */ + flags = (enum toom6_flags) (toom6_vm2_neg & mpn_toom_eval_dgr3_pm2 (as2, asm2, ap, n, s, a1a3)); + + /* Compute bs2 and bsm2. */ + b1d[n] = mpn_lshift (b1d, b1, n, 1); /* 2b1 */ + cy = mpn_lshift (b0b2, b2, t, 2); /* 4b2 */ + cy += mpn_add_n (b0b2, b0b2, b0, t); /* 4b2 + b0 */ + if (t != n) + cy = mpn_add_1 (b0b2 + t, b0 + t, n - t, cy); + b0b2[n] = cy; + +#ifdef HAVE_NATIVE_mpn_add_n_sub_n + if (mpn_cmp (b0b2, b1d, n+1) < 0) + { + mpn_add_n_sub_n (bs2, bsm2, b1d, b0b2, n+1); + flags = (enum toom6_flags) (flags ^ toom6_vm2_neg); + } + else + { + mpn_add_n_sub_n (bs2, bsm2, b0b2, b1d, n+1); + } +#else + mpn_add_n (bs2, b0b2, b1d, n+1); + if (mpn_cmp (b0b2, b1d, n+1) < 0) + { + mpn_sub_n (bsm2, b1d, b0b2, n+1); + flags = (enum toom6_flags) (flags ^ toom6_vm2_neg); + } + else + { + mpn_sub_n (bsm2, b0b2, b1d, n+1); + } +#endif + + /* Compute as1 and asm1. */ + flags = (enum toom6_flags) (flags ^ toom6_vm1_neg & mpn_toom_eval_dgr3_pm1 (as1, asm1, ap, n, s, a0a2)); + + /* Compute bs1 and bsm1. */ + bsm1[n] = mpn_add (bsm1, b0, n, b2, t); +#ifdef HAVE_NATIVE_mpn_add_n_sub_n + if (bsm1[n] == 0 && mpn_cmp (bsm1, b1, n) < 0) + { + cy = mpn_add_n_sub_n (bs1, bsm1, b1, bsm1, n); + bs1[n] = cy >> 1; + flags = (enum toom6_flags) (flags ^ toom6_vm1_neg); + } + else + { + cy = mpn_add_n_sub_n (bs1, bsm1, bsm1, b1, n); + bs1[n] = bsm1[n] + (cy >> 1); + bsm1[n]-= cy & 1; + } +#else + bs1[n] = bsm1[n] + mpn_add_n (bs1, bsm1, b1, n); + if (bsm1[n] == 0 && mpn_cmp (bsm1, b1, n) < 0) + { + mpn_sub_n (bsm1, b1, bsm1, n); + flags = (enum toom6_flags) (flags ^ toom6_vm1_neg); + } + else + { + bsm1[n] -= mpn_sub_n (bsm1, bsm1, b1, n); + } +#endif + + ASSERT (as1[n] <= 3); + ASSERT (bs1[n] <= 2); + ASSERT (asm1[n] <= 1); + ASSERT (bsm1[n] <= 1); + ASSERT (as2[n] <=14); + ASSERT (bs2[n] <= 6); + ASSERT (asm2[n] <= 9); + ASSERT (bsm2[n] <= 4); + + /* vm1, 2n+1 limbs */ + mpn_mul_n (vm1, asm1, bsm1, n+1); /* W4 */ + + /* vm2, 2n+1 limbs */ + mpn_mul_n (vm2, asm2, bsm2, n+1); /* W2 */ + + /* v2, 2n+1 limbs */ + mpn_mul_n (v2, as2, bs2, n+1); /* W1 */ + + /* v1, 2n+1 limbs */ + mpn_mul_n (v1, as1, bs1, n+1); /* W3 */ + + /* vinf, s+t limbs */ /* W0 */ + if (s > t) mpn_mul (vinf, a3, s, b2, t); + else mpn_mul (vinf, b2, t, a3, s); + + /* v0, 2n limbs */ + mpn_mul_n (v0, ap, bp, n); /* W5 */ + + mpn_toom_interpolate_6pts (pp, n, flags, vm1, vm2, v2, t + s); + +#undef v0 +#undef vm1 +#undef v1 +#undef vm2 +#undef v2 +#undef vinf +#undef bs1 +#undef bs2 +#undef bsm1 +#undef bsm2 +#undef asm1 +#undef asm2 +/* #undef as1 */ +/* #undef as2 */ +#undef a0a2 +#undef b0b2 +#undef a1a3 +#undef b1d +#undef a0 +#undef a1 +#undef a2 +#undef a3 +#undef b0 +#undef b1 +#undef b2 +} diff --git a/goil/build/libpm/gmp/mpn-toom44_mul.c b/goil/build/libpm/gmp/mpn-toom44_mul.c new file mode 100644 index 000000000..689e342da --- /dev/null +++ b/goil/build/libpm/gmp/mpn-toom44_mul.c @@ -0,0 +1,236 @@ +/* mpn_toom44_mul -- Multiply {ap,an} and {bp,bn} where an and bn are close in + size. Or more accurately, bn <= an < (4/3)bn. + + Contributed to the GNU project by Torbjorn Granlund and Marco Bodrato. + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2006-2008, 2013 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "gmp.h" +#include "gmp-impl.h" + +/* Evaluate in: 0, +1, -1, +2, -2, 1/2, +inf + + <-s--><--n--><--n--><--n--> + ____ ______ ______ ______ + |_a3_|___a2_|___a1_|___a0_| + |b3_|___b2_|___b1_|___b0_| + <-t-><--n--><--n--><--n--> + + v0 = a0 * b0 # A(0)*B(0) + v1 = ( a0+ a1+ a2+ a3)*( b0+ b1+ b2+ b3) # A(1)*B(1) ah <= 3 bh <= 3 + vm1 = ( a0- a1+ a2- a3)*( b0- b1+ b2- b3) # A(-1)*B(-1) |ah| <= 1 |bh| <= 1 + v2 = ( a0+2a1+4a2+8a3)*( b0+2b1+4b2+8b3) # A(2)*B(2) ah <= 14 bh <= 14 + vm2 = ( a0-2a1+4a2-8a3)*( b0-2b1+4b2-8b3) # A(2)*B(2) ah <= 9 |bh| <= 9 + vh = (8a0+4a1+2a2+ a3)*(8b0+4b1+2b2+ b3) # A(1/2)*B(1/2) ah <= 14 bh <= 14 + vinf= a3 * b2 # A(inf)*B(inf) +*/ + +#ifdef TUNE_PROGRAM_BUILD +#define MAYBE_mul_basecase 1 +#define MAYBE_mul_toom22 1 +#define MAYBE_mul_toom44 1 +#else +#define MAYBE_mul_basecase \ + (MUL_TOOM44_THRESHOLD < 4 * MUL_TOOM22_THRESHOLD) +#define MAYBE_mul_toom22 \ + (MUL_TOOM44_THRESHOLD < 4 * MUL_TOOM33_THRESHOLD) +#define MAYBE_mul_toom44 \ + (MUL_TOOM6H_THRESHOLD >= 4 * MUL_TOOM44_THRESHOLD) +#endif + +#define TOOM44_MUL_N_REC(p, a, b, n, ws) \ + do { \ + if (MAYBE_mul_basecase \ + && BELOW_THRESHOLD (n, MUL_TOOM22_THRESHOLD)) \ + mpn_mul_basecase (p, a, n, b, n); \ + else if (MAYBE_mul_toom22 \ + && BELOW_THRESHOLD (n, MUL_TOOM33_THRESHOLD)) \ + mpn_toom22_mul (p, a, n, b, n, ws); \ + else if (! MAYBE_mul_toom44 \ + || BELOW_THRESHOLD (n, MUL_TOOM44_THRESHOLD)) \ + mpn_toom33_mul (p, a, n, b, n, ws); \ + else \ + mpn_toom44_mul (p, a, n, b, n, ws); \ + } while (0) + +/* Use of scratch space. In the product area, we store + + ___________________ + |vinf|____|_v1_|_v0_| + s+t 2n-1 2n+1 2n + + The other recursive products, vm1, v2, vm2, vh are stored in the + scratch area. When computing them, we use the product area for + intermediate values. + + Next, we compute v1. We can store the intermediate factors at v0 + and at vh + 2n + 2. + + Finally, for v0 and vinf, factors are parts of the input operands, + and we need scratch space only for the recursive multiplication. + + In all, if S(an) is the scratch need, the needed space is bounded by + + S(an) <= 4 (2*ceil(an/4) + 1) + 1 + S(ceil(an/4) + 1) + + which should give S(n) = 8 n/3 + c log(n) for some constant c. +*/ + +void +mpn_toom44_mul (mp_ptr pp, + mp_srcptr ap, mp_size_t an, + mp_srcptr bp, mp_size_t bn, + mp_ptr scratch) +{ + mp_size_t n, s, t; + mp_limb_t cy; + enum toom7_flags flags; + +#define a0 ap +#define a1 (ap + n) +#define a2 (ap + 2*n) +#define a3 (ap + 3*n) +#define b0 bp +#define b1 (bp + n) +#define b2 (bp + 2*n) +#define b3 (bp + 3*n) + + ASSERT (an >= bn); + + n = (an + 3) >> 2; + + s = an - 3 * n; + t = bn - 3 * n; + + ASSERT (0 < s && s <= n); + ASSERT (0 < t && t <= n); + ASSERT (s >= t); + + /* NOTE: The multiplications to v2, vm2, vh and vm1 overwrites the + * following limb, so these must be computed in order, and we need a + * one limb gap to tp. */ +#define v0 pp /* 2n */ +#define v1 (pp + 2 * n) /* 2n+1 */ +#define vinf (pp + 6 * n) /* s+t */ +#define v2 scratch /* 2n+1 */ +#define vm2 (scratch + 2 * n + 1) /* 2n+1 */ +#define vh (scratch + 4 * n + 2) /* 2n+1 */ +#define vm1 (scratch + 6 * n + 3) /* 2n+1 */ +#define tp (scratch + 8*n + 5) + + /* apx and bpx must not overlap with v1 */ +#define apx pp /* n+1 */ +#define amx (pp + n + 1) /* n+1 */ +#define bmx (pp + 2*n + 2) /* n+1 */ +#define bpx (pp + 4*n + 2) /* n+1 */ + + /* Total scratch need: 8*n + 5 + scratch for recursive calls. This + gives roughly 32 n/3 + log term. */ + + /* Compute apx = a0 + 2 a1 + 4 a2 + 8 a3 and amx = a0 - 2 a1 + 4 a2 - 8 a3. */ + flags = (enum toom7_flags) (toom7_w1_neg & mpn_toom_eval_dgr3_pm2 (apx, amx, ap, n, s, tp)); + + /* Compute bpx = b0 + 2 b1 + 4 b2 + 8 b3 and bmx = b0 - 2 b1 + 4 b2 - 8 b3. */ + flags = (enum toom7_flags) (flags ^ toom7_w1_neg & mpn_toom_eval_dgr3_pm2 (bpx, bmx, bp, n, t, tp)); + + TOOM44_MUL_N_REC (v2, apx, bpx, n + 1, tp); /* v2, 2n+1 limbs */ + TOOM44_MUL_N_REC (vm2, amx, bmx, n + 1, tp); /* vm2, 2n+1 limbs */ + + /* Compute apx = 8 a0 + 4 a1 + 2 a2 + a3 = (((2*a0 + a1) * 2 + a2) * 2 + a3 */ +#ifdef HAVE_NATIVE_mpn_addlsh1_n + cy = mpn_addlsh1_n (apx, a1, a0, n); + cy = 2*cy + mpn_addlsh1_n (apx, a2, apx, n); + if (s < n) + { + mp_limb_t cy2; + cy2 = mpn_addlsh1_n (apx, a3, apx, s); + apx[n] = 2*cy + mpn_lshift (apx + s, apx + s, n - s, 1); + MPN_INCR_U (apx + s, n+1-s, cy2); + } + else + apx[n] = 2*cy + mpn_addlsh1_n (apx, a3, apx, n); +#else + cy = mpn_lshift (apx, a0, n, 1); + cy += mpn_add_n (apx, apx, a1, n); + cy = 2*cy + mpn_lshift (apx, apx, n, 1); + cy += mpn_add_n (apx, apx, a2, n); + cy = 2*cy + mpn_lshift (apx, apx, n, 1); + apx[n] = cy + mpn_add (apx, apx, n, a3, s); +#endif + + /* Compute bpx = 8 b0 + 4 b1 + 2 b2 + b3 = (((2*b0 + b1) * 2 + b2) * 2 + b3 */ +#ifdef HAVE_NATIVE_mpn_addlsh1_n + cy = mpn_addlsh1_n (bpx, b1, b0, n); + cy = 2*cy + mpn_addlsh1_n (bpx, b2, bpx, n); + if (t < n) + { + mp_limb_t cy2; + cy2 = mpn_addlsh1_n (bpx, b3, bpx, t); + bpx[n] = 2*cy + mpn_lshift (bpx + t, bpx + t, n - t, 1); + MPN_INCR_U (bpx + t, n+1-t, cy2); + } + else + bpx[n] = 2*cy + mpn_addlsh1_n (bpx, b3, bpx, n); +#else + cy = mpn_lshift (bpx, b0, n, 1); + cy += mpn_add_n (bpx, bpx, b1, n); + cy = 2*cy + mpn_lshift (bpx, bpx, n, 1); + cy += mpn_add_n (bpx, bpx, b2, n); + cy = 2*cy + mpn_lshift (bpx, bpx, n, 1); + bpx[n] = cy + mpn_add (bpx, bpx, n, b3, t); +#endif + + ASSERT (apx[n] < 15); + ASSERT (bpx[n] < 15); + + TOOM44_MUL_N_REC (vh, apx, bpx, n + 1, tp); /* vh, 2n+1 limbs */ + + /* Compute apx = a0 + a1 + a2 + a3 and amx = a0 - a1 + a2 - a3. */ + flags = (enum toom7_flags) (flags | (toom7_w3_neg & mpn_toom_eval_dgr3_pm1 (apx, amx, ap, n, s, tp))); + + /* Compute bpx = b0 + b1 + b2 + b3 bnd bmx = b0 - b1 + b2 - b3. */ + flags = (enum toom7_flags) (flags ^ toom7_w3_neg & mpn_toom_eval_dgr3_pm1 (bpx, bmx, bp, n, t, tp)); + + TOOM44_MUL_N_REC (vm1, amx, bmx, n + 1, tp); /* vm1, 2n+1 limbs */ + /* Clobbers amx, bmx. */ + TOOM44_MUL_N_REC (v1, apx, bpx, n + 1, tp); /* v1, 2n+1 limbs */ + + TOOM44_MUL_N_REC (v0, a0, b0, n, tp); + if (s > t) + mpn_mul (vinf, a3, s, b3, t); + else + TOOM44_MUL_N_REC (vinf, a3, b3, s, tp); /* vinf, s+t limbs */ + + mpn_toom_interpolate_7pts (pp, n, flags, vm2, vm1, v2, vh, s + t, tp); +} diff --git a/goil/build/libpm/gmp/mpn-toom4_sqr.c b/goil/build/libpm/gmp/mpn-toom4_sqr.c new file mode 100644 index 000000000..5a9296c96 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-toom4_sqr.c @@ -0,0 +1,164 @@ +/* mpn_toom4_sqr -- Square {ap,an}. + + Contributed to the GNU project by Torbjorn Granlund and Marco Bodrato. + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2006-2010, 2013 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "gmp.h" +#include "gmp-impl.h" + +/* Evaluate in: -1, -1/2, 0, +1/2, +1, +2, +inf + + <-s--><--n--><--n--><--n--> + ____ ______ ______ ______ + |_a3_|___a2_|___a1_|___a0_| + + v0 = a0 ^2 # A(0)^2 + v1 = ( a0+ a1+ a2+ a3)^2 # A(1)^2 ah <= 3 + vm1 = ( a0- a1+ a2- a3)^2 # A(-1)^2 |ah| <= 1 + v2 = ( a0+2a1+4a2+8a3)^2 # A(2)^2 ah <= 14 + vh = (8a0+4a1+2a2+ a3)^2 # A(1/2)^2 ah <= 14 + vmh = (8a0-4a1+2a2- a3)^2 # A(-1/2)^2 -4<=ah<=9 + vinf= a3 ^2 # A(inf)^2 +*/ + +#ifdef TUNE_PROGRAM_BUILD +#define MAYBE_sqr_basecase 1 +#define MAYBE_sqr_toom2 1 +#define MAYBE_sqr_toom4 1 +#else +#define MAYBE_sqr_basecase \ + (SQR_TOOM4_THRESHOLD < 4 * SQR_TOOM2_THRESHOLD) +#define MAYBE_sqr_toom2 \ + (SQR_TOOM4_THRESHOLD < 4 * SQR_TOOM3_THRESHOLD) +#define MAYBE_sqr_toom4 \ + (SQR_TOOM6_THRESHOLD >= 4 * SQR_TOOM4_THRESHOLD) +#endif + +#define TOOM4_SQR_REC(p, a, n, ws) \ + do { \ + if (MAYBE_sqr_basecase \ + && BELOW_THRESHOLD (n, SQR_TOOM2_THRESHOLD)) \ + mpn_sqr_basecase (p, a, n); \ + else if (MAYBE_sqr_toom2 \ + && BELOW_THRESHOLD (n, SQR_TOOM3_THRESHOLD)) \ + mpn_toom2_sqr (p, a, n, ws); \ + else if (! MAYBE_sqr_toom4 \ + || BELOW_THRESHOLD (n, SQR_TOOM4_THRESHOLD)) \ + mpn_toom3_sqr (p, a, n, ws); \ + else \ + mpn_toom4_sqr (p, a, n, ws); \ + } while (0) + +void +mpn_toom4_sqr (mp_ptr pp, + mp_srcptr ap, mp_size_t an, + mp_ptr scratch) +{ + mp_size_t n, s; + mp_limb_t cy; + +#define a0 ap +#define a1 (ap + n) +#define a2 (ap + 2*n) +#define a3 (ap + 3*n) + + n = (an + 3) >> 2; + + s = an - 3 * n; + + ASSERT (0 < s && s <= n); + + /* NOTE: The multiplications to v2, vm2, vh and vm1 overwrites the + * following limb, so these must be computed in order, and we need a + * one limb gap to tp. */ +#define v0 pp /* 2n */ +#define v1 (pp + 2 * n) /* 2n+1 */ +#define vinf (pp + 6 * n) /* s+t */ +#define v2 scratch /* 2n+1 */ +#define vm2 (scratch + 2 * n + 1) /* 2n+1 */ +#define vh (scratch + 4 * n + 2) /* 2n+1 */ +#define vm1 (scratch + 6 * n + 3) /* 2n+1 */ +#define tp (scratch + 8*n + 5) + + /* No overlap with v1 */ +#define apx pp /* n+1 */ +#define amx (pp + 4*n + 2) /* n+1 */ + + /* Total scratch need: 8*n + 5 + scratch for recursive calls. This + gives roughly 32 n/3 + log term. */ + + /* Compute apx = a0 + 2 a1 + 4 a2 + 8 a3 and amx = a0 - 2 a1 + 4 a2 - 8 a3. */ + mpn_toom_eval_dgr3_pm2 (apx, amx, ap, n, s, tp); + + TOOM4_SQR_REC (v2, apx, n + 1, tp); /* v2, 2n+1 limbs */ + TOOM4_SQR_REC (vm2, amx, n + 1, tp); /* vm2, 2n+1 limbs */ + + /* Compute apx = 8 a0 + 4 a1 + 2 a2 + a3 = (((2*a0 + a1) * 2 + a2) * 2 + a3 */ +#ifdef HAVE_NATIVE_mpn_addlsh1_n + cy = mpn_addlsh1_n (apx, a1, a0, n); + cy = 2*cy + mpn_addlsh1_n (apx, a2, apx, n); + if (s < n) + { + mp_limb_t cy2; + cy2 = mpn_addlsh1_n (apx, a3, apx, s); + apx[n] = 2*cy + mpn_lshift (apx + s, apx + s, n - s, 1); + MPN_INCR_U (apx + s, n+1-s, cy2); + } + else + apx[n] = 2*cy + mpn_addlsh1_n (apx, a3, apx, n); +#else + cy = mpn_lshift (apx, a0, n, 1); + cy += mpn_add_n (apx, apx, a1, n); + cy = 2*cy + mpn_lshift (apx, apx, n, 1); + cy += mpn_add_n (apx, apx, a2, n); + cy = 2*cy + mpn_lshift (apx, apx, n, 1); + apx[n] = cy + mpn_add (apx, apx, n, a3, s); +#endif + + ASSERT (apx[n] < 15); + + TOOM4_SQR_REC (vh, apx, n + 1, tp); /* vh, 2n+1 limbs */ + + /* Compute apx = a0 + a1 + a2 + a3 and amx = a0 - a1 + a2 - a3. */ + mpn_toom_eval_dgr3_pm1 (apx, amx, ap, n, s, tp); + + TOOM4_SQR_REC (v1, apx, n + 1, tp); /* v1, 2n+1 limbs */ + TOOM4_SQR_REC (vm1, amx, n + 1, tp); /* vm1, 2n+1 limbs */ + + TOOM4_SQR_REC (v0, a0, n, tp); + TOOM4_SQR_REC (vinf, a3, s, tp); /* vinf, 2s limbs */ + + mpn_toom_interpolate_7pts (pp, n, (enum toom7_flags) 0, vm2, vm1, v2, vh, 2*s, tp); +} diff --git a/goil/build/libpm/gmp/mpn-toom53_mul.c b/goil/build/libpm/gmp/mpn-toom53_mul.c new file mode 100644 index 000000000..7519803be --- /dev/null +++ b/goil/build/libpm/gmp/mpn-toom53_mul.c @@ -0,0 +1,332 @@ +/* mpn_toom53_mul -- Multiply {ap,an} and {bp,bn} where an is nominally 5/3 + times as large as bn. Or more accurately, (4/3)bn < an < (5/2)bn. + + Contributed to the GNU project by Torbjorn Granlund and Marco Bodrato. + + The idea of applying toom to unbalanced multiplication is due to Marco + Bodrato and Alberto Zanoni. + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2006-2008, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "gmp.h" +#include "gmp-impl.h" + + +/* Evaluate in: 0, +1, -1, +2, -2, 1/2, +inf + + <-s-><--n--><--n--><--n--><--n--> + ___ ______ ______ ______ ______ + |a4_|___a3_|___a2_|___a1_|___a0_| + |__b2|___b1_|___b0_| + <-t--><--n--><--n--> + + v0 = a0 * b0 # A(0)*B(0) + v1 = ( a0+ a1+ a2+ a3+ a4)*( b0+ b1+ b2) # A(1)*B(1) ah <= 4 bh <= 2 + vm1 = ( a0- a1+ a2- a3+ a4)*( b0- b1+ b2) # A(-1)*B(-1) |ah| <= 2 bh <= 1 + v2 = ( a0+2a1+4a2+8a3+16a4)*( b0+2b1+4b2) # A(2)*B(2) ah <= 30 bh <= 6 + vm2 = ( a0-2a1+4a2-8a3+16a4)*( b0-2b1+4b2) # A(2)*B(2) -9<=ah<=20 -1<=bh<=4 + vh = (16a0+8a1+4a2+2a3+ a4)*(4b0+2b1+ b2) # A(1/2)*B(1/2) ah <= 30 bh <= 6 + vinf= a4 * b2 # A(inf)*B(inf) +*/ + +void +mpn_toom53_mul (mp_ptr pp, + mp_srcptr ap, mp_size_t an, + mp_srcptr bp, mp_size_t bn, + mp_ptr scratch) +{ + mp_size_t n, s, t; + mp_limb_t cy; + mp_ptr gp; + mp_ptr as1, asm1, as2, asm2, ash; + mp_ptr bs1, bsm1, bs2, bsm2, bsh; + enum toom7_flags flags; + TMP_DECL; + +#define a0 ap +#define a1 (ap + n) +#define a2 (ap + 2*n) +#define a3 (ap + 3*n) +#define a4 (ap + 4*n) +#define b0 bp +#define b1 (bp + n) +#define b2 (bp + 2*n) + + n = 1 + (3 * an >= 5 * bn ? (an - 1) / (size_t) 5 : (bn - 1) / (size_t) 3); + + s = an - 4 * n; + t = bn - 2 * n; + + ASSERT (0 < s && s <= n); + ASSERT (0 < t && t <= n); + + TMP_MARK; + + as1 = TMP_SALLOC_LIMBS (n + 1); + asm1 = TMP_SALLOC_LIMBS (n + 1); + as2 = TMP_SALLOC_LIMBS (n + 1); + asm2 = TMP_SALLOC_LIMBS (n + 1); + ash = TMP_SALLOC_LIMBS (n + 1); + + bs1 = TMP_SALLOC_LIMBS (n + 1); + bsm1 = TMP_SALLOC_LIMBS (n + 1); + bs2 = TMP_SALLOC_LIMBS (n + 1); + bsm2 = TMP_SALLOC_LIMBS (n + 1); + bsh = TMP_SALLOC_LIMBS (n + 1); + + gp = pp; + + /* Compute as1 and asm1. */ + flags = (enum toom7_flags) (toom7_w3_neg & mpn_toom_eval_pm1 (as1, asm1, 4, ap, n, s, gp)); + + /* Compute as2 and asm2. */ + flags = (enum toom7_flags) (flags | (toom7_w1_neg & mpn_toom_eval_pm2 (as2, asm2, 4, ap, n, s, gp))); + + /* Compute ash = 16 a0 + 8 a1 + 4 a2 + 2 a3 + a4 + = 2*(2*(2*(2*a0 + a1) + a2) + a3) + a4 */ +#ifdef HAVE_NATIVE_mpn_addlsh1_n + cy = mpn_addlsh1_n (ash, a1, a0, n); + cy = 2*cy + mpn_addlsh1_n (ash, a2, ash, n); + cy = 2*cy + mpn_addlsh1_n (ash, a3, ash, n); + if (s < n) + { + mp_limb_t cy2; + cy2 = mpn_addlsh1_n (ash, a4, ash, s); + ash[n] = 2*cy + mpn_lshift (ash + s, ash + s, n - s, 1); + MPN_INCR_U (ash + s, n+1-s, cy2); + } + else + ash[n] = 2*cy + mpn_addlsh1_n (ash, a4, ash, n); +#else + cy = mpn_lshift (ash, a0, n, 1); + cy += mpn_add_n (ash, ash, a1, n); + cy = 2*cy + mpn_lshift (ash, ash, n, 1); + cy += mpn_add_n (ash, ash, a2, n); + cy = 2*cy + mpn_lshift (ash, ash, n, 1); + cy += mpn_add_n (ash, ash, a3, n); + cy = 2*cy + mpn_lshift (ash, ash, n, 1); + ash[n] = cy + mpn_add (ash, ash, n, a4, s); +#endif + + /* Compute bs1 and bsm1. */ + bs1[n] = mpn_add (bs1, b0, n, b2, t); /* b0 + b2 */ +#ifdef HAVE_NATIVE_mpn_add_n_sub_n + if (bs1[n] == 0 && mpn_cmp (bs1, b1, n) < 0) + { + bs1[n] = mpn_add_n_sub_n (bs1, bsm1, b1, bs1, n) >> 1; + bsm1[n] = 0; + flags = (enum toom7_flags) (flags ^ toom7_w3_neg); + } + else + { + cy = mpn_add_n_sub_n (bs1, bsm1, bs1, b1, n); + bsm1[n] = bs1[n] - (cy & 1); + bs1[n] += (cy >> 1); + } +#else + if (bs1[n] == 0 && mpn_cmp (bs1, b1, n) < 0) + { + mpn_sub_n (bsm1, b1, bs1, n); + bsm1[n] = 0; + flags = (enum toom7_flags) (flags ^ toom7_w3_neg); + } + else + { + bsm1[n] = bs1[n] - mpn_sub_n (bsm1, bs1, b1, n); + } + bs1[n] += mpn_add_n (bs1, bs1, b1, n); /* b0+b1+b2 */ +#endif + + /* Compute bs2 and bsm2. */ +#if defined (HAVE_NATIVE_mpn_addlsh_n) || defined (HAVE_NATIVE_mpn_addlsh2_n) +#if HAVE_NATIVE_mpn_addlsh2_n + cy = mpn_addlsh2_n (bs2, b0, b2, t); +#else /* HAVE_NATIVE_mpn_addlsh_n */ + cy = mpn_addlsh_n (bs2, b0, b2, t, 2); +#endif + if (t < n) + cy = mpn_add_1 (bs2 + t, b0 + t, n - t, cy); + bs2[n] = cy; +#else + cy = mpn_lshift (gp, b2, t, 2); + bs2[n] = mpn_add (bs2, b0, n, gp, t); + MPN_INCR_U (bs2 + t, n+1-t, cy); +#endif + + gp[n] = mpn_lshift (gp, b1, n, 1); + +#ifdef HAVE_NATIVE_mpn_add_n_sub_n + if (mpn_cmp (bs2, gp, n+1) < 0) + { + ASSERT_NOCARRY (mpn_add_n_sub_n (bs2, bsm2, gp, bs2, n+1)); + flags = (enum toom7_flags) (flags ^ toom7_w1_neg); + } + else + { + ASSERT_NOCARRY (mpn_add_n_sub_n (bs2, bsm2, bs2, gp, n+1)); + } +#else + if (mpn_cmp (bs2, gp, n+1) < 0) + { + ASSERT_NOCARRY (mpn_sub_n (bsm2, gp, bs2, n+1)); + flags = (enum toom7_flags) (flags ^ toom7_w1_neg); + } + else + { + ASSERT_NOCARRY (mpn_sub_n (bsm2, bs2, gp, n+1)); + } + mpn_add_n (bs2, bs2, gp, n+1); +#endif + + /* Compute bsh = 4 b0 + 2 b1 + b2 = 2*(2*b0 + b1)+b2. */ +#ifdef HAVE_NATIVE_mpn_addlsh1_n + cy = mpn_addlsh1_n (bsh, b1, b0, n); + if (t < n) + { + mp_limb_t cy2; + cy2 = mpn_addlsh1_n (bsh, b2, bsh, t); + bsh[n] = 2*cy + mpn_lshift (bsh + t, bsh + t, n - t, 1); + MPN_INCR_U (bsh + t, n+1-t, cy2); + } + else + bsh[n] = 2*cy + mpn_addlsh1_n (bsh, b2, bsh, n); +#else + cy = mpn_lshift (bsh, b0, n, 1); + cy += mpn_add_n (bsh, bsh, b1, n); + cy = 2*cy + mpn_lshift (bsh, bsh, n, 1); + bsh[n] = cy + mpn_add (bsh, bsh, n, b2, t); +#endif + + ASSERT (as1[n] <= 4); + ASSERT (bs1[n] <= 2); + ASSERT (asm1[n] <= 2); + ASSERT (bsm1[n] <= 1); + ASSERT (as2[n] <= 30); + ASSERT (bs2[n] <= 6); + ASSERT (asm2[n] <= 20); + ASSERT (bsm2[n] <= 4); + ASSERT (ash[n] <= 30); + ASSERT (bsh[n] <= 6); + +#define v0 pp /* 2n */ +#define v1 (pp + 2 * n) /* 2n+1 */ +#define vinf (pp + 6 * n) /* s+t */ +#define v2 scratch /* 2n+1 */ +#define vm2 (scratch + 2 * n + 1) /* 2n+1 */ +#define vh (scratch + 4 * n + 2) /* 2n+1 */ +#define vm1 (scratch + 6 * n + 3) /* 2n+1 */ +#define scratch_out (scratch + 8 * n + 4) /* 2n+1 */ + /* Total scratch need: 10*n+5 */ + + /* Must be in allocation order, as they overwrite one limb beyond + * 2n+1. */ + mpn_mul_n (v2, as2, bs2, n + 1); /* v2, 2n+1 limbs */ + mpn_mul_n (vm2, asm2, bsm2, n + 1); /* vm2, 2n+1 limbs */ + mpn_mul_n (vh, ash, bsh, n + 1); /* vh, 2n+1 limbs */ + + /* vm1, 2n+1 limbs */ +#ifdef SMALLER_RECURSION + mpn_mul_n (vm1, asm1, bsm1, n); + if (asm1[n] == 1) + { + cy = bsm1[n] + mpn_add_n (vm1 + n, vm1 + n, bsm1, n); + } + else if (asm1[n] == 2) + { +#if HAVE_NATIVE_mpn_addlsh1_n + cy = 2 * bsm1[n] + mpn_addlsh1_n (vm1 + n, vm1 + n, bsm1, n); +#else + cy = 2 * bsm1[n] + mpn_addmul_1 (vm1 + n, bsm1, n, CNST_LIMB(2)); +#endif + } + else + cy = 0; + if (bsm1[n] != 0) + cy += mpn_add_n (vm1 + n, vm1 + n, asm1, n); + vm1[2 * n] = cy; +#else /* SMALLER_RECURSION */ + vm1[2 * n] = 0; + mpn_mul_n (vm1, asm1, bsm1, n + ((asm1[n] | bsm1[n]) != 0)); +#endif /* SMALLER_RECURSION */ + + /* v1, 2n+1 limbs */ +#ifdef SMALLER_RECURSION + mpn_mul_n (v1, as1, bs1, n); + if (as1[n] == 1) + { + cy = bs1[n] + mpn_add_n (v1 + n, v1 + n, bs1, n); + } + else if (as1[n] == 2) + { +#if HAVE_NATIVE_mpn_addlsh1_n + cy = 2 * bs1[n] + mpn_addlsh1_n (v1 + n, v1 + n, bs1, n); +#else + cy = 2 * bs1[n] + mpn_addmul_1 (v1 + n, bs1, n, CNST_LIMB(2)); +#endif + } + else if (as1[n] != 0) + { + cy = as1[n] * bs1[n] + mpn_addmul_1 (v1 + n, bs1, n, as1[n]); + } + else + cy = 0; + if (bs1[n] == 1) + { + cy += mpn_add_n (v1 + n, v1 + n, as1, n); + } + else if (bs1[n] == 2) + { +#if HAVE_NATIVE_mpn_addlsh1_n + cy += mpn_addlsh1_n (v1 + n, v1 + n, as1, n); +#else + cy += mpn_addmul_1 (v1 + n, as1, n, CNST_LIMB(2)); +#endif + } + v1[2 * n] = cy; +#else /* SMALLER_RECURSION */ + v1[2 * n] = 0; + mpn_mul_n (v1, as1, bs1, n + ((as1[n] | bs1[n]) != 0)); +#endif /* SMALLER_RECURSION */ + + mpn_mul_n (v0, a0, b0, n); /* v0, 2n limbs */ + + /* vinf, s+t limbs */ + if (s > t) mpn_mul (vinf, a4, s, b2, t); + else mpn_mul (vinf, b2, t, a4, s); + + mpn_toom_interpolate_7pts (pp, n, flags, vm2, vm1, v2, vh, s + t, + scratch_out); + + TMP_FREE; +} diff --git a/goil/build/libpm/gmp/mpn-toom63_mul.c b/goil/build/libpm/gmp/mpn-toom63_mul.c new file mode 100644 index 000000000..663db7ed2 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-toom63_mul.c @@ -0,0 +1,232 @@ +/* Implementation of the algorithm for Toom-Cook 4.5-way. + + Contributed to the GNU project by Marco Bodrato. + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2009, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "gmp.h" +#include "gmp-impl.h" + +/* Stores |{ap,n}-{bp,n}| in {rp,n}, returns the sign. */ +static int +abs_sub_n (mp_ptr rp, mp_srcptr ap, mp_srcptr bp, mp_size_t n) +{ + mp_limb_t x, y; + while (--n >= 0) + { + x = ap[n]; + y = bp[n]; + if (x != y) + { + n++; + if (x > y) + { + mpn_sub_n (rp, ap, bp, n); + return 0; + } + else + { + mpn_sub_n (rp, bp, ap, n); + return ~0; + } + } + rp[n] = 0; + } + return 0; +} + +static int +abs_sub_add_n (mp_ptr rm, mp_ptr rp, mp_srcptr rs, mp_size_t n) { + int result; + result = abs_sub_n (rm, rp, rs, n); + ASSERT_NOCARRY(mpn_add_n (rp, rp, rs, n)); + return result; +} + + +/* Toom-4.5, the splitting 6x3 unbalanced version. + Evaluate in: infinity, +4, -4, +2, -2, +1, -1, 0. + + <--s-><--n--><--n--><--n--><--n--><--n--> + ____ ______ ______ ______ ______ ______ + |_a5_|__a4__|__a3__|__a2__|__a1__|__a0__| + |b2_|__b1__|__b0__| + <-t-><--n--><--n--> + +*/ +#define TOOM_63_MUL_N_REC(p, a, b, n, ws) \ + do { mpn_mul_n (p, a, b, n); \ + } while (0) + +#define TOOM_63_MUL_REC(p, a, na, b, nb, ws) \ + do { mpn_mul (p, a, na, b, nb); \ + } while (0) + +void +mpn_toom63_mul (mp_ptr pp, + mp_srcptr ap, mp_size_t an, + mp_srcptr bp, mp_size_t bn, mp_ptr scratch) +{ + mp_size_t n, s, t; + mp_limb_t cy; + int sign; + + /***************************** decomposition *******************************/ +#define a5 (ap + 5 * n) +#define b0 (bp + 0 * n) +#define b1 (bp + 1 * n) +#define b2 (bp + 2 * n) + + ASSERT (an >= bn); + n = 1 + (an >= 2 * bn ? (an - 1) / (mp_size_t) 6 : (bn - 1) / (mp_size_t) 3); // (soze_t) changed to mp_size_t by PM + + s = an - 5 * n; + t = bn - 2 * n; + + ASSERT (0 < s && s <= n); + ASSERT (0 < t && t <= n); + /* WARNING! it assumes s+t>=n */ + ASSERT ( s + t >= n ); + ASSERT ( s + t > 4); + /* WARNING! it assumes n>1 */ + ASSERT ( n > 2); + +#define r8 pp /* 2n */ +#define r7 scratch /* 3n+1 */ +#define r5 (pp + 3*n) /* 3n+1 */ +#define v0 (pp + 3*n) /* n+1 */ +#define v1 (pp + 4*n+1) /* n+1 */ +#define v2 (pp + 5*n+2) /* n+1 */ +#define v3 (pp + 6*n+3) /* n+1 */ +#define r3 (scratch + 3 * n + 1) /* 3n+1 */ +#define r1 (pp + 7*n) /* s+t <= 2*n */ +#define ws (scratch + 6 * n + 2) /* ??? */ + + /* Alloc also 3n+1 limbs for ws... mpn_toom_interpolate_8pts may + need all of them, when DO_mpn_sublsh_n usea a scratch */ +/* if (scratch == NULL) scratch = TMP_SALLOC_LIMBS (9 * n + 3); */ + + /********************** evaluation and recursive calls *********************/ + /* $\pm4$ */ + sign = mpn_toom_eval_pm2exp (v2, v0, 5, ap, n, s, 2, pp); + pp[n] = mpn_lshift (pp, b1, n, 2); /* 4b1 */ + + v3[t] = mpn_lshift (v3, b2, t, 4);/* 16b2 */ + if ( n == t ) + v3[n]+= mpn_add_n (v3, v3, b0, n); /* 16b2+b0 */ + else + v3[n] = mpn_add (v3, b0, n, v3, t+1); /* 16b2+b0 */ + sign ^= abs_sub_add_n (v1, v3, pp, n + 1); + TOOM_63_MUL_N_REC(pp, v0, v1, n + 1, ws); /* A(-4)*B(-4) */ + TOOM_63_MUL_N_REC(r3, v2, v3, n + 1, ws); /* A(+4)*B(+4) */ + mpn_toom_couple_handling (r3, 2*n+1, pp, sign, n, 2, 4); + + /* $\pm1$ */ + sign = mpn_toom_eval_pm1 (v2, v0, 5, ap, n, s, pp); + /* Compute bs1 and bsm1. Code taken from toom33 */ + cy = mpn_add (ws, b0, n, b2, t); +#ifdef HAVE_NATIVE_mpn_add_n_sub_n + if (cy == 0 && mpn_cmp (ws, b1, n) < 0) + { + cy = mpn_add_n_sub_n (v3, v1, b1, ws, n); + v3[n] = cy >> 1; + v1[n] = 0; + sign = ~sign; + } + else + { + mp_limb_t cy2; + cy2 = mpn_add_n_sub_n (v3, v1, ws, b1, n); + v3[n] = cy + (cy2 >> 1); + v1[n] = cy - (cy2 & 1); + } +#else + v3[n] = cy + mpn_add_n (v3, ws, b1, n); + if (cy == 0 && mpn_cmp (ws, b1, n) < 0) + { + mpn_sub_n (v1, b1, ws, n); + v1[n] = 0; + sign = ~sign; + } + else + { + cy -= mpn_sub_n (v1, ws, b1, n); + v1[n] = cy; + } +#endif + TOOM_63_MUL_N_REC(pp, v0, v1, n + 1, ws); /* A(-1)*B(-1) */ + TOOM_63_MUL_N_REC(r7, v2, v3, n + 1, ws); /* A(1)*B(1) */ + mpn_toom_couple_handling (r7, 2*n+1, pp, sign, n, 0, 0); + + /* $\pm2$ */ + sign = mpn_toom_eval_pm2 (v2, v0, 5, ap, n, s, pp); + pp[n] = mpn_lshift (pp, b1, n, 1); /* 2b1 */ + + v3[t] = mpn_lshift (v3, b2, t, 2);/* 4b2 */ + if ( n == t ) + v3[n]+= mpn_add_n (v3, v3, b0, n); /* 4b2+b0 */ + else + v3[n] = mpn_add (v3, b0, n, v3, t+1); /* 4b2+b0 */ + sign ^= abs_sub_add_n (v1, v3, pp, n + 1); + TOOM_63_MUL_N_REC(pp, v0, v1, n + 1, ws); /* A(-2)*B(-2) */ + TOOM_63_MUL_N_REC(r5, v2, v3, n + 1, ws); /* A(+2)*B(+2) */ + mpn_toom_couple_handling (r5, 2*n+1, pp, sign, n, 1, 2); + + /* A(0)*B(0) */ + TOOM_63_MUL_N_REC(pp, ap, bp, n, ws); + + /* Infinity */ + if (s > t) { + TOOM_63_MUL_REC(r1, a5, s, b2, t, ws); + } else { + TOOM_63_MUL_REC(r1, b2, t, a5, s, ws); + }; + + mpn_toom_interpolate_8pts (pp, n, r3, r7, s + t, ws); + +#undef a5 +#undef b0 +#undef b1 +#undef b2 +#undef r1 +#undef r3 +#undef r5 +#undef v0 +#undef v1 +#undef v2 +#undef v3 +#undef r7 +#undef r8 +#undef ws +} diff --git a/goil/build/libpm/gmp/mpn-toom6_sqr.c b/goil/build/libpm/gmp/mpn-toom6_sqr.c new file mode 100644 index 000000000..3a0a12afb --- /dev/null +++ b/goil/build/libpm/gmp/mpn-toom6_sqr.c @@ -0,0 +1,182 @@ +/* Implementation of the squaring algorithm with Toom-Cook 6.5-way. + + Contributed to the GNU project by Marco Bodrato. + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2009 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "gmp.h" +#include "gmp-impl.h" + + +#if GMP_NUMB_BITS < 21 +#error Not implemented. +#endif + + +#ifdef TUNE_PROGRAM_BUILD +#define MAYBE_sqr_basecase 1 +#define MAYBE_sqr_above_basecase 1 +#define MAYBE_sqr_toom2 1 +#define MAYBE_sqr_above_toom2 1 +#define MAYBE_sqr_toom3 1 +#define MAYBE_sqr_above_toom3 1 +#define MAYBE_sqr_above_toom4 1 +#else +#ifdef SQR_TOOM8_THRESHOLD +#define SQR_TOOM6_MAX ((SQR_TOOM8_THRESHOLD+6*2-1+5)/6) +#else +#define SQR_TOOM6_MAX \ + ((SQR_FFT_THRESHOLD <= MP_SIZE_T_MAX - (6*2-1+5)) ? \ + ((SQR_FFT_THRESHOLD+6*2-1+5)/6) \ + : MP_SIZE_T_MAX ) +#endif +#define MAYBE_sqr_basecase \ + (SQR_TOOM6_THRESHOLD < 6 * SQR_TOOM2_THRESHOLD) +#define MAYBE_sqr_above_basecase \ + (SQR_TOOM6_MAX >= SQR_TOOM2_THRESHOLD) +#define MAYBE_sqr_toom2 \ + (SQR_TOOM6_THRESHOLD < 6 * SQR_TOOM3_THRESHOLD) +#define MAYBE_sqr_above_toom2 \ + (SQR_TOOM6_MAX >= SQR_TOOM3_THRESHOLD) +#define MAYBE_sqr_toom3 \ + (SQR_TOOM6_THRESHOLD < 6 * SQR_TOOM4_THRESHOLD) +#define MAYBE_sqr_above_toom3 \ + (SQR_TOOM6_MAX >= SQR_TOOM4_THRESHOLD) +#define MAYBE_sqr_above_toom4 \ + (SQR_TOOM6_MAX >= SQR_TOOM6_THRESHOLD) +#endif + +#define TOOM6_SQR_REC(p, a, n, ws) \ + do { \ + if (MAYBE_sqr_basecase && ( !MAYBE_sqr_above_basecase \ + || BELOW_THRESHOLD (n, SQR_TOOM2_THRESHOLD))) \ + mpn_sqr_basecase (p, a, n); \ + else if (MAYBE_sqr_toom2 && ( !MAYBE_sqr_above_toom2 \ + || BELOW_THRESHOLD (n, SQR_TOOM3_THRESHOLD))) \ + mpn_toom2_sqr (p, a, n, ws); \ + else if (MAYBE_sqr_toom3 && ( !MAYBE_sqr_above_toom3 \ + || BELOW_THRESHOLD (n, SQR_TOOM4_THRESHOLD))) \ + mpn_toom3_sqr (p, a, n, ws); \ + else if (! MAYBE_sqr_above_toom4 \ + || BELOW_THRESHOLD (n, SQR_TOOM6_THRESHOLD)) \ + mpn_toom4_sqr (p, a, n, ws); \ + else \ + mpn_toom6_sqr (p, a, n, ws); \ + } while (0) + +void +mpn_toom6_sqr (mp_ptr pp, mp_srcptr ap, mp_size_t an, mp_ptr scratch) +{ + mp_size_t n, s; + + /***************************** decomposition *******************************/ + + ASSERT( an >= 18 ); + + n = 1 + (an - 1) / (size_t) 6; + + s = an - 5 * n; + + ASSERT (0 < s && s <= n); + +#define r4 (pp + 3 * n) /* 3n+1 */ +#define r2 (pp + 7 * n) /* 3n+1 */ +#define r0 (pp +11 * n) /* s+t <= 2*n */ +#define r5 (scratch) /* 3n+1 */ +#define r3 (scratch + 3 * n + 1) /* 3n+1 */ +#define r1 (scratch + 6 * n + 2) /* 3n+1 */ +#define v0 (pp + 7 * n) /* n+1 */ +#define v2 (pp + 9 * n+2) /* n+1 */ +#define wse (scratch + 9 * n + 3) /* 3n+1 */ + + /* Alloc also 3n+1 limbs for ws... toom_interpolate_12pts may + need all of them, when DO_mpn_sublsh_n usea a scratch */ +/* if (scratch== NULL) */ +/* scratch = TMP_SALLOC_LIMBS (12 * n + 6); */ + + /********************** evaluation and recursive calls *********************/ + /* $\pm1/2$ */ + mpn_toom_eval_pm2rexp (v2, v0, 5, ap, n, s, 1, pp); + TOOM6_SQR_REC(pp, v0, n + 1, wse); /* A(-1/2)*B(-1/2)*2^. */ + TOOM6_SQR_REC(r5, v2, n + 1, wse); /* A(+1/2)*B(+1/2)*2^. */ + mpn_toom_couple_handling (r5, 2 * n + 1, pp, 0, n, 1, 0); + + /* $\pm1$ */ + mpn_toom_eval_pm1 (v2, v0, 5, ap, n, s, pp); + TOOM6_SQR_REC(pp, v0, n + 1, wse); /* A(-1)*B(-1) */ + TOOM6_SQR_REC(r3, v2, n + 1, wse); /* A(1)*B(1) */ + mpn_toom_couple_handling (r3, 2 * n + 1, pp, 0, n, 0, 0); + + /* $\pm4$ */ + mpn_toom_eval_pm2exp (v2, v0, 5, ap, n, s, 2, pp); + TOOM6_SQR_REC(pp, v0, n + 1, wse); /* A(-4)*B(-4) */ + TOOM6_SQR_REC(r1, v2, n + 1, wse); /* A(+4)*B(+4) */ + mpn_toom_couple_handling (r1, 2 * n + 1, pp, 0, n, 2, 4); + + /* $\pm1/4$ */ + mpn_toom_eval_pm2rexp (v2, v0, 5, ap, n, s, 2, pp); + TOOM6_SQR_REC(pp, v0, n + 1, wse); /* A(-1/4)*B(-1/4)*4^. */ + TOOM6_SQR_REC(r4, v2, n + 1, wse); /* A(+1/4)*B(+1/4)*4^. */ + mpn_toom_couple_handling (r4, 2 * n + 1, pp, 0, n, 2, 0); + + /* $\pm2$ */ + mpn_toom_eval_pm2 (v2, v0, 5, ap, n, s, pp); + TOOM6_SQR_REC(pp, v0, n + 1, wse); /* A(-2)*B(-2) */ + TOOM6_SQR_REC(r2, v2, n + 1, wse); /* A(+2)*B(+2) */ + mpn_toom_couple_handling (r2, 2 * n + 1, pp, 0, n, 1, 2); + +#undef v0 +#undef v2 + + /* A(0)*B(0) */ + TOOM6_SQR_REC(pp, ap, n, wse); + + mpn_toom_interpolate_12pts (pp, r1, r3, r5, n, 2 * s, 0, wse); + +#undef r0 +#undef r1 +#undef r2 +#undef r3 +#undef r4 +#undef r5 + +} +#undef TOOM6_SQR_REC +#undef MAYBE_sqr_basecase +#undef MAYBE_sqr_above_basecase +#undef MAYBE_sqr_toom2 +#undef MAYBE_sqr_above_toom2 +#undef MAYBE_sqr_toom3 +#undef MAYBE_sqr_above_toom3 +#undef MAYBE_sqr_above_toom4 diff --git a/goil/build/libpm/gmp/mpn-toom6h_mul.c b/goil/build/libpm/gmp/mpn-toom6h_mul.c new file mode 100644 index 000000000..5651f5d85 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-toom6h_mul.c @@ -0,0 +1,263 @@ +/* Implementation of the multiplication algorithm for Toom-Cook 6.5-way. + + Contributed to the GNU project by Marco Bodrato. + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2009, 2010, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "gmp.h" +#include "gmp-impl.h" + + +#if GMP_NUMB_BITS < 21 +#error Not implemented. +#endif + +#ifdef TUNE_PROGRAM_BUILD +#define MAYBE_mul_basecase 1 +#define MAYBE_mul_toom22 1 +#define MAYBE_mul_toom33 1 +#define MAYBE_mul_toom6h 1 +#else +#define MAYBE_mul_basecase \ + (MUL_TOOM6H_THRESHOLD < 6 * MUL_TOOM22_THRESHOLD) +#define MAYBE_mul_toom22 \ + (MUL_TOOM6H_THRESHOLD < 6 * MUL_TOOM33_THRESHOLD) +#define MAYBE_mul_toom33 \ + (MUL_TOOM6H_THRESHOLD < 6 * MUL_TOOM44_THRESHOLD) +#define MAYBE_mul_toom6h \ + (MUL_FFT_THRESHOLD >= 6 * MUL_TOOM6H_THRESHOLD) +#endif + +#define TOOM6H_MUL_N_REC(p, a, b, f, p2, a2, b2, n, ws) \ + do { \ + if (MAYBE_mul_basecase \ + && BELOW_THRESHOLD (n, MUL_TOOM22_THRESHOLD)) { \ + mpn_mul_basecase (p, a, n, b, n); \ + if (f) \ + mpn_mul_basecase (p2, a2, n, b2, n); \ + } else if (MAYBE_mul_toom22 \ + && BELOW_THRESHOLD (n, MUL_TOOM33_THRESHOLD)) { \ + mpn_toom22_mul (p, a, n, b, n, ws); \ + if (f) \ + mpn_toom22_mul (p2, a2, n, b2, n, ws); \ + } else if (MAYBE_mul_toom33 \ + && BELOW_THRESHOLD (n, MUL_TOOM44_THRESHOLD)) { \ + mpn_toom33_mul (p, a, n, b, n, ws); \ + if (f) \ + mpn_toom33_mul (p2, a2, n, b2, n, ws); \ + } else if (! MAYBE_mul_toom6h \ + || BELOW_THRESHOLD (n, MUL_TOOM6H_THRESHOLD)) { \ + mpn_toom44_mul (p, a, n, b, n, ws); \ + if (f) \ + mpn_toom44_mul (p2, a2, n, b2, n, ws); \ + } else { \ + mpn_toom6h_mul (p, a, n, b, n, ws); \ + if (f) \ + mpn_toom6h_mul (p2, a2, n, b2, n, ws); \ + } \ + } while (0) + +#define TOOM6H_MUL_REC(p, a, na, b, nb, ws) \ + do { mpn_mul (p, a, na, b, nb); \ + } while (0) + +/* Toom-6.5 , compute the product {pp,an+bn} <- {ap,an} * {bp,bn} + With: an >= bn >= 46, an*6 < bn * 17. + It _may_ work with bn<=46 and bn*17 < an*6 < bn*18 + + Evaluate in: infinity, +4, -4, +2, -2, +1, -1, +1/2, -1/2, +1/4, -1/4, 0. +*/ +/* Estimate on needed scratch: + S(n) <= (n+5)\6*10+4+MAX(S((n+5)\6),1+2*(n+5)\6), + since n>42; S(n) <= ceil(log(n)/log(6))*(10+4)+n*12\6 < n*2 + lg2(n)*6 + */ + +void +mpn_toom6h_mul (mp_ptr pp, + mp_srcptr ap, mp_size_t an, + mp_srcptr bp, mp_size_t bn, mp_ptr scratch) +{ + mp_size_t n, s, t; + int p, q, half; + int sign; + + /***************************** decomposition *******************************/ + + ASSERT (an >= bn); + /* Can not handle too much unbalancement */ + ASSERT (bn >= 42); + /* Can not handle too much unbalancement */ + ASSERT ((an*3 < bn * 8) || (bn >= 46 && an * 6 < bn * 17)); + + /* Limit num/den is a rational number between + (12/11)^(log(4)/log(2*4-1)) and (12/11)^(log(6)/log(2*6-1)) */ +#define LIMIT_numerator (18) +#define LIMIT_denominat (17) + + if (LIKELY (an * LIMIT_denominat < LIMIT_numerator * bn)) /* is 6*... < 6*... */ + { + n = 1 + (an - 1) / (size_t) 6; + p = q = 5; + half = 0; + + s = an - 5 * n; + t = bn - 5 * n; + } + else { + if (an * 5 * LIMIT_numerator < LIMIT_denominat * 7 * bn) + { p = 7; q = 6; } + else if (an * 5 * LIMIT_denominat < LIMIT_numerator * 7 * bn) + { p = 7; q = 5; } + else if (an * LIMIT_numerator < LIMIT_denominat * 2 * bn) /* is 4*... < 8*... */ + { p = 8; q = 5; } + else if (an * LIMIT_denominat < LIMIT_numerator * 2 * bn) /* is 4*... < 8*... */ + { p = 8; q = 4; } + else + { p = 9; q = 4; } + + half = (p ^ q) & 1; + n = 1 + (q * an >= p * bn ? (an - 1) / (size_t) p : (bn - 1) / (size_t) q); + p--; q--; + + s = an - p * n; + t = bn - q * n; + + /* With LIMIT = 16/15, the following recover is needed only if bn<=73*/ + if (half) { /* Recover from badly chosen splitting */ + if (UNLIKELY (s<1)) {p--; s+=n; half=0;} + else if (UNLIKELY (t<1)) {q--; t+=n; half=0;} + } + } +#undef LIMIT_numerator +#undef LIMIT_denominat + + ASSERT (0 < s && s <= n); + ASSERT (0 < t && t <= n); + ASSERT (half || s + t > 3); + ASSERT (n > 2); + +#define r4 (pp + 3 * n) /* 3n+1 */ +#define r2 (pp + 7 * n) /* 3n+1 */ +#define r0 (pp +11 * n) /* s+t <= 2*n */ +#define r5 (scratch) /* 3n+1 */ +#define r3 (scratch + 3 * n + 1) /* 3n+1 */ +#define r1 (scratch + 6 * n + 2) /* 3n+1 */ +#define v0 (pp + 7 * n) /* n+1 */ +#define v1 (pp + 8 * n+1) /* n+1 */ +#define v2 (pp + 9 * n+2) /* n+1 */ +#define v3 (scratch + 9 * n + 3) /* n+1 */ +#define wsi (scratch + 9 * n + 3) /* 3n+1 */ +#define wse (scratch +10 * n + 4) /* 2n+1 */ + + /* Alloc also 3n+1 limbs for wsi... toom_interpolate_12pts may + need all of them */ +/* if (scratch == NULL) */ +/* scratch = TMP_SALLOC_LIMBS(mpn_toom6_sqr_itch(n * 6)); */ + ASSERT (12 * n + 6 <= mpn_toom6h_mul_itch(an,bn)); + ASSERT (12 * n + 6 <= mpn_toom6_sqr_itch(n * 6)); + + /********************** evaluation and recursive calls *********************/ + /* $\pm1/2$ */ + sign = mpn_toom_eval_pm2rexp (v2, v0, p, ap, n, s, 1, pp) ^ + mpn_toom_eval_pm2rexp (v3, v1, q, bp, n, t, 1, pp); + /* A(-1/2)*B(-1/2)*2^. */ /* A(+1/2)*B(+1/2)*2^. */ + TOOM6H_MUL_N_REC(pp, v0, v1, 2, r5, v2, v3, n + 1, wse); + mpn_toom_couple_handling (r5, 2 * n + 1, pp, sign, n, 1+half , half); + + /* $\pm1$ */ + sign = mpn_toom_eval_pm1 (v2, v0, p, ap, n, s, pp); + if (UNLIKELY (q == 3)) + sign ^= mpn_toom_eval_dgr3_pm1 (v3, v1, bp, n, t, pp); + else + sign ^= mpn_toom_eval_pm1 (v3, v1, q, bp, n, t, pp); + /* A(-1)*B(-1) */ /* A(1)*B(1) */ + TOOM6H_MUL_N_REC(pp, v0, v1, 2, r3, v2, v3, n + 1, wse); + mpn_toom_couple_handling (r3, 2 * n + 1, pp, sign, n, 0, 0); + + /* $\pm4$ */ + sign = mpn_toom_eval_pm2exp (v2, v0, p, ap, n, s, 2, pp) ^ + mpn_toom_eval_pm2exp (v3, v1, q, bp, n, t, 2, pp); + /* A(-4)*B(-4) */ + TOOM6H_MUL_N_REC(pp, v0, v1, 2, r1, v2, v3, n + 1, wse); /* A(+4)*B(+4) */ + mpn_toom_couple_handling (r1, 2 * n + 1, pp, sign, n, 2, 4); + + /* $\pm1/4$ */ + sign = mpn_toom_eval_pm2rexp (v2, v0, p, ap, n, s, 2, pp) ^ + mpn_toom_eval_pm2rexp (v3, v1, q, bp, n, t, 2, pp); + /* A(-1/4)*B(-1/4)*4^. */ /* A(+1/4)*B(+1/4)*4^. */ + TOOM6H_MUL_N_REC(pp, v0, v1, 2, r4, v2, v3, n + 1, wse); + mpn_toom_couple_handling (r4, 2 * n + 1, pp, sign, n, 2*(1+half), 2*(half)); + + /* $\pm2$ */ + sign = mpn_toom_eval_pm2 (v2, v0, p, ap, n, s, pp) ^ + mpn_toom_eval_pm2 (v3, v1, q, bp, n, t, pp); + /* A(-2)*B(-2) */ /* A(+2)*B(+2) */ + TOOM6H_MUL_N_REC(pp, v0, v1, 2, r2, v2, v3, n + 1, wse); + mpn_toom_couple_handling (r2, 2 * n + 1, pp, sign, n, 1, 2); + +#undef v0 +#undef v1 +#undef v2 +#undef v3 +#undef wse + + /* A(0)*B(0) */ + TOOM6H_MUL_N_REC(pp, ap, bp, 0, pp, ap, bp, n, wsi); + + /* Infinity */ + if (UNLIKELY (half != 0)) { + if (s > t) { + TOOM6H_MUL_REC(r0, ap + p * n, s, bp + q * n, t, wsi); + } else { + TOOM6H_MUL_REC(r0, bp + q * n, t, ap + p * n, s, wsi); + }; + }; + + mpn_toom_interpolate_12pts (pp, r1, r3, r5, n, s+t, half, wsi); + +#undef r0 +#undef r1 +#undef r2 +#undef r3 +#undef r4 +#undef r5 +#undef wsi +} + +#undef TOOM6H_MUL_N_REC +#undef TOOM6H_MUL_REC +#undef MAYBE_mul_basecase +#undef MAYBE_mul_toom22 +#undef MAYBE_mul_toom33 +#undef MAYBE_mul_toom6h diff --git a/goil/build/libpm/gmp/mpn-toom8_sqr.c b/goil/build/libpm/gmp/mpn-toom8_sqr.c new file mode 100644 index 000000000..4c3e8f40d --- /dev/null +++ b/goil/build/libpm/gmp/mpn-toom8_sqr.c @@ -0,0 +1,226 @@ +/* Implementation of the squaring algorithm with Toom-Cook 8.5-way. + + Contributed to the GNU project by Marco Bodrato. + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2009, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "gmp.h" +#include "gmp-impl.h" + +#if GMP_NUMB_BITS < 29 +#error Not implemented. +#endif + +#if GMP_NUMB_BITS < 43 +#define BIT_CORRECTION 1 +#define CORRECTION_BITS GMP_NUMB_BITS +#else +#define BIT_CORRECTION 0 +#define CORRECTION_BITS 0 +#endif + +#ifndef SQR_TOOM8_THRESHOLD +#define SQR_TOOM8_THRESHOLD MUL_TOOM8H_THRESHOLD +#endif + +#ifndef SQR_TOOM6_THRESHOLD +#define SQR_TOOM6_THRESHOLD MUL_TOOM6H_THRESHOLD +#endif + +#ifdef TUNE_PROGRAM_BUILD +#define MAYBE_sqr_basecase 1 +#define MAYBE_sqr_above_basecase 1 +#define MAYBE_sqr_toom2 1 +#define MAYBE_sqr_above_toom2 1 +#define MAYBE_sqr_toom3 1 +#define MAYBE_sqr_above_toom3 1 +#define MAYBE_sqr_toom4 1 +#define MAYBE_sqr_above_toom4 1 +#define MAYBE_sqr_above_toom6 1 +#else +#define SQR_TOOM8_MAX \ + ((SQR_FFT_THRESHOLD <= MP_SIZE_T_MAX - (8*2-1+7)) ? \ + ((SQR_FFT_THRESHOLD+8*2-1+7)/8) \ + : MP_SIZE_T_MAX ) +#define MAYBE_sqr_basecase \ + (SQR_TOOM8_THRESHOLD < 8 * SQR_TOOM2_THRESHOLD) +#define MAYBE_sqr_above_basecase \ + (SQR_TOOM8_MAX >= SQR_TOOM2_THRESHOLD) +#define MAYBE_sqr_toom2 \ + (SQR_TOOM8_THRESHOLD < 8 * SQR_TOOM3_THRESHOLD) +#define MAYBE_sqr_above_toom2 \ + (SQR_TOOM8_MAX >= SQR_TOOM3_THRESHOLD) +#define MAYBE_sqr_toom3 \ + (SQR_TOOM8_THRESHOLD < 8 * SQR_TOOM4_THRESHOLD) +#define MAYBE_sqr_above_toom3 \ + (SQR_TOOM8_MAX >= SQR_TOOM4_THRESHOLD) +#define MAYBE_sqr_toom4 \ + (SQR_TOOM8_THRESHOLD < 8 * SQR_TOOM6_THRESHOLD) +#define MAYBE_sqr_above_toom4 \ + (SQR_TOOM8_MAX >= SQR_TOOM6_THRESHOLD) +#define MAYBE_sqr_above_toom6 \ + (SQR_TOOM8_MAX >= SQR_TOOM8_THRESHOLD) +#endif + +#define TOOM8_SQR_REC(p, a, f, p2, a2, n, ws) \ + do { \ + if (MAYBE_sqr_basecase && ( !MAYBE_sqr_above_basecase \ + || BELOW_THRESHOLD (n, SQR_TOOM2_THRESHOLD))) { \ + mpn_sqr_basecase (p, a, n); \ + if (f) mpn_sqr_basecase (p2, a2, n); \ + } else if (MAYBE_sqr_toom2 && ( !MAYBE_sqr_above_toom2 \ + || BELOW_THRESHOLD (n, SQR_TOOM3_THRESHOLD))) { \ + mpn_toom2_sqr (p, a, n, ws); \ + if (f) mpn_toom2_sqr (p2, a2, n, ws); \ + } else if (MAYBE_sqr_toom3 && ( !MAYBE_sqr_above_toom3 \ + || BELOW_THRESHOLD (n, SQR_TOOM4_THRESHOLD))) { \ + mpn_toom3_sqr (p, a, n, ws); \ + if (f) mpn_toom3_sqr (p2, a2, n, ws); \ + } else if (MAYBE_sqr_toom4 && ( !MAYBE_sqr_above_toom4 \ + || BELOW_THRESHOLD (n, SQR_TOOM6_THRESHOLD))) { \ + mpn_toom4_sqr (p, a, n, ws); \ + if (f) mpn_toom4_sqr (p2, a2, n, ws); \ + } else if (! MAYBE_sqr_above_toom6 \ + || BELOW_THRESHOLD (n, SQR_TOOM8_THRESHOLD)) { \ + mpn_toom6_sqr (p, a, n, ws); \ + if (f) mpn_toom6_sqr (p2, a2, n, ws); \ + } else { \ + mpn_toom8_sqr (p, a, n, ws); \ + if (f) mpn_toom8_sqr (p2, a2, n, ws); \ + } \ + } while (0) + +void +mpn_toom8_sqr (mp_ptr pp, mp_srcptr ap, mp_size_t an, mp_ptr scratch) +{ + mp_size_t n, s; + + /***************************** decomposition *******************************/ + + ASSERT ( an >= 40 ); + + n = 1 + ((an - 1)>>3); + + s = an - 7 * n; + + ASSERT (0 < s && s <= n); + ASSERT ( s + s > 3 ); + +#define r6 (pp + 3 * n) /* 3n+1 */ +#define r4 (pp + 7 * n) /* 3n+1 */ +#define r2 (pp +11 * n) /* 3n+1 */ +#define r0 (pp +15 * n) /* s+t <= 2*n */ +#define r7 (scratch) /* 3n+1 */ +#define r5 (scratch + 3 * n + 1) /* 3n+1 */ +#define r3 (scratch + 6 * n + 2) /* 3n+1 */ +#define r1 (scratch + 9 * n + 3) /* 3n+1 */ +#define v0 (pp +11 * n) /* n+1 */ +#define v2 (pp +13 * n+2) /* n+1 */ +#define wse (scratch +12 * n + 4) /* 3n+1 */ + + /* Alloc also 3n+1 limbs for ws... toom_interpolate_16pts may + need all of them, when DO_mpn_sublsh_n usea a scratch */ +/* if (scratch == NULL) */ +/* scratch = TMP_SALLOC_LIMBS (30 * n + 6); */ + + /********************** evaluation and recursive calls *********************/ + /* $\pm1/8$ */ + mpn_toom_eval_pm2rexp (v2, v0, 7, ap, n, s, 3, pp); + /* A(-1/8)*B(-1/8)*8^. */ /* A(+1/8)*B(+1/8)*8^. */ + TOOM8_SQR_REC(pp, v0, 2, r7, v2, n + 1, wse); + mpn_toom_couple_handling (r7, 2 * n + 1 + BIT_CORRECTION, pp, 0, n, 3, 0); + + /* $\pm1/4$ */ + mpn_toom_eval_pm2rexp (v2, v0, 7, ap, n, s, 2, pp); + /* A(-1/4)*B(-1/4)*4^. */ /* A(+1/4)*B(+1/4)*4^. */ + TOOM8_SQR_REC(pp, v0, 2, r5, v2, n + 1, wse); + mpn_toom_couple_handling (r5, 2 * n + 1, pp, 0, n, 2, 0); + + /* $\pm2$ */ + mpn_toom_eval_pm2 (v2, v0, 7, ap, n, s, pp); + /* A(-2)*B(-2) */ /* A(+2)*B(+2) */ + TOOM8_SQR_REC(pp, v0, 2, r3, v2, n + 1, wse); + mpn_toom_couple_handling (r3, 2 * n + 1, pp, 0, n, 1, 2); + + /* $\pm8$ */ + mpn_toom_eval_pm2exp (v2, v0, 7, ap, n, s, 3, pp); + /* A(-8)*B(-8) */ /* A(+8)*B(+8) */ + TOOM8_SQR_REC(pp, v0, 2, r1, v2, n + 1, wse); + mpn_toom_couple_handling (r1, 2 * n + 1 + BIT_CORRECTION, pp, 0, n, 3, 6); + + /* $\pm1/2$ */ + mpn_toom_eval_pm2rexp (v2, v0, 7, ap, n, s, 1, pp); + /* A(-1/2)*B(-1/2)*2^. */ /* A(+1/2)*B(+1/2)*2^. */ + TOOM8_SQR_REC(pp, v0, 2, r6, v2, n + 1, wse); + mpn_toom_couple_handling (r6, 2 * n + 1, pp, 0, n, 1, 0); + + /* $\pm1$ */ + mpn_toom_eval_pm1 (v2, v0, 7, ap, n, s, pp); + /* A(-1)*B(-1) */ /* A(1)*B(1) */ + TOOM8_SQR_REC(pp, v0, 2, r4, v2, n + 1, wse); + mpn_toom_couple_handling (r4, 2 * n + 1, pp, 0, n, 0, 0); + + /* $\pm4$ */ + mpn_toom_eval_pm2exp (v2, v0, 7, ap, n, s, 2, pp); + /* A(-4)*B(-4) */ /* A(+4)*B(+4) */ + TOOM8_SQR_REC(pp, v0, 2, r2, v2, n + 1, wse); + mpn_toom_couple_handling (r2, 2 * n + 1, pp, 0, n, 2, 4); + +#undef v0 +#undef v2 + + /* A(0)*B(0) */ + TOOM8_SQR_REC(pp, ap, 0, pp, ap, n, wse); + + mpn_toom_interpolate_16pts (pp, r1, r3, r5, r7, n, 2 * s, 0, wse); + +#undef r0 +#undef r1 +#undef r2 +#undef r3 +#undef r4 +#undef r5 +#undef r6 +#undef wse + +} + +#undef TOOM8_SQR_REC +#undef MAYBE_sqr_basecase +#undef MAYBE_sqr_above_basecase +#undef MAYBE_sqr_toom2 +#undef MAYBE_sqr_above_toom2 +#undef MAYBE_sqr_toom3 +#undef MAYBE_sqr_above_toom3 +#undef MAYBE_sqr_above_toom4 diff --git a/goil/build/libpm/gmp/mpn-toom8h_mul.c b/goil/build/libpm/gmp/mpn-toom8h_mul.c new file mode 100644 index 000000000..c4dbeede8 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-toom8h_mul.c @@ -0,0 +1,306 @@ +/* Implementation of the multiplication algorithm for Toom-Cook 8.5-way. + + Contributed to the GNU project by Marco Bodrato. + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2009, 2010, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "gmp.h" +#include "gmp-impl.h" + + +#if GMP_NUMB_BITS < 29 +#error Not implemented. +#endif + +#if GMP_NUMB_BITS < 43 +#define BIT_CORRECTION 1 +#define CORRECTION_BITS GMP_NUMB_BITS +#else +#define BIT_CORRECTION 0 +#define CORRECTION_BITS 0 +#endif + + +#ifdef TUNE_PROGRAM_BUILD +#define MAYBE_mul_basecase 1 +#define MAYBE_mul_toom22 1 +#define MAYBE_mul_toom33 1 +#define MAYBE_mul_toom44 1 +#define MAYBE_mul_toom8h 1 +#else +#define MAYBE_mul_basecase \ + (MUL_TOOM8H_THRESHOLD < 8 * MUL_TOOM22_THRESHOLD) +#define MAYBE_mul_toom22 \ + (MUL_TOOM8H_THRESHOLD < 8 * MUL_TOOM33_THRESHOLD) +#define MAYBE_mul_toom33 \ + (MUL_TOOM8H_THRESHOLD < 8 * MUL_TOOM44_THRESHOLD) +#define MAYBE_mul_toom44 \ + (MUL_TOOM8H_THRESHOLD < 8 * MUL_TOOM6H_THRESHOLD) +#define MAYBE_mul_toom8h \ + (MUL_FFT_THRESHOLD >= 8 * MUL_TOOM8H_THRESHOLD) +#endif + +#define TOOM8H_MUL_N_REC(p, a, b, f, p2, a2, b2, n, ws) \ + do { \ + if (MAYBE_mul_basecase \ + && BELOW_THRESHOLD (n, MUL_TOOM22_THRESHOLD)) { \ + mpn_mul_basecase (p, a, n, b, n); \ + if (f) mpn_mul_basecase (p2, a2, n, b2, n); \ + } else if (MAYBE_mul_toom22 \ + && BELOW_THRESHOLD (n, MUL_TOOM33_THRESHOLD)) { \ + mpn_toom22_mul (p, a, n, b, n, ws); \ + if (f) mpn_toom22_mul (p2, a2, n, b2, n, ws); \ + } else if (MAYBE_mul_toom33 \ + && BELOW_THRESHOLD (n, MUL_TOOM44_THRESHOLD)) { \ + mpn_toom33_mul (p, a, n, b, n, ws); \ + if (f) mpn_toom33_mul (p2, a2, n, b2, n, ws); \ + } else if (MAYBE_mul_toom44 \ + && BELOW_THRESHOLD (n, MUL_TOOM6H_THRESHOLD)) { \ + mpn_toom44_mul (p, a, n, b, n, ws); \ + if (f) mpn_toom44_mul (p2, a2, n, b2, n, ws); \ + } else if (! MAYBE_mul_toom8h \ + || BELOW_THRESHOLD (n, MUL_TOOM8H_THRESHOLD)) { \ + mpn_toom6h_mul (p, a, n, b, n, ws); \ + if (f) mpn_toom6h_mul (p2, a2, n, b2, n, ws); \ + } else { \ + mpn_toom8h_mul (p, a, n, b, n, ws); \ + if (f) mpn_toom8h_mul (p2, a2, n, b2, n, ws); \ + } \ + } while (0) + +#define TOOM8H_MUL_REC(p, a, na, b, nb, ws) \ + do { mpn_mul (p, a, na, b, nb); } while (0) + +/* Toom-8.5 , compute the product {pp,an+bn} <- {ap,an} * {bp,bn} + With: an >= bn >= 86, an*5 < bn * 11. + It _may_ work with bn<=?? and bn*?? < an*? < bn*?? + + Evaluate in: infinity, +8,-8,+4,-4,+2,-2,+1,-1,+1/2,-1/2,+1/4,-1/4,+1/8,-1/8,0. +*/ +/* Estimate on needed scratch: + S(n) <= (n+7)\8*13+5+MAX(S((n+7)\8),1+2*(n+7)\8), + since n>80; S(n) <= ceil(log(n/10)/log(8))*(13+5)+n*15\8 < n*15\8 + lg2(n)*6 + */ + +void +mpn_toom8h_mul (mp_ptr pp, + mp_srcptr ap, mp_size_t an, + mp_srcptr bp, mp_size_t bn, mp_ptr scratch) +{ + mp_size_t n, s, t; + int p, q, half; + int sign; + + /***************************** decomposition *******************************/ + + ASSERT (an >= bn); + /* Can not handle too small operands */ + ASSERT (bn >= 86); + /* Can not handle too much unbalancement */ + ASSERT (an <= bn*4); + ASSERT (GMP_NUMB_BITS > 11*3 || an*4 <= bn*11); + ASSERT (GMP_NUMB_BITS > 10*3 || an*1 <= bn* 2); + ASSERT (GMP_NUMB_BITS > 9*3 || an*2 <= bn* 3); + + /* Limit num/den is a rational number between + (16/15)^(log(6)/log(2*6-1)) and (16/15)^(log(8)/log(2*8-1)) */ +#define LIMIT_numerator (21) +#define LIMIT_denominat (20) + + if (LIKELY (an == bn) || an * (LIMIT_denominat>>1) < LIMIT_numerator * (bn>>1) ) /* is 8*... < 8*... */ + { + half = 0; + n = 1 + ((an - 1)>>3); + p = q = 7; + s = an - 7 * n; + t = bn - 7 * n; + } + else + { + if (an * 13 < 16 * bn) /* (an*7*LIMIT_numerator>1) < (LIMIT_numerator/7*9) * (bn>>1)) + { p = 9; q = 7; } + else if (an * 10 < 33 * (bn>>1)) /* (an*3*LIMIT_numerator= p * bn ? (an - 1) / (size_t) p : (bn - 1) / (size_t) q); + p--; q--; + + s = an - p * n; + t = bn - q * n; + + if(half) { /* Recover from badly chosen splitting */ + if (UNLIKELY (s<1)) {p--; s+=n; half=0;} + else if (UNLIKELY (t<1)) {q--; t+=n; half=0;} + } + } +#undef LIMIT_numerator +#undef LIMIT_denominat + + ASSERT (0 < s && s <= n); + ASSERT (0 < t && t <= n); + ASSERT (half || s + t > 3); + ASSERT (n > 2); + +#define r6 (pp + 3 * n) /* 3n+1 */ +#define r4 (pp + 7 * n) /* 3n+1 */ +#define r2 (pp +11 * n) /* 3n+1 */ +#define r0 (pp +15 * n) /* s+t <= 2*n */ +#define r7 (scratch) /* 3n+1 */ +#define r5 (scratch + 3 * n + 1) /* 3n+1 */ +#define r3 (scratch + 6 * n + 2) /* 3n+1 */ +#define r1 (scratch + 9 * n + 3) /* 3n+1 */ +#define v0 (pp +11 * n) /* n+1 */ +#define v1 (pp +12 * n+1) /* n+1 */ +#define v2 (pp +13 * n+2) /* n+1 */ +#define v3 (scratch +12 * n + 4) /* n+1 */ +#define wsi (scratch +12 * n + 4) /* 3n+1 */ +#define wse (scratch +13 * n + 5) /* 2n+1 */ + + /* Alloc also 3n+1 limbs for wsi... toom_interpolate_16pts may + need all of them */ +/* if (scratch == NULL) */ +/* scratch = TMP_SALLOC_LIMBS(mpn_toom8_sqr_itch(n * 8)); */ + ASSERT (15 * n + 6 <= mpn_toom8h_mul_itch (an, bn)); + ASSERT (15 * n + 6 <= mpn_toom8_sqr_itch (n * 8)); + + /********************** evaluation and recursive calls *********************/ + + /* $\pm1/8$ */ + sign = mpn_toom_eval_pm2rexp (v2, v0, p, ap, n, s, 3, pp) ^ + mpn_toom_eval_pm2rexp (v3, v1, q, bp, n, t, 3, pp); + /* A(-1/8)*B(-1/8)*8^. */ /* A(+1/8)*B(+1/8)*8^. */ + TOOM8H_MUL_N_REC(pp, v0, v1, 2, r7, v2, v3, n + 1, wse); + mpn_toom_couple_handling (r7, 2 * n + 1 + BIT_CORRECTION, pp, sign, n, 3*(1+half), 3*(half)); + + /* $\pm1/4$ */ + sign = mpn_toom_eval_pm2rexp (v2, v0, p, ap, n, s, 2, pp) ^ + mpn_toom_eval_pm2rexp (v3, v1, q, bp, n, t, 2, pp); + /* A(-1/4)*B(-1/4)*4^. */ /* A(+1/4)*B(+1/4)*4^. */ + TOOM8H_MUL_N_REC(pp, v0, v1, 2, r5, v2, v3, n + 1, wse); + mpn_toom_couple_handling (r5, 2 * n + 1, pp, sign, n, 2*(1+half), 2*(half)); + + /* $\pm2$ */ + sign = mpn_toom_eval_pm2 (v2, v0, p, ap, n, s, pp) ^ + mpn_toom_eval_pm2 (v3, v1, q, bp, n, t, pp); + /* A(-2)*B(-2) */ /* A(+2)*B(+2) */ + TOOM8H_MUL_N_REC(pp, v0, v1, 2, r3, v2, v3, n + 1, wse); + mpn_toom_couple_handling (r3, 2 * n + 1, pp, sign, n, 1, 2); + + /* $\pm8$ */ + sign = mpn_toom_eval_pm2exp (v2, v0, p, ap, n, s, 3, pp) ^ + mpn_toom_eval_pm2exp (v3, v1, q, bp, n, t, 3, pp); + /* A(-8)*B(-8) */ /* A(+8)*B(+8) */ + TOOM8H_MUL_N_REC(pp, v0, v1, 2, r1, v2, v3, n + 1, wse); + mpn_toom_couple_handling (r1, 2 * n + 1 + BIT_CORRECTION, pp, sign, n, 3, 6); + + /* $\pm1/2$ */ + sign = mpn_toom_eval_pm2rexp (v2, v0, p, ap, n, s, 1, pp) ^ + mpn_toom_eval_pm2rexp (v3, v1, q, bp, n, t, 1, pp); + /* A(-1/2)*B(-1/2)*2^. */ /* A(+1/2)*B(+1/2)*2^. */ + TOOM8H_MUL_N_REC(pp, v0, v1, 2, r6, v2, v3, n + 1, wse); + mpn_toom_couple_handling (r6, 2 * n + 1, pp, sign, n, 1+half, half); + + /* $\pm1$ */ + sign = mpn_toom_eval_pm1 (v2, v0, p, ap, n, s, pp); + if (GMP_NUMB_BITS > 12*3 && UNLIKELY (q == 3)) + sign ^= mpn_toom_eval_dgr3_pm1 (v3, v1, bp, n, t, pp); + else + sign ^= mpn_toom_eval_pm1 (v3, v1, q, bp, n, t, pp); + /* A(-1)*B(-1) */ /* A(1)*B(1) */ + TOOM8H_MUL_N_REC(pp, v0, v1, 2, r4, v2, v3, n + 1, wse); + mpn_toom_couple_handling (r4, 2 * n + 1, pp, sign, n, 0, 0); + + /* $\pm4$ */ + sign = mpn_toom_eval_pm2exp (v2, v0, p, ap, n, s, 2, pp) ^ + mpn_toom_eval_pm2exp (v3, v1, q, bp, n, t, 2, pp); + /* A(-4)*B(-4) */ /* A(+4)*B(+4) */ + TOOM8H_MUL_N_REC(pp, v0, v1, 2, r2, v2, v3, n + 1, wse); + mpn_toom_couple_handling (r2, 2 * n + 1, pp, sign, n, 2, 4); + +#undef v0 +#undef v1 +#undef v2 +#undef v3 +#undef wse + + /* A(0)*B(0) */ + TOOM8H_MUL_N_REC(pp, ap, bp, 0, pp, ap, bp, n, wsi); + + /* Infinity */ + if (UNLIKELY (half != 0)) { + if (s > t) { + TOOM8H_MUL_REC(r0, ap + p * n, s, bp + q * n, t, wsi); + } else { + TOOM8H_MUL_REC(r0, bp + q * n, t, ap + p * n, s, wsi); + }; + }; + + mpn_toom_interpolate_16pts (pp, r1, r3, r5, r7, n, s+t, half, wsi); + +#undef r0 +#undef r1 +#undef r2 +#undef r3 +#undef r4 +#undef r5 +#undef r6 +#undef wsi +} + +#undef TOOM8H_MUL_N_REC +#undef TOOM8H_MUL_REC +#undef MAYBE_mul_basecase +#undef MAYBE_mul_toom22 +#undef MAYBE_mul_toom33 +#undef MAYBE_mul_toom44 +#undef MAYBE_mul_toom8h diff --git a/goil/build/libpm/gmp/mpn-toom_couple_handling.c b/goil/build/libpm/gmp/mpn-toom_couple_handling.c new file mode 100644 index 000000000..fcbc257f4 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-toom_couple_handling.c @@ -0,0 +1,82 @@ +/* Helper function for high degree Toom-Cook algorithms. + + Contributed to the GNU project by Marco Bodrato. + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2009, 2010 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "gmp.h" +#include "gmp-impl.h" + + +/* Gets {pp,n} and (sign?-1:1)*{np,n}. Computes at once: + {pp,n} <- ({pp,n}+{np,n})/2^{ps+1} + {pn,n} <- ({pp,n}-{np,n})/2^{ns+1} + Finally recompose them obtaining: + {pp,n+off} <- {pp,n}+{np,n}*2^{off*GMP_NUMB_BITS} +*/ +void +mpn_toom_couple_handling (mp_ptr pp, mp_size_t n, mp_ptr np, + int nsign, mp_size_t off, int ps, int ns) +{ + if (nsign) { +#ifdef HAVE_NATIVE_mpn_rsh1sub_n + mpn_rsh1sub_n (np, pp, np, n); +#else + mpn_sub_n (np, pp, np, n); + mpn_rshift (np, np, n, 1); +#endif + } else { +#ifdef HAVE_NATIVE_mpn_rsh1add_n + mpn_rsh1add_n (np, pp, np, n); +#else + mpn_add_n (np, pp, np, n); + mpn_rshift (np, np, n, 1); +#endif + } + +#ifdef HAVE_NATIVE_mpn_rsh1sub_n + if (ps == 1) + mpn_rsh1sub_n (pp, pp, np, n); + else +#endif + { + mpn_sub_n (pp, pp, np, n); + if (ps > 0) + mpn_rshift (pp, pp, n, ps); + } + if (ns > 0) + mpn_rshift (np, np, n, ns); + pp[n] = mpn_add_n (pp+off, pp+off, np, n-off); + ASSERT_NOCARRY (mpn_add_1(pp+n, np+n-off, off, pp[n]) ); +} diff --git a/goil/build/libpm/gmp/mpn-toom_eval_dgr3_pm1.c b/goil/build/libpm/gmp/mpn-toom_eval_dgr3_pm1.c new file mode 100644 index 000000000..896c623a0 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-toom_eval_dgr3_pm1.c @@ -0,0 +1,73 @@ +/* mpn_toom_eval_dgr3_pm1 -- Evaluate a degree 3 polynomial in +1 and -1 + + Contributed to the GNU project by Niels Möller + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2009 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "gmp.h" +#include "gmp-impl.h" + +int +mpn_toom_eval_dgr3_pm1 (mp_ptr xp1, mp_ptr xm1, + mp_srcptr xp, mp_size_t n, mp_size_t x3n, mp_ptr tp) +{ + int neg; + + ASSERT (x3n > 0); + ASSERT (x3n <= n); + + xp1[n] = mpn_add_n (xp1, xp, xp + 2*n, n); + tp[n] = mpn_add (tp, xp + n, n, xp + 3*n, x3n); + + neg = (mpn_cmp (xp1, tp, n + 1) < 0) ? ~0 : 0; + +#ifdef HAVE_NATIVE_mpn_add_n_sub_n + if (neg) + mpn_add_n_sub_n (xp1, xm1, tp, xp1, n + 1); + else + mpn_add_n_sub_n (xp1, xm1, xp1, tp, n + 1); +#else + if (neg) + mpn_sub_n (xm1, tp, xp1, n + 1); + else + mpn_sub_n (xm1, xp1, tp, n + 1); + + mpn_add_n (xp1, xp1, tp, n + 1); +#endif + + ASSERT (xp1[n] <= 3); + ASSERT (xm1[n] <= 1); + + return neg; +} diff --git a/goil/build/libpm/gmp/mpn-toom_eval_dgr3_pm2.c b/goil/build/libpm/gmp/mpn-toom_eval_dgr3_pm2.c new file mode 100644 index 000000000..930a0664a --- /dev/null +++ b/goil/build/libpm/gmp/mpn-toom_eval_dgr3_pm2.c @@ -0,0 +1,98 @@ +/* mpn_toom_eval_dgr3_pm2 -- Evaluate a degree 3 polynomial in +2 and -2 + + Contributed to the GNU project by Niels Möller + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2009 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "gmp.h" +#include "gmp-impl.h" + +/* Needs n+1 limbs of temporary storage. */ +int +mpn_toom_eval_dgr3_pm2 (mp_ptr xp2, mp_ptr xm2, + mp_srcptr xp, mp_size_t n, mp_size_t x3n, mp_ptr tp) +{ + mp_limb_t cy; + int neg; + + ASSERT (x3n > 0); + ASSERT (x3n <= n); + + /* (x0 + 4 * x2) +/- (2 x1 + 8 x_3) */ +#if defined (HAVE_NATIVE_mpn_addlsh_n) || defined (HAVE_NATIVE_mpn_addlsh2_n) +#if HAVE_NATIVE_mpn_addlsh2_n + xp2[n] = mpn_addlsh2_n (xp2, xp, xp + 2*n, n); + + cy = mpn_addlsh2_n (tp, xp + n, xp + 3*n, x3n); +#else /* HAVE_NATIVE_mpn_addlsh_n */ + xp2[n] = mpn_addlsh_n (xp2, xp, xp + 2*n, n, 2); + + cy = mpn_addlsh_n (tp, xp + n, xp + 3*n, x3n, 2); +#endif + if (x3n < n) + cy = mpn_add_1 (tp + x3n, xp + n + x3n, n - x3n, cy); + tp[n] = cy; +#else + cy = mpn_lshift (tp, xp + 2*n, n, 2); + xp2[n] = cy + mpn_add_n (xp2, tp, xp, n); + + tp[x3n] = mpn_lshift (tp, xp + 3*n, x3n, 2); + if (x3n < n) + tp[n] = mpn_add (tp, xp + n, n, tp, x3n + 1); + else + tp[n] += mpn_add_n (tp, xp + n, tp, n); +#endif + mpn_lshift (tp, tp, n+1, 1); + + neg = (mpn_cmp (xp2, tp, n + 1) < 0) ? ~0 : 0; + +#ifdef HAVE_NATIVE_mpn_add_n_sub_n + if (neg) + mpn_add_n_sub_n (xp2, xm2, tp, xp2, n + 1); + else + mpn_add_n_sub_n (xp2, xm2, xp2, tp, n + 1); +#else + if (neg) + mpn_sub_n (xm2, tp, xp2, n + 1); + else + mpn_sub_n (xm2, xp2, tp, n + 1); + + mpn_add_n (xp2, xp2, tp, n + 1); +#endif + + ASSERT (xp2[n] < 15); + ASSERT (xm2[n] < 10); + + return neg; +} diff --git a/goil/build/libpm/gmp/mpn-toom_eval_pm1.c b/goil/build/libpm/gmp/mpn-toom_eval_pm1.c new file mode 100644 index 000000000..7706e68f6 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-toom_eval_pm1.c @@ -0,0 +1,90 @@ +/* mpn_toom_eval_pm1 -- Evaluate a polynomial in +1 and -1 + + Contributed to the GNU project by Niels Möller + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2009 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "gmp.h" +#include "gmp-impl.h" + +/* Evaluates a polynomial of degree k > 3, in the points +1 and -1. */ +int +mpn_toom_eval_pm1 (mp_ptr xp1, mp_ptr xm1, unsigned k, + mp_srcptr xp, mp_size_t n, mp_size_t hn, mp_ptr tp) +{ + unsigned i; + int neg; + + ASSERT (k >= 4); + + ASSERT (hn > 0); + ASSERT (hn <= n); + + /* The degree k is also the number of full-size coefficients, so + * that last coefficient, of size hn, starts at xp + k*n. */ + + xp1[n] = mpn_add_n (xp1, xp, xp + 2*n, n); + for (i = 4; i < k; i += 2) + ASSERT_NOCARRY (mpn_add (xp1, xp1, n+1, xp+((mp_size_t)i)*n, n)); + + tp[n] = mpn_add_n (tp, xp + n, xp + 3*n, n); + for (i = 5; i < k; i += 2) + ASSERT_NOCARRY (mpn_add (tp, tp, n+1, xp+((mp_size_t)i)*n, n)); + + if (k & 1) + ASSERT_NOCARRY (mpn_add (tp, tp, n+1, xp+((mp_size_t)k)*n, hn)); + else + ASSERT_NOCARRY (mpn_add (xp1, xp1, n+1, xp+((mp_size_t)k)*n, hn)); + + neg = (mpn_cmp (xp1, tp, n + 1) < 0) ? ~0 : 0; + +#ifdef HAVE_NATIVE_mpn_add_n_sub_n + if (neg) + mpn_add_n_sub_n (xp1, xm1, tp, xp1, n + 1); + else + mpn_add_n_sub_n (xp1, xm1, xp1, tp, n + 1); +#else + if (neg) + mpn_sub_n (xm1, tp, xp1, n + 1); + else + mpn_sub_n (xm1, xp1, tp, n + 1); + + mpn_add_n (xp1, xp1, tp, n + 1); +#endif + + ASSERT (xp1[n] <= k); + ASSERT (xm1[n] <= k/2 + 1); + + return neg; +} diff --git a/goil/build/libpm/gmp/mpn-toom_eval_pm2.c b/goil/build/libpm/gmp/mpn-toom_eval_pm2.c new file mode 100644 index 000000000..fee4d72d5 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-toom_eval_pm2.c @@ -0,0 +1,132 @@ +/* mpn_toom_eval_pm2 -- Evaluate a polynomial in +2 and -2 + + Contributed to the GNU project by Niels Möller and Marco Bodrato + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2009 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + + +/* DO_addlsh2(d,a,b,n,cy) computes cy,{d,n} <- {a,n} + 4*(cy,{b,n}), it + can be used as DO_addlsh2(d,a,d,n,d[n]), for accumulation on {d,n+1}. */ +#ifdef HAVE_NATIVE_mpn_addlsh2_n +#define DO_addlsh2(d, a, b, n, cy) \ +do { \ + (cy) <<= 2; \ + (cy) += mpn_addlsh2_n(d, a, b, n); \ +} while (0) +#else +#ifdef HAVE_NATIVE_mpn_addlsh_n +#define DO_addlsh2(d, a, b, n, cy) \ +do { \ + (cy) <<= 2; \ + (cy) += mpn_addlsh_n(d, a, b, n, 2); \ +} while (0) +#else +/* The following is not a general substitute for addlsh2. + It is correct if d == b, but it is not if d == a. */ +#define DO_addlsh2(d, a, b, n, cy) \ +do { \ + (cy) <<= 2; \ + (cy) += mpn_lshift(d, b, n, 2); \ + (cy) += mpn_add_n(d, d, a, n); \ +} while (0) +#endif +#endif + +/* Evaluates a polynomial of degree 2 < k < GMP_NUMB_BITS, in the + points +2 and -2. */ +int +mpn_toom_eval_pm2 (mp_ptr xp2, mp_ptr xm2, unsigned k, + mp_srcptr xp, mp_size_t n, mp_size_t hn, mp_ptr tp) +{ + int i; + int neg; + mp_limb_t cy; + + ASSERT (k >= 3); + ASSERT (k < GMP_NUMB_BITS); + + ASSERT (hn > 0); + ASSERT (hn <= n); + + /* The degree k is also the number of full-size coefficients, so + * that last coefficient, of size hn, starts at xp + k*n. */ + + cy = 0; + DO_addlsh2 (xp2, xp + ((mp_size_t) (k-2)) * n, xp + ((mp_size_t) k) * n, hn, cy); + if (hn != n) + cy = mpn_add_1 (xp2 + hn, xp + ((mp_size_t) (k-2)) * n + hn, n - hn, cy); + for (i = ((int) k) - 4; i >= 0; i -= 2) + DO_addlsh2 (xp2, xp + i * n, xp2, n, cy); + xp2[n] = cy; + + k--; + + cy = 0; + DO_addlsh2 (tp, xp + ((mp_size_t) (k-2)) * n, xp + ((mp_size_t) k) * n, n, cy); + for (i = ((int) k) - 4; i >= 0; i -= 2) + DO_addlsh2 (tp, xp + i * n, tp, n, cy); + tp[n] = cy; + + if (k & 1) + ASSERT_NOCARRY(mpn_lshift (tp , tp , n + 1, 1)); + else + ASSERT_NOCARRY(mpn_lshift (xp2, xp2, n + 1, 1)); + + neg = (mpn_cmp (xp2, tp, n + 1) < 0) ? ~0 : 0; + +#ifdef HAVE_NATIVE_mpn_add_n_sub_n + if (neg) + mpn_add_n_sub_n (xp2, xm2, tp, xp2, n + 1); + else + mpn_add_n_sub_n (xp2, xm2, xp2, tp, n + 1); +#else /* !HAVE_NATIVE_mpn_add_n_sub_n */ + if (neg) + mpn_sub_n (xm2, tp, xp2, n + 1); + else + mpn_sub_n (xm2, xp2, tp, n + 1); + + mpn_add_n (xp2, xp2, tp, n + 1); +#endif /* !HAVE_NATIVE_mpn_add_n_sub_n */ + + ASSERT (xp2[n] < (1<<(k+2))-1); + ASSERT (xm2[n] < ((1<<(k+3))-1 - (1^k&1))/3); + + neg ^= (int) ((k & 1) - 1); + + return neg; +} + +#undef DO_addlsh2 diff --git a/goil/build/libpm/gmp/mpn-toom_eval_pm2exp.c b/goil/build/libpm/gmp/mpn-toom_eval_pm2exp.c new file mode 100644 index 000000000..f3a1cdddf --- /dev/null +++ b/goil/build/libpm/gmp/mpn-toom_eval_pm2exp.c @@ -0,0 +1,127 @@ +/* mpn_toom_eval_pm2exp -- Evaluate a polynomial in +2^k and -2^k + + Contributed to the GNU project by Niels Möller + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2009 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "gmp.h" +#include "gmp-impl.h" + +/* Evaluates a polynomial of degree k > 2, in the points +2^shift and -2^shift. */ +int +mpn_toom_eval_pm2exp (mp_ptr xp2, mp_ptr xm2, unsigned k, + mp_srcptr xp, mp_size_t n, mp_size_t hn, unsigned shift, + mp_ptr tp) +{ + unsigned i; + int neg; +#ifdef HAVE_NATIVE_mpn_addlsh_n + mp_limb_t cy; +#endif + + ASSERT (k >= 3); + ASSERT (shift*k < GMP_NUMB_BITS); + + ASSERT (hn > 0); + ASSERT (hn <= n); + + /* The degree k is also the number of full-size coefficients, so + * that last coefficient, of size hn, starts at xp + k*n. */ + +#ifdef HAVE_NATIVE_mpn_addlsh_n + xp2[n] = mpn_addlsh_n (xp2, xp, xp + 2*n, n, 2*shift); + for (i = 4; i < k; i += 2) + xp2[n] += mpn_addlsh_n (xp2, xp2, xp + i*n, n, i*shift); + + tp[n] = mpn_lshift (tp, xp+n, n, shift); + for (i = 3; i < k; i+= 2) + tp[n] += mpn_addlsh_n (tp, tp, xp+i*n, n, i*shift); + + if (k & 1) + { + cy = mpn_addlsh_n (tp, tp, xp+k*n, hn, k*shift); + MPN_INCR_U (tp + hn, n+1 - hn, cy); + } + else + { + cy = mpn_addlsh_n (xp2, xp2, xp+k*n, hn, k*shift); + MPN_INCR_U (xp2 + hn, n+1 - hn, cy); + } + +#else /* !HAVE_NATIVE_mpn_addlsh_n */ + xp2[n] = mpn_lshift (tp, xp+2*n, n, 2*shift); + xp2[n] += mpn_add_n (xp2, xp, tp, n); + for (i = 4; i < k; i += 2) + { + xp2[n] += mpn_lshift (tp, xp + ((mp_size_t) i)*n, n, i*shift); + xp2[n] += mpn_add_n (xp2, xp2, tp, n); + } + + tp[n] = mpn_lshift (tp, xp+n, n, shift); + for (i = 3; i < k; i+= 2) + { + tp[n] += mpn_lshift (xm2, xp + ((mp_size_t) i)*n, n, i*shift); + tp[n] += mpn_add_n (tp, tp, xm2, n); + } + + xm2[hn] = mpn_lshift (xm2, xp + ((mp_size_t) k)*n, hn, k*shift); + if (k & 1) + mpn_add (tp, tp, n+1, xm2, hn+1); + else + mpn_add (xp2, xp2, n+1, xm2, hn+1); +#endif /* !HAVE_NATIVE_mpn_addlsh_n */ + + neg = (mpn_cmp (xp2, tp, n + 1) < 0) ? ~0 : 0; + +#ifdef HAVE_NATIVE_mpn_add_n_sub_n + if (neg) + mpn_add_n_sub_n (xp2, xm2, tp, xp2, n + 1); + else + mpn_add_n_sub_n (xp2, xm2, xp2, tp, n + 1); +#else /* !HAVE_NATIVE_mpn_add_n_sub_n */ + if (neg) + mpn_sub_n (xm2, tp, xp2, n + 1); + else + mpn_sub_n (xm2, xp2, tp, n + 1); + + mpn_add_n (xp2, xp2, tp, n + 1); +#endif /* !HAVE_NATIVE_mpn_add_n_sub_n */ + + ASSERT ((k+1)*shift >= GMP_LIMB_BITS || + xp2[n] < ((CNST_LIMB(1)<<((k+1)*shift))-1)/((CNST_LIMB(1)<= GMP_LIMB_BITS || + xm2[n] < ((CNST_LIMB(1)<<((k+2)*shift))-((k&1)?(CNST_LIMB(1)<= 3. */ +int +mpn_toom_eval_pm2rexp (mp_ptr rp, mp_ptr rm, + unsigned int q, mp_srcptr ap, mp_size_t n, mp_size_t t, + unsigned int s, mp_ptr ws) +{ + unsigned int i; + int neg; + /* {ap,q*n+t} -> {rp,n+1} {rm,n+1} , with {ws, n+1}*/ + ASSERT (n >= t); + ASSERT (s != 0); /* or _eval_pm1 should be used */ + ASSERT (q > 1); + ASSERT (s*q < GMP_NUMB_BITS); + rp[n] = mpn_lshift(rp, ap, n, s*q); + ws[n] = mpn_lshift(ws, ap+n, n, s*(q-1)); + if( (q & 1) != 0) { + ASSERT_NOCARRY(mpn_add(ws,ws,n+1,ap+n*((mp_size_t) q),t)); + rp[n] += DO_mpn_addlsh_n(rp, ap+n*((mp_size_t) (q-1)), n, s, rm); + } else { + ASSERT_NOCARRY(mpn_add(rp,rp,n+1,ap+n*((mp_size_t) q),t)); + } + for(i=2; i> s); \ + __cy = DO_mpn_sublsh_n (dst, src + 1, ns - 1, GMP_NUMB_BITS - s, ws); \ + MPN_DECR_U (dst + ns - 1, nd - ns + 1, __cy); \ +} while (0) +#endif + + +#if GMP_NUMB_BITS < 21 +#error Not implemented: Both sublsh_n(,,,20) should be corrected. +#endif + +#if GMP_NUMB_BITS < 16 +#error Not implemented: divexact_by42525 needs splitting. +#endif + +#if GMP_NUMB_BITS < 12 +#error Not implemented: Hard to adapt... +#endif + +#ifndef AORSMUL_FASTER_AORS_AORSLSH +#define AORSMUL_FASTER_AORS_AORSLSH 1 +#endif +#ifndef AORSMUL_FASTER_AORS_2AORSLSH +#define AORSMUL_FASTER_AORS_2AORSLSH 1 +#endif +#ifndef AORSMUL_FASTER_2AORSLSH +#define AORSMUL_FASTER_2AORSLSH 1 +#endif +#ifndef AORSMUL_FASTER_3AORSLSH +#define AORSMUL_FASTER_3AORSLSH 1 +#endif + +#define BINVERT_9 \ + ((((GMP_NUMB_MAX / 9) << (6 - GMP_NUMB_BITS % 6)) * 8 & GMP_NUMB_MAX) | 0x39) + +#define BINVERT_255 \ + (GMP_NUMB_MAX - ((GMP_NUMB_MAX / 255) << (8 - GMP_NUMB_BITS % 8))) + +#if GMP_LIMB_BITS == 32 +#define BINVERT_2835 (GMP_NUMB_MASK & CNST_LIMB(0x53E3771B)) +#define BINVERT_42525 (GMP_NUMB_MASK & CNST_LIMB(0x9F314C35)) +#else +#if GMP_LIMB_BITS == 64 +#define BINVERT_2835 (GMP_NUMB_MASK & CNST_LIMB(0x938CC70553E3771B)) +#define BINVERT_42525 (GMP_NUMB_MASK & CNST_LIMB(0xE7B40D449F314C35)) +#endif +#endif + +#ifndef mpn_divexact_by255 +#if GMP_NUMB_BITS % 8 == 0 +#define mpn_divexact_by255(dst,src,size) \ + (255 & 1 * mpn_bdiv_dbm1 (dst, src, size, __GMP_CAST (mp_limb_t, GMP_NUMB_MASK / 255))) +#else +#if HAVE_NATIVE_mpn_pi1_bdiv_q_1 +#define mpn_divexact_by255(dst,src,size) mpn_pi1_bdiv_q_1(dst,src,size,CNST_LIMB(255),BINVERT_255,0) +#else +#define mpn_divexact_by255(dst,src,size) mpn_divexact_1(dst,src,size,CNST_LIMB(255)) +#endif +#endif +#endif + +#ifndef mpn_divexact_by9x4 +#ifdef HAVE_NATIVE_mpn_pi1_bdiv_q_1 +#define mpn_divexact_by9x4(dst,src,size) mpn_pi1_bdiv_q_1(dst,src,size,CNST_LIMB(9),BINVERT_9,2) +#else +#define mpn_divexact_by9x4(dst,src,size) mpn_divexact_1(dst,src,size,CNST_LIMB(9)<<2) +#endif +#endif + +#ifndef mpn_divexact_by42525 +#if defined(HAVE_NATIVE_mpn_pi1_bdiv_q_1) && defined(BINVERT_42525) +#define mpn_divexact_by42525(dst,src,size) mpn_pi1_bdiv_q_1(dst,src,size,CNST_LIMB(42525),BINVERT_42525,0) +#else +#define mpn_divexact_by42525(dst,src,size) mpn_divexact_1(dst,src,size,CNST_LIMB(42525)) +#endif +#endif + +#ifndef mpn_divexact_by2835x4 +#if defined(HAVE_NATIVE_mpn_pi1_bdiv_q_1) && defined(BINVERT_2835) +#define mpn_divexact_by2835x4(dst,src,size) mpn_pi1_bdiv_q_1(dst,src,size,CNST_LIMB(2835),BINVERT_2835,2) +#else +#define mpn_divexact_by2835x4(dst,src,size) mpn_divexact_1(dst,src,size,CNST_LIMB(2835)<<2) +#endif +#endif + +/* Interpolation for Toom-6.5 (or Toom-6), using the evaluation + points: infinity(6.5 only), +-4, +-2, +-1, +-1/4, +-1/2, 0. More precisely, + we want to compute f(2^(GMP_NUMB_BITS * n)) for a polynomial f of + degree 11 (or 10), given the 12 (rsp. 11) values: + + r0 = limit at infinity of f(x) / x^7, + r1 = f(4),f(-4), + r2 = f(2),f(-2), + r3 = f(1),f(-1), + r4 = f(1/4),f(-1/4), + r5 = f(1/2),f(-1/2), + r6 = f(0). + + All couples of the form f(n),f(-n) must be already mixed with + toom_couple_handling(f(n),...,f(-n),...) + + The result is stored in {pp, spt + 7*n (or 6*n)}. + At entry, r6 is stored at {pp, 2n}, + r4 is stored at {pp + 3n, 3n + 1}. + r2 is stored at {pp + 7n, 3n + 1}. + r0 is stored at {pp +11n, spt}. + + The other values are 3n+1 limbs each (with most significant limbs small). + + Negative intermediate results are stored two-complemented. + Inputs are destroyed. +*/ + +void +mpn_toom_interpolate_12pts (mp_ptr pp, mp_ptr r1, mp_ptr r3, mp_ptr r5, + mp_size_t n, mp_size_t spt, int half, mp_ptr wsi) +{ + mp_limb_t cy; + mp_size_t n3; + mp_size_t n3p1; + n3 = 3 * n; + n3p1 = n3 + 1; + +#define r4 (pp + n3) /* 3n+1 */ +#define r2 (pp + 7 * n) /* 3n+1 */ +#define r0 (pp +11 * n) /* s+t <= 2*n */ + + /******************************* interpolation *****************************/ + if (half != 0) { + cy = mpn_sub_n (r3, r3, r0, spt); + MPN_DECR_U (r3 + spt, n3p1 - spt, cy); + + cy = DO_mpn_sublsh_n (r2, r0, spt, 10, wsi); + MPN_DECR_U (r2 + spt, n3p1 - spt, cy); + DO_mpn_subrsh(r5, n3p1, r0, spt, 2, wsi); + + cy = DO_mpn_sublsh_n (r1, r0, spt, 20, wsi); + MPN_DECR_U (r1 + spt, n3p1 - spt, cy); + DO_mpn_subrsh(r4, n3p1, r0, spt, 4, wsi); + }; + + r4[n3] -= DO_mpn_sublsh_n (r4 + n, pp, 2 * n, 20, wsi); + DO_mpn_subrsh(r1 + n, 2 * n + 1, pp, 2 * n, 4, wsi); + +#ifdef HAVE_NATIVE_mpn_add_n_sub_n + mpn_add_n_sub_n (r1, r4, r4, r1, n3p1); +#else + ASSERT_NOCARRY(mpn_add_n (wsi, r1, r4, n3p1)); + mpn_sub_n (r4, r4, r1, n3p1); /* can be negative */ + MP_PTR_SWAP(r1, wsi); +#endif + + r5[n3] -= DO_mpn_sublsh_n (r5 + n, pp, 2 * n, 10, wsi); + DO_mpn_subrsh(r2 + n, 2 * n + 1, pp, 2 * n, 2, wsi); + +#ifdef HAVE_NATIVE_mpn_add_n_sub_n + mpn_add_n_sub_n (r2, r5, r5, r2, n3p1); +#else + mpn_sub_n (wsi, r5, r2, n3p1); /* can be negative */ + ASSERT_NOCARRY(mpn_add_n (r2, r2, r5, n3p1)); + MP_PTR_SWAP(r5, wsi); +#endif + + r3[n3] -= mpn_sub_n (r3+n, r3+n, pp, 2 * n); + +#if AORSMUL_FASTER_AORS_AORSLSH + mpn_submul_1 (r4, r5, n3p1, 257); /* can be negative */ +#else + mpn_sub_n (r4, r4, r5, n3p1); /* can be negative */ + DO_mpn_sublsh_n (r4, r5, n3p1, 8, wsi); /* can be negative */ +#endif + /* A division by 2835x4 follows. Warning: the operand can be negative! */ + mpn_divexact_by2835x4(r4, r4, n3p1); + if ((r4[n3] & (GMP_NUMB_MAX << (GMP_NUMB_BITS-3))) != 0) + r4[n3] |= (GMP_NUMB_MAX << (GMP_NUMB_BITS-2)); + +#if AORSMUL_FASTER_2AORSLSH + mpn_addmul_1 (r5, r4, n3p1, 60); /* can be negative */ +#else + DO_mpn_sublsh_n (r5, r4, n3p1, 2, wsi); /* can be negative */ + DO_mpn_addlsh_n (r5, r4, n3p1, 6, wsi); /* can give a carry */ +#endif + mpn_divexact_by255(r5, r5, n3p1); + + ASSERT_NOCARRY(DO_mpn_sublsh_n (r2, r3, n3p1, 5, wsi)); + +#if AORSMUL_FASTER_3AORSLSH + ASSERT_NOCARRY(mpn_submul_1 (r1, r2, n3p1, 100)); +#else + ASSERT_NOCARRY(DO_mpn_sublsh_n (r1, r2, n3p1, 6, wsi)); + ASSERT_NOCARRY(DO_mpn_sublsh_n (r1, r2, n3p1, 5, wsi)); + ASSERT_NOCARRY(DO_mpn_sublsh_n (r1, r2, n3p1, 2, wsi)); +#endif + ASSERT_NOCARRY(DO_mpn_sublsh_n (r1, r3, n3p1, 9, wsi)); + mpn_divexact_by42525(r1, r1, n3p1); + +#if AORSMUL_FASTER_AORS_2AORSLSH + ASSERT_NOCARRY(mpn_submul_1 (r2, r1, n3p1, 225)); +#else + ASSERT_NOCARRY(mpn_sub_n (r2, r2, r1, n3p1)); + ASSERT_NOCARRY(DO_mpn_addlsh_n (r2, r1, n3p1, 5, wsi)); + ASSERT_NOCARRY(DO_mpn_sublsh_n (r2, r1, n3p1, 8, wsi)); +#endif + mpn_divexact_by9x4(r2, r2, n3p1); + + ASSERT_NOCARRY(mpn_sub_n (r3, r3, r2, n3p1)); + + mpn_sub_n (r4, r2, r4, n3p1); + ASSERT_NOCARRY(mpn_rshift(r4, r4, n3p1, 1)); + ASSERT_NOCARRY(mpn_sub_n (r2, r2, r4, n3p1)); + + mpn_add_n (r5, r5, r1, n3p1); + ASSERT_NOCARRY(mpn_rshift(r5, r5, n3p1, 1)); + + /* last interpolation steps... */ + ASSERT_NOCARRY(mpn_sub_n (r3, r3, r1, n3p1)); + ASSERT_NOCARRY(mpn_sub_n (r1, r1, r5, n3p1)); + /* ... could be mixed with recomposition + ||H-r5|M-r5|L-r5| ||H-r1|M-r1|L-r1| + */ + + /***************************** recomposition *******************************/ + /* + pp[] prior to operations: + |M r0|L r0|___||H r2|M r2|L r2|___||H r4|M r4|L r4|____|H_r6|L r6|pp + + summation scheme for remaining operations: + |__12|n_11|n_10|n__9|n__8|n__7|n__6|n__5|n__4|n__3|n__2|n___|n___|pp + |M r0|L r0|___||H r2|M r2|L r2|___||H r4|M r4|L r4|____|H_r6|L r6|pp + ||H r1|M r1|L r1| ||H r3|M r3|L r3| ||H_r5|M_r5|L_r5| + */ + + cy = mpn_add_n (pp + n, pp + n, r5, n); + cy = mpn_add_1 (pp + 2 * n, r5 + n, n, cy); +#ifdef HAVE_NATIVE_mpn_add_nc + cy = r5[n3] + mpn_add_nc(pp + n3, pp + n3, r5 + 2 * n, n, cy); +#else + MPN_INCR_U (r5 + 2 * n, n + 1, cy); + cy = r5[n3] + mpn_add_n (pp + n3, pp + n3, r5 + 2 * n, n); +#endif + MPN_INCR_U (pp + n3 + n, 2 * n + 1, cy); + + pp[2 * n3]+= mpn_add_n (pp + 5 * n, pp + 5 * n, r3, n); + cy = mpn_add_1 (pp + 2 * n3, r3 + n, n, pp[2 * n3]); +#ifdef HAVE_NATIVE_mpn_add_nc + cy = r3[n3] + mpn_add_nc(pp + 7 * n, pp + 7 * n, r3 + 2 * n, n, cy); +#else + MPN_INCR_U (r3 + 2 * n, n + 1, cy); + cy = r3[n3] + mpn_add_n (pp + 7 * n, pp + 7 * n, r3 + 2 * n, n); +#endif + MPN_INCR_U (pp + 8 * n, 2 * n + 1, cy); + + pp[10*n]+=mpn_add_n (pp + 9 * n, pp + 9 * n, r1, n); + if (half) { + cy = mpn_add_1 (pp + 10 * n, r1 + n, n, pp[10 * n]); +#ifdef HAVE_NATIVE_mpn_add_nc + if (LIKELY (spt > n)) { + cy = r1[n3] + mpn_add_nc(pp + 11 * n, pp + 11 * n, r1 + 2 * n, n, cy); + MPN_INCR_U (pp + 4 * n3, spt - n, cy); + } else { + ASSERT_NOCARRY(mpn_add_nc(pp + 11 * n, pp + 11 * n, r1 + 2 * n, spt, cy)); + } +#else + MPN_INCR_U (r1 + 2 * n, n + 1, cy); + if (LIKELY (spt > n)) { + cy = r1[n3] + mpn_add_n (pp + 11 * n, pp + 11 * n, r1 + 2 * n, n); + MPN_INCR_U (pp + 4 * n3, spt - n, cy); + } else { + ASSERT_NOCARRY(mpn_add_n (pp + 11 * n, pp + 11 * n, r1 + 2 * n, spt)); + } +#endif + } else { + ASSERT_NOCARRY(mpn_add_1 (pp + 10 * n, r1 + n, spt, pp[10 * n])); + } + +#undef r0 +#undef r2 +#undef r4 +} diff --git a/goil/build/libpm/gmp/mpn-toom_interpolate_16pts.c b/goil/build/libpm/gmp/mpn-toom_interpolate_16pts.c new file mode 100644 index 000000000..527b88e86 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-toom_interpolate_16pts.c @@ -0,0 +1,525 @@ +/* Interpolation for the algorithm Toom-Cook 8.5-way. + + Contributed to the GNU project by Marco Bodrato. + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2009, 2010, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "gmp.h" +#include "gmp-impl.h" + +#if GMP_NUMB_BITS < 29 +#error Not implemented: Both sublsh_n(,,,28) should be corrected; r2 and r5 need one more LIMB. +#endif + +#if GMP_NUMB_BITS < 28 +#error Not implemented: divexact_by188513325 and _by182712915 will not work. +#endif + + +#ifdef HAVE_NATIVE_mpn_sublsh_n +#define DO_mpn_sublsh_n(dst,src,n,s,ws) mpn_sublsh_n(dst,dst,src,n,s) +#else +static mp_limb_t +DO_mpn_sublsh_n(mp_ptr dst, mp_srcptr src, mp_size_t n, unsigned int s, mp_ptr ws) +{ +#if defined (USE_MUL_1) && 0 + return mpn_submul_1(dst,src,n,CNST_LIMB(1) <<(s)); +#else + mp_limb_t __cy; + __cy = mpn_lshift(ws,src,n,s); + return __cy + mpn_sub_n(dst,dst,ws,n); +#endif +} +#endif + +#ifdef HAVE_NATIVE_mpn_addlsh_n +#define DO_mpn_addlsh_n(dst,src,n,s,ws) mpn_addlsh_n(dst,dst,src,n,s) +#else +/* static mp_limb_t +DO_mpn_addlsh_n(mp_ptr dst, mp_srcptr src, mp_size_t n, unsigned int s, mp_ptr ws) +{ +#if USE_MUL_1 && 0 + return mpn_addmul_1(dst,src,n,CNST_LIMB(1) <<(s)); +#else + mp_limb_t __cy; + __cy = mpn_lshift(ws,src,n,s); + return __cy + mpn_add_n(dst,dst,ws,n); +#endif +} */ +#endif + +#ifdef HAVE_NATIVE_mpn_subrsh +#define DO_mpn_subrsh(dst,nd,src,ns,s,ws) mpn_subrsh(dst,nd,src,ns,s) +#else + +#define DO_mpn_subrsh(dst,nd,src,ns,s,ws) \ +do { \ + mp_limb_t __cy; \ + MPN_DECR_U (dst, nd, src[0] >> s); \ + __cy = DO_mpn_sublsh_n (dst, src + 1, ns - 1, GMP_NUMB_BITS - s, ws); \ + MPN_DECR_U (dst + ns - 1, nd - ns + 1, __cy); \ +} while (0) +#endif + + +#ifndef AORSMUL_FASTER_AORS_AORSLSH +#define AORSMUL_FASTER_AORS_AORSLSH 1 +#endif +#ifndef AORSMUL_FASTER_AORS_2AORSLSH +#define AORSMUL_FASTER_AORS_2AORSLSH 1 +#endif +#ifndef AORSMUL_FASTER_2AORSLSH +#define AORSMUL_FASTER_2AORSLSH 1 +#endif +#ifndef AORSMUL_FASTER_3AORSLSH +#define AORSMUL_FASTER_3AORSLSH 1 +#endif + +#if GMP_NUMB_BITS < 43 +#define BIT_CORRECTION 1 +#define CORRECTION_BITS GMP_NUMB_BITS +#else +#define BIT_CORRECTION 0 +#define CORRECTION_BITS 0 +#endif + +#define BINVERT_9 \ + ((((GMP_NUMB_MAX / 9) << (6 - GMP_NUMB_BITS % 6)) * 8 & GMP_NUMB_MAX) | 0x39) + +#define BINVERT_255 \ + (GMP_NUMB_MAX - ((GMP_NUMB_MAX / 255) << (8 - GMP_NUMB_BITS % 8))) + +#if GMP_LIMB_BITS == 32 +#define BINVERT_2835 (GMP_NUMB_MASK & CNST_LIMB(0x53E3771B)) +#define BINVERT_42525 (GMP_NUMB_MASK & CNST_LIMB(0x9F314C35)) +#define BINVERT_182712915 (GMP_NUMB_MASK & CNST_LIMB(0x550659DB)) +#define BINVERT_188513325 (GMP_NUMB_MASK & CNST_LIMB(0xFBC333A5)) +#define BINVERT_255x182712915L (GMP_NUMB_MASK & CNST_LIMB(0x6FC4CB25)) +#define BINVERT_255x188513325L (GMP_NUMB_MASK & CNST_LIMB(0x6864275B)) +#if GMP_NAIL_BITS == 0 +#define BINVERT_255x182712915H CNST_LIMB(0x1B649A07) +#define BINVERT_255x188513325H CNST_LIMB(0x06DB993A) +#else /* GMP_NAIL_BITS != 0 */ +#define BINVERT_255x182712915H \ + (GMP_NUMB_MASK & CNST_LIMB((0x1B649A07<>GMP_NUMB_BITS))) +#define BINVERT_255x188513325H \ + (GMP_NUMB_MASK & CNST_LIMB((0x06DB993A<>GMP_NUMB_BITS))) +#endif +#else +#if GMP_LIMB_BITS == 64 +#define BINVERT_2835 (GMP_NUMB_MASK & CNST_LIMB(0x938CC70553E3771B)) +#define BINVERT_42525 (GMP_NUMB_MASK & CNST_LIMB(0xE7B40D449F314C35)) +#define BINVERT_255x182712915 (GMP_NUMB_MASK & CNST_LIMB(0x1B649A076FC4CB25)) +#define BINVERT_255x188513325 (GMP_NUMB_MASK & CNST_LIMB(0x06DB993A6864275B)) +#endif +#endif + +#ifndef mpn_divexact_by255 +#if GMP_NUMB_BITS % 8 == 0 +#define mpn_divexact_by255(dst,src,size) \ + (255 & 1 * mpn_bdiv_dbm1 (dst, src, size, __GMP_CAST (mp_limb_t, GMP_NUMB_MASK / 255))) +#else +#if HAVE_NATIVE_mpn_pi1_bdiv_q_1 +#define mpn_divexact_by255(dst,src,size) mpn_pi1_bdiv_q_1(dst,src,size,CNST_LIMB(255),BINVERT_255,0) +#else +#define mpn_divexact_by255(dst,src,size) mpn_divexact_1(dst,src,size,CNST_LIMB(255)) +#endif +#endif +#endif + +#ifndef mpn_divexact_by255x4 +#ifdef HAVE_NATIVE_mpn_pi1_bdiv_q_1 +#define mpn_divexact_by255x4(dst,src,size) mpn_pi1_bdiv_q_1(dst,src,size,CNST_LIMB(255),BINVERT_255,2) +#else +#define mpn_divexact_by255x4(dst,src,size) mpn_divexact_1(dst,src,size,CNST_LIMB(255)<<2) +#endif +#endif + +#ifndef mpn_divexact_by9x16 +#ifdef HAVE_NATIVE_mpn_pi1_bdiv_q_1 +#define mpn_divexact_by9x16(dst,src,size) mpn_pi1_bdiv_q_1(dst,src,size,CNST_LIMB(9),BINVERT_9,4) +#else +#define mpn_divexact_by9x16(dst,src,size) mpn_divexact_1(dst,src,size,CNST_LIMB(9)<<4) +#endif +#endif + +#ifndef mpn_divexact_by42525x16 +#if defined (HAVE_NATIVE_mpn_pi1_bdiv_q_1) && defined(BINVERT_42525) +#define mpn_divexact_by42525x16(dst,src,size) mpn_pi1_bdiv_q_1(dst,src,size,CNST_LIMB(42525),BINVERT_42525,4) +#else +#define mpn_divexact_by42525x16(dst,src,size) mpn_divexact_1(dst,src,size,CNST_LIMB(42525)<<4) +#endif +#endif + +#ifndef mpn_divexact_by2835x64 +#if defined (HAVE_NATIVE_mpn_pi1_bdiv_q_1) && defined(BINVERT_2835) +#define mpn_divexact_by2835x64(dst,src,size) mpn_pi1_bdiv_q_1(dst,src,size,CNST_LIMB(2835),BINVERT_2835,6) +#else +#define mpn_divexact_by2835x64(dst,src,size) mpn_divexact_1(dst,src,size,CNST_LIMB(2835)<<6) +#endif +#endif + +#ifndef mpn_divexact_by255x182712915 +#if GMP_NUMB_BITS < 36 +#if HAVE_NATIVE_mpn_bdiv_q_2_pi2 && defined(BINVERT_255x182712915H) + +#endif +#if HAVE_NATIVE_mpn_pi1_bdiv_q_1 && defined(BINVERT_182712915) +#define mpn_divexact_by255x182712915(dst,src,size) \ + do { \ + mpn_pi1_bdiv_q_1(dst,src,size,CNST_LIMB(182712915),BINVERT_182712915,0); \ + mpn_divexact_by255(dst,dst,size); \ + } while(0) +#else +#define mpn_divexact_by255x182712915(dst,src,size) \ + do { \ + mpn_divexact_1(dst,src,size,CNST_LIMB(182712915)); \ + mpn_divexact_by255(dst,dst,size); \ + } while(0) +#endif +#else /* GMP_NUMB_BITS > 35 */ +#if defined (HAVE_NATIVE_mpn_pi1_bdiv_q_1) && defined(BINVERT_255x182712915) +#define mpn_divexact_by255x182712915(dst,src,size) \ + mpn_pi1_bdiv_q_1(dst,src,size,255*CNST_LIMB(182712915),BINVERT_255x182712915,0) +#else +#define mpn_divexact_by255x182712915(dst,src,size) mpn_divexact_1(dst,src,size,255*CNST_LIMB(182712915)) +#endif +#endif /* GMP_NUMB_BITS >?< 36 */ +#endif + +#ifndef mpn_divexact_by255x188513325 +#if GMP_NUMB_BITS < 36 +#if HAVE_NATIVE_mpn_bdiv_q_1_pi2 && defined(BINVERT_255x188513325H) + +#endif +#if HAVE_NATIVE_mpn_pi1_bdiv_q_1 && defined(BINVERT_188513325) +#define mpn_divexact_by255x188513325(dst,src,size) \ + do { \ + mpn_pi1_bdiv_q_1(dst,src,size,CNST_LIMB(188513325),BINVERT_188513325,0); \ + mpn_divexact_by255(dst,dst,size); \ + } while(0) +#else +#define mpn_divexact_by255x188513325(dst,src,size) \ + do { \ + mpn_divexact_1(dst,src,size,CNST_LIMB(188513325)); \ + mpn_divexact_by255(dst,dst,size); \ + } while(0) +#endif +#else /* GMP_NUMB_BITS > 35 */ +#if defined (HAVE_NATIVE_mpn_pi1_bdiv_q_1) && defined(BINVERT_255x188513325) +#define mpn_divexact_by255x188513325(dst,src,size) \ + mpn_pi1_bdiv_q_1(dst,src,size,255*CNST_LIMB(188513325),BINVERT_255x188513325,0) +#else +#define mpn_divexact_by255x188513325(dst,src,size) mpn_divexact_1(dst,src,size,255*CNST_LIMB(188513325)) +#endif +#endif /* GMP_NUMB_BITS >?< 36 */ +#endif + +/* Interpolation for Toom-8.5 (or Toom-8), using the evaluation + points: infinity(8.5 only), +-8, +-4, +-2, +-1, +-1/4, +-1/2, + +-1/8, 0. More precisely, we want to compute + f(2^(GMP_NUMB_BITS * n)) for a polynomial f of degree 15 (or + 14), given the 16 (rsp. 15) values: + + r0 = limit at infinity of f(x) / x^7, + r1 = f(8),f(-8), + r2 = f(4),f(-4), + r3 = f(2),f(-2), + r4 = f(1),f(-1), + r5 = f(1/4),f(-1/4), + r6 = f(1/2),f(-1/2), + r7 = f(1/8),f(-1/8), + r8 = f(0). + + All couples of the form f(n),f(-n) must be already mixed with + toom_couple_handling(f(n),...,f(-n),...) + + The result is stored in {pp, spt + 7*n (or 8*n)}. + At entry, r8 is stored at {pp, 2n}, + r6 is stored at {pp + 3n, 3n + 1}. + r4 is stored at {pp + 7n, 3n + 1}. + r2 is stored at {pp +11n, 3n + 1}. + r0 is stored at {pp +15n, spt}. + + The other values are 3n+1 limbs each (with most significant limbs small). + + Negative intermediate results are stored two-complemented. + Inputs are destroyed. +*/ + +void +mpn_toom_interpolate_16pts (mp_ptr pp, mp_ptr r1, mp_ptr r3, mp_ptr r5, mp_ptr r7, + mp_size_t n, mp_size_t spt, int half, mp_ptr wsi) +{ + mp_limb_t cy; + mp_size_t n3; + mp_size_t n3p1; + n3 = 3 * n; + n3p1 = n3 + 1; + +#define r6 (pp + n3) /* 3n+1 */ +#define r4 (pp + 7 * n) /* 3n+1 */ +#define r2 (pp +11 * n) /* 3n+1 */ +#define r0 (pp +15 * n) /* s+t <= 2*n */ + + ASSERT( spt <= 2 * n ); + /******************************* interpolation *****************************/ + if( half != 0) { + cy = mpn_sub_n (r4, r4, r0, spt); + MPN_DECR_U (r4 + spt, n3p1 - spt, cy); + + cy = DO_mpn_sublsh_n (r3, r0, spt, 14, wsi); + MPN_DECR_U (r3 + spt, n3p1 - spt, cy); + DO_mpn_subrsh(r6, n3p1, r0, spt, 2, wsi); + + cy = DO_mpn_sublsh_n (r2, r0, spt, 28, wsi); + MPN_DECR_U (r2 + spt, n3p1 - spt, cy); + DO_mpn_subrsh(r5, n3p1, r0, spt, 4, wsi); + + cy = DO_mpn_sublsh_n (r1 + BIT_CORRECTION, r0, spt, 42 - CORRECTION_BITS, wsi); +#if BIT_CORRECTION + cy = mpn_sub_1 (r1 + spt + BIT_CORRECTION, r1 + spt + BIT_CORRECTION, + n3p1 - spt - BIT_CORRECTION, cy); + ASSERT (BIT_CORRECTION > 0 || cy == 0); + + cy = r7[n3p1]; + r7[n3p1] = 0x80; +#else + MPN_DECR_U (r1 + spt + BIT_CORRECTION, n3p1 - spt - BIT_CORRECTION, cy); +#endif + DO_mpn_subrsh(r7, n3p1 + BIT_CORRECTION, r0, spt, 6, wsi); +#if BIT_CORRECTION + + ASSERT ( BIT_CORRECTION > 0 || r7[n3p1] == 0x80 ); + r7[n3p1] = cy; +#endif + }; + + r5[n3] -= DO_mpn_sublsh_n (r5 + n, pp, 2 * n, 28, wsi); + DO_mpn_subrsh(r2 + n, 2 * n + 1, pp, 2 * n, 4, wsi); + +#ifdef HAVE_NATIVE_mpn_add_n_sub_n + mpn_add_n_sub_n (r2, r5, r5, r2, n3p1); +#else + mpn_sub_n (wsi, r5, r2, n3p1); /* can be negative */ + ASSERT_NOCARRY(mpn_add_n (r2, r2, r5, n3p1)); + MP_PTR_SWAP(r5, wsi); +#endif + + r6[n3] -= DO_mpn_sublsh_n (r6 + n, pp, 2 * n, 14, wsi); + DO_mpn_subrsh(r3 + n, 2 * n + 1, pp, 2 * n, 2, wsi); + +#ifdef HAVE_NATIVE_mpn_add_n_sub_n + mpn_add_n_sub_n (r3, r6, r6, r3, n3p1); +#else + ASSERT_NOCARRY(mpn_add_n (wsi, r3, r6, n3p1)); + mpn_sub_n (r6, r6, r3, n3p1); /* can be negative */ + MP_PTR_SWAP(r3, wsi); +#endif + + cy = DO_mpn_sublsh_n (r7 + n + BIT_CORRECTION, pp, 2 * n, 42 - CORRECTION_BITS, wsi); +#if BIT_CORRECTION + MPN_DECR_U (r1 + n, 2 * n + 1, pp[0] >> 6); + cy = DO_mpn_sublsh_n (r1 + n, pp + 1, 2 * n - 1, GMP_NUMB_BITS - 6, wsi); + cy = mpn_sub_1(r1 + 3 * n - 1, r1 + 3 * n - 1, 2, cy); + ASSERT ( BIT_CORRECTION > 0 || cy != 0 ); +#else + r7[n3] -= cy; + DO_mpn_subrsh(r1 + n, 2 * n + 1, pp, 2 * n, 6, wsi); +#endif + +#ifdef HAVE_NATIVE_mpn_add_n_sub_n + mpn_add_n_sub_n (r1, r7, r7, r1, n3p1); +#else + mpn_sub_n (wsi, r7, r1, n3p1); /* can be negative */ + mpn_add_n (r1, r1, r7, n3p1); /* if BIT_CORRECTION != 0, can give a carry. */ + MP_PTR_SWAP(r7, wsi); +#endif + + r4[n3] -= mpn_sub_n (r4+n, r4+n, pp, 2 * n); + +#if AORSMUL_FASTER_2AORSLSH + mpn_submul_1 (r5, r6, n3p1, 1028); /* can be negative */ +#else + DO_mpn_sublsh_n (r5, r6, n3p1, 2, wsi); /* can be negative */ + DO_mpn_sublsh_n (r5, r6, n3p1,10, wsi); /* can be negative */ +#endif + + mpn_submul_1 (r7, r5, n3p1, 1300); /* can be negative */ +#if AORSMUL_FASTER_3AORSLSH + mpn_submul_1 (r7, r6, n3p1, 1052688); /* can be negative */ +#else + DO_mpn_sublsh_n (r7, r6, n3p1, 4, wsi); /* can be negative */ + DO_mpn_sublsh_n (r7, r6, n3p1,12, wsi); /* can be negative */ + DO_mpn_sublsh_n (r7, r6, n3p1,20, wsi); /* can be negative */ +#endif + mpn_divexact_by255x188513325(r7, r7, n3p1); + + mpn_submul_1 (r5, r7, n3p1, 12567555); /* can be negative */ + /* A division by 2835x64 follows. Warning: the operand can be negative! */ + mpn_divexact_by2835x64(r5, r5, n3p1); + if ((r5[n3] & (GMP_NUMB_MAX << (GMP_NUMB_BITS-7))) != 0) + r5[n3] |= (GMP_NUMB_MAX << (GMP_NUMB_BITS-6)); + +#if AORSMUL_FASTER_AORS_AORSLSH + mpn_submul_1 (r6, r7, n3p1, 4095); /* can be negative */ +#else + mpn_add_n (r6, r6, r7, n3p1); /* can give a carry */ + DO_mpn_sublsh_n (r6, r7, n3p1, 12, wsi); /* can be negative */ +#endif +#if AORSMUL_FASTER_2AORSLSH + mpn_addmul_1 (r6, r5, n3p1, 240); /* can be negative */ +#else + DO_mpn_addlsh_n (r6, r5, n3p1, 8, wsi); /* can give a carry */ + DO_mpn_sublsh_n (r6, r5, n3p1, 4, wsi); /* can be negative */ +#endif + /* A division by 255x4 follows. Warning: the operand can be negative! */ + mpn_divexact_by255x4(r6, r6, n3p1); + if ((r6[n3] & (GMP_NUMB_MAX << (GMP_NUMB_BITS-3))) != 0) + r6[n3] |= (GMP_NUMB_MAX << (GMP_NUMB_BITS-2)); + + ASSERT_NOCARRY(DO_mpn_sublsh_n (r3, r4, n3p1, 7, wsi)); + + ASSERT_NOCARRY(DO_mpn_sublsh_n (r2, r4, n3p1, 13, wsi)); + ASSERT_NOCARRY(mpn_submul_1 (r2, r3, n3p1, 400)); + + /* If GMP_NUMB_BITS < 42 next operations on r1 can give a carry!*/ + DO_mpn_sublsh_n (r1, r4, n3p1, 19, wsi); + mpn_submul_1 (r1, r2, n3p1, 1428); + mpn_submul_1 (r1, r3, n3p1, 112896); + mpn_divexact_by255x182712915(r1, r1, n3p1); + + ASSERT_NOCARRY(mpn_submul_1 (r2, r1, n3p1, 15181425)); + mpn_divexact_by42525x16(r2, r2, n3p1); + +#if AORSMUL_FASTER_AORS_2AORSLSH + ASSERT_NOCARRY(mpn_submul_1 (r3, r1, n3p1, 3969)); +#else + ASSERT_NOCARRY(mpn_sub_n (r3, r3, r1, n3p1)); + ASSERT_NOCARRY(DO_mpn_addlsh_n (r3, r1, n3p1, 7, wsi)); + ASSERT_NOCARRY(DO_mpn_sublsh_n (r3, r1, n3p1, 12, wsi)); +#endif + ASSERT_NOCARRY(mpn_submul_1 (r3, r2, n3p1, 900)); + mpn_divexact_by9x16(r3, r3, n3p1); + + ASSERT_NOCARRY(mpn_sub_n (r4, r4, r1, n3p1)); + ASSERT_NOCARRY(mpn_sub_n (r4, r4, r3, n3p1)); + ASSERT_NOCARRY(mpn_sub_n (r4, r4, r2, n3p1)); + + mpn_add_n (r6, r2, r6, n3p1); + ASSERT_NOCARRY(mpn_rshift(r6, r6, n3p1, 1)); + ASSERT_NOCARRY(mpn_sub_n (r2, r2, r6, n3p1)); + + mpn_sub_n (r5, r3, r5, n3p1); + ASSERT_NOCARRY(mpn_rshift(r5, r5, n3p1, 1)); + ASSERT_NOCARRY(mpn_sub_n (r3, r3, r5, n3p1)); + + mpn_add_n (r7, r1, r7, n3p1); + ASSERT_NOCARRY(mpn_rshift(r7, r7, n3p1, 1)); + ASSERT_NOCARRY(mpn_sub_n (r1, r1, r7, n3p1)); + + /* last interpolation steps... */ + /* ... could be mixed with recomposition + ||H-r7|M-r7|L-r7| ||H-r5|M-r5|L-r5| + */ + + /***************************** recomposition *******************************/ + /* + pp[] prior to operations: + |M r0|L r0|___||H r2|M r2|L r2|___||H r4|M r4|L r4|___||H r6|M r6|L r6|____|H_r8|L r8|pp + + summation scheme for remaining operations: + |__16|n_15|n_14|n_13|n_12|n_11|n_10|n__9|n__8|n__7|n__6|n__5|n__4|n__3|n__2|n___|n___|pp + |M r0|L r0|___||H r2|M r2|L r2|___||H r4|M r4|L r4|___||H r6|M r6|L r6|____|H_r8|L r8|pp + ||H r1|M r1|L r1| ||H r3|M r3|L r3| ||H_r5|M_r5|L_r5| ||H r7|M r7|L r7| + */ + + cy = mpn_add_n (pp + n, pp + n, r7, n); + cy = mpn_add_1 (pp + 2 * n, r7 + n, n, cy); +#ifdef HAVE_NATIVE_mpn_add_nc + cy = r7[n3] + mpn_add_nc(pp + n3, pp + n3, r7 + 2 * n, n, cy); +#else + MPN_INCR_U (r7 + 2 * n, n + 1, cy); + cy = r7[n3] + mpn_add_n (pp + n3, pp + n3, r7 + 2 * n, n); +#endif + MPN_INCR_U (pp + 4 * n, 2 * n + 1, cy); + + pp[2 * n3]+= mpn_add_n (pp + 5 * n, pp + 5 * n, r5, n); + cy = mpn_add_1 (pp + 2 * n3, r5 + n, n, pp[2 * n3]); +#ifdef HAVE_NATIVE_mpn_add_nc + cy = r5[n3] + mpn_add_nc(pp + 7 * n, pp + 7 * n, r5 + 2 * n, n, cy); +#else + MPN_INCR_U (r5 + 2 * n, n + 1, cy); + cy = r5[n3] + mpn_add_n (pp + 7 * n, pp + 7 * n, r5 + 2 * n, n); +#endif + MPN_INCR_U (pp + 8 * n, 2 * n + 1, cy); + + pp[10 * n]+= mpn_add_n (pp + 9 * n, pp + 9 * n, r3, n); + cy = mpn_add_1 (pp + 10 * n, r3 + n, n, pp[10 * n]); +#ifdef HAVE_NATIVE_mpn_add_nc + cy = r3[n3] + mpn_add_nc(pp +11 * n, pp +11 * n, r3 + 2 * n, n, cy); +#else + MPN_INCR_U (r3 + 2 * n, n + 1, cy); + cy = r3[n3] + mpn_add_n (pp +11 * n, pp +11 * n, r3 + 2 * n, n); +#endif + MPN_INCR_U (pp +12 * n, 2 * n + 1, cy); + + pp[14 * n]+=mpn_add_n (pp +13 * n, pp +13 * n, r1, n); + if ( half ) { + cy = mpn_add_1 (pp + 14 * n, r1 + n, n, pp[14 * n]); +#ifdef HAVE_NATIVE_mpn_add_nc + if(LIKELY(spt > n)) { + cy = r1[n3] + mpn_add_nc(pp + 15 * n, pp + 15 * n, r1 + 2 * n, n, cy); + MPN_INCR_U (pp + 16 * n, spt - n, cy); + } else { + ASSERT_NOCARRY(mpn_add_nc(pp + 15 * n, pp + 15 * n, r1 + 2 * n, spt, cy)); + } +#else + MPN_INCR_U (r1 + 2 * n, n + 1, cy); + if(LIKELY(spt > n)) { + cy = r1[n3] + mpn_add_n (pp + 15 * n, pp + 15 * n, r1 + 2 * n, n); + MPN_INCR_U (pp + 16 * n, spt - n, cy); + } else { + ASSERT_NOCARRY(mpn_add_n (pp + 15 * n, pp + 15 * n, r1 + 2 * n, spt)); + } +#endif + } else { + ASSERT_NOCARRY(mpn_add_1 (pp + 14 * n, r1 + n, spt, pp[14 * n])); + } + +#undef r0 +#undef r2 +#undef r4 +#undef r6 +} diff --git a/goil/build/libpm/gmp/mpn-toom_interpolate_5pts.c b/goil/build/libpm/gmp/mpn-toom_interpolate_5pts.c new file mode 100644 index 000000000..3c50245a3 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-toom_interpolate_5pts.c @@ -0,0 +1,200 @@ +/* mpn_toom_interpolate_5pts -- Interpolate for toom3, 33, 42. + + Contributed to the GNU project by Robert Harley. + Improvements by Paul Zimmermann and Marco Bodrato. + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2000-2003, 2005-2007, 2009 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + + +void +mpn_toom_interpolate_5pts (mp_ptr c, mp_ptr v2, mp_ptr vm1, + mp_size_t k, mp_size_t twor, int sa, + mp_limb_t vinf0) +{ + mp_limb_t cy, saved; + mp_size_t twok; + mp_size_t kk1; + mp_ptr c1, v1, c3, vinf; + + twok = k + k; + kk1 = twok + 1; + + c1 = c + k; + v1 = c1 + k; + c3 = v1 + k; + vinf = c3 + k; + +#define v0 (c) + /* (1) v2 <- v2-vm1 < v2+|vm1|, (16 8 4 2 1) - (1 -1 1 -1 1) = + thus 0 <= v2 < 50*B^(2k) < 2^6*B^(2k) (15 9 3 3 0) + */ + if (sa) + ASSERT_NOCARRY (mpn_add_n (v2, v2, vm1, kk1)); + else + ASSERT_NOCARRY (mpn_sub_n (v2, v2, vm1, kk1)); + + /* {c,2k} {c+2k,2k+1} {c+4k+1,2r-1} {t,2k+1} {t+2k+1,2k+1} {t+4k+2,2r} + v0 v1 hi(vinf) |vm1| v2-vm1 EMPTY */ + + ASSERT_NOCARRY (mpn_divexact_by3 (v2, v2, kk1)); /* v2 <- v2 / 3 */ + /* (5 3 1 1 0)*/ + + /* {c,2k} {c+2k,2k+1} {c+4k+1,2r-1} {t,2k+1} {t+2k+1,2k+1} {t+4k+2,2r} + v0 v1 hi(vinf) |vm1| (v2-vm1)/3 EMPTY */ + + /* (2) vm1 <- tm1 := (v1 - vm1) / 2 [(1 1 1 1 1) - (1 -1 1 -1 1)] / 2 = + tm1 >= 0 (0 1 0 1 0) + No carry comes out from {v1, kk1} +/- {vm1, kk1}, + and the division by two is exact. + If (sa!=0) the sign of vm1 is negative */ + if (sa) + { +#ifdef HAVE_NATIVE_mpn_rsh1add_n + mpn_rsh1add_n (vm1, v1, vm1, kk1); +#else + ASSERT_NOCARRY (mpn_add_n (vm1, v1, vm1, kk1)); + ASSERT_NOCARRY (mpn_rshift (vm1, vm1, kk1, 1)); +#endif + } + else + { +#ifdef HAVE_NATIVE_mpn_rsh1sub_n + mpn_rsh1sub_n (vm1, v1, vm1, kk1); +#else + ASSERT_NOCARRY (mpn_sub_n (vm1, v1, vm1, kk1)); + ASSERT_NOCARRY (mpn_rshift (vm1, vm1, kk1, 1)); +#endif + } + + /* {c,2k} {c+2k,2k+1} {c+4k+1,2r-1} {t,2k+1} {t+2k+1,2k+1} {t+4k+2,2r} + v0 v1 hi(vinf) tm1 (v2-vm1)/3 EMPTY */ + + /* (3) v1 <- t1 := v1 - v0 (1 1 1 1 1) - (0 0 0 0 1) = (1 1 1 1 0) + t1 >= 0 + */ + vinf[0] -= mpn_sub_n (v1, v1, c, twok); + + /* {c,2k} {c+2k,2k+1} {c+4k+1,2r-1} {t,2k+1} {t+2k+1,2k+1} {t+4k+2,2r} + v0 v1-v0 hi(vinf) tm1 (v2-vm1)/3 EMPTY */ + + /* (4) v2 <- t2 := ((v2-vm1)/3-t1)/2 = (v2-vm1-3*t1)/6 + t2 >= 0 [(5 3 1 1 0) - (1 1 1 1 0)]/2 = (2 1 0 0 0) + */ +#ifdef HAVE_NATIVE_mpn_rsh1sub_n + mpn_rsh1sub_n (v2, v2, v1, kk1); +#else + ASSERT_NOCARRY (mpn_sub_n (v2, v2, v1, kk1)); + ASSERT_NOCARRY (mpn_rshift (v2, v2, kk1, 1)); +#endif + + /* {c,2k} {c+2k,2k+1} {c+4k+1,2r-1} {t,2k+1} {t+2k+1,2k+1} {t+4k+2,2r} + v0 v1-v0 hi(vinf) tm1 (v2-vm1-3t1)/6 EMPTY */ + + /* (5) v1 <- t1-tm1 (1 1 1 1 0) - (0 1 0 1 0) = (1 0 1 0 0) + result is v1 >= 0 + */ + ASSERT_NOCARRY (mpn_sub_n (v1, v1, vm1, kk1)); + + /* We do not need to read the value in vm1, so we add it in {c+k, ...} */ + cy = mpn_add_n (c1, c1, vm1, kk1); + MPN_INCR_U (c3 + 1, twor + k - 1, cy); /* 2n-(3k+1) = 2r+k-1 */ + /* Memory allocated for vm1 is now free, it can be recycled ...*/ + + /* (6) v2 <- v2 - 2*vinf, (2 1 0 0 0) - 2*(1 0 0 0 0) = (0 1 0 0 0) + result is v2 >= 0 */ + saved = vinf[0]; /* Remember v1's highest byte (will be overwritten). */ + vinf[0] = vinf0; /* Set the right value for vinf0 */ +#ifdef HAVE_NATIVE_mpn_sublsh1_n_ip1 + cy = mpn_sublsh1_n_ip1 (v2, vinf, twor); +#else + /* Overwrite unused vm1 */ + cy = mpn_lshift (vm1, vinf, twor, 1); + cy += mpn_sub_n (v2, v2, vm1, twor); +#endif + MPN_DECR_U (v2 + twor, kk1 - twor, cy); + + /* Current matrix is + [1 0 0 0 0; vinf + 0 1 0 0 0; v2 + 1 0 1 0 0; v1 + 0 1 0 1 0; vm1 + 0 0 0 0 1] v0 + Some values already are in-place (we added vm1 in the correct position) + | vinf| v1 | v0 | + | vm1 | + One still is in a separated area + | +v2 | + We have to compute v1-=vinf; vm1 -= v2, + |-vinf| + | -v2 | + Carefully reordering operations we can avoid to compute twice the sum + of the high half of v2 plus the low half of vinf. + */ + + /* Add the high half of t2 in {vinf} */ + if ( LIKELY(twor > k + 1) ) { /* This is the expected flow */ + cy = mpn_add_n (vinf, vinf, v2 + k, k + 1); + MPN_INCR_U (c3 + kk1, twor - k - 1, cy); /* 2n-(5k+1) = 2r-k-1 */ + } else { /* triggered only by very unbalanced cases like + (k+k+(k-2))x(k+k+1) , should be handled by toom32 */ + ASSERT_NOCARRY (mpn_add_n (vinf, vinf, v2 + k, twor)); + } + /* (7) v1 <- v1 - vinf, (1 0 1 0 0) - (1 0 0 0 0) = (0 0 1 0 0) + result is >= 0 */ + /* Side effect: we also subtracted (high half) vm1 -= v2 */ + cy = mpn_sub_n (v1, v1, vinf, twor); /* vinf is at most twor long. */ + vinf0 = vinf[0]; /* Save again the right value for vinf0 */ + vinf[0] = saved; + MPN_DECR_U (v1 + twor, kk1 - twor, cy); /* Treat the last bytes. */ + + /* (8) vm1 <- vm1-v2 (0 1 0 1 0) - (0 1 0 0 0) = (0 0 0 1 0) + Operate only on the low half. + */ + cy = mpn_sub_n (c1, c1, v2, k); + MPN_DECR_U (v1, kk1, cy); + + /********************* Beginning the final phase **********************/ + + /* Most of the recomposition was done */ + + /* add t2 in {c+3k, ...}, but only the low half */ + cy = mpn_add_n (c3, c3, v2, k); + vinf[0] += cy; + ASSERT(vinf[0] >= cy); /* No carry */ + MPN_INCR_U (vinf, twor, vinf0); /* Add vinf0, propagate carry. */ + +#undef v0 +} diff --git a/goil/build/libpm/gmp/mpn-toom_interpolate_6pts.c b/goil/build/libpm/gmp/mpn-toom_interpolate_6pts.c new file mode 100644 index 000000000..bdc8aa698 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-toom_interpolate_6pts.c @@ -0,0 +1,240 @@ +/* mpn_toom_interpolate_6pts -- Interpolate for toom43, 52 + + Contributed to the GNU project by Marco Bodrato. + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2009, 2010, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + +/* For odd divisors, mpn_divexact_1 works fine with two's complement. */ +#ifndef mpn_divexact_by3 +#if HAVE_NATIVE_mpn_pi1_bdiv_q_1 && MODLIMB_INVERSE_3 +#define mpn_divexact_by3(dst,src,size) mpn_pi1_bdiv_q_1(dst,src,size,3,MODLIMB_INVERSE_3,0) +#else +#define mpn_divexact_by3(dst,src,size) mpn_divexact_1(dst,src,size,3) +#endif +#endif + +/* Interpolation for Toom-3.5, using the evaluation points: infinity, + 1, -1, 2, -2. More precisely, we want to compute + f(2^(GMP_NUMB_BITS * n)) for a polynomial f of degree 5, given the + six values + + w5 = f(0), + w4 = f(-1), + w3 = f(1) + w2 = f(-2), + w1 = f(2), + w0 = limit at infinity of f(x) / x^5, + + The result is stored in {pp, 5*n + w0n}. At entry, w5 is stored at + {pp, 2n}, w3 is stored at {pp + 2n, 2n+1}, and w0 is stored at + {pp + 5n, w0n}. The other values are 2n + 1 limbs each (with most + significant limbs small). f(-1) and f(-2) may be negative, signs + determined by the flag bits. All intermediate results are positive. + Inputs are destroyed. + + Interpolation sequence was taken from the paper: "Integer and + Polynomial Multiplication: Towards Optimal Toom-Cook Matrices". + Some slight variations were introduced: adaptation to "gmp + instruction set", and a final saving of an operation by interlacing + interpolation and recomposition phases. +*/ + +void +mpn_toom_interpolate_6pts (mp_ptr pp, mp_size_t n, enum toom6_flags flags, + mp_ptr w4, mp_ptr w2, mp_ptr w1, + mp_size_t w0n) +{ + mp_limb_t cy; + /* cy6 can be stored in w1[2*n], cy4 in w4[0], embankment in w2[0] */ + mp_limb_t cy4, cy6, embankment; + + ASSERT( n > 0 ); + ASSERT( 2*n >= w0n && w0n > 0 ); + +#define w5 pp /* 2n */ +#define w3 (pp + 2 * n) /* 2n+1 */ +#define w0 (pp + 5 * n) /* w0n */ + + /* Interpolate with sequence: + W2 =(W1 - W2)>>2 + W1 =(W1 - W5)>>1 + W1 =(W1 - W2)>>1 + W4 =(W3 - W4)>>1 + W2 =(W2 - W4)/3 + W3 = W3 - W4 - W5 + W1 =(W1 - W3)/3 + // Last steps are mixed with recomposition... + W2 = W2 - W0<<2 + W4 = W4 - W2 + W3 = W3 - W1 + W2 = W2 - W0 + */ + + /* W2 =(W1 - W2)>>2 */ + if (flags & toom6_vm2_neg) + mpn_add_n (w2, w1, w2, 2 * n + 1); + else + mpn_sub_n (w2, w1, w2, 2 * n + 1); + mpn_rshift (w2, w2, 2 * n + 1, 2); + + /* W1 =(W1 - W5)>>1 */ + w1[2*n] -= mpn_sub_n (w1, w1, w5, 2*n); + mpn_rshift (w1, w1, 2 * n + 1, 1); + + /* W1 =(W1 - W2)>>1 */ +#ifdef HAVE_NATIVE_mpn_rsh1sub_n + mpn_rsh1sub_n (w1, w1, w2, 2 * n + 1); +#else + mpn_sub_n (w1, w1, w2, 2 * n + 1); + mpn_rshift (w1, w1, 2 * n + 1, 1); +#endif + + /* W4 =(W3 - W4)>>1 */ + if (flags & toom6_vm1_neg) + { +#ifdef HAVE_NATIVE_mpn_rsh1add_n + mpn_rsh1add_n (w4, w3, w4, 2 * n + 1); +#else + mpn_add_n (w4, w3, w4, 2 * n + 1); + mpn_rshift (w4, w4, 2 * n + 1, 1); +#endif + } + else + { +#ifdef HAVE_NATIVE_mpn_rsh1sub_n + mpn_rsh1sub_n (w4, w3, w4, 2 * n + 1); +#else + mpn_sub_n (w4, w3, w4, 2 * n + 1); + mpn_rshift (w4, w4, 2 * n + 1, 1); +#endif + } + + /* W2 =(W2 - W4)/3 */ + mpn_sub_n (w2, w2, w4, 2 * n + 1); + mpn_divexact_by3 (w2, w2, 2 * n + 1); + + /* W3 = W3 - W4 - W5 */ + mpn_sub_n (w3, w3, w4, 2 * n + 1); + w3[2 * n] -= mpn_sub_n (w3, w3, w5, 2 * n); + + /* W1 =(W1 - W3)/3 */ + mpn_sub_n (w1, w1, w3, 2 * n + 1); + mpn_divexact_by3 (w1, w1, 2 * n + 1); + + /* + [1 0 0 0 0 0; + 0 1 0 0 0 0; + 1 0 1 0 0 0; + 0 1 0 1 0 0; + 1 0 1 0 1 0; + 0 0 0 0 0 1] + + pp[] prior to operations: + |_H w0__|_L w0__|______||_H w3__|_L w3__|_H w5__|_L w5__| + + summation scheme for remaining operations: + |______________5|n_____4|n_____3|n_____2|n______|n______|pp + |_H w0__|_L w0__|______||_H w3__|_L w3__|_H w5__|_L w5__| + || H w4 | L w4 | + || H w2 | L w2 | + || H w1 | L w1 | + ||-H w1 |-L w1 | + |-H w0 |-L w0 ||-H w2 |-L w2 | + */ + cy = mpn_add_n (pp + n, pp + n, w4, 2 * n + 1); + MPN_INCR_U (pp + 3 * n + 1, n, cy); + + /* W2 -= W0<<2 */ +#if defined (HAVE_NATIVE_mpn_sublsh_n) || defined (HAVE_NATIVE_mpn_sublsh2_n_ip1) +#if HAVE_NATIVE_mpn_sublsh2_n_ip1 + cy = mpn_sublsh2_n_ip1 (w2, w0, w0n); +#else + cy = mpn_sublsh_n (w2, w2, w0, w0n, 2); +#endif +#else + /* {W4,2*n+1} is now free and can be overwritten. */ + cy = mpn_lshift(w4, w0, w0n, 2); + cy+= mpn_sub_n(w2, w2, w4, w0n); +#endif + MPN_DECR_U (w2 + w0n, 2 * n + 1 - w0n, cy); + + /* W4L = W4L - W2L */ + cy = mpn_sub_n (pp + n, pp + n, w2, n); + MPN_DECR_U (w3, 2 * n + 1, cy); + + /* W3H = W3H + W2L */ + cy4 = w3[2 * n] + mpn_add_n (pp + 3 * n, pp + 3 * n, w2, n); + /* W1L + W2H */ + cy = w2[2 * n] + mpn_add_n (pp + 4 * n, w1, w2 + n, n); + MPN_INCR_U (w1 + n, n + 1, cy); + + /* W0 = W0 + W1H */ + if (LIKELY (w0n > n)) + cy6 = w1[2 * n] + mpn_add_n (w0, w0, w1 + n, n); + else + cy6 = mpn_add_n (w0, w0, w1 + n, w0n); + + /* + summation scheme for the next operation: + |...____5|n_____4|n_____3|n_____2|n______|n______|pp + |...w0___|_w1_w2_|_H w3__|_L w3__|_H w5__|_L w5__| + ...-w0___|-w1_w2 | + */ + /* if(LIKELY(w0n>n)) the two operands below DO overlap! */ + cy = mpn_sub_n (pp + 2 * n, pp + 2 * n, pp + 4 * n, n + w0n); + + /* embankment is a "dirty trick" to avoid carry/borrow propagation + beyond allocated memory */ + embankment = w0[w0n - 1] - 1; + w0[w0n - 1] = 1; + if (LIKELY (w0n > n)) { + if (cy4 > cy6) + MPN_INCR_U (pp + 4 * n, w0n + n, cy4 - cy6); + else + MPN_DECR_U (pp + 4 * n, w0n + n, cy6 - cy4); + MPN_DECR_U (pp + 3 * n + w0n, 2 * n, cy); + MPN_INCR_U (w0 + n, w0n - n, cy6); + } else { + MPN_INCR_U (pp + 4 * n, w0n + n, cy4); + MPN_DECR_U (pp + 3 * n + w0n, 2 * n, cy + cy6); + } + w0[w0n - 1] += embankment; + +#undef w5 +#undef w3 +#undef w0 + +} diff --git a/goil/build/libpm/gmp/mpn-toom_interpolate_7pts.c b/goil/build/libpm/gmp/mpn-toom_interpolate_7pts.c new file mode 100644 index 000000000..dab9cb0dd --- /dev/null +++ b/goil/build/libpm/gmp/mpn-toom_interpolate_7pts.c @@ -0,0 +1,266 @@ +/* mpn_toom_interpolate_7pts -- Interpolate for toom44, 53, 62. + + Contributed to the GNU project by Niels Möller. + Improvements by Marco Bodrato. + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2006, 2007, 2009 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + +#define BINVERT_3 MODLIMB_INVERSE_3 + +#define BINVERT_9 \ + ((((GMP_NUMB_MAX / 9) << (6 - GMP_NUMB_BITS % 6)) * 8 & GMP_NUMB_MAX) | 0x39) + +#define BINVERT_15 \ + ((((GMP_NUMB_MAX >> (GMP_NUMB_BITS % 4)) / 15) * 14 * 16 & GMP_NUMB_MAX) + 15) + +/* For the various mpn_divexact_byN here, fall back to using either + mpn_pi1_bdiv_q_1 or mpn_divexact_1. The former has less overhead and is + many faster if it is native. For now, since mpn_divexact_1 is native on + several platforms where mpn_pi1_bdiv_q_1 does not yet exist, do not use + mpn_pi1_bdiv_q_1 unconditionally. */ + +/* For odd divisors, mpn_divexact_1 works fine with two's complement. */ +#ifndef mpn_divexact_by3 +#if HAVE_NATIVE_mpn_pi1_bdiv_q_1 +#define mpn_divexact_by3(dst,src,size) mpn_pi1_bdiv_q_1(dst,src,size,3,BINVERT_3,0) +#else +#define mpn_divexact_by3(dst,src,size) mpn_divexact_1(dst,src,size,3) +#endif +#endif + +#ifndef mpn_divexact_by9 +#ifdef HAVE_NATIVE_mpn_pi1_bdiv_q_1 +#define mpn_divexact_by9(dst,src,size) mpn_pi1_bdiv_q_1(dst,src,size,9,BINVERT_9,0) +#else +#define mpn_divexact_by9(dst,src,size) mpn_divexact_1(dst,src,size,9) +#endif +#endif + +#ifndef mpn_divexact_by15 +#if HAVE_NATIVE_mpn_pi1_bdiv_q_1 +#define mpn_divexact_by15(dst,src,size) mpn_pi1_bdiv_q_1(dst,src,size,15,BINVERT_15,0) +#else +#define mpn_divexact_by15(dst,src,size) mpn_divexact_1(dst,src,size,15) +#endif +#endif + +/* Interpolation for toom4, using the evaluation points 0, infinity, + 1, -1, 2, -2, 1/2. More precisely, we want to compute + f(2^(GMP_NUMB_BITS * n)) for a polynomial f of degree 6, given the + seven values + + w0 = f(0), + w1 = f(-2), + w2 = f(1), + w3 = f(-1), + w4 = f(2) + w5 = 64 * f(1/2) + w6 = limit at infinity of f(x) / x^6, + + The result is 6*n + w6n limbs. At entry, w0 is stored at {rp, 2n }, + w2 is stored at { rp + 2n, 2n+1 }, and w6 is stored at { rp + 6n, + w6n }. The other values are 2n + 1 limbs each (with most + significant limbs small). f(-1) and f(-1/2) may be negative, signs + determined by the flag bits. Inputs are destroyed. + + Needs (2*n + 1) limbs of temporary storage. +*/ + +void +mpn_toom_interpolate_7pts (mp_ptr rp, mp_size_t n, enum toom7_flags flags, + mp_ptr w1, mp_ptr w3, mp_ptr w4, mp_ptr w5, + mp_size_t w6n, mp_ptr tp) +{ + mp_size_t m; + mp_limb_t cy; + + m = 2*n + 1; +#define w0 rp +#define w2 (rp + 2*n) +#define w6 (rp + 6*n) + + ASSERT (w6n > 0); + ASSERT (w6n <= 2*n); + + /* Using formulas similar to Marco Bodrato's + + W5 = W5 + W4 + W1 =(W4 - W1)/2 + W4 = W4 - W0 + W4 =(W4 - W1)/4 - W6*16 + W3 =(W2 - W3)/2 + W2 = W2 - W3 + + W5 = W5 - W2*65 May be negative. + W2 = W2 - W6 - W0 + W5 =(W5 + W2*45)/2 Now >= 0 again. + W4 =(W4 - W2)/3 + W2 = W2 - W4 + + W1 = W5 - W1 May be negative. + W5 =(W5 - W3*8)/9 + W3 = W3 - W5 + W1 =(W1/15 + W5)/2 Now >= 0 again. + W5 = W5 - W1 + + where W0 = f(0), W1 = f(-2), W2 = f(1), W3 = f(-1), + W4 = f(2), W5 = f(1/2), W6 = f(oo), + + Note that most intermediate results are positive; the ones that + may be negative are represented in two's complement. We must + never shift right a value that may be negative, since that would + invalidate the sign bit. On the other hand, divexact by odd + numbers work fine with two's complement. + */ + + mpn_add_n (w5, w5, w4, m); + if (flags & toom7_w1_neg) + { +#ifdef HAVE_NATIVE_mpn_rsh1add_n + mpn_rsh1add_n (w1, w1, w4, m); +#else + mpn_add_n (w1, w1, w4, m); ASSERT (!(w1[0] & 1)); + mpn_rshift (w1, w1, m, 1); +#endif + } + else + { +#ifdef HAVE_NATIVE_mpn_rsh1sub_n + mpn_rsh1sub_n (w1, w4, w1, m); +#else + mpn_sub_n (w1, w4, w1, m); ASSERT (!(w1[0] & 1)); + mpn_rshift (w1, w1, m, 1); +#endif + } + mpn_sub (w4, w4, m, w0, 2*n); + mpn_sub_n (w4, w4, w1, m); ASSERT (!(w4[0] & 3)); + mpn_rshift (w4, w4, m, 2); /* w4>=0 */ + + tp[w6n] = mpn_lshift (tp, w6, w6n, 4); + mpn_sub (w4, w4, m, tp, w6n+1); + + if (flags & toom7_w3_neg) + { +#ifdef HAVE_NATIVE_mpn_rsh1add_n + mpn_rsh1add_n (w3, w3, w2, m); +#else + mpn_add_n (w3, w3, w2, m); ASSERT (!(w3[0] & 1)); + mpn_rshift (w3, w3, m, 1); +#endif + } + else + { +#ifdef HAVE_NATIVE_mpn_rsh1sub_n + mpn_rsh1sub_n (w3, w2, w3, m); +#else + mpn_sub_n (w3, w2, w3, m); ASSERT (!(w3[0] & 1)); + mpn_rshift (w3, w3, m, 1); +#endif + } + + mpn_sub_n (w2, w2, w3, m); + + mpn_submul_1 (w5, w2, m, 65); + mpn_sub (w2, w2, m, w6, w6n); + mpn_sub (w2, w2, m, w0, 2*n); + + mpn_addmul_1 (w5, w2, m, 45); ASSERT (!(w5[0] & 1)); + mpn_rshift (w5, w5, m, 1); + mpn_sub_n (w4, w4, w2, m); + + mpn_divexact_by3 (w4, w4, m); + mpn_sub_n (w2, w2, w4, m); + + mpn_sub_n (w1, w5, w1, m); + mpn_lshift (tp, w3, m, 3); + mpn_sub_n (w5, w5, tp, m); + mpn_divexact_by9 (w5, w5, m); + mpn_sub_n (w3, w3, w5, m); + + mpn_divexact_by15 (w1, w1, m); + mpn_add_n (w1, w1, w5, m); ASSERT (!(w1[0] & 1)); + mpn_rshift (w1, w1, m, 1); /* w1>=0 now */ + mpn_sub_n (w5, w5, w1, m); + + /* These bounds are valid for the 4x4 polynomial product of toom44, + * and they are conservative for toom53 and toom62. */ + ASSERT (w1[2*n] < 2); + ASSERT (w2[2*n] < 3); + ASSERT (w3[2*n] < 4); + ASSERT (w4[2*n] < 3); + ASSERT (w5[2*n] < 2); + + /* Addition chain. Note carries and the 2n'th limbs that need to be + * added in. + * + * Special care is needed for w2[2n] and the corresponding carry, + * since the "simple" way of adding it all together would overwrite + * the limb at wp[2*n] and rp[4*n] (same location) with the sum of + * the high half of w3 and the low half of w4. + * + * 7 6 5 4 3 2 1 0 + * | | | | | | | | | + * ||w3 (2n+1)| + * ||w4 (2n+1)| + * ||w5 (2n+1)| ||w1 (2n+1)| + * + | w6 (w6n)| ||w2 (2n+1)| w0 (2n) | (share storage with r) + * ----------------------------------------------- + * r | | | | | | | | | + * c7 c6 c5 c4 c3 Carries to propagate + */ + + cy = mpn_add_n (rp + n, rp + n, w1, m); + MPN_INCR_U (w2 + n + 1, n , cy); + cy = mpn_add_n (rp + 3*n, rp + 3*n, w3, n); + MPN_INCR_U (w3 + n, n + 1, w2[2*n] + cy); + cy = mpn_add_n (rp + 4*n, w3 + n, w4, n); + MPN_INCR_U (w4 + n, n + 1, w3[2*n] + cy); + cy = mpn_add_n (rp + 5*n, w4 + n, w5, n); + MPN_INCR_U (w5 + n, n + 1, w4[2*n] + cy); + if (w6n > n + 1) + ASSERT_NOCARRY (mpn_add (rp + 6*n, rp + 6*n, w6n, w5 + n, n + 1)); + else + { + ASSERT_NOCARRY (mpn_add_n (rp + 6*n, rp + 6*n, w5 + n, w6n)); +#ifdef WANT_ASSERT + { + mp_size_t i; + for (i = w6n; i <= n; i++) + ASSERT (w5[n + i] == 0); + } +#endif + } +} diff --git a/goil/build/libpm/gmp/mpn-toom_interpolate_8pts.c b/goil/build/libpm/gmp/mpn-toom_interpolate_8pts.c new file mode 100644 index 000000000..27b9d4633 --- /dev/null +++ b/goil/build/libpm/gmp/mpn-toom_interpolate_8pts.c @@ -0,0 +1,213 @@ +/* mpn_toom_interpolate_8pts -- Interpolate for toom54, 63, 72. + + Contributed to the GNU project by Marco Bodrato. + + THE FUNCTION IN THIS FILE IS INTERNAL WITH A MUTABLE INTERFACE. IT IS ONLY + SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2009, 2011, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + + +#define BINVERT_3 MODLIMB_INVERSE_3 + +#define BINVERT_15 \ + ((((GMP_NUMB_MAX >> (GMP_NUMB_BITS % 4)) / 15) * 14 * 16 & GMP_NUMB_MAX) + 15) + +#define BINVERT_45 ((BINVERT_15 * BINVERT_3) & GMP_NUMB_MASK) + +#ifndef mpn_divexact_by3 +#if HAVE_NATIVE_mpn_pi1_bdiv_q_1 +#define mpn_divexact_by3(dst,src,size) mpn_pi1_bdiv_q_1(dst,src,size,3,BINVERT_3,0) +#else +#define mpn_divexact_by3(dst,src,size) mpn_divexact_1(dst,src,size,3) +#endif +#endif + +#ifndef mpn_divexact_by45 +#if GMP_NUMB_BITS % 12 == 0 +#define mpn_divexact_by45(dst,src,size) \ + (63 & 19 * mpn_bdiv_dbm1 (dst, src, size, __GMP_CAST (mp_limb_t, GMP_NUMB_MASK / 45))) +#else +#ifdef HAVE_NATIVE_mpn_pi1_bdiv_q_1 +#define mpn_divexact_by45(dst,src,size) mpn_pi1_bdiv_q_1(dst,src,size,45,BINVERT_45,0) +#else +#define mpn_divexact_by45(dst,src,size) mpn_divexact_1(dst,src,size,45) +#endif +#endif +#endif + +#ifdef HAVE_NATIVE_mpn_sublsh2_n_ip1 +#define DO_mpn_sublsh2_n(dst,src,n,ws) mpn_sublsh2_n_ip1(dst,src,n) +#else +#define DO_mpn_sublsh2_n(dst,src,n,ws) DO_mpn_sublsh_n(dst,src,n,2,ws) +#endif + +#ifdef HAVE_NATIVE_mpn_sublsh_n +#define DO_mpn_sublsh_n(dst,src,n,s,ws) mpn_sublsh_n (dst,dst,src,n,s) +#else +static mp_limb_t +DO_mpn_sublsh_n (mp_ptr dst, mp_srcptr src, mp_size_t n, unsigned int s, mp_ptr ws) +{ +#if defined (USE_MUL_1) && 0 + return mpn_submul_1(dst,src,n,CNST_LIMB(1) <<(s)); +#else + mp_limb_t __cy; + __cy = mpn_lshift (ws,src,n,s); + return __cy + mpn_sub_n (dst,dst,ws,n); +#endif +} +#endif + + +#ifdef HAVE_NATIVE_mpn_subrsh +#define DO_mpn_subrsh(dst,nd,src,ns,s,ws) mpn_subrsh (dst,nd,src,ns,s) +#else +/* This is not a correct definition, it assumes no carry */ +#define DO_mpn_subrsh(dst,nd,src,ns,s,ws) \ +do { \ + mp_limb_t __cy; \ + MPN_DECR_U (dst, nd, src[0] >> s); \ + __cy = DO_mpn_sublsh_n (dst, src + 1, ns - 1, GMP_NUMB_BITS - s, ws); \ + MPN_DECR_U (dst + ns - 1, nd - ns + 1, __cy); \ +} while (0) +#endif + +/* Interpolation for Toom-4.5 (or Toom-4), using the evaluation + points: infinity(4.5 only), 4, -4, 2, -2, 1, -1, 0. More precisely, + we want to compute f(2^(GMP_NUMB_BITS * n)) for a polynomial f of + degree 7 (or 6), given the 8 (rsp. 7) values: + + r1 = limit at infinity of f(x) / x^7, + r2 = f(4), + r3 = f(-4), + r4 = f(2), + r5 = f(-2), + r6 = f(1), + r7 = f(-1), + r8 = f(0). + + All couples of the form f(n),f(-n) must be already mixed with + toom_couple_handling(f(n),...,f(-n),...) + + The result is stored in {pp, spt + 7*n (or 6*n)}. + At entry, r8 is stored at {pp, 2n}, + r5 is stored at {pp + 3n, 3n + 1}. + + The other values are 2n+... limbs each (with most significant limbs small). + + All intermediate results are positive. + Inputs are destroyed. +*/ + +void +mpn_toom_interpolate_8pts (mp_ptr pp, mp_size_t n, + mp_ptr r3, mp_ptr r7, + mp_size_t spt, mp_ptr ws) +{ + mp_limb_signed_t cy; + mp_ptr r5, r1; + r5 = (pp + 3 * n); /* 3n+1 */ + r1 = (pp + 7 * n); /* spt */ + + /******************************* interpolation *****************************/ + + DO_mpn_subrsh(r3+n, 2 * n + 1, pp, 2 * n, 4, ws); + cy = DO_mpn_sublsh_n (r3, r1, spt, 12, ws); + MPN_DECR_U (r3 + spt, 3 * n + 1 - spt, cy); + + DO_mpn_subrsh(r5+n, 2 * n + 1, pp, 2 * n, 2, ws); + cy = DO_mpn_sublsh_n (r5, r1, spt, 6, ws); + MPN_DECR_U (r5 + spt, 3 * n + 1 - spt, cy); + + r7[3*n] -= mpn_sub_n (r7+n, r7+n, pp, 2 * n); + cy = mpn_sub_n (r7, r7, r1, spt); + MPN_DECR_U (r7 + spt, 3 * n + 1 - spt, cy); + + ASSERT_NOCARRY(mpn_sub_n (r3, r3, r5, 3 * n + 1)); + ASSERT_NOCARRY(mpn_rshift(r3, r3, 3 * n + 1, 2)); + + ASSERT_NOCARRY(mpn_sub_n (r5, r5, r7, 3 * n + 1)); + + ASSERT_NOCARRY(mpn_sub_n (r3, r3, r5, 3 * n + 1)); + + mpn_divexact_by45 (r3, r3, 3 * n + 1); + + ASSERT_NOCARRY(mpn_divexact_by3 (r5, r5, 3 * n + 1)); + + ASSERT_NOCARRY(DO_mpn_sublsh2_n (r5, r3, 3 * n + 1, ws)); + + /* last interpolation steps... */ + /* ... are mixed with recomposition */ + + /***************************** recomposition *******************************/ + /* + pp[] prior to operations: + |_H r1|_L r1|____||_H r5|_M_r5|_L r5|_____|_H r8|_L r8|pp + + summation scheme for remaining operations: + |____8|n___7|n___6|n___5|n___4|n___3|n___2|n____|n____|pp + |_H r1|_L r1|____||_H*r5|_M r5|_L r5|_____|_H_r8|_L r8|pp + ||_H r3|_M r3|_L*r3| + ||_H_r7|_M_r7|_L_r7| + ||-H r3|-M r3|-L*r3| + ||-H*r5|-M_r5|-L_r5| + */ + + cy = mpn_add_n (pp + n, pp + n, r7, n); /* Hr8+Lr7-Lr5 */ + cy-= mpn_sub_n (pp + n, pp + n, r5, n); + if (0 > cy) + MPN_DECR_U (r7 + n, 2*n + 1, 1); + else + MPN_INCR_U (r7 + n, 2*n + 1, cy); + + cy = mpn_sub_n (pp + 2*n, r7 + n, r5 + n, n); /* Mr7-Mr5 */ + MPN_DECR_U (r7 + 2*n, n + 1, cy); + + cy = mpn_add_n (pp + 3*n, r5, r7+ 2*n, n+1); /* Hr7+Lr5 */ + r5[3*n]+= mpn_add_n (r5 + 2*n, r5 + 2*n, r3, n); /* Hr5+Lr3 */ + cy-= mpn_sub_n (pp + 3*n, pp + 3*n, r5 + 2*n, n+1); /* Hr7-Hr5+Lr5-Lr3 */ + if (UNLIKELY(0 > cy)) + MPN_DECR_U (r5 + n + 1, 2*n, 1); + else + MPN_INCR_U (r5 + n + 1, 2*n, cy); + + ASSERT_NOCARRY(mpn_sub_n(pp + 4*n, r5 + n, r3 + n, 2*n +1)); /* Mr5-Mr3,Hr5-Hr3 */ + + cy = mpn_add_1 (pp + 6*n, r3 + n, n, pp[6*n]); + MPN_INCR_U (r3 + 2*n, n + 1, cy); + cy = mpn_add_n (pp + 7*n, pp + 7*n, r3 + 2*n, n); + if (LIKELY(spt != n)) + MPN_INCR_U (pp + 8*n, spt - n, cy + r3[3*n]); + else + ASSERT (r3[3*n] | cy == 0); +} diff --git a/goil/build/libpm/gmp/mpz-abs.c b/goil/build/libpm/gmp/mpz-abs.c new file mode 100644 index 000000000..20d80eec5 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-abs.c @@ -0,0 +1,55 @@ +/* mpz_abs(dst, src) -- Assign the absolute value of SRC to DST. + +Copyright 1991, 1993-1995, 2001, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#define __GMP_FORCE_mpz_abs 1 + +#include "gmp.h" +#include "gmp-impl.h" + +void +mpz_abs (mpz_ptr w, mpz_srcptr u) +{ + mp_ptr wp; + mp_srcptr up; + mp_size_t size; + + size = ABSIZ (u); + + if (u != w) + { + wp = MPZ_NEWALLOC (w, size); + + up = PTR (u); + + MPN_COPY (wp, up, size); + } + + SIZ (w) = (int) size; // (int) added by PM +} diff --git a/goil/build/libpm/gmp/mpz-add.c b/goil/build/libpm/gmp/mpz-add.c new file mode 100644 index 000000000..03fcb5957 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-add.c @@ -0,0 +1,34 @@ +/* mpz_add -- add integers. + +Copyright 2001 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#define OPERATION_add +// // mpz- added by PM +#include "mpz-aors.h" diff --git a/goil/build/libpm/gmp/mpz-add_ui.c b/goil/build/libpm/gmp/mpz-add_ui.c new file mode 100644 index 000000000..d15bb7287 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-add_ui.c @@ -0,0 +1,34 @@ +/* mpz_add_ui -- Add an mpz_t and an unsigned one-word integer. + +Copyright 2001 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#define OPERATION_add_ui +// mpz- added by PM +#include "mpz-aors_ui.h" diff --git a/goil/build/libpm/gmp/mpz-and.c b/goil/build/libpm/gmp/mpz-and.c new file mode 100644 index 000000000..420b948df --- /dev/null +++ b/goil/build/libpm/gmp/mpz-and.c @@ -0,0 +1,244 @@ +/* mpz_and -- Logical and. + +Copyright 1991, 1993, 1994, 1996, 1997, 2000, 2001, 2003, 2005, 2012 Free +Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + +void +mpz_and (mpz_ptr res, mpz_srcptr op1, mpz_srcptr op2) +{ + mp_srcptr op1_ptr, op2_ptr; + mp_size_t op1_size, op2_size; + mp_ptr res_ptr; + mp_size_t res_size; + mp_size_t i; + TMP_DECL; + + TMP_MARK; + op1_size = SIZ(op1); + op2_size = SIZ(op2); + + op1_ptr = PTR(op1); + op2_ptr = PTR(op2); + + if (op1_size >= 0) + { + if (op2_size >= 0) + { + res_size = MIN (op1_size, op2_size); + /* First loop finds the size of the result. */ + for (i = res_size - 1; i >= 0; i--) + if ((op1_ptr[i] & op2_ptr[i]) != 0) + break; + res_size = i + 1; + + /* Handle allocation, now then we know exactly how much space is + needed for the result. */ + res_ptr = MPZ_REALLOC (res, res_size); + /* Don't re-read op1_ptr and op2_ptr. Since res_size <= + MIN(op1_size, op2_size), res is not changed when op1 + is identical to res or op2 is identical to res. */ + + SIZ(res) = (int) res_size; // (int) added by PM + if (LIKELY (res_size != 0)) + mpn_and_n (res_ptr, op1_ptr, op2_ptr, res_size); + return; + } + else /* op2_size < 0 */ + { + /* Fall through to the code at the end of the function. */ + } + } + else + { + if (op2_size < 0) + { + mp_ptr opx, opy; + mp_limb_t cy; + + /* Both operands are negative, so will be the result. + -((-OP1) & (-OP2)) = -(~(OP1 - 1) & ~(OP2 - 1)) = + = ~(~(OP1 - 1) & ~(OP2 - 1)) + 1 = + = ((OP1 - 1) | (OP2 - 1)) + 1 */ + + /* It might seem as we could end up with an (invalid) result with + a leading zero-limb here when one of the operands is of the + type 1,,0,,..,,.0. But some analysis shows that we surely + would get carry into the zero-limb in this situation... */ + + op1_size = -op1_size; + op2_size = -op2_size; + + if (op1_size > op2_size) + MPN_SRCPTR_SWAP (op1_ptr, op1_size, op2_ptr, op2_size); + + TMP_ALLOC_LIMBS_2 (opx, op1_size, opy, op2_size); + mpn_sub_1 (opx, op1_ptr, op1_size, (mp_limb_t) 1); + op1_ptr = opx; + + mpn_sub_1 (opy, op2_ptr, op2_size, (mp_limb_t) 1); + op2_ptr = opy; + + res_ptr = MPZ_REALLOC (res, 1 + op2_size); + /* Don't re-read OP1_PTR and OP2_PTR. They point to temporary + space--never to the space PTR(res) used to point to before + reallocation. */ + + MPN_COPY (res_ptr + op1_size, op2_ptr + op1_size, + op2_size - op1_size); + mpn_ior_n (res_ptr, op1_ptr, op2_ptr, op1_size); + res_size = op2_size; + + cy = mpn_add_1 (res_ptr, res_ptr, res_size, (mp_limb_t) 1); + res_ptr[res_size] = cy; + res_size += (cy != 0); + + SIZ(res) = (int) -res_size; // (int) added by PM + TMP_FREE; + return; + } + else + { + /* We should compute -OP1 & OP2. Swap OP1 and OP2 and fall + through to the code that handles OP1 & -OP2. */ + MPN_SRCPTR_SWAP (op1_ptr, op1_size, op2_ptr, op2_size); + } + + } + + { +#ifdef ANDNEW + mp_size_t op2_lim; + mp_size_t count; + + /* OP2 must be negated as with infinite precision. + + Scan from the low end for a non-zero limb. The first non-zero + limb is simply negated (two's complement). Any subsequent + limbs are one's complemented. Of course, we don't need to + handle more limbs than there are limbs in the other, positive + operand as the result for those limbs is going to become zero + anyway. */ + + /* Scan for the least significant non-zero OP2 limb, and zero the + result meanwhile for those limb positions. (We will surely + find a non-zero limb, so we can write the loop with one + termination condition only.) */ + for (i = 0; op2_ptr[i] == 0; i++) + res_ptr[i] = 0; + op2_lim = i; + + op2_size = -op2_size; + + if (op1_size <= op2_size) + { + /* The ones-extended OP2 is >= than the zero-extended OP1. + RES_SIZE <= OP1_SIZE. Find the exact size. */ + for (i = op1_size - 1; i > op2_lim; i--) + if ((op1_ptr[i] & ~op2_ptr[i]) != 0) + break; + res_size = i + 1; + for (i = res_size - 1; i > op2_lim; i--) + res_ptr[i] = op1_ptr[i] & ~op2_ptr[i]; + res_ptr[op2_lim] = op1_ptr[op2_lim] & -op2_ptr[op2_lim]; + /* Yes, this *can* happen! */ + MPN_NORMALIZE (res_ptr, res_size); + } + else + { + /* The ones-extended OP2 is < than the zero-extended OP1. + RES_SIZE == OP1_SIZE, since OP1 is normalized. */ + res_size = op1_size; + MPN_COPY (res_ptr + op2_size, op1_ptr + op2_size, op1_size - op2_size); + for (i = op2_size - 1; i > op2_lim; i--) + res_ptr[i] = op1_ptr[i] & ~op2_ptr[i]; + res_ptr[op2_lim] = op1_ptr[op2_lim] & -op2_ptr[op2_lim]; + } + + SIZ(res) = res_size; +#else + + /* OP1 is positive and zero-extended, + OP2 is negative and ones-extended. + The result will be positive. + OP1 & -OP2 = OP1 & ~(OP2 - 1). */ + + mp_ptr opx; + + op2_size = -op2_size; + opx = TMP_ALLOC_LIMBS (op2_size); + mpn_sub_1 (opx, op2_ptr, op2_size, (mp_limb_t) 1); + op2_ptr = opx; + + if (op1_size > op2_size) + { + /* The result has the same size as OP1, since OP1 is normalized + and longer than the ones-extended OP2. */ + res_size = op1_size; + + /* Handle allocation, now then we know exactly how much space is + needed for the result. */ + res_ptr = MPZ_REALLOC (res, res_size); + /* Don't re-read OP1_PTR or OP2_PTR. Since res_size = op1_size, + op1 is not changed if it is identical to res. + OP2_PTR points to temporary space. */ + + MPN_COPY (res_ptr + op2_size, op1_ptr + op2_size, res_size - op2_size); + mpn_andn_n (res_ptr, op1_ptr, op2_ptr, op2_size); + + SIZ(res) = (int) res_size; // (int) added by PM + } + else + { + /* Find out the exact result size. Ignore the high limbs of OP2, + OP1 is zero-extended and would make the result zero. */ + for (i = op1_size - 1; i >= 0; i--) + if ((op1_ptr[i] & ~op2_ptr[i]) != 0) + break; + res_size = i + 1; + + /* Handle allocation, now then we know exactly how much space is + needed for the result. */ + res_ptr = MPZ_REALLOC (res, res_size); + /* Don't re-read OP1_PTR. Since res_size <= op1_size, + op1 is not changed if it is identical to res. + Don't re-read OP2_PTR. It points to temporary space--never + to the space PTR(res) used to point to before reallocation. */ + + if (LIKELY (res_size != 0)) + mpn_andn_n (res_ptr, op1_ptr, op2_ptr, res_size); + + SIZ(res) = (int) res_size; // (int) added by PM + } +#endif + } + TMP_FREE; +} diff --git a/goil/build/libpm/gmp/mpz-aors.h b/goil/build/libpm/gmp/mpz-aors.h new file mode 100644 index 000000000..c08bde66f --- /dev/null +++ b/goil/build/libpm/gmp/mpz-aors.h @@ -0,0 +1,127 @@ +/* mpz_add, mpz_sub -- add or subtract integers. + +Copyright 1991, 1993, 1994, 1996, 2000, 2001, 2011, 2012 Free Software +Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +// pragma once added by PM (nov 7 2023) +#pragma once + +#include "gmp.h" +#include "gmp-impl.h" + + +#ifdef OPERATION_add +#define FUNCTION mpz_add +#define VARIATION +#endif +#ifdef OPERATION_sub +#define FUNCTION mpz_sub +#define VARIATION - +#endif + +#ifndef FUNCTION +Error, need OPERATION_add or OPERATION_sub +#endif + + +void +FUNCTION (mpz_ptr w, mpz_srcptr u, mpz_srcptr v) +{ + mp_srcptr up, vp; + mp_ptr wp; + mp_size_t usize, vsize, wsize; + mp_size_t abs_usize; + mp_size_t abs_vsize; + + usize = SIZ(u); + vsize = VARIATION SIZ(v); + abs_usize = ABS (usize); + abs_vsize = ABS (vsize); + + if (abs_usize < abs_vsize) + { + /* Swap U and V. */ + MPZ_SRCPTR_SWAP (u, v); + MP_SIZE_T_SWAP (usize, vsize); + MP_SIZE_T_SWAP (abs_usize, abs_vsize); + } + + /* True: ABS_USIZE >= ABS_VSIZE. */ + + /* If not space for w (and possible carry), increase space. */ + wsize = abs_usize + 1; + wp = MPZ_REALLOC (w, wsize); + + /* These must be after realloc (u or v may be the same as w). */ + up = PTR(u); + vp = PTR(v); + + if ((usize ^ vsize) < 0) + { + /* U and V have different sign. Need to compare them to determine + which operand to subtract from which. */ + + /* This test is right since ABS_USIZE >= ABS_VSIZE. */ + if (abs_usize != abs_vsize) + { + mpn_sub (wp, up, abs_usize, vp, abs_vsize); + wsize = abs_usize; + MPN_NORMALIZE (wp, wsize); + if (usize < 0) + wsize = -wsize; + } + else if (mpn_cmp (up, vp, abs_usize) < 0) + { + mpn_sub_n (wp, vp, up, abs_usize); + wsize = abs_usize; + MPN_NORMALIZE (wp, wsize); + if (usize >= 0) + wsize = -wsize; + } + else + { + mpn_sub_n (wp, up, vp, abs_usize); + wsize = abs_usize; + MPN_NORMALIZE (wp, wsize); + if (usize < 0) + wsize = -wsize; + } + } + else + { + /* U and V have same sign. Add them. */ + mp_limb_t cy_limb = mpn_add (wp, up, abs_usize, vp, abs_vsize); + wp[abs_usize] = cy_limb; + wsize = (abs_usize + (mp_size_t) cy_limb); // (mp_size_t) added by PM + if (usize < 0) + wsize = -wsize; + } + + SIZ(w) = (int) wsize; // (int) added by PM +} diff --git a/goil/build/libpm/gmp/mpz-aors_ui.h b/goil/build/libpm/gmp/mpz-aors_ui.h new file mode 100644 index 000000000..5173e96d9 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-aors_ui.h @@ -0,0 +1,124 @@ +/* mpz_add_ui, mpz_sub_ui -- Add or subtract an mpz_t and an unsigned + one-word integer. + +Copyright 1991, 1993, 1994, 1996, 1999-2002, 2004, 2012, 2013 Free Software +Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +// pragma once added by PM (nov 7 2023) +#pragma once + +#include "gmp.h" +#include "gmp-impl.h" + + +#ifdef OPERATION_add_ui +#define FUNCTION mpz_add_ui +#define FUNCTION2 mpz_add +#define VARIATION_CMP >= +#define VARIATION_NEG +#define VARIATION_UNNEG - +#endif + +#ifdef OPERATION_sub_ui +#define FUNCTION mpz_sub_ui +#define FUNCTION2 mpz_sub +#define VARIATION_CMP < +#define VARIATION_NEG - +#define VARIATION_UNNEG +#endif + +#ifndef FUNCTION +Error, need OPERATION_add_ui or OPERATION_sub_ui +#endif + + +void +FUNCTION (mpz_ptr w, mpz_srcptr u, unsigned long int vval) +{ + mp_srcptr up; + mp_ptr wp; + mp_size_t usize, wsize; + mp_size_t abs_usize; + +#if defined (SIZEOF_UNSIGNED_LONG) && (BITS_PER_ULONG > GMP_NUMB_BITS) /* avoid warnings about shift amount */ + if (vval > GMP_NUMB_MAX) + { + mpz_t v; + mp_limb_t vl[2]; + PTR(v) = vl; + vl[0] = vval & GMP_NUMB_MASK; + vl[1] = vval >> GMP_NUMB_BITS; + SIZ(v) = 2; + FUNCTION2 (w, u, v); + return; + } +#endif + + usize = SIZ (u); + if (usize == 0) + { + PTR (w)[0] = vval; + SIZ (w) = VARIATION_NEG (vval != 0); + return; + } + + abs_usize = ABS (usize); + + /* If not space for W (and possible carry), increase space. */ + wp = MPZ_REALLOC (w, abs_usize + 1); + + /* These must be after realloc (U may be the same as W). */ + up = PTR (u); + + if (usize VARIATION_CMP 0) + { + mp_limb_t cy; + cy = mpn_add_1 (wp, up, abs_usize, (mp_limb_t) vval); + wp[abs_usize] = cy; + wsize = VARIATION_NEG (abs_usize + (mp_size_t) cy); // (mp_size_t) added by PM + } + else + { + /* The signs are different. Need exact comparison to determine + which operand to subtract from which. */ + if (abs_usize == 1 && up[0] < vval) + { + wp[0] = vval - up[0]; + wsize = VARIATION_NEG 1; + } + else + { + mpn_sub_1 (wp, up, abs_usize, (mp_limb_t) vval); + /* Size can decrease with at most one limb. */ + wsize = VARIATION_UNNEG (abs_usize - (wp[abs_usize - 1] == 0)); + } + } + + SIZ (w) = (int) wsize; // (int) added by PM +} diff --git a/goil/build/libpm/gmp/mpz-cdiv_q_ui.c b/goil/build/libpm/gmp/mpz-cdiv_q_ui.c new file mode 100644 index 000000000..65be61431 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-cdiv_q_ui.c @@ -0,0 +1,103 @@ +/* mpz_cdiv_q_ui -- Division rounding the quotient towards +infinity. The + remainder gets the opposite sign as the denominator. In order to make it + always fit into the return type, the negative of the true remainder is + returned. + +Copyright 1994, 1996, 1999, 2001, 2002, 2004, 2012 Free Software Foundation, +Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + +unsigned long int +mpz_cdiv_q_ui (mpz_ptr quot, mpz_srcptr dividend, unsigned long int divisor) +{ + mp_size_t ns, nn, qn; + mp_ptr np, qp; + mp_limb_t rl; + + if (UNLIKELY (divisor == 0)) + DIVIDE_BY_ZERO; + + ns = SIZ(dividend); + if (ns == 0) + { + SIZ(quot) = 0; + return 0; + } + + nn = ABS(ns); + qp = MPZ_REALLOC (quot, nn); + np = PTR(dividend); + +#if defined(SIZEOF_UNSIGNED_LONG) && (BITS_PER_ULONG > GMP_NUMB_BITS) /* avoid warnings about shift amount */ + if (divisor > GMP_NUMB_MAX) + { + mp_limb_t dp[2], rp[2]; + + if (nn == 1) /* tdiv_qr requirements; tested above for 0 */ + { + qp[0] = 0; + rl = np[0]; + qn = 1; /* a white lie, fixed below */ + } + else + { + dp[0] = divisor & GMP_NUMB_MASK; + dp[1] = divisor >> GMP_NUMB_BITS; + mpn_tdiv_qr (qp, rp, (mp_size_t) 0, np, nn, dp, (mp_size_t) 2); + rl = rp[0] + (rp[1] << GMP_NUMB_BITS); + qn = nn - 2 + 1; + } + + if (rl != 0 && ns >= 0) + { + mpn_incr_u (qp, (mp_limb_t) 1); + rl = divisor - rl; + } + + qn -= qp[qn - 1] == 0; qn -= qn != 0 && qp[qn - 1] == 0; + } + else +#endif + { + rl = mpn_divrem_1 (qp, (mp_size_t) 0, np, nn, (mp_limb_t) divisor); + + if (rl != 0 && ns >= 0) + { + mpn_incr_u (qp, (mp_limb_t) 1); + rl = divisor - rl; + } + + qn = nn - (qp[nn - 1] == 0); + } + + SIZ(quot) = ns >= 0 ? qn : -qn; + return rl; +} diff --git a/goil/build/libpm/gmp/mpz-cdiv_qr.c b/goil/build/libpm/gmp/mpz-cdiv_qr.c new file mode 100644 index 000000000..762153ec2 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-cdiv_qr.c @@ -0,0 +1,65 @@ +/* mpz_cdiv_qr -- Division rounding the quotient towards +infinity. The + remainder gets the opposite sign as the denominator. + +Copyright 1994-1996, 2000, 2001, 2005, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + +void +mpz_cdiv_qr (mpz_ptr quot, mpz_ptr rem, mpz_srcptr dividend, mpz_srcptr divisor) +{ + mp_size_t divisor_size = SIZ (divisor); + mp_size_t xsize; + mpz_t temp_divisor; /* N.B.: lives until function returns! */ + TMP_DECL; + + TMP_MARK; + + /* We need the original value of the divisor after the quotient and + remainder have been preliminary calculated. We have to copy it to + temporary space if it's the same variable as either QUOT or REM. */ + if (quot == divisor || rem == divisor) + { + MPZ_TMP_INIT (temp_divisor, (int) ABS (divisor_size)); // (int) added by PM + mpz_set (temp_divisor, divisor); + divisor = temp_divisor; + } + + xsize = SIZ (dividend) ^ divisor_size;; + mpz_tdiv_qr (quot, rem, dividend, divisor); + + if (xsize >= 0 && SIZ (rem) != 0) + { + mpz_add_ui (quot, quot, 1L); + mpz_sub (rem, rem, divisor); + } + + TMP_FREE; +} diff --git a/goil/build/libpm/gmp/mpz-cfdiv_q_2exp.c b/goil/build/libpm/gmp/mpz-cfdiv_q_2exp.c new file mode 100644 index 000000000..8e1ce51f6 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-cfdiv_q_2exp.c @@ -0,0 +1,113 @@ +/* mpz_cdiv_q_2exp, mpz_fdiv_q_2exp -- quotient from mpz divided by 2^n. + +Copyright 1991, 1993, 1994, 1996, 1998, 1999, 2001, 2002, 2004, 2012 Free +Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + + +/* dir==1 for ceil, dir==-1 for floor */ + +static void __gmpz_cfdiv_q_2exp (REGPARM_3_1 (mpz_ptr, mpz_srcptr, mp_bitcnt_t, int)) REGPARM_ATTR (1); +#define cfdiv_q_2exp(w,u,cnt,dir) __gmpz_cfdiv_q_2exp (REGPARM_3_1 (w,u,cnt,dir)) + +REGPARM_ATTR (1) static void +cfdiv_q_2exp (mpz_ptr w, mpz_srcptr u, mp_bitcnt_t cnt, int dir) +{ + mp_size_t wsize, usize, abs_usize, limb_cnt, i; + mp_srcptr up; + mp_ptr wp; + mp_limb_t round, rmask; + + usize = SIZ (u); + abs_usize = ABS (usize); + limb_cnt = cnt / GMP_NUMB_BITS; + wsize = abs_usize - limb_cnt; + if (wsize <= 0) + { + /* u < 2**cnt, so result 1, 0 or -1 according to rounding */ + PTR(w)[0] = 1; + SIZ(w) = (usize == 0 || (usize ^ dir) < 0 ? 0 : dir); + return; + } + + /* +1 limb to allow for mpn_add_1 below */ + MPZ_REALLOC (w, wsize+1); + + /* Check for rounding if direction matches u sign. + Set round if we're skipping non-zero limbs. */ + up = PTR(u); + round = 0; + rmask = ((usize ^ dir) >= 0 ? MP_LIMB_T_MAX : 0); + if (rmask != 0) + for (i = 0; i < limb_cnt && round == 0; i++) + round = up[i]; + + wp = PTR(w); + cnt %= GMP_NUMB_BITS; + if (cnt != 0) + { + round |= rmask & mpn_rshift (wp, up + limb_cnt, wsize, (unsigned int) cnt); // (unsigned int) added by PM + wsize -= (wp[wsize - 1] == 0); + } + else + MPN_COPY_INCR (wp, up + limb_cnt, wsize); + + if (round != 0) + { + if (wsize != 0) + { + mp_limb_t cy; + cy = mpn_add_1 (wp, wp, wsize, CNST_LIMB(1)); + wp[wsize] = cy; + wsize += cy; + } + else + { + /* We shifted something to zero. */ + wp[0] = 1; + wsize = 1; + } + } + SIZ(w) = (usize >= 0 ? ((int) wsize) : - (int) wsize); // (int) added by PM +} + + +void +mpz_cdiv_q_2exp (mpz_ptr w, mpz_srcptr u, mp_bitcnt_t cnt) +{ + cfdiv_q_2exp (w, u, cnt, 1); +} + +void +mpz_fdiv_q_2exp (mpz_ptr w, mpz_srcptr u, mp_bitcnt_t cnt) +{ + cfdiv_q_2exp (w, u, cnt, -1); +} diff --git a/goil/build/libpm/gmp/mpz-clear.c b/goil/build/libpm/gmp/mpz-clear.c new file mode 100644 index 000000000..30f626c50 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-clear.c @@ -0,0 +1,40 @@ +/* mpz_clear -- de-allocate the space occupied by the dynamic digit space of + an integer. + +Copyright 1991, 1993-1995, 2000, 2001, 2012, 2014 Free Software Foundation, +Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + +void +mpz_clear (mpz_ptr m) +{ + (*__gmp_free_func) (PTR (m), (size_t) ALLOC (m) * GMP_LIMB_BYTES); +} diff --git a/goil/build/libpm/gmp/mpz-clrbit.c b/goil/build/libpm/gmp/mpz-clrbit.c new file mode 100644 index 000000000..fffcffe88 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-clrbit.c @@ -0,0 +1,112 @@ +/* mpz_clrbit -- clear a specified bit. + +Copyright 1991, 1993-1995, 2001, 2002, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + + +void +mpz_clrbit (mpz_ptr d, mp_bitcnt_t bit_idx) +{ + mp_size_t dsize = SIZ (d); + mp_ptr dp = PTR (d); + mp_size_t limb_idx; + mp_limb_t mask; + + limb_idx = (mp_size_t) (bit_idx / GMP_NUMB_BITS); + mask = CNST_LIMB(1) << (bit_idx % GMP_NUMB_BITS); + if (dsize >= 0) { + if (limb_idx < dsize) { + mp_limb_t dlimb; + dlimb = dp[limb_idx] & ~mask; + dp[limb_idx] = dlimb; + if (UNLIKELY ((dlimb == 0) + limb_idx == dsize)) { /* dsize == limb_idx + 1 */ + /* high limb became zero, must normalize */ + MPN_NORMALIZE (dp, limb_idx); + SIZ (d) = (int) limb_idx; // (int) added by PM + } + }else{ + } + } + else + { + /* Simulate two's complement arithmetic, i.e. simulate + 1. Set OP = ~(OP - 1) [with infinitely many leading ones]. + 2. clear the bit. + 3. Set OP = ~OP + 1. */ + + dsize = -dsize; + + if (limb_idx < dsize) + { + mp_size_t zero_bound; + + /* No index upper bound on this loop, we're sure there's a non-zero limb + sooner or later. */ + zero_bound = 0; + while (dp[zero_bound] == 0) + zero_bound++; + + if (limb_idx > zero_bound) + { + dp[limb_idx] |= mask; + } + else if (limb_idx == zero_bound) + { + mp_limb_t dlimb; + dlimb = (((dp[limb_idx] - 1) | mask) + 1) & GMP_NUMB_MASK; + dp[limb_idx] = dlimb; + + if (dlimb == 0) + { + /* Increment at limb_idx + 1. Extend the number with a zero limb + for simplicity. */ + dp = MPZ_REALLOC (d, dsize + 1); + dp[dsize] = 0; + MPN_INCR_U (dp + limb_idx + 1, dsize - limb_idx, 1); + dsize += (mp_size_t) dp[dsize]; + + SIZ (d) = -(int) dsize; // (int) added by PM + } + } +/* else + ; */ + } + else + { + /* Ugh. The bit should be cleared outside of the end of the + number. We have to increase the size of the number. */ + dp = MPZ_REALLOC (d, limb_idx + 1); + SIZ (d) = -(int) (limb_idx + 1); // (int) added by PM + MPN_ZERO (dp + dsize, limb_idx - dsize); + dp[limb_idx] = mask; + } + } +} diff --git a/goil/build/libpm/gmp/mpz-cmp.c b/goil/build/libpm/gmp/mpz-cmp.c new file mode 100644 index 000000000..87f0f2ca3 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-cmp.c @@ -0,0 +1,54 @@ +/* mpz_cmp(u,v) -- Compare U, V. Return positive, zero, or negative + based on if U > V, U == V, or U < V. + +Copyright 1991, 1993, 1994, 1996, 2001, 2002, 2011 Free Software Foundation, +Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + +int +mpz_cmp (mpz_srcptr u, mpz_srcptr v) __GMP_NOTHROW +{ + mp_size_t usize, vsize, dsize, asize; + mp_srcptr up, vp; + int cmp; + + usize = SIZ(u); + vsize = SIZ(v); + dsize = usize - vsize; + if (dsize != 0) + return (int) dsize; // (int) added by PM + + asize = ABS (usize); + up = PTR(u); + vp = PTR(v); + MPN_CMP (cmp, up, vp, asize); + return (usize >= 0 ? cmp : -cmp); +} diff --git a/goil/build/libpm/gmp/mpz-cmp_si.c b/goil/build/libpm/gmp/mpz-cmp_si.c new file mode 100644 index 000000000..bd6de749f --- /dev/null +++ b/goil/build/libpm/gmp/mpz-cmp_si.c @@ -0,0 +1,70 @@ +/* mpz_cmp_si(u,v) -- Compare an integer U with a single-word int V. + Return positive, zero, or negative based on if U > V, U == V, or U < V. + +Copyright 1991, 1993-1996, 2000-2002, 2012, 2013 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + +int +_mpz_cmp_si (mpz_srcptr u, signed long int v_digit) __GMP_NOTHROW +{ +#if GMP_NAIL_BITS != 0 + + mpz_t tmp; + mp_limb_t tt[2]; + PTR(tmp) = tt; + ALLOC(tmp) = 2; + mpz_set_si (tmp, v_digit); + return mpz_cmp (u, tmp); +#else + + mp_size_t vsize, usize; + + usize = SIZ (u); + vsize = (v_digit > 0) - (v_digit < 0); + + if ((usize == 0) | (usize != vsize)) + return usize - vsize; + else { + mp_limb_t u_digit, absv_digit; + + u_digit = PTR (u)[0]; + absv_digit = ABS_CAST (unsigned long, v_digit); + + if (u_digit == absv_digit) + return 0; + + if (u_digit > absv_digit) + return usize; + else + return -usize; + } +#endif +} diff --git a/goil/build/libpm/gmp/mpz-cmp_ui.c b/goil/build/libpm/gmp/mpz-cmp_ui.c new file mode 100644 index 000000000..790d8241d --- /dev/null +++ b/goil/build/libpm/gmp/mpz-cmp_ui.c @@ -0,0 +1,78 @@ +/* mpz_cmp_ui.c -- Compare a mpz_t a with an mp_limb_t b. Return positive, + zero, or negative based on if a > b, a == b, or a < b. + +Copyright 1991, 1993-1996, 2001, 2002 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + +int +_mpz_cmp_ui (mpz_srcptr u, unsigned long int v_digit) __GMP_NOTHROW +{ + mp_ptr up; + mp_size_t un; + mp_limb_t ul; + + up = PTR(u); + un = SIZ(u); + + if (un == 0) + return -(v_digit != 0); + + if (un == 1) + { + ul = up[0]; + if (ul > v_digit) + return 1; + if (ul < v_digit) + return -1; + return 0; + } + +#if GMP_NAIL_BITS != 0 + if (v_digit > GMP_NUMB_MAX) + { + if (un == 2) + { + ul = up[0] + (up[1] << GMP_NUMB_BITS); + + if ((up[1] >> GMP_NAIL_BITS) != 0) + return 1; + + if (ul > v_digit) + return 1; + if (ul < v_digit) + return -1; + return 0; + } + } +#endif + + return un > 0 ? 1 : -1; +} diff --git a/goil/build/libpm/gmp/mpz-com.c b/goil/build/libpm/gmp/mpz-com.c new file mode 100644 index 000000000..80b5bb8a3 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-com.c @@ -0,0 +1,88 @@ +/* mpz_com(mpz_ptr dst, mpz_ptr src) -- Assign the bit-complemented value of + SRC to DST. + +Copyright 1991, 1993, 1994, 1996, 2001, 2003, 2012 Free Software Foundation, +Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + +void +mpz_com (mpz_ptr dst, mpz_srcptr src) +{ + mp_size_t size = SIZ (src); + mp_srcptr src_ptr; + mp_ptr dst_ptr; + + if (size >= 0) + { + /* As with infinite precision: one's complement, two's complement. + But this can be simplified using the identity -x = ~x + 1. + So we're going to compute (~~x) + 1 = x + 1! */ + + if (UNLIKELY (size == 0)) + { + /* special case, as mpn_add_1 wants size!=0 */ + PTR (dst)[0] = 1; + SIZ (dst) = -1; + } + else + { + mp_limb_t cy; + + dst_ptr = MPZ_REALLOC (dst, size + 1); + + src_ptr = PTR (src); + + cy = mpn_add_1 (dst_ptr, src_ptr, size, (mp_limb_t) 1); + dst_ptr[size] = cy; + size += (mp_size_t) cy; + + /* Store a negative size, to indicate ones-extension. */ + SIZ (dst) = -(int) size; // (int) added by PM + } + } + else + { + /* As with infinite precision: two's complement, then one's complement. + But that can be simplified using the identity -x = ~(x - 1). + So we're going to compute ~~(x - 1) = x - 1! */ + size = -size; + + dst_ptr = MPZ_REALLOC (dst, size); + + src_ptr = PTR (src); + + mpn_sub_1 (dst_ptr, src_ptr, size, (mp_limb_t) 1); + size -= dst_ptr[size - 1] == 0; + + /* Store a positive size, to indicate zero-extension. */ + SIZ (dst) = (int) size; // (int) added by PM + } +} diff --git a/goil/build/libpm/gmp/mpz-combit.c b/goil/build/libpm/gmp/mpz-combit.c new file mode 100644 index 000000000..7d3f7bae3 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-combit.c @@ -0,0 +1,103 @@ +/* mpz_combit -- complement a specified bit. + +Copyright 2002, 2003, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + +void +mpz_combit (mpz_ptr d, mp_bitcnt_t bit_index) +{ + mp_size_t dsize = SIZ(d); + mp_ptr dp = PTR(d); + + mp_size_t limb_index = (mp_size_t) (bit_index / GMP_NUMB_BITS); + mp_limb_t bit = (CNST_LIMB (1) << (bit_index % GMP_NUMB_BITS)); + + /* Check for the most common case: Positive input, no realloc or + normalization needed. */ + if (limb_index + 1 < dsize) + dp[limb_index] ^= bit; + + /* Check for the hairy case. d < 0, and we have all zero bits to the + right of the bit to toggle. */ + else if (limb_index < -dsize && mpn_zero_p (dp, limb_index) + && (dp[limb_index] & (bit - 1)) == 0) + { + ASSERT (dsize < 0); + dsize = -dsize; + + if (dp[limb_index] & bit) + { + /* We toggle the least significant one bit. Corresponds to + an add, with potential carry propagation, on the absolute + value. */ + dp = MPZ_REALLOC (d, 1 + dsize); + dp[dsize] = 0; + MPN_INCR_U (dp + limb_index, 1 + dsize - limb_index, bit); + SIZ(d) = - ((int) dsize) - ((int) dp[dsize]); // (int) added by PM + } + else + { + /* We toggle a zero bit, subtract from the absolute value. */ + MPN_DECR_U (dp + limb_index, dsize - limb_index, bit); + /* The absolute value shrinked by at most one bit. */ + dsize -= dp[dsize - 1] == 0; + ASSERT (dsize > 0 && dp[dsize - 1] != 0); + SIZ (d) = -(int) dsize; // (int) added by PM + } + } + else + { + /* Simple case: Toggle the bit in the absolute value. */ + dsize = ABS(dsize); + if (limb_index < dsize) + { + mp_limb_t dlimb; + dlimb = dp[limb_index] ^ bit; + dp[limb_index] = dlimb; + + /* Can happen only when limb_index = dsize - 1. Avoid SIZ(d) + bookkeeping in the common case. */ + if (UNLIKELY ((dlimb == 0) + limb_index == dsize)) /* dsize == limb_index + 1 */ + { + /* high limb became zero, must normalize */ + MPN_NORMALIZE (dp, limb_index); + SIZ (d) = SIZ (d) >= 0 ? ((int) limb_index) : -(int) limb_index; // (int) added by PM + } + } + else + { + dp = MPZ_REALLOC (d, limb_index + 1); + MPN_ZERO(dp + dsize, limb_index - dsize); + dp[limb_index++] = bit; + SIZ(d) = SIZ(d) >= 0 ? ((int) limb_index) : - (int) limb_index; // Added by PM + } + } +} diff --git a/goil/build/libpm/gmp/mpz-export.c b/goil/build/libpm/gmp/mpz-export.c new file mode 100644 index 000000000..237679548 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-export.c @@ -0,0 +1,192 @@ +/* mpz_export -- create word data from mpz. + +Copyright 2002, 2003, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include /* for NULL */ +#include "gmp.h" +#include "gmp-impl.h" +#include "longlong.h" + + +#ifdef HAVE_LIMB_BIG_ENDIAN +#define HOST_ENDIAN 1 +#endif +#ifdef HAVE_LIMB_LITTLE_ENDIAN +#define HOST_ENDIAN (-1) +#endif +#ifndef HOST_ENDIAN +static const mp_limb_t endian_test = (CNST_LIMB(1) << (GMP_LIMB_BITS-7)) - 1; +#define HOST_ENDIAN (* (signed char *) &endian_test) +#endif + +void * +mpz_export (void *data, size_t *countp, int order, + size_t size, int endian, size_t nail, mpz_srcptr z) +{ + mp_size_t zsize; + mp_srcptr zp; + size_t count, dummy; + unsigned long numbx; + size_t align; // unsigned -> size_t by PM (nov 7, 2023) + + ASSERT (order == 1 || order == -1); + ASSERT (endian == 1 || endian == 0 || endian == -1); + ASSERT (nail <= 8*size); + ASSERT (nail < 8*size || SIZ(z) == 0); /* nail < 8*size+(SIZ(z)==0) */ + + if (countp == NULL) + countp = &dummy; + + zsize = SIZ(z); + if (zsize == 0) + { + *countp = 0; + return data; + } + + zsize = ABS (zsize); + zp = PTR(z); + numbx = 8*size - nail; + MPN_SIZEINBASE_2EXP (count, zp, zsize, numbx); + *countp = count; + + if (data == NULL) + data = (*__gmp_allocate_func) (count*size); + + if (endian == 0) + endian = HOST_ENDIAN; + +// align = (unsigned) ((char *) data - (char *) NULL) % sizeof (mp_limb_t); // (unsigned) added by PM + align = (size_t) ((char *) data) % sizeof (mp_limb_t) ; // (char *) NULL removed by by PM (may 11, 2022) + + if (nail == GMP_NAIL_BITS) + { + if (size == sizeof (mp_limb_t) && align == 0) + { + if (order == -1 && endian == HOST_ENDIAN) + { + MPN_COPY ((mp_ptr) data, zp, (mp_size_t) count); + return data; + } + if (order == 1 && endian == HOST_ENDIAN) + { + MPN_REVERSE ((mp_ptr) data, zp, (mp_size_t) count); + return data; + } + + if (order == -1 && endian == -HOST_ENDIAN) + { + MPN_BSWAP ((mp_ptr) data, zp, (mp_size_t) count); + return data; + } + if (order == 1 && endian == -HOST_ENDIAN) + { + MPN_BSWAP_REVERSE ((mp_ptr) data, zp, (mp_size_t) count); + return data; + } + } + } + + { + mp_limb_t limb, wbitsmask; + size_t i, numb; + mp_size_t j, wbytes, woffset; + unsigned char *dp; + int lbits, wbits; + mp_srcptr zend; + + numb = size * 8 - nail; + + /* whole bytes per word */ + wbytes = (mp_size_t) (numb / 8); + + /* possible partial byte */ + wbits = numb % 8; + wbitsmask = (CNST_LIMB(1) << wbits) - 1; + + /* offset to get to the next word */ + woffset = (endian >= 0 ? ((mp_size_t) size) : - ((mp_size_t) size)) + + (order < 0 ? ((mp_size_t) size) : - (mp_size_t) size); // (mp_size_t) added by PM + + /* least significant byte */ + dp = (unsigned char *) data + + (order >= 0 ? (count-1)*size : 0) + (endian >= 0 ? size-1 : 0); + +// Two (unsigned char) added by PM +#define EXTRACT(N, MASK) \ + do { \ + if (lbits >= (N)) \ + { \ + *dp = (unsigned char) (limb MASK); \ + limb >>= (N); \ + lbits -= (N); \ + } \ + else \ + { \ + mp_limb_t newlimb; \ + newlimb = (zp == zend ? 0 : *zp++); \ + *dp = (unsigned char) (((limb | (newlimb << lbits))) MASK); \ + limb = newlimb >> ((N)-lbits); \ + lbits += GMP_NUMB_BITS - (N); \ + } \ + } while (0) + + zend = zp + zsize; + lbits = 0; + limb = 0; + for (i = 0; i < count; i++) + { + for (j = 0; j < wbytes; j++) + { + EXTRACT (8, +0); + dp -= endian; + } + if (wbits != 0) + { + EXTRACT (wbits, & wbitsmask); + dp -= endian; + j++; + } + for ( ; j < (mp_size_t) size; j++) // (mp_size_t) added by PM + { + *dp = '\0'; + dp -= endian; + } + dp += woffset; + } + + ASSERT (zp == PTR(z) + ABSIZ(z)); + + /* low byte of word after most significant */ + ASSERT (dp == (unsigned char *) data + + (order < 0 ? count*size : - (mp_size_t) size) + + (endian >= 0 ? (mp_size_t) size - 1 : 0)); + } + return data; +} diff --git a/goil/build/libpm/gmp/mpz-fdiv_q_ui.c b/goil/build/libpm/gmp/mpz-fdiv_q_ui.c new file mode 100644 index 000000000..da27266e5 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-fdiv_q_ui.c @@ -0,0 +1,101 @@ +/* mpz_fdiv_q_ui -- Division rounding the quotient towards -infinity. + The remainder gets the same sign as the denominator. + +Copyright 1994-1996, 1999, 2001, 2002, 2004, 2012 Free Software Foundation, +Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + +unsigned long int +mpz_fdiv_q_ui (mpz_ptr quot, mpz_srcptr dividend, unsigned long int divisor) +{ + mp_size_t ns, nn, qn; + mp_ptr np, qp; + mp_limb_t rl; + + if (UNLIKELY (divisor == 0)) + DIVIDE_BY_ZERO; + + ns = SIZ(dividend); + if (ns == 0) + { + SIZ(quot) = 0; + return 0; + } + + nn = ABS(ns); + qp = MPZ_REALLOC (quot, nn); + np = PTR(dividend); + +#if defined(SIZEOF_UNSIGNED_LONG) && (BITS_PER_ULONG > GMP_NUMB_BITS) /* avoid warnings about shift amount */ + if (divisor > GMP_NUMB_MAX) + { + mp_limb_t dp[2], rp[2]; + + if (nn == 1) /* tdiv_qr requirements; tested above for 0 */ + { + qp[0] = 0; + rl = np[0]; + qn = 1; /* a white lie, fixed below */ + } + else + { + dp[0] = divisor & GMP_NUMB_MASK; + dp[1] = divisor >> GMP_NUMB_BITS; + mpn_tdiv_qr (qp, rp, (mp_size_t) 0, np, nn, dp, (mp_size_t) 2); + rl = rp[0] + (rp[1] << GMP_NUMB_BITS); + qn = nn - 2 + 1; + } + + if (rl != 0 && ns < 0) + { + mpn_incr_u (qp, (mp_limb_t) 1); + rl = divisor - rl; + } + + qn -= qp[qn - 1] == 0; qn -= qn != 0 && qp[qn - 1] == 0; + } + else +#endif + { + rl = mpn_divrem_1 (qp, (mp_size_t) 0, np, nn, (mp_limb_t) divisor); + + if (rl != 0 && ns < 0) + { + mpn_incr_u (qp, (mp_limb_t) 1); + rl = divisor - rl; + } + + qn = nn - (qp[nn - 1] == 0); + } + + SIZ(quot) = ns >= 0 ? qn : -qn; + return rl; +} diff --git a/goil/build/libpm/gmp/mpz-fdiv_qr.c b/goil/build/libpm/gmp/mpz-fdiv_qr.c new file mode 100644 index 000000000..614c12cfe --- /dev/null +++ b/goil/build/libpm/gmp/mpz-fdiv_qr.c @@ -0,0 +1,65 @@ +/* mpz_fdiv_qr -- Division rounding the quotient towards -infinity. + The remainder gets the same sign as the denominator. + +Copyright 1994-1996, 2000, 2001, 2005, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + +void +mpz_fdiv_qr (mpz_ptr quot, mpz_ptr rem, mpz_srcptr dividend, mpz_srcptr divisor) +{ + mp_size_t divisor_size = SIZ (divisor); + mp_size_t xsize; + mpz_t temp_divisor; /* N.B.: lives until function returns! */ + TMP_DECL; + + TMP_MARK; + + /* We need the original value of the divisor after the quotient and + remainder have been preliminary calculated. We have to copy it to + temporary space if it's the same variable as either QUOT or REM. */ + if (quot == divisor || rem == divisor) + { + MPZ_TMP_INIT (temp_divisor, (int) ABS (divisor_size)); // (int) added by PM + mpz_set (temp_divisor, divisor); + divisor = temp_divisor; + } + + xsize = SIZ (dividend) ^ divisor_size;; + mpz_tdiv_qr (quot, rem, dividend, divisor); + + if (xsize < 0 && SIZ (rem) != 0) + { + mpz_sub_ui (quot, quot, 1L); + mpz_add (rem, rem, divisor); + } + + TMP_FREE; +} diff --git a/goil/build/libpm/gmp/mpz-fits_s.h b/goil/build/libpm/gmp/mpz-fits_s.h new file mode 100644 index 000000000..e7f21d1b2 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-fits_s.h @@ -0,0 +1,61 @@ +/* int mpz_fits_X_p (mpz_t z) -- test whether z fits signed type X. + +Copyright 1997, 2000-2002 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + + +int +FUNCTION (mpz_srcptr z) __GMP_NOTHROW +{ + mp_size_t n = SIZ(z); + mp_ptr p = PTR(z); + mp_limb_t limb = p[0]; + + if (n == 0) + return 1; + if (n == 1) + return limb <= MAXIMUM; + if (n == -1) + return limb <= NEG_CAST (mp_limb_t, MINIMUM); +#if GMP_NAIL_BITS != 0 + { + if ((p[1] >> GMP_NAIL_BITS) == 0) + { + limb += p[1] << GMP_NUMB_BITS; + if (n == 2) + return limb <= MAXIMUM; + if (n == -2) + return limb <= NEG_CAST (mp_limb_t, MINIMUM); + } + } +#endif + return 0; +} diff --git a/goil/build/libpm/gmp/mpz-fits_sint.c b/goil/build/libpm/gmp/mpz-fits_sint.c new file mode 100644 index 000000000..8f137d059 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-fits_sint.c @@ -0,0 +1,37 @@ +/* int mpz_fits_sint_p (mpz_t z) -- test whether z fits an int. + +Copyright 1997, 2000, 2001 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#define FUNCTION mpz_fits_sint_p +#define MAXIMUM INT_MAX +#define MINIMUM INT_MIN + +// mpz- added by PM +#include "mpz-fits_s.h" diff --git a/goil/build/libpm/gmp/mpz-fits_uint.c b/goil/build/libpm/gmp/mpz-fits_uint.c new file mode 100644 index 000000000..a37e291b6 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-fits_uint.c @@ -0,0 +1,34 @@ +/* mpz_fits_uint_p -- test whether z fits an unsigned int. + +Copyright 1997, 2000, 2001 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#define __GMP_FORCE_mpz_fits_uint_p 1 + +#include "gmp.h" +#include "gmp-impl.h" diff --git a/goil/build/libpm/gmp/mpz-get_si.c b/goil/build/libpm/gmp/mpz-get_si.c new file mode 100644 index 000000000..6e9752636 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-get_si.c @@ -0,0 +1,53 @@ +/* mpz_get_si(integer) -- Return the least significant digit from INTEGER. + +Copyright 1991, 1993-1995, 2000-2002, 2006, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + +signed long int +mpz_get_si (mpz_srcptr z) __GMP_NOTHROW +{ + mp_ptr zp = PTR (z); + mp_size_t size = SIZ (z); + mp_limb_t zl = zp[0]; + +#if GMP_NAIL_BITS != 0 + if (ULONG_MAX > GMP_NUMB_MAX && ABS (size) >= 2) + zl |= zp[1] << GMP_NUMB_BITS; +#endif + + if (size > 0) + return zl & LONG_MAX; + else if (size < 0) + /* This expression is necessary to properly handle 0x80000000 */ + return -1 - (long) ((zl - 1) & LONG_MAX); + else + return 0; +} diff --git a/goil/build/libpm/gmp/mpz-get_str.c b/goil/build/libpm/gmp/mpz-get_str.c new file mode 100644 index 000000000..28091a5b0 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-get_str.c @@ -0,0 +1,119 @@ +/* mpz_get_str (string, base, mp_src) -- Convert the multiple precision + number MP_SRC to a string STRING of base BASE. If STRING is NULL + allocate space for the result. In any case, return a pointer to the + result. If STRING is not NULL, the caller must ensure enough space is + available to store the result. + +Copyright 1991, 1993, 1994, 1996, 2000-2002, 2005, 2012 Free Software +Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include /* for strlen */ +#include "gmp.h" +#include "gmp-impl.h" +#include "longlong.h" + +char * +mpz_get_str (char *res_str, int base, mpz_srcptr x) +{ + mp_ptr xp; + mp_size_t x_size = SIZ (x); + char *return_str; + size_t str_size; + size_t alloc_size = 0; + const char *num_to_text; + size_t i; // int changed to size_t by PM + TMP_DECL; + + if (base >= 0) + { + num_to_text = "0123456789abcdefghijklmnopqrstuvwxyz"; + if (base <= 1) + base = 10; + else if (base > 36) + { + num_to_text = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; + if (base > 62) + return NULL; + } + } + else + { + base = -base; + if (base <= 1) + base = 10; + else if (base > 36) + return NULL; + num_to_text = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + } + + /* allocate string for the user if necessary */ + if (res_str == NULL) + { + /* digits, null terminator, possible minus sign */ + MPN_SIZEINBASE (alloc_size, PTR(x), ABS(x_size), base); + alloc_size += 1 + (x_size<0); + res_str = (char *) (*__gmp_allocate_func) (alloc_size); + } + return_str = res_str; + + if (x_size < 0) + { + *res_str++ = '-'; + x_size = -x_size; + } + + /* mpn_get_str clobbers its input on non power-of-2 bases */ + TMP_MARK; + xp = PTR (x); + if (! POW2_P (base)) + { + xp = TMP_ALLOC_LIMBS (x_size | 1); /* |1 in case x_size==0 */ + MPN_COPY (xp, PTR (x), x_size); + } + + str_size = mpn_get_str ((unsigned char *) res_str, base, xp, x_size); + ASSERT (alloc_size == 0 || str_size <= alloc_size - (SIZ(x) < 0)); + + /* Convert result to printable chars. */ + for (i = 0; i < str_size; i++) + res_str[i] = num_to_text[(int) res_str[i]]; + res_str[str_size] = 0; + + TMP_FREE; + + /* if allocated then resize down to the actual space required */ + if (alloc_size != 0) + { + size_t actual_size = str_size + 1 + (size_t) (res_str - return_str); // (size_t) added by PM + ASSERT (actual_size == strlen (return_str) + 1); + __GMP_REALLOCATE_FUNC_MAYBE_TYPE (return_str, alloc_size, actual_size, + char); + } + return return_str; +} diff --git a/goil/build/libpm/gmp/mpz-get_ui.c b/goil/build/libpm/gmp/mpz-get_ui.c new file mode 100644 index 000000000..ca97788b7 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-get_ui.c @@ -0,0 +1,34 @@ +/* mpz_get_ui(integer) -- Return the least significant digit from INTEGER. + +Copyright 1991, 1993-1995, 2001 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#define __GMP_FORCE_mpz_get_ui 1 + +#include "gmp.h" +#include "gmp-impl.h" diff --git a/goil/build/libpm/gmp/mpz-init.c b/goil/build/libpm/gmp/mpz-init.c new file mode 100644 index 000000000..09df9df5c --- /dev/null +++ b/goil/build/libpm/gmp/mpz-init.c @@ -0,0 +1,45 @@ +/* mpz_init() -- Make a new multiple precision number with value 0. + +Copyright 1991, 1993-1995, 2000-2002, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + +void +mpz_init (mpz_ptr x) +{ + ALLOC (x) = 1; + PTR (x) = (mp_ptr) (*__gmp_allocate_func) (GMP_LIMB_BYTES); + SIZ (x) = 0; + +#ifdef __CHECKER__ + /* let the low limb look initialized, for the benefit of mpz_get_ui etc */ + PTR (x) = 0; +#endif +} diff --git a/goil/build/libpm/gmp/mpz-ior.c b/goil/build/libpm/gmp/mpz-ior.c new file mode 100644 index 000000000..c6145c8ad --- /dev/null +++ b/goil/build/libpm/gmp/mpz-ior.c @@ -0,0 +1,230 @@ +/* mpz_ior -- Logical inclusive or. + +Copyright 1991, 1993, 1994, 1996, 1997, 2000, 2001, 2005, 2012, 2013 Free +Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + +void +mpz_ior (mpz_ptr res, mpz_srcptr op1, mpz_srcptr op2) +{ + mp_srcptr op1_ptr, op2_ptr; + mp_size_t op1_size, op2_size; + mp_ptr res_ptr; + mp_size_t res_size; + mp_size_t i; + TMP_DECL; + + TMP_MARK; + op1_size = SIZ(op1); + op2_size = SIZ(op2); + + op1_ptr = PTR(op1); + op2_ptr = PTR(op2); + res_ptr = PTR(res); + + if (op1_size >= 0) + { + if (op2_size >= 0) + { + if (op1_size >= op2_size) + { + if (ALLOC(res) < op1_size) + { + res_ptr = MPZ_REALLOC (res, op1_size); + /* No overlapping possible: op1_ptr = PTR(op1); */ + op2_ptr = PTR(op2); + } + + if (res_ptr != op1_ptr) + MPN_COPY (res_ptr + op2_size, op1_ptr + op2_size, + op1_size - op2_size); + if (LIKELY (op2_size != 0)) + mpn_ior_n (res_ptr, op1_ptr, op2_ptr, op2_size); + res_size = op1_size; + } + else + { + if (ALLOC(res) < op2_size) + { + res_ptr = MPZ_REALLOC (res, op2_size); + op1_ptr = PTR(op1); + /* No overlapping possible: op2_ptr = PTR(op2); */ + } + + if (res_ptr != op2_ptr) + MPN_COPY (res_ptr + op1_size, op2_ptr + op1_size, + op2_size - op1_size); + if (LIKELY (op1_size != 0)) + mpn_ior_n (res_ptr, op1_ptr, op2_ptr, op1_size); + res_size = op2_size; + } + + SIZ(res) = (int) res_size; // (int) added by PM + return; + } + else /* op2_size < 0 */ + { + /* Fall through to the code at the end of the function. */ + } + } + else + { + if (op2_size < 0) + { + mp_ptr opx, opy; + + /* Both operands are negative, so will be the result. + -((-OP1) | (-OP2)) = -(~(OP1 - 1) | ~(OP2 - 1)) = + = ~(~(OP1 - 1) | ~(OP2 - 1)) + 1 = + = ((OP1 - 1) & (OP2 - 1)) + 1 */ + + op1_size = -op1_size; + op2_size = -op2_size; + + res_size = MIN (op1_size, op2_size); + + /* Possible optimization: Decrease mpn_sub precision, + as we won't use the entire res of both. */ + TMP_ALLOC_LIMBS_2 (opx, res_size, opy, res_size); + mpn_sub_1 (opx, op1_ptr, res_size, (mp_limb_t) 1); + op1_ptr = opx; + + mpn_sub_1 (opy, op2_ptr, res_size, (mp_limb_t) 1); + op2_ptr = opy; + + /* First loop finds the size of the result. */ + for (i = res_size - 1; i >= 0; i--) + if ((op1_ptr[i] & op2_ptr[i]) != 0) + break; + res_size = i + 1; + + if (res_size != 0) + { + res_ptr = MPZ_NEWALLOC (res, res_size + 1); + + /* Second loop computes the real result. */ + mpn_and_n (res_ptr, op1_ptr, op2_ptr, res_size); + + res_ptr[res_size] = 0; + MPN_INCR_U (res_ptr, res_size + 1, 1); + res_size += res_ptr[res_size]; + } + else + { + res_ptr[0] = 1; + res_size = 1; + } + + SIZ(res) = (int) -res_size; // (int) added by PM +// TMP_FREE; // Commented out by PM + return; + } + else + { + /* We should compute -OP1 | OP2. Swap OP1 and OP2 and fall + through to the code that handles OP1 | -OP2. */ + MPZ_SRCPTR_SWAP (op1, op2); + MPN_SRCPTR_SWAP (op1_ptr,op1_size, op2_ptr,op2_size); + } + } + + { + mp_ptr opx; + mp_limb_t cy; + mp_size_t res_alloc; + mp_size_t count; + + /* Operand 2 negative, so will be the result. + -(OP1 | (-OP2)) = -(OP1 | ~(OP2 - 1)) = + = ~(OP1 | ~(OP2 - 1)) + 1 = + = (~OP1 & (OP2 - 1)) + 1 */ + + op2_size = -op2_size; + + res_alloc = op2_size; + + opx = TMP_ALLOC_LIMBS (op2_size); + mpn_sub_1 (opx, op2_ptr, op2_size, (mp_limb_t) 1); + op2_ptr = opx; + op2_size -= op2_ptr[op2_size - 1] == 0; + + if (ALLOC(res) < res_alloc) + { + _mpz_realloc (res, res_alloc); + op1_ptr = PTR(op1); + /* op2_ptr points to temporary space. */ + res_ptr = PTR(res); + } + + if (op1_size >= op2_size) + { + /* We can just ignore the part of OP1 that stretches above OP2, + because the result limbs are zero there. */ + + /* First loop finds the size of the result. */ + for (i = op2_size - 1; i >= 0; i--) + if ((~op1_ptr[i] & op2_ptr[i]) != 0) + break; + res_size = i + 1; + count = res_size; + } + else + { + res_size = op2_size; + + /* Copy the part of OP2 that stretches above OP1, to RES. */ + MPN_COPY (res_ptr + op1_size, op2_ptr + op1_size, op2_size - op1_size); + count = op1_size; + } + + if (res_size != 0) + { + /* Second loop computes the real result. */ + if (LIKELY (count != 0)) + mpn_andn_n (res_ptr, op2_ptr, op1_ptr, count); + + cy = mpn_add_1 (res_ptr, res_ptr, res_size, (mp_limb_t) 1); + if (cy) + { + res_ptr[res_size] = cy; + res_size++; + } + } + else + { + res_ptr[0] = 1; + res_size = 1; + } + + SIZ(res) = (int) -res_size; // (int) added by PM + } + TMP_FREE; +} diff --git a/goil/build/libpm/gmp/mpz-mul.c b/goil/build/libpm/gmp/mpz-mul.c new file mode 100644 index 000000000..879e173a6 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-mul.c @@ -0,0 +1,157 @@ +/* mpz_mul -- Multiply two integers. + +Copyright 1991, 1993, 1994, 1996, 2000, 2001, 2005, 2009, 2011, 2012 Free +Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include /* for NULL */ +#include "gmp.h" +#include "gmp-impl.h" + + +void +mpz_mul (mpz_ptr w, mpz_srcptr u, mpz_srcptr v) +{ + mp_size_t usize; + mp_size_t vsize; + mp_size_t wsize; + mp_size_t sign_product; + mp_ptr up, vp; + mp_ptr wp; + mp_ptr free_me; + size_t free_me_size; + mp_limb_t cy_limb; + TMP_DECL; + + usize = SIZ (u); + vsize = SIZ (v); + sign_product = usize ^ vsize; + usize = ABS (usize); + vsize = ABS (vsize); + + if (usize < vsize) + { + MPZ_SRCPTR_SWAP (u, v); + MP_SIZE_T_SWAP (usize, vsize); + } + + if (vsize == 0) + { + SIZ (w) = 0; + return; + } + +#ifdef HAVE_NATIVE_mpn_mul_2 + if (vsize <= 2) + { + wp = MPZ_REALLOC (w, usize+vsize); + if (vsize == 1) + cy_limb = mpn_mul_1 (wp, PTR (u), usize, PTR (v)[0]); + else + { + cy_limb = mpn_mul_2 (wp, PTR (u), usize, PTR (v)); + usize++; + } + wp[usize] = cy_limb; + usize += (cy_limb != 0); + SIZ (w) = (sign_product >= 0 ? usize : -usize); + return; + } +#else + if (vsize == 1) + { + wp = MPZ_REALLOC (w, usize+1); + cy_limb = mpn_mul_1 (wp, PTR (u), usize, PTR (v)[0]); + wp[usize] = cy_limb; + usize += (cy_limb != 0); + SIZ (w) = (sign_product >= 0 ? ((int) usize) : -(int) usize); // (int) added by PM + return; + } +#endif + + TMP_MARK; + free_me = NULL; + up = PTR (u); + vp = PTR (v); + wp = PTR (w); + + /* Ensure W has space enough to store the result. */ + wsize = usize + vsize; + if (ALLOC (w) < wsize) + { + if (wp == up || wp == vp) + { + free_me = wp; + free_me_size = (size_t) ALLOC (w); // (size_t) added by PM + } + else + (*__gmp_free_func) (wp, (size_t) ALLOC (w) * GMP_LIMB_BYTES); + + ALLOC (w) = (int) wsize; // (int) added by PM + wp = (mp_ptr) (*__gmp_allocate_func) ((size_t) wsize * GMP_LIMB_BYTES); + PTR (w) = wp; + } + else + { + /* Make U and V not overlap with W. */ + if (wp == up) + { + /* W and U are identical. Allocate temporary space for U. */ + up = TMP_ALLOC_LIMBS (usize); + /* Is V identical too? Keep it identical with U. */ + if (wp == vp) + vp = up; + /* Copy to the temporary space. */ + MPN_COPY (up, wp, usize); + } + else if (wp == vp) + { + /* W and V are identical. Allocate temporary space for V. */ + vp = TMP_ALLOC_LIMBS (vsize); + /* Copy to the temporary space. */ + MPN_COPY (vp, wp, vsize); + } + } + + if (up == vp) + { + mpn_sqr (wp, up, usize); + cy_limb = wp[wsize - 1]; + } + else + { + cy_limb = mpn_mul (wp, up, usize, vp, vsize); + } + + wsize -= cy_limb == 0; + + SIZ (w) = sign_product < 0 ? ((int) -wsize) : (int) wsize; // (int) added by PM + if (free_me != NULL) + (*__gmp_free_func) (free_me, free_me_size * GMP_LIMB_BYTES); + TMP_FREE; +} diff --git a/goil/build/libpm/gmp/mpz-mul_2exp.c b/goil/build/libpm/gmp/mpz-mul_2exp.c new file mode 100644 index 000000000..bee8ea880 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-mul_2exp.c @@ -0,0 +1,74 @@ +/* mpz_mul_2exp -- Multiply a bignum by 2**CNT + +Copyright 1991, 1993, 1994, 1996, 2001, 2002, 2012 Free Software Foundation, +Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + + +void +mpz_mul_2exp (mpz_ptr r, mpz_srcptr u, mp_bitcnt_t cnt) +{ + mp_size_t un, rn; + mp_size_t limb_cnt; + mp_ptr rp; + mp_srcptr up; + mp_limb_t rlimb; + + un = ABSIZ (u); + limb_cnt = cnt / GMP_NUMB_BITS; + rn = un + limb_cnt; + + if (un == 0) + rn = 0; + else + { + rp = MPZ_REALLOC (r, rn + 1); + up = PTR(u); + + cnt %= GMP_NUMB_BITS; + if (cnt != 0) + { + rlimb = mpn_lshift (rp + limb_cnt, up, un, cnt); + rp[rn] = rlimb; + rn += (rlimb != 0); + } + else + { + MPN_COPY_DECR (rp + limb_cnt, up, un); + } + + /* Zero all whole limbs at low end. Do it here and not before calling + mpn_lshift, not to lose for U == R. */ + MPN_ZERO (rp, limb_cnt); + } + + SIZ(r) = SIZ(u) >= 0 ? rn : -rn; +} diff --git a/goil/build/libpm/gmp/mpz-mul_i.h b/goil/build/libpm/gmp/mpz-mul_i.h new file mode 100644 index 000000000..fd2de7732 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-mul_i.h @@ -0,0 +1,107 @@ +/* mpz_mul_ui/si (product, multiplier, small_multiplicand) -- Set PRODUCT to + MULTIPLICATOR times SMALL_MULTIPLICAND. + +Copyright 1991, 1993, 1994, 1996, 2000-2002, 2005, 2008, 2012 Free Software +Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + + +#ifdef OPERATION_mul_si +#define FUNCTION mpz_mul_si +#define MULTIPLICAND_UNSIGNED +#define MULTIPLICAND_ABS(x) ABS_CAST(unsigned long, (x)) +#endif + +#ifdef OPERATION_mul_ui +#define FUNCTION mpz_mul_ui +#define MULTIPLICAND_UNSIGNED unsigned +#define MULTIPLICAND_ABS(x) x +#endif + +#ifndef FUNCTION +Error, error, unrecognised OPERATION +#endif + + +void +FUNCTION (mpz_ptr prod, mpz_srcptr mult, + MULTIPLICAND_UNSIGNED long int small_mult) +{ + mp_size_t size; + mp_size_t sign_product; + mp_limb_t sml; + mp_limb_t cy; + mp_ptr pp; + + sign_product = SIZ(mult); + if (sign_product == 0 || small_mult == 0) + { + SIZ(prod) = 0; + return; + } + + size = ABS (sign_product); + + sml = MULTIPLICAND_ABS (small_mult); + + if (sml <= GMP_NUMB_MAX) + { + pp = MPZ_REALLOC (prod, size + 1); + cy = mpn_mul_1 (pp, PTR(mult), size, sml); + pp[size] = cy; + size += cy != 0; + } +#if GMP_NAIL_BITS != 0 + else + { + /* Operand too large for the current nails size. Use temporary for + intermediate products, to allow prod and mult being identical. */ + mp_ptr tp; + TMP_DECL; + TMP_MARK; + + tp = TMP_ALLOC_LIMBS (size + 2); + + /* Use, maybe, mpn_mul_2? */ + cy = mpn_mul_1 (tp, PTR(mult), size, sml & GMP_NUMB_MASK); + tp[size] = cy; + cy = mpn_addmul_1 (tp + 1, PTR(mult), size, sml >> GMP_NUMB_BITS); + tp[size + 1] = cy; + size += 2; + MPN_NORMALIZE_NOT_ZERO (tp, size); /* too general, need to trim one or two limb */ + pp = MPZ_REALLOC (prod, size); + MPN_COPY (pp, tp, size); + TMP_FREE; + } +#endif + + SIZ(prod) = ((sign_product < 0) ^ (((int) small_mult) < 0)) ? -size : size; +} diff --git a/goil/build/libpm/gmp/mpz-mul_ui.c b/goil/build/libpm/gmp/mpz-mul_ui.c new file mode 100644 index 000000000..2a01419a4 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-mul_ui.c @@ -0,0 +1,34 @@ +/* mpz_mul_ui (product, multiplier, small_multiplicand) -- Set PRODUCT to + MULTIPLICATOR times SMALL_MULTIPLICAND. + +Copyright 2001 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#define OPERATION_mul_ui +#include "mpz-mul_i.h" diff --git a/goil/build/libpm/gmp/mpz-neg.c b/goil/build/libpm/gmp/mpz-neg.c new file mode 100644 index 000000000..b5afadebc --- /dev/null +++ b/goil/build/libpm/gmp/mpz-neg.c @@ -0,0 +1,57 @@ +/* mpz_neg(mpz_ptr dst, mpz_ptr src) -- Assign the negated value of SRC to DST. + +Copyright 1991, 1993-1995, 2001, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#define __GMP_FORCE_mpz_neg 1 + +#include "gmp.h" +#include "gmp-impl.h" + +void +mpz_neg (mpz_ptr w, mpz_srcptr u) +{ + mp_ptr wp; + mp_srcptr up; + mp_size_t usize, size; + + usize = SIZ (u); + + if (u != w) + { + size = ABS (usize); + + wp = MPZ_NEWALLOC (w, size); + + up = PTR (u); + + MPN_COPY (wp, up, size); + } + + SIZ (w) = - (int) usize; // (int) added by PM +} diff --git a/goil/build/libpm/gmp/mpz-realloc.c b/goil/build/libpm/gmp/mpz-realloc.c new file mode 100644 index 000000000..e0130261c --- /dev/null +++ b/goil/build/libpm/gmp/mpz-realloc.c @@ -0,0 +1,71 @@ +/* _mpz_realloc -- make the mpz_t have NEW_ALLOC digits allocated. + +Copyright 1991, 1993-1995, 2000, 2001, 2008 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include +#include +#include "gmp.h" +#include "gmp-impl.h" + +void * +_mpz_realloc (mpz_ptr m, mp_size_t new_alloc) +{ + mp_ptr mp; + + /* Never allocate zero space. */ + new_alloc = MAX (new_alloc, 1); + + if (sizeof (mp_size_t) == sizeof (int)) + { + if (UNLIKELY (new_alloc > ULONG_MAX / GMP_NUMB_BITS)) + { + fprintf (stderr, "gmp: overflow in mpz type\n"); + abort (); + } + } + else + { + if (UNLIKELY (new_alloc > INT_MAX)) + { + fprintf (stderr, "gmp: overflow in mpz type\n"); + abort (); + } + } + + mp = __GMP_REALLOCATE_FUNC_LIMBS (PTR(m), ALLOC(m), new_alloc); + PTR(m) = mp; + ALLOC(m) = (int) new_alloc; // (int) added by PM + + /* Don't create an invalid number; if the current value doesn't fit after + reallocation, clear it to 0. */ + if (ABSIZ(m) > new_alloc) + SIZ(m) = 0; + + return (void *) mp; +} diff --git a/goil/build/libpm/gmp/mpz-set.c b/goil/build/libpm/gmp/mpz-set.c new file mode 100644 index 000000000..8e147ce68 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-set.c @@ -0,0 +1,50 @@ +/* mpz_set (dest_integer, src_integer) -- Assign DEST_INTEGER from SRC_INTEGER. + +Copyright 1991, 1993-1995, 2000, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + + +void +mpz_set (mpz_ptr w, mpz_srcptr u) +{ + mp_ptr wp, up; + mp_size_t usize, size; + + usize = SIZ(u); + size = ABS (usize); + + wp = MPZ_REALLOC (w, size); + + up = PTR(u); + + MPN_COPY (wp, up, size); + SIZ(w) = (int) usize; // (int) added by PM +} diff --git a/goil/build/libpm/gmp/mpz-set_str.c b/goil/build/libpm/gmp/mpz-set_str.c new file mode 100644 index 000000000..528e572d4 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-set_str.c @@ -0,0 +1,145 @@ +/* mpz_set_str(mp_dest, string, base) -- Convert the \0-terminated + string STRING in base BASE to multiple precision integer in + MP_DEST. Allow white space in the string. If BASE == 0 determine + the base in the C standard way, i.e. 0xhh...h means base 16, + 0oo...o means base 8, otherwise assume base 10. + +Copyright 1991, 1993, 1994, 1996-1998, 2000-2003, 2005, 2011-2013 Free Software +Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include +#include +#include "gmp.h" +#include "gmp-impl.h" +#include "longlong.h" + +#define digit_value_tab __gmp_digit_value_tab + +int +mpz_set_str (mpz_ptr x, const char *str, int base) +{ + size_t str_size; + char *s, *begs; + size_t i; + mp_size_t xsize; + int c; + int negative; + const unsigned char *digit_value; + TMP_DECL; + + digit_value = digit_value_tab; + if (base > 36) + { + /* For bases > 36, use the collating sequence + 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz. */ + digit_value += 208; + if (base > 62) + return -1; /* too large base */ + } + + /* Skip whitespace. */ + do + c = (unsigned char) *str++; + while (isspace (c)); + + negative = 0; + if (c == '-') + { + negative = 1; + c = (unsigned char) *str++; + } + + if (digit_value[c] >= (base == 0 ? 10 : base)) + return -1; /* error if no valid digits */ + + /* If BASE is 0, try to find out the base by looking at the initial + characters. */ + if (base == 0) + { + base = 10; + if (c == '0') + { + base = 8; + c = (unsigned char) *str++; + if (c == 'x' || c == 'X') + { + base = 16; + c = (unsigned char) *str++; + } + else if (c == 'b' || c == 'B') + { + base = 2; + c = (unsigned char) *str++; + } + } + } + + /* Skip leading zeros and white space. */ + while (c == '0' || isspace (c)) + c = (unsigned char) *str++; + /* Make sure the string does not become empty, mpn_set_str would fail. */ + if (c == 0) + { + SIZ (x) = 0; + return 0; + } + + TMP_MARK; + str_size = strlen (str - 1); + s = begs = (char *) TMP_ALLOC (str_size + 1); + + /* Remove spaces from the string and convert the result from ASCII to a + byte array. */ + for (i = 0; i < str_size; i++) + { + if (!isspace (c)) + { + int dig = digit_value[c]; + if (dig >= base) + { + TMP_FREE; + return -1; + } + *s++ = (char) dig; // (char) added by PM + } + c = (unsigned char) *str++; + } + + str_size = (size_t) (s - begs); // (size_t) added by PM + + LIMBS_PER_DIGIT_IN_BASE (xsize, str_size, base); + MPZ_REALLOC (x, xsize); + + /* Convert the byte array in base BASE to our bignum format. */ + xsize = mpn_set_str (PTR (x), (unsigned char *) begs, str_size, base); + SIZ (x) = negative ? - ((int) xsize) : (int) xsize; // (int) added by PM + + TMP_FREE; + return 0; +} diff --git a/goil/build/libpm/gmp/mpz-set_ui.c b/goil/build/libpm/gmp/mpz-set_ui.c new file mode 100644 index 000000000..228b0cf47 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-set_ui.c @@ -0,0 +1,53 @@ +/* mpz_set_ui(integer, val) -- Assign INTEGER with a small value VAL. + +Copyright 1991, 1993-1995, 2001, 2002, 2004, 2012 Free Software Foundation, +Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + +void +mpz_set_ui (mpz_ptr dest, unsigned long int val) +{ + mp_size_t size; + + PTR (dest)[0] = val & GMP_NUMB_MASK; + size = val != 0; + +#if defined(SIZEOF_UNSIGNED_LONG) && (BITS_PER_ULONG > GMP_NUMB_BITS) /* avoid warnings about shift amount */ + if (val > GMP_NUMB_MAX) + { + MPZ_REALLOC (dest, 2); + PTR (dest)[1] = val >> GMP_NUMB_BITS; + size = 2; + } +#endif + + SIZ (dest) = (int) size; // (int) added by PM +} diff --git a/goil/build/libpm/gmp/mpz-setbit.c b/goil/build/libpm/gmp/mpz-setbit.c new file mode 100644 index 000000000..f0bda9d48 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-setbit.c @@ -0,0 +1,105 @@ +/* mpz_setbit -- set a specified bit. + +Copyright 1991, 1993-1995, 1997, 1999, 2001, 2002, 2012 Free Software +Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + +void +mpz_setbit (mpz_ptr d, mp_bitcnt_t bit_idx) +{ + mp_size_t dsize = SIZ (d); + mp_ptr dp = PTR (d); + mp_size_t limb_idx; + mp_limb_t mask; + + limb_idx = (mp_size_t) (bit_idx / GMP_NUMB_BITS) ; + mask = CNST_LIMB(1) << (bit_idx % GMP_NUMB_BITS); + if (dsize >= 0) + { + if (limb_idx < dsize) + { + dp[limb_idx] |= mask; + } + else + { + /* Ugh. The bit should be set outside of the end of the + number. We have to increase the size of the number. */ + dp = MPZ_REALLOC (d, limb_idx + 1); + SIZ (d) = (int) (limb_idx + 1); // (int) added by PM + MPN_ZERO (dp + dsize, limb_idx - dsize); + dp[limb_idx] = mask; + } + } + else + { + /* Simulate two's complement arithmetic, i.e. simulate + 1. Set OP = ~(OP - 1) [with infinitely many leading ones]. + 2. Set the bit. + 3. Set OP = ~OP + 1. */ + + dsize = -dsize; + + if (limb_idx < dsize) + { + mp_size_t zero_bound; + /* No index upper bound on this loop, we're sure there's a non-zero limb + sooner or later. */ + zero_bound = 0; + while (dp[zero_bound] == 0) + zero_bound++; + + if (limb_idx > zero_bound) + { + mp_limb_t dlimb; + dlimb = dp[limb_idx] & ~mask; + dp[limb_idx] = dlimb; + + if (UNLIKELY ((dlimb == 0) + limb_idx == dsize)) /* dsize == limb_idx + 1 */ + { + /* high limb became zero, must normalize */ + MPN_NORMALIZE (dp, limb_idx); + SIZ (d) = - (int) limb_idx; // (int) added by PM + } + } + else if (limb_idx == zero_bound) + { + dp[limb_idx] = ((dp[limb_idx] - 1) & ~mask) + 1; + ASSERT (dp[limb_idx] != 0); + } + else + { + MPN_DECR_U (dp + limb_idx, dsize - limb_idx, mask); + dsize -= dp[dsize - 1] == 0; + SIZ (d) = -(int) dsize; // (int) added by PM + } + } + } +} diff --git a/goil/build/libpm/gmp/mpz-sizeinbase.c b/goil/build/libpm/gmp/mpz-sizeinbase.c new file mode 100644 index 000000000..0f3851ea8 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-sizeinbase.c @@ -0,0 +1,43 @@ +/* mpz_sizeinbase(x, base) -- return an approximation to the number of + character the integer X would have printed in base BASE. The + approximation is never too small. + +Copyright 1991, 1993-1995, 2001, 2002 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" +#include "longlong.h" + +size_t +mpz_sizeinbase (mpz_srcptr x, int base) __GMP_NOTHROW +{ + size_t result; + MPN_SIZEINBASE (result, PTR(x), ABSIZ(x), base); + return result; +} diff --git a/goil/build/libpm/gmp/mpz-sub.c b/goil/build/libpm/gmp/mpz-sub.c new file mode 100644 index 000000000..273158250 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-sub.c @@ -0,0 +1,34 @@ +/* mpz_sub -- subtract integers. + +Copyright 2001 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#define OPERATION_sub +// mpz- added by PM +#include "mpz-aors.h" diff --git a/goil/build/libpm/gmp/mpz-sub_ui.c b/goil/build/libpm/gmp/mpz-sub_ui.c new file mode 100644 index 000000000..7eaf0db22 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-sub_ui.c @@ -0,0 +1,34 @@ +/* mpz_sub_ui -- Subtract an mpz_t and an unsigned one-word integer. + +Copyright 2001 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#define OPERATION_sub_ui +// mpz- added by PM +#include "mpz-aors_ui.h" diff --git a/goil/build/libpm/gmp/mpz-swap.c b/goil/build/libpm/gmp/mpz-swap.c new file mode 100644 index 000000000..d0e975dc4 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-swap.c @@ -0,0 +1,55 @@ +/* mpz_swap (dest_integer, src_integer) -- Swap U and V. + +Copyright 1997, 1998, 2001, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + +void +mpz_swap (mpz_ptr u, mpz_ptr v) __GMP_NOTHROW +{ + mp_ptr up, vp; + mp_size_t usize, vsize; + mp_size_t ualloc, valloc; + + ualloc = ALLOC (u); + valloc = ALLOC (v); + ALLOC (v) = (int) ualloc; // (int) added by PM + ALLOC (u) = (int) valloc; // (int) added by PM + + usize = SIZ (u); + vsize = SIZ (v); + SIZ (v) = (int) usize; // (int) added by PM + SIZ (u) = (int) vsize; // (int) added by PM + + up = PTR (u); + vp = PTR (v); + PTR (v) = up; + PTR (u) = vp; +} diff --git a/goil/build/libpm/gmp/mpz-tdiv_qr.c b/goil/build/libpm/gmp/mpz-tdiv_qr.c new file mode 100644 index 000000000..b36619a06 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-tdiv_qr.c @@ -0,0 +1,103 @@ +/* mpz_tdiv_qr(quot,rem,dividend,divisor) -- Set QUOT to DIVIDEND/DIVISOR, + and REM to DIVIDEND mod DIVISOR. + +Copyright 1991, 1993, 1994, 2000, 2001, 2005, 2011, 2012 Free Software +Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" +#include "longlong.h" + +void +mpz_tdiv_qr (mpz_ptr quot, mpz_ptr rem, mpz_srcptr num, mpz_srcptr den) +{ + mp_size_t ql; + mp_size_t ns, ds, nl, dl; + mp_ptr np, dp, qp, rp; + TMP_DECL; + + ns = SIZ (num); + ds = SIZ (den); + nl = ABS (ns); + dl = ABS (ds); + ql = nl - dl + 1; + + if (UNLIKELY (dl == 0)) + DIVIDE_BY_ZERO; + + rp = MPZ_REALLOC (rem, dl); + + if (ql <= 0) + { + if (num != rem) + { + np = PTR (num); + MPN_COPY (rp, np, nl); + SIZ (rem) = SIZ (num); + } + /* This needs to follow the assignment to rem, in case the + numerator and quotient are the same. */ + SIZ (quot) = 0; + return; + } + + qp = MPZ_REALLOC (quot, ql); + + TMP_MARK; + np = PTR (num); + dp = PTR (den); + + /* Copy denominator to temporary space if it overlaps with the quotient + or remainder. */ + if (dp == rp || dp == qp) + { + mp_ptr tp; + tp = TMP_ALLOC_LIMBS (dl); + MPN_COPY (tp, dp, dl); + dp = tp; + } + /* Copy numerator to temporary space if it overlaps with the quotient or + remainder. */ + if (np == rp || np == qp) + { + mp_ptr tp; + tp = TMP_ALLOC_LIMBS (nl); + MPN_COPY (tp, np, nl); + np = tp; + } + + mpn_tdiv_qr (qp, rp, 0L, np, nl, dp, dl); + + ql -= qp[ql - 1] == 0; + MPN_NORMALIZE (rp, dl); + + SIZ (quot) = (ns ^ ds) >= 0 ? ((int) ql) : - (int) ql; // (int) added by PM + SIZ (rem) = ns >= 0 ? ((int) dl) : - (int) dl; // (int) added by PM + TMP_FREE; +} diff --git a/goil/build/libpm/gmp/mpz-tstbit.c b/goil/build/libpm/gmp/mpz-tstbit.c new file mode 100644 index 000000000..33c23a989 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-tstbit.c @@ -0,0 +1,81 @@ +/* mpz_tstbit -- test a specified bit. + +Copyright 2000, 2002 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + + +/* For negatives the effective twos complement is achieved by negating the + limb tested, either with a ones or twos complement. Twos complement + ("-") is used if there's only zero limbs below the one being tested. + Ones complement ("~") is used if there's a non-zero below. Note that "-" + is correct even if the limb examined is 0 (and the true beginning of twos + complement is further up). + + Testing the limbs below p is unavoidable on negatives, but will usually + need to examine only *(p-1). The search is done from *(p-1) down to + *u_ptr, since that might give better cache locality, and because a + non-zero limb is perhaps a touch more likely in the middle of a number + than at the low end. + + Bits past the end of available data simply follow sign of u. Notice that + the limb_index >= abs_size test covers u=0 too. */ + +int +mpz_tstbit (mpz_srcptr u, mp_bitcnt_t bit_index) __GMP_NOTHROW +{ + mp_srcptr u_ptr = PTR(u); + mp_size_t size = SIZ(u); + unsigned abs_size = (unsigned) ABS(size); // (unsigned) added by PM + mp_size_t limb_index = bit_index / GMP_NUMB_BITS; + mp_srcptr p = u_ptr + limb_index; + mp_limb_t limb; + + if (limb_index >= abs_size) + return (size < 0); + + limb = *p; + if (size < 0) + { + limb = -limb; /* twos complement */ + + while (p != u_ptr) + { + p--; + if (*p != 0) + { + limb--; /* make it a ones complement instead */ + break; + } + } + } + + return (limb >> (bit_index % GMP_NUMB_BITS)) & 1; +} diff --git a/goil/build/libpm/gmp/mpz-xor.c b/goil/build/libpm/gmp/mpz-xor.c new file mode 100644 index 000000000..fac0a4991 --- /dev/null +++ b/goil/build/libpm/gmp/mpz-xor.c @@ -0,0 +1,194 @@ +/* mpz_xor -- Logical xor. + +Copyright 1991, 1993, 1994, 1996, 1997, 2000, 2001, 2005, 2012 Free Software +Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + +void +mpz_xor (mpz_ptr res, mpz_srcptr op1, mpz_srcptr op2) +{ + mp_srcptr op1_ptr, op2_ptr; + mp_size_t op1_size, op2_size; + mp_ptr res_ptr; + mp_size_t res_size, res_alloc; + TMP_DECL; + + TMP_MARK; + op1_size = SIZ(op1); + op2_size = SIZ(op2); + + op1_ptr = PTR(op1); + op2_ptr = PTR(op2); + res_ptr = PTR(res); + + if (op1_size >= 0) + { + if (op2_size >= 0) + { + if (op1_size >= op2_size) + { + if (ALLOC(res) < op1_size) + { + _mpz_realloc (res, op1_size); + /* No overlapping possible: op1_ptr = PTR(op1); */ + op2_ptr = PTR(op2); + res_ptr = PTR(res); + } + + if (res_ptr != op1_ptr) + MPN_COPY (res_ptr + op2_size, op1_ptr + op2_size, + op1_size - op2_size); + if (LIKELY (op2_size != 0)) + mpn_xor_n (res_ptr, op1_ptr, op2_ptr, op2_size); + res_size = op1_size; + } + else + { + if (ALLOC(res) < op2_size) + { + _mpz_realloc (res, op2_size); + op1_ptr = PTR(op1); + /* No overlapping possible: op2_ptr = PTR(op2); */ + res_ptr = PTR(res); + } + + if (res_ptr != op2_ptr) + MPN_COPY (res_ptr + op1_size, op2_ptr + op1_size, + op2_size - op1_size); + if (LIKELY (op1_size != 0)) + mpn_xor_n (res_ptr, op1_ptr, op2_ptr, op1_size); + res_size = op2_size; + } + + MPN_NORMALIZE (res_ptr, res_size); + SIZ(res) = (int) res_size; // (int) added by PM + return; + } + else /* op2_size < 0 */ + { + /* Fall through to the code at the end of the function. */ + } + } + else + { + if (op2_size < 0) + { + mp_ptr opx, opy; + + /* Both operands are negative, the result will be positive. + (-OP1) ^ (-OP2) = + = ~(OP1 - 1) ^ ~(OP2 - 1) = + = (OP1 - 1) ^ (OP2 - 1) */ + + op1_size = -op1_size; + op2_size = -op2_size; + + /* Possible optimization: Decrease mpn_sub precision, + as we won't use the entire res of both. */ + TMP_ALLOC_LIMBS_2 (opx, op1_size, opy, op2_size); + mpn_sub_1 (opx, op1_ptr, op1_size, (mp_limb_t) 1); + op1_ptr = opx; + + mpn_sub_1 (opy, op2_ptr, op2_size, (mp_limb_t) 1); + op2_ptr = opy; + + if (op1_size > op2_size) + MPN_SRCPTR_SWAP (op1_ptr,op1_size, op2_ptr,op2_size); + + res_alloc = op2_size; + res_ptr = MPZ_REALLOC (res, res_alloc); + + MPN_COPY (res_ptr + op1_size, op2_ptr + op1_size, + op2_size - op1_size); + mpn_xor_n (res_ptr, op1_ptr, op2_ptr, op1_size); + res_size = op2_size; + + MPN_NORMALIZE (res_ptr, res_size); + SIZ(res) = (int) res_size; // (int) added by PM + TMP_FREE; + return; + } + else + { + /* We should compute -OP1 ^ OP2. Swap OP1 and OP2 and fall + through to the code that handles OP1 ^ -OP2. */ + MPZ_SRCPTR_SWAP (op1, op2); + MPN_SRCPTR_SWAP (op1_ptr,op1_size, op2_ptr,op2_size); + } + } + + { + mp_ptr opx; + mp_limb_t cy; + + /* Operand 2 negative, so will be the result. + -(OP1 ^ (-OP2)) = -(OP1 ^ ~(OP2 - 1)) = + = ~(OP1 ^ ~(OP2 - 1)) + 1 = + = (OP1 ^ (OP2 - 1)) + 1 */ + + op2_size = -op2_size; + + opx = TMP_ALLOC_LIMBS (op2_size); + mpn_sub_1 (opx, op2_ptr, op2_size, (mp_limb_t) 1); + op2_ptr = opx; + + res_alloc = MAX (op1_size, op2_size) + 1; + if (ALLOC(res) < res_alloc) + { + _mpz_realloc (res, res_alloc); + op1_ptr = PTR(op1); + /* op2_ptr points to temporary space. */ + res_ptr = PTR(res); + } + + if (op1_size > op2_size) + { + MPN_COPY (res_ptr + op2_size, op1_ptr + op2_size, op1_size - op2_size); + mpn_xor_n (res_ptr, op1_ptr, op2_ptr, op2_size); + res_size = op1_size; + } + else + { + MPN_COPY (res_ptr + op1_size, op2_ptr + op1_size, op2_size - op1_size); + if (LIKELY (op1_size != 0)) + mpn_xor_n (res_ptr, op1_ptr, op2_ptr, op1_size); + res_size = op2_size; + } + + cy = mpn_add_1 (res_ptr, res_ptr, res_size, (mp_limb_t) 1); + res_ptr[res_size] = cy; + res_size += (cy != 0); + + MPN_NORMALIZE (res_ptr, res_size); + SIZ(res) = (int) -res_size; // (int) added by PM + TMP_FREE; + } +} diff --git a/goil/build/libpm/gmp/root-assert.c b/goil/build/libpm/gmp/root-assert.c new file mode 100644 index 000000000..2e85e6bf6 --- /dev/null +++ b/goil/build/libpm/gmp/root-assert.c @@ -0,0 +1,59 @@ +/* GMP assertion failure handler. + + THE FUNCTIONS IN THIS FILE ARE FOR INTERNAL USE ONLY. THEY'RE ALMOST + CERTAIN TO BE SUBJECT TO INCOMPATIBLE CHANGES OR DISAPPEAR COMPLETELY IN + FUTURE GNU MP RELEASES. + +Copyright 2000, 2001 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include +#include +#include "gmp.h" +#include "gmp-impl.h" + + +void +__gmp_assert_header (const char *filename, int linenum) +{ + if (filename != NULL && filename[0] != '\0') + { + fprintf (stderr, "%s:", filename); + if (linenum != -1) + fprintf (stderr, "%d: ", linenum); + } +} + +void +__gmp_assert_fail (const char *filename, int linenum, + const char *expr) +{ + __gmp_assert_header (filename, linenum); + fprintf (stderr, "GNU MP assertion failed: %s\n", expr); + abort(); +} diff --git a/goil/build/libpm/gmp/root-bootstrap.c.h b/goil/build/libpm/gmp/root-bootstrap.c.h new file mode 100644 index 000000000..6f297e209 --- /dev/null +++ b/goil/build/libpm/gmp/root-bootstrap.c.h @@ -0,0 +1,147 @@ +/* Functions needed for bootstrapping the gmp build, based on mini-gmp. + +Copyright 2001, 2002, 2004, 2011, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + + +#include "mini-gmp.c.h" + +#define MIN(l,o) ((l) < (o) ? (l) : (o)) +#define PTR(x) ((x)->_mp_d) +#define SIZ(x) ((x)->_mp_size) + +#define xmalloc gmp_default_alloc + + +int +isprime (unsigned long int t) +{ + unsigned long int q, r, d; + + if (t < 32) + return (0xa08a28acUL >> t) & 1; + if ((t & 1) == 0) + return 0; + + if (t % 3 == 0) + return 0; + if (t % 5 == 0) + return 0; + if (t % 7 == 0) + return 0; + + for (d = 11;;) + { + q = t / d; + r = t - q * d; + if (q < d) + return 1; + if (r == 0) + break; + d += 2; + q = t / d; + r = t - q * d; + if (q < d) + return 1; + if (r == 0) + break; + d += 4; + } + return 0; +} + +int +log2_ceil (int n) +{ + int e; + assert (n >= 1); + for (e = 0; ; e++) + if ((1 << e) >= n) + break; + return e; +} + +/* Set inv to the inverse of d, in the style of invert_limb, ie. for + udiv_qrnnd_preinv. */ +void +mpz_preinv_invert (mpz_t inv, mpz_t d, int numb_bits) +{ + mpz_t t; + int norm; + assert (SIZ(d) > 0); + + norm = numb_bits - mpz_sizeinbase (d, 2); + assert (norm >= 0); + mpz_init_set_ui (t, 1L); + mpz_mul_2exp (t, t, 2*numb_bits - norm); + mpz_tdiv_q (inv, t, d); + mpz_set_ui (t, 1L); + mpz_mul_2exp (t, t, numb_bits); + mpz_sub (inv, inv, t); + + mpz_clear (t); +} + +/* Calculate r satisfying r*d == 1 mod 2^n. */ +void +mpz_invert_2exp (mpz_t r, mpz_t a, unsigned long n) +{ + unsigned long i; + mpz_t inv, prod; + + assert (mpz_odd_p (a)); + + mpz_init_set_ui (inv, 1L); + mpz_init (prod); + + for (i = 1; i < n; i++) + { + mpz_mul (prod, inv, a); + if (mpz_tstbit (prod, i) != 0) + mpz_setbit (inv, i); + } + + mpz_mul (prod, inv, a); + mpz_tdiv_r_2exp (prod, prod, n); + assert (mpz_cmp_ui (prod, 1L) == 0); + + mpz_set (r, inv); + + mpz_clear (inv); + mpz_clear (prod); +} + +/* Calculate inv satisfying r*a == 1 mod 2^n. */ +void +mpz_invert_ui_2exp (mpz_t r, unsigned long a, unsigned long n) +{ + mpz_t az; + mpz_init_set_ui (az, a); + mpz_invert_2exp (r, az, n); + mpz_clear (az); +} diff --git a/goil/build/libpm/gmp/root-errno.c b/goil/build/libpm/gmp/root-errno.c new file mode 100644 index 000000000..d3c02ef4b --- /dev/null +++ b/goil/build/libpm/gmp/root-errno.c @@ -0,0 +1,70 @@ +/* gmp_errno, __gmp_exception -- exception handling and reporting. + + THE FUNCTIONS IN THIS FILE, APART FROM gmp_errno, ARE FOR INTERNAL USE + ONLY. THEY'RE ALMOST CERTAIN TO BE SUBJECT TO INCOMPATIBLE CHANGES OR + DISAPPEAR COMPLETELY IN FUTURE GNU MP RELEASES. + +Copyright 2000, 2001, 2003 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include +#include "gmp.h" +#include "gmp-impl.h" + +int gmp_errno = 0; + + +/* The deliberate divide by zero triggers an exception on most systems. On + those where it doesn't, for example power and powerpc, use abort instead. + + Enhancement: Perhaps raise(SIGFPE) (or the same with kill()) would be + better than abort. Perhaps it'd be possible to get the BSD style + FPE_INTDIV_TRAP parameter in there too. */ + +void +__gmp_exception (int error_bit) +{ + gmp_errno |= error_bit; + __gmp_junk = 10 / __gmp_0; + abort (); +} + + +/* These functions minimize the amount of code required in functions raising + exceptions. Since they're "noreturn" and don't take any parameters, a + test and call might even come out as a simple conditional jump. */ +void +__gmp_sqrt_of_negative (void) +{ + __gmp_exception (GMP_ERROR_SQRT_OF_NEGATIVE); +} +void +__gmp_divide_by_zero (void) +{ + __gmp_exception (GMP_ERROR_DIVISION_BY_ZERO); +} diff --git a/goil/build/libpm/gmp/root-memory.c b/goil/build/libpm/gmp/root-memory.c new file mode 100644 index 000000000..1c4f685c9 --- /dev/null +++ b/goil/build/libpm/gmp/root-memory.c @@ -0,0 +1,147 @@ +/* Memory allocation routines. + +Copyright 1991, 1993, 1994, 2000-2002, 2012 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include +#include /* for malloc, realloc, free */ + +#include "gmp.h" +#include "gmp-impl.h" + + + +void * (*__gmp_allocate_func) (size_t) = __gmp_default_allocate; +void * (*__gmp_reallocate_func) (void *, size_t, size_t) = __gmp_default_reallocate; +void (*__gmp_free_func) (void *, size_t) = __gmp_default_free; + + +/* Default allocation functions. In case of failure to allocate/reallocate + an error message is written to stderr and the program aborts. */ + +void * +__gmp_default_allocate (size_t size) +{ + void *ret; +#ifdef DEBUG + size_t req_size = size; + size += 2 * GMP_LIMB_BYTES; +#endif + ret = malloc (size); + if (ret == 0) + { + fprintf (stderr, "GNU MP: Cannot allocate memory (size=%lu)\n", (long) size); + abort (); + } + +#ifdef DEBUG + { + mp_ptr p = ret; + p++; + p[-1] = (0xdeadbeef << 31) + 0xdeafdeed; + if (req_size % GMP_LIMB_BYTES == 0) + p[req_size / GMP_LIMB_BYTES] = ~((0xdeadbeef << 31) + 0xdeafdeed); + ret = p; + } +#endif + return ret; +} + +void * +__gmp_default_reallocate (void *oldptr, size_t old_size, size_t new_size) +{ + void *ret; + +#ifdef DEBUG + size_t req_size = new_size; + + if (old_size != 0) + { + mp_ptr p = oldptr; + if (p[-1] != (0xdeadbeef << 31) + 0xdeafdeed) + { + fprintf (stderr, "gmp: (realloc) data clobbered before allocation block\n"); + abort (); + } + if (old_size % GMP_LIMB_BYTES == 0) + if (p[old_size / GMP_LIMB_BYTES] != ~((0xdeadbeef << 31) + 0xdeafdeed)) + { + fprintf (stderr, "gmp: (realloc) data clobbered after allocation block\n"); + abort (); + } + oldptr = p - 1; + } + + new_size += 2 * GMP_LIMB_BYTES; +#endif + + ret = realloc (oldptr, new_size); + if (ret == 0) + { + fprintf (stderr, "GNU MP: Cannot reallocate memory (old_size=%lu new_size=%lu)\n", (long) old_size, (long) new_size); + abort (); + } + +#ifdef DEBUG + { + mp_ptr p = ret; + p++; + p[-1] = (0xdeadbeef << 31) + 0xdeafdeed; + if (req_size % GMP_LIMB_BYTES == 0) + p[req_size / GMP_LIMB_BYTES] = ~((0xdeadbeef << 31) + 0xdeafdeed); + ret = p; + } +#endif + return ret; +} + +void +__gmp_default_free (void *blk_ptr, size_t blk_size) +{ +#ifdef DEBUG + { + mp_ptr p = blk_ptr; + if (blk_size != 0) + { + if (p[-1] != (0xdeadbeef << 31) + 0xdeafdeed) + { + fprintf (stderr, "gmp: (free) data clobbered before allocation block\n"); + abort (); + } + if (blk_size % GMP_LIMB_BYTES == 0) + if (p[blk_size / GMP_LIMB_BYTES] != ~((0xdeadbeef << 31) + 0xdeafdeed)) + { + fprintf (stderr, "gmp: (free) data clobbered after allocation block\n"); + abort (); + } + } + blk_ptr = p - 1; + } +#endif + free (blk_ptr); +} diff --git a/goil/build/libpm/gmp/root-mp_bpl.c b/goil/build/libpm/gmp/root-mp_bpl.c new file mode 100644 index 000000000..632805796 --- /dev/null +++ b/goil/build/libpm/gmp/root-mp_bpl.c @@ -0,0 +1,35 @@ +/* +Copyright 1996 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + +const int mp_bits_per_limb = GMP_LIMB_BITS; +const int __gmp_0 = 0; +int __gmp_junk; diff --git a/goil/build/libpm/gmp/root-mp_clz_tab.c b/goil/build/libpm/gmp/root-mp_clz_tab.c new file mode 100644 index 000000000..7c9227e8b --- /dev/null +++ b/goil/build/libpm/gmp/root-mp_clz_tab.c @@ -0,0 +1,49 @@ +/* __clz_tab -- support for longlong.h + + THE CONTENTS OF THIS FILE ARE FOR INTERNAL USE AND MAY CHANGE + INCOMPATIBLY OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 1991, 1993, 1994, 1996, 1997, 2000, 2001 Free Software Foundation, +Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" +#include "longlong.h" + +#ifdef COUNT_LEADING_ZEROS_NEED_CLZ_TAB +const +unsigned char __clz_tab[129] = +{ + 1,2,3,3,4,4,4,4,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 9 +}; +#endif diff --git a/goil/build/libpm/gmp/root-mp_dv_tab.c b/goil/build/libpm/gmp/root-mp_dv_tab.c new file mode 100644 index 000000000..c6d74eb3f --- /dev/null +++ b/goil/build/libpm/gmp/root-mp_dv_tab.c @@ -0,0 +1,78 @@ +/* __gmp_digit_value_tab -- support for mp*_set_str + + THE CONTENTS OF THIS FILE ARE FOR INTERNAL USE AND MAY CHANGE + INCOMPATIBLY OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +Copyright 2003, 2013 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + +/* Table to be indexed by character, to get its numerical value. Assumes ASCII + character set. + + First part of table supports common usages, where 'A' and 'a' have the same + value; this supports bases 2..36 + + At offset 208, values for bases 37..62 start. Here, 'A' has the value 10 + (in decimal) and 'a' has the value 36. */ + +#define X 0xff +const unsigned char __gmp_digit_value_tab[] = +{ + X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, + X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, + X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, X, X, X, X, X, X, + X,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,32,33,34,35,X, X, X, X, X, + X,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,32,33,34,35,X, X, X, X, X, + X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, + X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, + X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, + X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, + X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, + X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, + X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, + X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, X, X, X, X, X, X, + X,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,32,33,34,35,X, X, X, X, X, + X,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50, + 51,52,53,54,55,56,57,58,59,60,61,X, X, X, X, X, + X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, + X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, + X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, + X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, + X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, + X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, + X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, + X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X +}; diff --git a/goil/build/libpm/gmp/root-mp_minv_tab.c b/goil/build/libpm/gmp/root-mp_minv_tab.c new file mode 100644 index 000000000..522bd0184 --- /dev/null +++ b/goil/build/libpm/gmp/root-mp_minv_tab.c @@ -0,0 +1,59 @@ +/* A table of data supporting binvert_limb(). + + THE CONTENTS OF THIS FILE ARE FOR INTERNAL USE AND MAY CHANGE + INCOMPATIBLY OR DISAPPEAR IN A FUTURE GNU MP RELEASE. */ + +/* +Copyright 2000 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + + +/* binvert_limb_table[i] is the multiplicative inverse of 2*i+1 mod 256, + ie. (binvert_limb_table[i] * (2*i+1)) % 256 == 1 */ + +const unsigned char binvert_limb_table[128] = { + 0x01, 0xAB, 0xCD, 0xB7, 0x39, 0xA3, 0xC5, 0xEF, + 0xF1, 0x1B, 0x3D, 0xA7, 0x29, 0x13, 0x35, 0xDF, + 0xE1, 0x8B, 0xAD, 0x97, 0x19, 0x83, 0xA5, 0xCF, + 0xD1, 0xFB, 0x1D, 0x87, 0x09, 0xF3, 0x15, 0xBF, + 0xC1, 0x6B, 0x8D, 0x77, 0xF9, 0x63, 0x85, 0xAF, + 0xB1, 0xDB, 0xFD, 0x67, 0xE9, 0xD3, 0xF5, 0x9F, + 0xA1, 0x4B, 0x6D, 0x57, 0xD9, 0x43, 0x65, 0x8F, + 0x91, 0xBB, 0xDD, 0x47, 0xC9, 0xB3, 0xD5, 0x7F, + 0x81, 0x2B, 0x4D, 0x37, 0xB9, 0x23, 0x45, 0x6F, + 0x71, 0x9B, 0xBD, 0x27, 0xA9, 0x93, 0xB5, 0x5F, + 0x61, 0x0B, 0x2D, 0x17, 0x99, 0x03, 0x25, 0x4F, + 0x51, 0x7B, 0x9D, 0x07, 0x89, 0x73, 0x95, 0x3F, + 0x41, 0xEB, 0x0D, 0xF7, 0x79, 0xE3, 0x05, 0x2F, + 0x31, 0x5B, 0x7D, 0xE7, 0x69, 0x53, 0x75, 0x1F, + 0x21, 0xCB, 0xED, 0xD7, 0x59, 0xC3, 0xE5, 0x0F, + 0x11, 0x3B, 0x5D, 0xC7, 0x49, 0x33, 0x55, 0xFF +}; diff --git a/goil/build/libpm/gmp/root-tal-notreent.c b/goil/build/libpm/gmp/root-tal-notreent.c new file mode 100644 index 000000000..ed162e552 --- /dev/null +++ b/goil/build/libpm/gmp/root-tal-notreent.c @@ -0,0 +1,130 @@ +/* Stack allocation routines. This is intended for machines without support + for the `alloca' function. + +Copyright 1996, 1997, 1999-2001, 2006 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of either: + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at your + option) any later version. + +or + + * the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any + later version. + +or both in parallel, as here. + +The GNU MP Library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received copies of the GNU General Public License and the +GNU Lesser General Public License along with the GNU MP Library. If not, +see https://www.gnu.org/licenses/. */ + +#include "gmp.h" +#include "gmp-impl.h" + + +struct tmp_stack +{ + void *end; + void *alloc_point; + struct tmp_stack *prev; +}; +typedef struct tmp_stack tmp_stack; + + +static unsigned long max_total_allocation = 0; +static unsigned long current_total_allocation = 0; + +static tmp_stack xxx = {&xxx, &xxx, 0}; +static tmp_stack *current = &xxx; + +/* The rounded size of the header of each allocation block. */ +#define HSIZ ROUND_UP_MULTIPLE (sizeof (tmp_stack), __TMP_ALIGN) + + +/* Allocate a block of exactly bytes. This should only be called + through the TMP_ALLOC macro, which takes care of rounding/alignment. */ +void * +__gmp_tmp_alloc (unsigned long size) +{ + void *that; + + ASSERT ((size % __TMP_ALIGN) == 0); + ASSERT (((unsigned) current->alloc_point % __TMP_ALIGN) == 0); + + if (size > (char *) current->end - (char *) current->alloc_point) + { + void *chunk; + tmp_stack *header; + unsigned long chunk_size; + unsigned long now; + + /* Allocate a chunk that makes the total current allocation somewhat + larger than the maximum allocation ever. If size is very large, we + allocate that much. */ + + now = current_total_allocation + size; + if (now > max_total_allocation) + { + /* We need more temporary memory than ever before. Increase + for future needs. */ + now = (now * 3 / 2 + __TMP_ALIGN - 1) & -__TMP_ALIGN; + chunk_size = now - current_total_allocation + HSIZ; + current_total_allocation = now; + max_total_allocation = current_total_allocation; + } + else + { + chunk_size = max_total_allocation - current_total_allocation + HSIZ; + current_total_allocation = max_total_allocation; + } + + chunk = (*__gmp_allocate_func) (chunk_size); + header = (tmp_stack *) chunk; + header->end = (char *) chunk + chunk_size; + header->alloc_point = (char *) chunk + HSIZ; + header->prev = current; + current = header; + } + + that = current->alloc_point; + current->alloc_point = (char *) that + size; + ASSERT (((unsigned) that % __TMP_ALIGN) == 0); + return that; +} + +/* Typically called at function entry. is assigned so that + __gmp_tmp_free can later be used to reclaim all subsequently allocated + storage. */ +void +__gmp_tmp_mark (struct tmp_marker *mark) +{ + mark->which_chunk = current; + mark->alloc_point = current->alloc_point; +} + +/* Free everything allocated since was assigned by __gmp_tmp_mark */ +void +__gmp_tmp_free (struct tmp_marker *mark) +{ + while (mark->which_chunk != current) + { + tmp_stack *tmp; + + tmp = current; + current = tmp->prev; + current_total_allocation -= (((char *) (tmp->end) - (char *) tmp) - HSIZ); + (*__gmp_free_func) (tmp, (char *) tmp->end - (char *) tmp); + } + current->alloc_point = mark->alloc_point; +} diff --git a/goil/build/libpm/python-makefiles/default_build_options.py b/goil/build/libpm/python-makefiles/default_build_options.py index 17da08b98..8a5a9e8fe 100755 --- a/goil/build/libpm/python-makefiles/default_build_options.py +++ b/goil/build/libpm/python-makefiles/default_build_options.py @@ -68,7 +68,7 @@ def C_CompilerOptions (platformOptions): def Cpp_CompilerOptions (platformOptions): result = platformOptions - result.append ("-std=c++17") + result.append ("-std=c++14") result.append ("-Woverloaded-virtual") return result diff --git a/goil/build/libpm/python-makefiles/generic_galgas_makefile.py b/goil/build/libpm/python-makefiles/generic_galgas_makefile.py index f36689a58..10ec2e249 100755 --- a/goil/build/libpm/python-makefiles/generic_galgas_makefile.py +++ b/goil/build/libpm/python-makefiles/generic_galgas_makefile.py @@ -62,21 +62,21 @@ def run (self) : #--- Linker options self.mLinkerOptions += self.mDictionary ["USER_LINK_OPTIONS"].copy () #--- LIBPM -# LIBPM_DIRECTORY_PATH = self.mDictionary ["LIBPM_DIRECTORY_PATH"] + LIBPM_DIRECTORY_PATH = self.mDictionary ["LIBPM_DIRECTORY_PATH"] #--- Source directory list SOURCES_DIR = self.mDictionary ["SOURCES_DIR"].copy () -# SOURCES_DIR.append (LIBPM_DIRECTORY_PATH + "/bdd") -# SOURCES_DIR.append (LIBPM_DIRECTORY_PATH + "/big-integers") -# SOURCES_DIR.append (LIBPM_DIRECTORY_PATH + "/command_line_interface") -# SOURCES_DIR.append (LIBPM_DIRECTORY_PATH + "/files") -# SOURCES_DIR.append (LIBPM_DIRECTORY_PATH + "/galgas2") -# SOURCES_DIR.append (LIBPM_DIRECTORY_PATH + "/gmp") -# SOURCES_DIR.append (LIBPM_DIRECTORY_PATH + "/streams") -# SOURCES_DIR.append (LIBPM_DIRECTORY_PATH + "/time") -# SOURCES_DIR.append (LIBPM_DIRECTORY_PATH + "/strings") -# SOURCES_DIR.append (LIBPM_DIRECTORY_PATH + "/utilities") + SOURCES_DIR.append (LIBPM_DIRECTORY_PATH + "/bdd") + SOURCES_DIR.append (LIBPM_DIRECTORY_PATH + "/big-integers") + SOURCES_DIR.append (LIBPM_DIRECTORY_PATH + "/command_line_interface") + SOURCES_DIR.append (LIBPM_DIRECTORY_PATH + "/files") + SOURCES_DIR.append (LIBPM_DIRECTORY_PATH + "/galgas2") + SOURCES_DIR.append (LIBPM_DIRECTORY_PATH + "/gmp") + SOURCES_DIR.append (LIBPM_DIRECTORY_PATH + "/streams") + SOURCES_DIR.append (LIBPM_DIRECTORY_PATH + "/time") + SOURCES_DIR.append (LIBPM_DIRECTORY_PATH + "/strings") + SOURCES_DIR.append (LIBPM_DIRECTORY_PATH + "/utilities") #--------------------------------------------------------------------------- Include dirs - includeDirs = [] # ["-I" + LIBPM_DIRECTORY_PATH + "/gmp"] + includeDirs = ["-I" + LIBPM_DIRECTORY_PATH + "/gmp"] for d in SOURCES_DIR: includeDirs.append ("-I" + d) #--- Make object diff --git a/goil/build/libpm/python-makefiles/mingw32_on_macosx_gcc_tools.py b/goil/build/libpm/python-makefiles/mingw32_on_macosx_gcc_tools.py index 427b7b763..4f5addf47 100755 --- a/goil/build/libpm/python-makefiles/mingw32_on_macosx_gcc_tools.py +++ b/goil/build/libpm/python-makefiles/mingw32_on_macosx_gcc_tools.py @@ -25,12 +25,12 @@ def buildForWin32OnMacOSX (dictionary, jsonFilePath, EXECUTABLE, BUILD_DIR_NAME, gmf.mMaxParallelJobs = maxParallelJobs gmf.mDisplayCommands = displayCommands gmf.mTargetName = "win32" - gmf.mLinkerOptions = ["-lComdlg32"] + gmf.mLinkerOptions = ["-lComdlg32", "-static"] gmf.mExecutableSuffix = ".exe" gmf.mBuildDirName = BUILD_DIR_NAME #--- gmf.mCompilerTool = ["x86_64-w64-mingw32-gcc"] - gmf.mLinkerTool = ["x86_64-w64-mingw32-g++"] + gmf.mLinkerTool = ["x86_64-w64-mingw32-g++", "-std=c++11"] gmf.mStripTool = ["x86_64-w64-mingw32-strip", "--strip-all"] gmf.mCompilationMessage = "Compiling for Win32" gmf.mLinkingMessage = "Linking for Win32" diff --git a/goil/build/libpm/python-makefiles/unix_gcc_tools.py b/goil/build/libpm/python-makefiles/unix_gcc_tools.py index debcc881a..a284ff405 100755 --- a/goil/build/libpm/python-makefiles/unix_gcc_tools.py +++ b/goil/build/libpm/python-makefiles/unix_gcc_tools.py @@ -10,6 +10,8 @@ #----------------------------------------------------------------------------------------- def buildForUnix (dictionary, jsonFilePath, EXECUTABLE, BUILD_DIR_NAME, GOAL, maxParallelJobs, displayCommands) : + if os.path.exists (os.path.expanduser ("~/galgas-tools-for-cross-compilation")) : + print (makefile.BLUE () + makefile.BOLD () + "The '~/galgas-tools-for-cross-compilation' is useless from now: you can delete it" + makefile.ENDC ()) ; gmf = generic_galgas_makefile.GenericGalgasMakefile () gmf.mJSONfilePath = jsonFilePath gmf.mDictionary = dictionary @@ -31,7 +33,7 @@ def buildForUnix (dictionary, jsonFilePath, EXECUTABLE, BUILD_DIR_NAME, GOAL, ma gmf.mStripMessage = "Stripping" if (os.name == "nt") or sys.platform.startswith ("cygwin") : # Cygwin - gmf.mLinkerOptions = ["-lComdlg32"] + gmf.mLinkerTool.append ("-static") gmf.mExecutableSuffix = ".exe" gmf.mCompilationMessage = "Compiling for Cygwin" gmf.mLinkingMessage = "Linking for Cygwin" @@ -39,7 +41,7 @@ def buildForUnix (dictionary, jsonFilePath, EXECUTABLE, BUILD_DIR_NAME, GOAL, ma #--- Options for all compilers gmf.mAllCompilerOptions = default_build_options.allCompilerOptions (["-Wconversion"]) #--- Options for release mode - gmf.mCompilerReleaseOptions = default_build_options.compilerReleaseOptions (["-O2"]) + gmf.mCompilerReleaseOptions = default_build_options.compilerReleaseOptions (["-O1"]) #--- Options for debug mode gmf.mCompilerDebugOptions = default_build_options.compilerDebugOptions ([]) #--- Options for C compiling (.c extension) diff --git a/goil/build/libpm/python-makefiles/x86linux_on_macosx_gcc_tools_32.py b/goil/build/libpm/python-makefiles/x86linux_on_macosx_gcc_tools_32.py index 05e60c006..e9219615f 100755 --- a/goil/build/libpm/python-makefiles/x86linux_on_macosx_gcc_tools_32.py +++ b/goil/build/libpm/python-makefiles/x86linux_on_macosx_gcc_tools_32.py @@ -45,7 +45,7 @@ def buildForLinux32OnMacOSX (dictionary, jsonFilePath, EXECUTABLE, BUILD_DIR_NAM #--- Options for C compiling (.c extension) gmf.m_C_CompilerOptions = default_build_options.C_CompilerOptions ([]) #--- Options for C++ compiling (.cpp extension) - gmf.m_Cpp_CompilerOptions = default_build_options.Cpp_CompilerOptions (["-Weffc++", "-Wsign-promo", "-std=c++14"]) + gmf.m_Cpp_CompilerOptions = default_build_options.Cpp_CompilerOptions (["-Weffc++", "-Wsign-promo"]) #--- Options for Objective-C compiling (.m extension) gmf.m_ObjectiveC_CompilerOptions = default_build_options.ObjectiveC_CompilerOptions ([]) #--- Options for Objective-C++ compiling (.mm extension) diff --git a/goil/build/libpm/streams/AC_OutputStream.cpp b/goil/build/libpm/streams/AC_OutputStream.cpp new file mode 100644 index 000000000..efc4dd7b3 --- /dev/null +++ b/goil/build/libpm/streams/AC_OutputStream.cpp @@ -0,0 +1,744 @@ +//---------------------------------------------------------------------------------------------------------------------- +// +// AC_OutputStream : an abstract output stream class +// +// This file is part of libpm library +// +// Copyright (C) 1997, ..., 2022 Pierre Molinaro. +// +// e-mail : pierre@pcmolinaro.name +// +// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied +// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +//---------------------------------------------------------------------------------------------------------------------- + +#include "streams/AC_OutputStream.h" +#include "strings/C_String.h" +#include "strings/unicode_character_cpp.h" +#include "strings/unicode_string_routines.h" + +//---------------------------------------------------------------------------------------------------------------------- + +#include +#include + +#define __STDC_FORMAT_MACROS // This is required for GCC for windows +#include + +//---------------------------------------------------------------------------------------------------------------------- + +AC_OutputStream::AC_OutputStream (void) : +mIndentation (0), +mStartingLine (true) { +} + +//---------------------------------------------------------------------------------------------------------------------- + +AC_OutputStream::~AC_OutputStream (void) { +} + +//---------------------------------------------------------------------------------------------------------------------- + +void AC_OutputStream::flush (void) { +} + +//---------------------------------------------------------------------------------------------------------------------- + +void AC_OutputStream::appendCString (const char * inCstring) { + if (inCstring != nullptr) { + genericCharArrayOutput (inCstring, (int32_t) (strlen (inCstring) & UINT32_MAX)) ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void AC_OutputStream::genericCharArrayOutput (const char * inCharArray, const int32_t inArrayCount) { + if (mIndentation == 0) { + performActualCharArrayOutput (inCharArray, inArrayCount) ; + }else if (inArrayCount > 0) { + for (int32_t i=0 ; i 0) { + for (int32_t i=0 ; i inLineMaxLength) { + ioStream << "\"\n \"" ; + currentColumn = 0 ; + } + currentColumn ++ ; + const utf32 c = inString (i COMMA_HERE) ; + switch (UNICODE_VALUE (c)) { + case '\0' : + break ; + case '\a' : + ioStream << "\\a" ; + break ; + case '\b' : + ioStream << "\\b" ; + break ; + case '\f' : + ioStream << "\\f" ; + break ; + case '\n' : + ioStream << "\\n" ; + if (i < (inStringLength - 1)) { + ioStream << "\"\n \"" ; + currentColumn = 1 ; + } + break ; + case '\r' : + ioStream << "\\r" ; + break ; + case '\t' : + ioStream << "\\t" ; + break ; + case '\v' : + ioStream << "\\v" ; + break ; + case '\\' : + ioStream << "\\\\" ; + break ; + case '\"' : + ioStream << "\\\"" ; + break ; +// case '\?' : +// ioStream << "\\?" ; +// break ; + default : + if ((UNICODE_VALUE (c) >= ' ') && (UNICODE_VALUE (c) < 127)) { + ioStream.appendUnicodeCharacter (c COMMA_HERE) ; + }else{ + char buffer [5] ; + const int32_t n = UTF8StringFromUTF32Character (c, buffer) ; + for (int32_t j=0 ; j= ' ') && (UNICODE_VALUE (c) <= '~')) { + appendCString ("'") ; + appendUnicodeCharacter (c COMMA_HERE) ; + appendCString ("'") ; + }else{ + appendUnsigned (UNICODE_VALUE (c)) ; + } + break ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void AC_OutputStream::appendFileHeaderComment (const C_String & inLineCommentPrefix, + const C_String & inTitle, + const C_String & in_generatedBy_subtitle, + const bool inIncludeLGPLtext) { + if (inLineCommentPrefix.length () > 0) { + appendCppHyphenLineCommentWithoutExtraBlankLine () ; + appendCppSpaceLineComment () ; + appendCppCenterJustifiedComment (inTitle) ; + C_String subTitle ; + if (in_generatedBy_subtitle.length () != 0) { + subTitle << "Generated by " << in_generatedBy_subtitle ; + appendCppCenterJustifiedComment (subTitle) ; + subTitle.setLengthToZero () ; + } + C_DateTime today ; + subTitle << today ; + appendCppCenterJustifiedComment (subTitle) ; + if (inIncludeLGPLtext) { + appendCppSpaceLineComment () ; + *this << inLineCommentPrefix << " This file is free software; you can redistribute it and/or modify it \n" + << inLineCommentPrefix << " under the terms of the GNU Lesser General Public License as published \n" + << inLineCommentPrefix << " by the Free Software Foundation; either version 2 of the License, or \n" + << inLineCommentPrefix << " (at your option) any later version. \n" + << inLineCommentPrefix << " \n" + << inLineCommentPrefix << " This file is distributed in the hope it will be useful, but WITHOUT \n" + << inLineCommentPrefix << " ANY WARRANTY; without even the implied warranty of MERCHANDIBILITY or \n" + << inLineCommentPrefix << " FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public \n" + << inLineCommentPrefix << " License for more details. \n" + << inLineCommentPrefix << " \n" + << inLineCommentPrefix << " You should have received a copy of the GNU General Public License along \n" + << inLineCommentPrefix << " with this program; if not, write to the Free Software Foundation \n" + << inLineCommentPrefix << " Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA \n" ; + } + appendCppSpaceLineComment () ; + appendCppHyphenLineComment () ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark cStringWithUnsigned +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +C_String cStringWithUnsigned (const uint64_t inValue) { + C_String result ; + result.appendUnsigned (inValue) ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark cHexStringWithUnsigned +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +C_String cHexStringWithUnsigned (const uint64_t inValue) { + char s [32] ; + snprintf (s, 32, "0x%" PRIx64, inValue) ; + C_String result = s ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark cStringWithSigned +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +C_String cStringWithSigned (const int64_t inValue) { + C_String result ; + result.appendSigned (inValue) ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark cStringWithCharacter +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +C_String cStringWithCharacter (const char inValue) { + C_String result ; + result.appendUnicodeCharacter (TO_UNICODE ((uint32_t) inValue) COMMA_HERE) ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark cStringWithUnicodeCharacter +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +C_String cStringWithUnicodeCharacter (const utf32 inValue) { + C_String result ; + result.appendUnicodeCharacter (inValue COMMA_HERE) ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark cStringWithPointer +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +C_String cStringWithPointer (const void * inValue) { + C_String result ; + result.appendPointer (inValue) ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark cStringWithDouble +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +C_String cStringWithDouble (const double inValue) { + C_String result ; + result.appendDouble (inValue) ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/streams/AC_OutputStream.h b/goil/build/libpm/streams/AC_OutputStream.h new file mode 100644 index 000000000..be1b5a603 --- /dev/null +++ b/goil/build/libpm/streams/AC_OutputStream.h @@ -0,0 +1,180 @@ +//---------------------------------------------------------------------------------------------------------------------- +// +// AC_OutputStream : an abstract output stream class +// +// This file is part of libpm library +// +// Copyright (C) 1997, ..., 2023 Pierre Molinaro. +// +// e-mail : pierre@pcmolinaro.name +// +// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied +// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +//---------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//---------------------------------------------------------------------------------------------------------------------- + +#include "utilities/MF_Assert.h" +#include "utilities/M_machine.h" +#include "strings/string_encodings.h" + +//---------------------------------------------------------------------------------------------------------------------- + +class C_String ; + +//---------------------------------------------------------------------------------------------------------------------- + +class AC_OutputStream { +//--- Default constructor + protected: AC_OutputStream (void) ; + +//--- Virtual destructor + public: virtual ~AC_OutputStream (void) ; + +//--- Appending string + public: void appendString (const C_String inString) ; // Pass by copy (for handling 's.appendString (s) ;' instruction) + public: void appendUTF32LiteralStringConstant (const C_String & inUTF32String) ; + +//--- Appending C string + public: void appendCString (const char * inCstring) ; + public: void appendCString (const char * inCstring, const int32_t inCount) ; + +//--- Appending UTF32 string + public: void appendUTF32String (const utf32 * inUTF32String) ; + +//--- Appending character + public: void appendUnicodeCharacter (const utf32 inUnicodeCharacter COMMA_LOCATION_ARGS) ; + +//--- Appending uint64_t in Hex + public: void appendUnsignedHex (const uint64_t inValue) ; + public: void appendUnsignedHex2 (const uint64_t inValue) ; + public: void appendUnsignedHex4 (const uint64_t inValue) ; + public: void appendUnsignedHex8 (const uint64_t inValue) ; + +//--- Appending uint64_t + public: void appendUnsignedWithZeroFill (const uint64_t inValue, const uint32_t inWidth) ; + public: void appendUnsigned (const uint64_t inValue) ; + public: void appendUnsignedHex16 (const uint64_t inValue) ; + +//--- Appending Sint64 + public: void appendSigned (const int64_t inValue) ; + +//--- Appending Double + public: void appendDouble (const double inValue) ; + +//--- Appending bool ("true" or"false") + public: void appendBool (const bool inValue) ; + +//--- Appending Pointer value (in hex) + public: void appendPointer (const void * inValue) ; + +//--- Output Stream + public: AC_OutputStream & operator << (const char * inCstring) ; + public: AC_OutputStream & operator << (const C_String inString) ; // Pass by copy (for handling 's << s ;' instruction) + public: AC_OutputStream & operator << (const utf32 * inUTF32String) ; + +//--- Flush print (does nothing for this class) + public: virtual void flush (void) ; + +//--- Abstract method for output single byte characters + public: void genericCharArrayOutput (const char * inCharArray, const int32_t inArrayCount) ; + + protected: virtual void + performActualCharArrayOutput (const char * inCharArray, const int32_t inArrayCount) = 0 ; + +//--- Abstract method for output unicode characters + public: void genericUnicodeArrayOutput (const utf32 * inCharArray, const int32_t inArrayCount) ; + + protected: virtual void + performActualUnicodeArrayOutput (const utf32 * inCharArray, const int32_t inArrayCount) = 0 ; + +//--- Writing spaces + public: void appendSpaces (const int32_t inSpaceCount) ; + +//--- Writing a string several times + public: void writeStringMultiple (const C_String & inString, const int32_t inRepeatCount) ; + +//--- Methods for writing comment + public: void appendTitleComment (const C_String & inLineCommentPrefix, + const C_String & inCommentString) ; + public: void appendHyphenLineCommentWithoutExtraBlankLine (const C_String & inLineCommentPrefix) ; + public: void appendCppHyphenLineComment (const C_String & inLineCommentPrefix) ; + public: void appendSpaceLineComment (const C_String & inLineCommentPrefix) ; + public: void appendCenterJustifiedComment (const C_String & inLineCommentPrefix, + const C_String & inCommentString) ; + public: void appendComment (const C_String & inLineCommentPrefix, + const C_String & inCommentString) ; + public: void appendFileHeaderComment (const C_String & inLineCommentPrefix, + const C_String & inTitle, + const C_String & in_generatedBy_subtitle, + const bool inIncludeLGPLtext) ; + +//--- Methods for writing C and C++ code + public: void appendCLiteralStringConstant (const C_String & inString, const int32_t inLineMaxLength) ; + public: void appendCLiteralStringConstant (const C_String & inCstring) ; + public: void appendCLiteralCharConstant (const utf32 c) ; + public: void appendCLiteralStringConstantWithoutDelimiters (const C_String & inCstring) ; + +//--- Writing C++ Comments (// ...) + public: void appendCppTitleComment (const C_String & inCommentString) ; + public: void appendCppTitleComment (const char * inCommentString) ; + public: void appendCppHyphenLineCommentWithoutExtraBlankLine (void) ; + public: void appendCppHyphenLineComment (void) ; + public: void appendCppSpaceLineComment (void) ; + public: void appendCppCenterJustifiedComment (const C_String & inCommentString) ; + public: void appendCppComment (const C_String & inCommentString) ; + +//--- Writing C Comments (/* ... */) + public: void append_C_HyphenLineComment (void) ; + public: void append_C_SpaceLineComment (void) ; + +//--- Handle indentation + public: void incIndentation (const int32_t inIncrement) { + mIndentation += inIncrement ; + } + public: int32_t indentation (void) const { + return mIndentation ; + } + +//--- Private data + private: int32_t mIndentation ; + private: bool mStartingLine ; +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +C_String cStringWithUnsigned (const uint64_t inValue) ; + +//---------------------------------------------------------------------------------------------------------------------- + +C_String cHexStringWithUnsigned (const uint64_t inValue) ; + +//---------------------------------------------------------------------------------------------------------------------- + +C_String cStringWithSigned (const int64_t inValue) ; + +//---------------------------------------------------------------------------------------------------------------------- + +C_String cStringWithPointer (const void * inValue) ; + +//---------------------------------------------------------------------------------------------------------------------- + +C_String cStringWithCharacter (const char inValue) ; + +//---------------------------------------------------------------------------------------------------------------------- + +C_String cStringWithUnicodeCharacter (const utf32 inValue) ; + +//---------------------------------------------------------------------------------------------------------------------- + +C_String cStringWithDouble (const double inValue) ; + +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/streams/AbstractOutputStream.cpp b/goil/build/libpm/streams/AbstractOutputStream.cpp deleted file mode 100644 index 1279411c4..000000000 --- a/goil/build/libpm/streams/AbstractOutputStream.cpp +++ /dev/null @@ -1,594 +0,0 @@ -//-------------------------------------------------------------------------------------------------- -// -// AbstractOutputStream : an abstract output stream class -// -// This file is part of libpm library -// -// Copyright (C) 1997, ..., 2024 Pierre Molinaro. -// -// e-mail : pierre@pcmolinaro.name -// -// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General -// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) -// any later version. -// -// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied -// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -// more details. -// -//-------------------------------------------------------------------------------------------------- - -#include "AbstractOutputStream.h" -#include "String-class.h" -#include "DateTime.h" -#include "unicode_character_cpp.h" - -//-------------------------------------------------------------------------------------------------- - -#include -#include - -#define __STDC_FORMAT_MACROS // This is required for GCC for windows -#include - -//-------------------------------------------------------------------------------------------------- - -AbstractOutputStream::AbstractOutputStream (void) : -mIndentation (0), -mStartingLine (true) { -} - -//-------------------------------------------------------------------------------------------------- - -AbstractOutputStream::~AbstractOutputStream (void) { -} - -//-------------------------------------------------------------------------------------------------- - -void AbstractOutputStream::appendCString (const char * inCstring) { - if (inCstring != nullptr) { - performAppendCString (inCstring, int32_t (strlen (inCstring))) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void AbstractOutputStream::performAppendCString (const char * inCharArray, const int32_t inArrayCount) { - if (mIndentation == 0) { - handleAppendUTF8Array (inCharArray, inArrayCount) ; - }else if (inArrayCount > 0) { - for (int32_t i=0 ; i & inSource) { - for (auto it = inSource.begin () ; it != inSource.end () ; it++) { - performAppendCharacter (*it) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void AbstractOutputStream::appendString (const char * inCString, const int32_t inCount) { - performAppendCString (inCString, inCount) ; -} - -//-------------------------------------------------------------------------------------------------- - -void AbstractOutputStream::appendUTF32LiteralStringConstant (const String inString, - const bool inAppendZeroTerminator) { - appendChar (TO_UNICODE ('{')) ; - for (int32_t i=0 ; i < inString.length () ; i++) { - const utf32 c = inString.charAtIndex (i COMMA_HERE) ; - appendCString ("\n TO_UNICODE (") ; - if (isprint (int (UNICODE_VALUE (c)))) { - appendStringAsCLiteralCharConstant (c) ; - }else{ - appendUnsigned (UNICODE_VALUE (c)) ; - } - appendCString ("),") ; - } - if (inAppendZeroTerminator) { - appendCString ("\n TO_UNICODE (0)") ; - } - appendCString ("\n}") ; -} - -//-------------------------------------------------------------------------------------------------- - -void AbstractOutputStream::appendASCIIChar (const char inValue) { - appendChar (TO_UNICODE (uint32_t (inValue))) ; -} - -//-------------------------------------------------------------------------------------------------- - -void AbstractOutputStream::appendChar (const utf32 inUnicodeCharacter) { - performAppendCharacter (inUnicodeCharacter) ; -} - -//-------------------------------------------------------------------------------------------------- - -void AbstractOutputStream::appendDouble (const double inValue) { - char s [40] ; - snprintf (s, 40, "%g", inValue) ; - appendCString (s) ; -} - -//-------------------------------------------------------------------------------------------------- - -void AbstractOutputStream::appendUnsigned (const uint64_t inValue) { - char s [32] ; - snprintf (s, 31, "%" PRIu64, inValue) ; - appendCString (s) ; -} - -//-------------------------------------------------------------------------------------------------- - -void AbstractOutputStream::appendUnsignedHex16 (const uint64_t inValue) { - char s [32] ; - snprintf (s, 31, "%016" PRIX64, inValue) ; - appendCString (s) ; -} - -//-------------------------------------------------------------------------------------------------- - -void AbstractOutputStream::appendSigned (const int64_t inValue) { - char s [32] ; - snprintf (s, 31, "%" PRId64, inValue) ; - appendCString (s) ; -} - -//-------------------------------------------------------------------------------------------------- - -void AbstractOutputStream::appendBool (const bool inValue) { - appendCString (inValue ? "true" : "false") ; -} - -//-------------------------------------------------------------------------------------------------- - -void AbstractOutputStream::appendUnsignedWithZeroFill (const uint64_t inValue, const uint32_t inWidth) { - char s [32] ; - snprintf (s, 31, "%" PRIu64, inValue) ; - for (uint32_t i = uint32_t (strlen (s)) ; i < inWidth ; i++) { - appendCString (" ") ; - } - appendCString (s) ; -} - -//-------------------------------------------------------------------------------------------------- - -void AbstractOutputStream::appendUnsignedHex (const uint64_t inValue) { - char s [32] ; - snprintf (s, 31, "%" PRIX64, inValue) ; - appendCString (s) ; -} - -//-------------------------------------------------------------------------------------------------- - -void AbstractOutputStream::appendUnsigned0xHex (const uint64_t inValue) { - char s [32] ; - snprintf (s, 31, "0x%" PRIX64, inValue) ; - appendCString (s) ; -} - -//-------------------------------------------------------------------------------------------------- - -void AbstractOutputStream::appendUnsignedHex2 (const uint64_t inValue) { - char s [32] ; - snprintf (s, 31, "%02" PRIX64, inValue & 0xFF) ; - appendCString (s) ; -} - -//-------------------------------------------------------------------------------------------------- - -void AbstractOutputStream::appendUnsignedHex4 (const uint64_t inValue) { - char s [32] ; - snprintf (s, 31, "%04" PRIX64, inValue & 0xFFFF) ; - appendCString (s) ; -} - -//-------------------------------------------------------------------------------------------------- - -void AbstractOutputStream::appendUnsignedHex8 (const uint64_t inValue) { - char s [32] ; - snprintf (s, 31, "%08" PRIX64, inValue) ; - appendCString (s) ; -} - -//-------------------------------------------------------------------------------------------------- - -void AbstractOutputStream::appendPointer (const void * inValue) { - char s [32] ; - snprintf (s, 29, "%p", inValue) ; - appendCString (s) ; -} - -//-------------------------------------------------------------------------------------------------- - -void AbstractOutputStream::appendSpaces (const int32_t inSpaceCount) { - for (int32_t i=0 ; i inLineMaxLength) { - ioStream.appendCString ("\"\n \"") ; - currentColumn = 0 ; - } - currentColumn ++ ; - const utf32 c = inString.charAtIndex (i COMMA_HERE) ; - switch (UNICODE_VALUE (c)) { - case '\0' : - break ; - case '\a' : - ioStream.appendCString ("\\a") ; - break ; - case '\b' : - ioStream.appendCString ("\\b") ; - break ; - case '\f' : - ioStream.appendCString ("\\f") ; - break ; - case '\n' : - ioStream.appendCString ("\\n") ; - if (i < (inStringLength - 1)) { - ioStream.appendCString ("\"\n \"") ; - currentColumn = 1 ; - } - break ; - case '\r' : - ioStream.appendCString ("\\r") ; - break ; - case '\t' : - ioStream.appendCString ("\\t") ; - break ; - case '\v' : - ioStream.appendCString ("\\v") ; - break ; - case '\\' : - ioStream.appendCString ("\\\\") ; - break ; - case '\"' : - ioStream.appendCString ("\\\"") ; - break ; - default : - if ((UNICODE_VALUE (c) >= ' ') && (UNICODE_VALUE (c) < 127)) { - ioStream.appendChar (c) ; - }else{ - char buffer [5] ; - const int32_t n = UTF8StringFromUTF32Character (c, buffer) ; - for (int32_t j=0 ; j= ' ') && (UNICODE_VALUE (c) <= '~')) { - appendCString ("'") ; - appendChar (c) ; - appendCString ("'") ; - }else{ - appendUnsigned (UNICODE_VALUE (c)) ; - } - break ; - } -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark stringWith... -#endif - -//-------------------------------------------------------------------------------------------------- - -String stringWithUnsigned (const uint64_t inValue) { - String result ; - result.appendUnsigned (inValue) ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -String stringWithUnsigned0xHex (const uint64_t inValue) { - String s ; - s.appendUnsigned0xHex (inValue) ; - return s ; -} - -//-------------------------------------------------------------------------------------------------- - -String stringWithSigned (const int64_t inValue) { - String result ; - result.appendSigned (inValue) ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -String stringWithCharacter (const char inValue) { - String result ; - result.appendChar (TO_UNICODE (uint32_t (inValue))) ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -String stringWithUnicodeCharacter (const utf32 inValue) { - String result ; - result.appendChar (inValue) ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -String stringWithPointer (const void * inValue) { - String result ; - result.appendPointer (inValue) ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -String stringWithDouble (const double inValue) { - String result ; - result.appendDouble (inValue) ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/streams/AbstractOutputStream.h b/goil/build/libpm/streams/AbstractOutputStream.h deleted file mode 100644 index cfb78ded8..000000000 --- a/goil/build/libpm/streams/AbstractOutputStream.h +++ /dev/null @@ -1,160 +0,0 @@ -//-------------------------------------------------------------------------------------------------- -// -// AbstractOutputStream : an abstract output stream class -// -// This file is part of libpm library -// -// Copyright (C) 1997, ..., 2023 Pierre Molinaro. -// -// e-mail : pierre@pcmolinaro.name -// -// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General -// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) -// any later version. -// -// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied -// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -// more details. -// -//-------------------------------------------------------------------------------------------------- - -#pragma once - -//-------------------------------------------------------------------------------------------------- - -#include "macroAssert.h" -#include "M_machine.h" -#include "string_encodings.h" - -//-------------------------------------------------------------------------------------------------- - -#include - -//-------------------------------------------------------------------------------------------------- - -class String ; - -//-------------------------------------------------------------------------------------------------- - -class AbstractOutputStream { -//--- Default constructor - protected: AbstractOutputStream (void) ; - -//--- Virtual destructor - public: virtual ~ AbstractOutputStream (void) ; - -//--- Appending end od line - public: void appendNewLine (void) ; - -//--- Appending string - public: void appendString (const String inString) ; // Pass by copy (for handling 's.appendString (s) ;' instruction) - public: void appendUTF32LiteralStringConstant (const String inString, const bool inAppendZeroTerminator) ; - -//--- Appending C string - public: void appendCString (const char * inCstring) ; - public: void appendString (const char * inCstring, const int32_t inCount) ; - public: void appendString (const std::initializer_list & inSource) ; - -//--- Appending character - public: void appendASCIIChar (const char inCharacter) ; - public: void appendChar (const utf32 inUnicodeCharacter) ; - -//--- Appending uint64_t in Hex - public: void appendUnsigned0xHex (const uint64_t inValue) ; - public: void appendUnsignedHex (const uint64_t inValue) ; - public: void appendUnsignedHex2 (const uint64_t inValue) ; - public: void appendUnsignedHex4 (const uint64_t inValue) ; - public: void appendUnsignedHex8 (const uint64_t inValue) ; - public: void appendUnsignedHex16 (const uint64_t inValue) ; - -//--- Appending uint64_t - public: void appendUnsignedWithZeroFill (const uint64_t inValue, const uint32_t inWidth) ; - public: void appendUnsigned (const uint64_t inValue) ; - -//--- Appending int64_t - public: void appendSigned (const int64_t inValue) ; - -//--- Appending Double - public: void appendDouble (const double inValue) ; - -//--- Appending bool ("true" or"false") - public: void appendBool (const bool inValue) ; - -//--- Appending Pointer value (in hex) - public: void appendPointer (const void * inValue) ; - -//--- Abstract method for output single byte characters - public: void performAppendCString (const char * inCharArray, - const int32_t inArrayCount) ; - - protected: virtual void handleAppendUTF8Array (const char * inCharArray, - const int32_t inArrayCount) = 0 ; - -//--- Abstract method for output unicode characters - public: void performAppendCharacter (const utf32 inCharacter) ; - protected: virtual void handleAppendCharacter (const utf32 inCharacter) = 0 ; - -//--- Writing spaces - public: void appendSpaces (const int32_t inSpaceCount) ; - -//--- Writing a string several times - public: void appendStringMultiple (const String & inString, const int32_t inRepeatCount) ; - -//--- Methods for writing comment - public: void appendTitleComment (const char * inLineCommentPrefix, - const String & inCommentString) ; - public: void appendHyphenLineCommentWithoutExtraBlankLine (const char * inLineCommentPrefix) ; - public: void appendHyphenLineComment (const char * inLineCommentPrefix) ; - public: void appendSpaceLineComment (const char * inLineCommentPrefix) ; - public: void appendCenterJustifiedComment (const char * inLineCommentPrefix, - const String & inCommentString) ; - public: void appendComment (const char * inLineCommentPrefix, - const String & inCommentString) ; - -//--- Methods for writing C and C++ code - public: void appendStringAsCLiteralStringConstant (const String & inCstring) ; - public: void appendStringAsCLiteralCharConstant (const utf32 c) ; - public: void appendStringAsCLiteralStringConstantWithoutDelimiters (const String & inCstring) ; - -//--- Writing C++ Comments (// ...) - public: void appendCppTitleComment (const String & inCommentString) ; - public: void appendCppHyphenLineCommentWithoutExtraBlankLine (void) ; - public: void appendCppHyphenLineComment (void) ; - public: void appendCppSpaceLineComment (void) ; - public: void appendCppCenterJustifiedComment (const String & inCommentString) ; - public: void appendCppComment (const String & inCommentString) ; - -//--- Writing C Comments (/* ... */) - public: void append_C_HyphenLineComment (void) ; - public: void append_C_SpaceLineComment (void) ; - -//--- Handle indentation - public: void incIndentation (const int32_t inIncrement) { - mIndentation += inIncrement ; - } - public: int32_t indentation (void) const { - return mIndentation ; - } - -//--- Private data - private: int32_t mIndentation ; - private: bool mStartingLine ; -} ; - -//-------------------------------------------------------------------------------------------------- - -String stringWithUnsigned (const uint64_t inValue) ; - -String stringWithUnsigned0xHex (const uint64_t inValue) ; - -String stringWithSigned (const int64_t inValue) ; - -String stringWithPointer (const void * inValue) ; - -String stringWithCharacter (const char inValue) ; - -String stringWithUnicodeCharacter (const utf32 inValue) ; - -String stringWithDouble (const double inValue) ; - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/streams/C_ColoredConsole.cpp b/goil/build/libpm/streams/C_ColoredConsole.cpp index 281348a58..0b4c50a4b 100644 --- a/goil/build/libpm/streams/C_ColoredConsole.cpp +++ b/goil/build/libpm/streams/C_ColoredConsole.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'C_ColoredConsole' : a class for colored console output // @@ -16,43 +16,43 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "C_ColoredConsole.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef COMPILE_FOR_WINDOWS #error COMPILE_FOR_WINDOWS is undefined #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #if COMPILE_FOR_WINDOWS == 1 #include #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static bool gTextAttributesAreUsed = true ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_ColoredConsole::setUseTextAttributes (const bool inUsesTextAttributes) { gTextAttributesAreUsed = inUsesTextAttributes ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool C_ColoredConsole::usesTextAttributes (void) { return gTextAttributesAreUsed ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // http://ascii-table.com/ansi-escape-sequences.php // @@ -62,7 +62,7 @@ bool C_ColoredConsole::usesTextAttributes (void) { // http://www.adrianxw.dk/SoftwareSite/Consoles/Consoles3.html // http://www.adrianxw.dk/SoftwareSite/Consoles/Consoles4.html // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #if COMPILE_FOR_WINDOWS == 0 void C_ColoredConsole::setForeColor (const consoleForeColorEnum inForeColor) { @@ -81,14 +81,14 @@ bool C_ColoredConsole::usesTextAttributes (void) { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #if COMPILE_FOR_WINDOWS == 1 void C_ColoredConsole::setForeColor (const consoleForeColorEnum /* inForeColor */) { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #if COMPILE_FOR_WINDOWS == 0 void C_ColoredConsole::setBackgroundColor (const consoleBackgroundColorEnum inBackgroundColor) { @@ -107,14 +107,14 @@ bool C_ColoredConsole::usesTextAttributes (void) { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #if COMPILE_FOR_WINDOWS == 1 void C_ColoredConsole::setBackgroundColor (const consoleBackgroundColorEnum /* inBackgroundColor */) { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #if COMPILE_FOR_WINDOWS == 0 void C_ColoredConsole::setTextAttribute (const consoleTextAttributeEnum inTextAttribute) { @@ -130,11 +130,11 @@ bool C_ColoredConsole::usesTextAttributes (void) { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #if COMPILE_FOR_WINDOWS == 1 void C_ColoredConsole::setTextAttribute (const consoleTextAttributeEnum /* inTextAttribute */) { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/streams/C_ColoredConsole.h b/goil/build/libpm/streams/C_ColoredConsole.h index f022d03db..9d1d13b3a 100644 --- a/goil/build/libpm/streams/C_ColoredConsole.h +++ b/goil/build/libpm/streams/C_ColoredConsole.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'C_ColoredConsole' : a class for colored console output // @@ -16,13 +16,13 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // FORE COLOR ENUMERATION -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typedef enum { kBlackForeColor, @@ -35,9 +35,9 @@ typedef enum { kWhiteForeColor } consoleForeColorEnum ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // BACKGROUND COLOR ENUMERATION -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typedef enum { kBlackBackgroundColor, @@ -50,9 +50,9 @@ typedef enum { kWhiteBackgroundColor } consoleBackgroundColorEnum ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // TEXT ATTRIBUTES ENUMERATION -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typedef enum { kAllAttributesOff, @@ -62,13 +62,13 @@ typedef enum { kConcealedTextAttribute } consoleTextAttributeEnum ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "AbstractOutputStream.h" +#include "streams/AC_OutputStream.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class C_ColoredConsole : public AbstractOutputStream { +class C_ColoredConsole : public AC_OutputStream { //--- Set fore color public: void setForeColor (const consoleForeColorEnum inForeColor) ; @@ -84,4 +84,4 @@ class C_ColoredConsole : public AbstractOutputStream { public: static bool usesTextAttributes (void) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/streams/C_ConsoleOut.cpp b/goil/build/libpm/streams/C_ConsoleOut.cpp index ee7eaac62..d0e7451db 100644 --- a/goil/build/libpm/streams/C_ConsoleOut.cpp +++ b/goil/build/libpm/streams/C_ConsoleOut.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'C_ConsoleOut' : a class for console output // @@ -16,53 +16,56 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "C_ConsoleOut.h" -#include "unicode_character_cpp.h" +#include "streams/C_ConsoleOut.h" +#include "strings/unicode_character_cpp.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- C_ConsoleOut::C_ConsoleOut (void) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Flush output // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void C_ConsoleOut::flush (void) { ::fflush (stdout) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Write a character string on the console // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_ConsoleOut::handleAppendUTF8Array (const char * inCharArray, +void C_ConsoleOut::performActualCharArrayOutput (const char * inCharArray, const int32_t inArrayCount) { if (inArrayCount > 0) { printf ("%.*s", (int) inArrayCount, inCharArray) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_ConsoleOut::handleAppendCharacter (const utf32 inCharacter) { - char buffer [8] ; - UTF8StringFromUTF32Character (inCharacter, buffer) ; - printf ("%s", buffer) ; +void C_ConsoleOut::performActualUnicodeArrayOutput (const utf32 * inCharArray, + const int32_t inArrayCount) { + for (int32_t i=0 ; i 0) { ::fprintf (stderr, "%.*s", (int) inArrayCount, inCharArray) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void C_ErrorOut::handleAppendCharacter (const utf32 inCharacter) { - char buffer [8] ; - UTF8StringFromUTF32Character (inCharacter, buffer) ; - fprintf (stderr, "%s", buffer) ; +void C_ErrorOut:: +performActualUnicodeArrayOutput (const utf32 * inCharArray, + const int32_t inArrayCount) { + for (int32_t i=0 ; i + +//---------------------------------------------------------------------------------------------------------------------- +// +// C O N S T R U C T O R S +// +//---------------------------------------------------------------------------------------------------------------------- + +C_HTMLString::C_HTMLString (void) : +C_String () { +} + + +//---------------------------------------------------------------------------------------------------------------------- + +void C_HTMLString::writeStartCode (const C_String & inWindowTitle, + const C_String & inCSSFileName, + const C_String & inCSSContents) { + outputRawData ("\n" + "" + "\n" + "\n" + "\n") ; + *this << inWindowTitle ; + outputRawData ("") ; + if (inCSSFileName.length () > 0) { + outputRawData ("") ; + } + if (inCSSContents.length () > 0) { + outputRawData ("") ; + } + outputRawData ("" + "
\n") ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_HTMLString::writeEndCode (void) { + outputRawData ("
\n") ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_HTMLString::outputRawData (const char * in_Cstring) { + inherited::performActualCharArrayOutput (in_Cstring, (int32_t) (strlen (in_Cstring) & UINT32_MAX)) ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// Write a character string into the file +// Performs HTML character translation (i.e. '<' --> '<', ...) +//---------------------------------------------------------------------------------------------------------------------- + +void C_HTMLString::performActualCharArrayOutput (const char * inCharArray, + const int32_t inArrayCount) { + for (int32_t i=0 ; i' : + inherited::performActualCharArrayOutput (">", 4) ; + break ; + case '&' : + inherited::performActualCharArrayOutput ("&", 5) ; + break ; + default : + inherited::performActualCharArrayOutput (& c, 1) ; + break ; + } + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_HTMLString::performActualUnicodeArrayOutput (const utf32 * inCharArray, + const int32_t inArrayCount) { + for (int32_t i=0 ; i' : + inherited::performActualCharArrayOutput (">", 4) ; + break ; + case '&' : + inherited::performActualCharArrayOutput ("&", 5) ; + break ; + default : + inherited::performActualUnicodeArrayOutput (& codePoint, 1) ; + break ; + } + } +} + +//---------------------------------------------------------------------------------------------------------------------- +// Comments as a table +//---------------------------------------------------------------------------------------------------------------------- + +void C_HTMLString::appendCppTitleComment (const C_String & inCommentString, + const C_String & inTableStyleClass) { + outputRawData (" 0) { + outputRawData (" class=\"") ; + outputRawData (inTableStyleClass.cString (HERE)) ; + outputRawData ("\"") ; + } + outputRawData (">\n") ; + *this << inCommentString ; + outputRawData ("\n\n") ; +} + +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/strings/C_HTMLString.h b/goil/build/libpm/strings/C_HTMLString.h new file mode 100644 index 000000000..0cac4e2b8 --- /dev/null +++ b/goil/build/libpm/strings/C_HTMLString.h @@ -0,0 +1,67 @@ +//---------------------------------------------------------------------------------------------------------------------- +// +// C_HTMLString : generating HTML text +// +// This file is part of libpm library +// +// Copyright (C) 2014, ..., 2014 Pierre Molinaro. +// +// e-mail : pierre@pcmolinaro.name +// +// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied +// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +//---------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//---------------------------------------------------------------------------------------------------------------------- + +#include "strings/C_String.h" + +//---------------------------------------------------------------------------------------------------------------------- +// +// Fully dynamic character string : C_String +// +//---------------------------------------------------------------------------------------------------------------------- + +class C_HTMLString : public C_String { +//--- Constructors + public: C_HTMLString (void) ; + +//--- Handling copy +// public: C_HTMLString (const C_HTMLString & inSource) ; +// public: C_HTMLString & operator = (const C_HTMLString & inString) ; + +//--- Output data, without HTML formatting + public: void outputRawData (const char * in_Cstring) ; + +//--- General stream methods + protected: virtual void performActualCharArrayOutput (const char * inCharArray, + const int32_t inArrayCount) ; + + protected: virtual void performActualUnicodeArrayOutput (const utf32 * inCharArray, + const int32_t inArrayCount) ; + +//--- Method for writing a HTML table + public: void appendCppTitleComment (const C_String & inCommentString, + const C_String & inTableStyleClass) ; + +//--- Write start code + public: void writeStartCode (const C_String & inWindowTitle, + const C_String & inCSSFileName, + const C_String & inCSSContents) ; + +//--- Write end code + public: void writeEndCode (void) ; + +//--- Private attributes + private: typedef C_String inherited ; +} ; + +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/strings/C_String.cpp b/goil/build/libpm/strings/C_String.cpp new file mode 100644 index 000000000..fa52a819e --- /dev/null +++ b/goil/build/libpm/strings/C_String.cpp @@ -0,0 +1,2193 @@ +//---------------------------------------------------------------------------------------------------------------------- +// +// C_String : an implementation of fully dynamic character string +// +// This file is part of libpm library +// +// Copyright (C) 1997, ..., 2020 Pierre Molinaro. +// +// e-mail : pierre@pcmolinaro.name +// +// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied +// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +//---------------------------------------------------------------------------------------------------------------------- + +#include "utilities/MF_MemoryControl.h" +#include "utilities/md5.h" +#include "utilities/C_SharedObject.h" +#include "strings/unicode_string_routines.h" +#include "strings/unicode_character_cpp.h" +#include "generic-arraies/TC_UniqueArray2.h" + +//---------------------------------------------------------------------------------------------------------------------- + +#include +#include +#include + +//---------------------------------------------------------------------------------------------------------------------- + +#ifndef COMPILE_FOR_WINDOWS + #error COMPILE_FOR_WINDOWS is undefined +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +#if COMPILE_FOR_WINDOWS == 1 + #include +#endif + +#if COMPILE_FOR_WINDOWS == 0 + #include +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark cEmbeddedString +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +static const utf32 kEmptyUTF32String [1] = {TO_UNICODE (0)} ; + +//---------------------------------------------------------------------------------------------------------------------- + +class cEmbeddedString : public C_SharedObject { + public: uint32_t mCapacity ; // Maximun allowed length of the following C string + public: uint32_t mLength ; // Current length of the following C string + public: char * mEncodedCString ; + public: utf32 * mString ; // Zero terminated string + + public: cEmbeddedString (const uint32_t inCapacity COMMA_LOCATION_ARGS) ; + + public: cEmbeddedString (const cEmbeddedString * inEmbeddedString, + const uint32_t inCapacity + COMMA_LOCATION_ARGS) ; + + public: virtual ~cEmbeddedString (void) ; + +//--- No copy + private: cEmbeddedString (const cEmbeddedString &) ; + private: cEmbeddedString & operator = (const cEmbeddedString &) ; + + #ifndef DO_NOT_GENERATE_CHECKINGS + public: void checkEmbeddedString (LOCATION_ARGS) const ; + #endif + + public: void reallocEmbeddedString (const uint32_t inCapacity) ; +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static uint32_t stringGoodSize (const uint32_t inCurrentCapacity, + const uint32_t inCapacity) { + uint32_t newCapacity = (inCurrentCapacity < 128) ? 128 : inCurrentCapacity ; + while (newCapacity < inCapacity) { + newCapacity <<= 1 ; + } + return newCapacity ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +cEmbeddedString::cEmbeddedString (const uint32_t inCapacity COMMA_LOCATION_ARGS) : +C_SharedObject (THERE), +mCapacity (0), +mLength (0), +mEncodedCString (nullptr), +mString (nullptr) { + const uint32_t newCapacity = stringGoodSize (0, inCapacity) ; + macroMyNewPODArray (mString, utf32, newCapacity) ; + mCapacity = newCapacity ; + mString [0] = TO_UNICODE ('\0') ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +cEmbeddedString::cEmbeddedString (const cEmbeddedString * inEmbeddedString, + const uint32_t inCapacity + COMMA_LOCATION_ARGS) : +C_SharedObject (THERE), +mCapacity (0), +mLength (0), +mEncodedCString (nullptr), +mString (nullptr) { + macroValidPointer (inEmbeddedString) ; + macroValidPointer (inEmbeddedString->mString) ; + MF_Assert (inCapacity > inEmbeddedString->mLength, "inCapacity (%lld) < inEmbeddedString->mLength (%lld)", inCapacity, inEmbeddedString->mLength) ; + const uint32_t newCapacity = stringGoodSize (inEmbeddedString->mCapacity, inCapacity) ; + macroMyNewPODArray (mString, utf32, newCapacity) ; + mCapacity = newCapacity ; + MF_Assert (inEmbeddedString->mLength < mCapacity, "inEmbeddedString->mLength (%lld) >= mCapacity (%lld)", inEmbeddedString->mLength, mCapacity) ; + for (uint32_t i=0 ; i<=inEmbeddedString->mLength ; i++) { + mString [i] = inEmbeddedString->mString [i] ; + } + mLength = inEmbeddedString->mLength ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +cEmbeddedString::~cEmbeddedString (void) { + macroMyDeletePODArray (mEncodedCString) ; + macroMyDeletePODArray (mString) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifndef DO_NOT_GENERATE_CHECKINGS + void cEmbeddedString::checkEmbeddedString (LOCATION_ARGS) const { + if (mCapacity == 0) { + MF_AssertThere (UNICODE_VALUE (mString [0]) == '\0', "mString [0] (%lld) != '\\0'", + (int32_t) UNICODE_VALUE (mString [0]), '\0') ; + MF_AssertThere (mLength == 0, "mLength (%ld) != 0", mLength, 0) ; + }else{ + MF_AssertThere (mLength <= mCapacity, "mLength (%ld) > mCapacity (%ld)", mLength, mCapacity) ; + MF_AssertThere (UNICODE_VALUE (mString [mLength]) == '\0', + "mString [mLength] == %ld != '\\0'", + (int32_t) UNICODE_VALUE (mString [mLength]), '\0') ; + if (mEncodedCString != nullptr) { + macroValidPointer (mEncodedCString) ; + for (uint32_t i=0 ; i<=mLength ; i++) { + MF_AssertThere (UNICODE_VALUE (mString [i]) == (uint32_t) mEncodedCString [i], + "mString [i] (%ld) != mEncodedCString [i] (%ld)", + UNICODE_VALUE (mString [i]), (uint32_t) mEncodedCString [i]) ; + } + } + } + } +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +void cEmbeddedString::reallocEmbeddedString (const uint32_t inCapacity) { + #ifndef DO_NOT_GENERATE_CHECKINGS + checkEmbeddedString (HERE) ; + #endif + if (inCapacity > mCapacity) { + const uint32_t newCapacity = stringGoodSize (mCapacity, inCapacity) ; + macroMyReallocPODArray (mString, utf32, newCapacity) ; + mCapacity = newCapacity ; + #ifndef DO_NOT_GENERATE_CHECKINGS + checkEmbeddedString (HERE) ; + #endif + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Constructors & destructor +#endif + +//---------------------------------------------------------------------------------------------------------------------- +// +// C O N S T R U C T O R S +// +//---------------------------------------------------------------------------------------------------------------------- + +C_String::C_String (void) : +mEmbeddedString (nullptr) { +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_String::C_String (const char * inCstring) : +mEmbeddedString (nullptr) { + if (inCstring != nullptr) { + genericCharArrayOutput (inCstring, (int32_t) (strlen (inCstring) & UINT32_MAX)) ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_String::C_String (const utf32 * inUTF32String) : +mEmbeddedString (nullptr) { + if (inUTF32String != nullptr) { + genericUnicodeArrayOutput (inUTF32String, utf32_strlen (inUTF32String)) ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_String::C_String (const C_String & inSource) : // Copy constructor +AC_OutputStream (inSource), +mEmbeddedString (nullptr) { + macroAssignSharedObject (mEmbeddedString, inSource.mEmbeddedString) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_String C_String::newWithStdIn (void) { + const size_t BUFFER_SIZE = 1000 ; + char buffer [BUFFER_SIZE] ; + const char * s = fgets (buffer, BUFFER_SIZE, stdin) ; + return (s == nullptr) ? "" : s ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// D E S T R U C T O R +// +//---------------------------------------------------------------------------------------------------------------------- + +C_String::~C_String (void) { + macroDetachSharedObject (mEmbeddedString) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_String C_String::spaces (const int32_t inSpaceCount) { + C_String result ; + for (int32_t i=0 ; imCapacity ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// A S S I G N M E N T O P E R A T O R S +// +//---------------------------------------------------------------------------------------------------------------------- + +C_String & C_String::operator = (const C_String & inSource) { + #ifndef DO_NOT_GENERATE_CHECKINGS + checkString (HERE) ; + inSource.checkString (HERE) ; + #endif + macroAssignSharedObject (mEmbeddedString, inSource.mEmbeddedString) ; + return * this ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_String::releaseString (void) { + #ifndef DO_NOT_GENERATE_CHECKINGS + checkString (HERE) ; + #endif + macroDetachSharedObject (mEmbeddedString) ; + mEmbeddedString = nullptr ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +uint32_t C_String::hash (void) const { + uint32_t h = 0 ; + if (mEmbeddedString != nullptr) { + for (uint32_t i=0 ; imLength ; i++) { + h <<= 3 ; + h ^= UNICODE_VALUE (mEmbeddedString->mString [i]) ; + } + } + return h ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifndef DO_NOT_GENERATE_CHECKINGS + void C_String::checkString (LOCATION_ARGS) const { + if (mEmbeddedString != nullptr) { + macroValidSharedObject (mEmbeddedString, cEmbeddedString) ; + mEmbeddedString->checkEmbeddedString (THERE) ; + } + } +#endif + +//---------------------------------------------------------------------------------------------------------------------- +// +// G E T M E T H O D S +// +//---------------------------------------------------------------------------------------------------------------------- + +utf32 C_String::operator () (const int32_t inIndex COMMA_LOCATION_ARGS) const { + #ifndef DO_NOT_GENERATE_CHECKINGS + checkString (THERE) ; + #endif + macroValidSharedObjectThere (mEmbeddedString, cEmbeddedString) ; + MF_AssertThere (inIndex >= 0, "inIndex (%ld) < 0", inIndex, 0) ; + MF_AssertThere ((uint32_t) inIndex < mEmbeddedString->mLength, + "inIndex (%ld) >= string length (%ld)", + inIndex, mEmbeddedString->mLength) ; + return mEmbeddedString->mString [inIndex] ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +utf32 C_String::readCharOrNul (const int32_t inIndex COMMA_LOCATION_ARGS) const { + MF_AssertThere (inIndex >= 0, "inIndex (%ld) < 0", inIndex, 0) ; + return ((mEmbeddedString == nullptr) || ((uint32_t) inIndex >= mEmbeddedString->mLength)) + ? TO_UNICODE ('\0') + : mEmbeddedString->mString [inIndex] ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// lastCharacter +// +//---------------------------------------------------------------------------------------------------------------------- + +utf32 C_String::lastCharacter (LOCATION_ARGS) const { + const uint32_t stringLength = mEmbeddedString->mLength ; + MF_AssertThere (stringLength > 0, "length == 0", 0, 0) ; + return (stringLength == 0) ? TO_UNICODE ('\0') : mEmbeddedString->mString [stringLength - 1] ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +bool C_String::containsCharacter (const utf32 inCharacter) const { + #ifndef DO_NOT_GENERATE_CHECKINGS + checkString (HERE) ; + #endif + bool found = false ; + if (nullptr != mEmbeddedString) { + for (uint32_t i=0 ; (imLength) && ! found ; i++) { + found = UNICODE_VALUE (mEmbeddedString->mString [i]) == UNICODE_VALUE (inCharacter) ; + } + } + return found ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +bool C_String::containsCharacterInRange (const utf32 inFirstCharacter, + const utf32 inLastCharacter) const { + #ifndef DO_NOT_GENERATE_CHECKINGS + checkString (HERE) ; + #endif + bool found = false ; + if (nullptr != mEmbeddedString) { + for (uint32_t i=0 ; (imLength) && ! found ; i++) { + found = + (UNICODE_VALUE (mEmbeddedString->mString [i]) >= UNICODE_VALUE (inFirstCharacter)) + && + (UNICODE_VALUE (mEmbeddedString->mString [i]) <= UNICODE_VALUE (inLastCharacter)) + ; + } + } + return found ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +int32_t C_String::length (void) const { + #ifndef DO_NOT_GENERATE_CHECKINGS + checkString (HERE) ; + #endif + return (mEmbeddedString == nullptr) ? 0 : (int32_t) mEmbeddedString->mLength ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +const char * C_String::cString (UNUSED_LOCATION_ARGS) const { + const char * result = "" ; + if (nullptr != mEmbeddedString) { + macroValidSharedObject (mEmbeddedString, cEmbeddedString) ; + if (nullptr == mEmbeddedString->mEncodedCString) { + uint32_t allocatedSize = mEmbeddedString->mLength + 1 ; + macroMyReallocPODArray (mEmbeddedString->mEncodedCString, char, allocatedSize) ; + uint32_t idx = 0 ; + for (uint32_t i=0 ; imLength ; i++) { + char buffer [5] ; + const int32_t n = UTF8StringFromUTF32Character (mEmbeddedString->mString [i], buffer) ; + for (int32_t j=0 ; jmEncodedCString, char, allocatedSize) ; + } + mEmbeddedString->mEncodedCString [idx] = buffer [j] ; + idx ++ ; + } + } + //--- + if (allocatedSize == idx) { + allocatedSize *= 2 ; + macroMyReallocPODArray (mEmbeddedString->mEncodedCString, char, allocatedSize) ; + } + mEmbeddedString->mEncodedCString [idx] = '\0' ; + } + result = mEmbeddedString->mEncodedCString ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +const utf32 * C_String::utf32String (UNUSED_LOCATION_ARGS) const { + const utf32 * result = kEmptyUTF32String ; + if (nullptr != mEmbeddedString) { + result = mEmbeddedString->mString ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Methods that change string +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +void C_String::insulateEmbeddedString (const uint32_t inNewCapacity) const { + if (mEmbeddedString == nullptr) { + macroMyNew (mEmbeddedString, cEmbeddedString (inNewCapacity COMMA_HERE)) ; + }else{ + macroValidSharedObject (mEmbeddedString, cEmbeddedString) ; + if (mEmbeddedString->isUniquelyReferenced ()) { + macroMyDeletePODArray (mEmbeddedString->mEncodedCString) ; + mEmbeddedString->reallocEmbeddedString (inNewCapacity) ; + }else{ + cEmbeddedString * p = nullptr ; + macroMyNew (p, cEmbeddedString (mEmbeddedString, inNewCapacity COMMA_HERE)) ; + macroAssignSharedObject (mEmbeddedString, p) ; + macroDetachSharedObject (p) ; + } + #ifndef DO_NOT_GENERATE_CHECKINGS + checkString (HERE) ; + #endif + } + MF_Assert (capacity () >= inNewCapacity, "capacity (%lld) < inNewCapacity (%lld)", capacity (), inNewCapacity) ; + macroValidSharedObject (mEmbeddedString, cEmbeddedString) ; + macroUniqueSharedObject (mEmbeddedString) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_String::setLengthToZero (void) { + #ifndef DO_NOT_GENERATE_CHECKINGS + checkString (HERE) ; + #endif + if (mEmbeddedString != nullptr) { + if (mEmbeddedString->isUniquelyReferenced ()) { + macroMyDeletePODArray (mEmbeddedString->mEncodedCString) ; + mEmbeddedString->mLength = 0 ; + mEmbeddedString->mString [0] = TO_UNICODE ('\0') ; + }else{ + macroDetachSharedObject (mEmbeddedString) ; + mEmbeddedString = nullptr ; + } + } + #ifndef DO_NOT_GENERATE_CHECKINGS + checkString (HERE) ; + #endif +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_String::insulate (void) const { + insulateEmbeddedString ((uint32_t) length ()) ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// S E T F R O M S T R I N G +// +//---------------------------------------------------------------------------------------------------------------------- + +void C_String::setFromString (const C_String & inString) { + if (this != & inString) { + macroAssignSharedObject (mEmbeddedString, inString.mEmbeddedString) ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// S E T C A P A C I T Y +// +//---------------------------------------------------------------------------------------------------------------------- + +void C_String::setCapacity (const uint32_t inNewCapacity) { + #ifndef DO_NOT_GENERATE_CHECKINGS + checkString (HERE) ; + #endif + if (mEmbeddedString != nullptr) { + macroMyDeletePODArray (mEmbeddedString->mEncodedCString) ; + if ((mEmbeddedString->mLength < inNewCapacity) && (mEmbeddedString->mCapacity < inNewCapacity)) { + if (mEmbeddedString->isUniquelyReferenced ()) { + macroMyDeletePODArray (mEmbeddedString->mEncodedCString) ; + mEmbeddedString->reallocEmbeddedString (inNewCapacity) ; + }else{ + cEmbeddedString * p = nullptr ; + macroMyNew (p, cEmbeddedString (mEmbeddedString, inNewCapacity COMMA_HERE)) ; + macroAssignSharedObject (mEmbeddedString, p) ; + macroDetachSharedObject (p) ; + } + #ifndef DO_NOT_GENERATE_CHECKINGS + checkString (HERE) ; + #endif + } + }else if (inNewCapacity > 0) { + macroMyNew (mEmbeddedString, cEmbeddedString (inNewCapacity COMMA_HERE)) ; + #ifndef DO_NOT_GENERATE_CHECKINGS + checkString (HERE) ; + #endif + } + MF_Assert (capacity () >= inNewCapacity, "capacity (%lld) < inNewCapacity (%lld)", capacity (), inNewCapacity) ; + if (mEmbeddedString != nullptr) { + macroValidSharedObject (mEmbeddedString, cEmbeddedString) ; + macroUniqueSharedObject (mEmbeddedString) ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_String::performActualUnicodeArrayOutput (const utf32 * inUTF32CharArray, + const int32_t inArrayCount) { + #ifndef DO_NOT_GENERATE_CHECKINGS + checkString (HERE) ; + #endif + if (inArrayCount > 0) { + const int32_t kNewLength = length () + inArrayCount ; + insulateEmbeddedString ((uint32_t) (kNewLength + 1)) ; + MF_Assert (mEmbeddedString->isUniquelyReferenced (), "mEmbeddedString->isUniquelyReferenced () is false", 0, 0) ; + for (int32_t i=0 ; imString [mEmbeddedString->mLength + (uint32_t) i] = inUTF32CharArray [i] ; + } + mEmbeddedString->mLength = (uint32_t) kNewLength ; + mEmbeddedString->mString [kNewLength] = TO_UNICODE ('\0') ; + #ifndef DO_NOT_GENERATE_CHECKINGS + checkString (HERE) ; + #endif + MF_Assert (capacity () > (uint32_t) kNewLength, "capacity (%lld) <= kNewLength (%lld)", capacity (), kNewLength) ; + macroUniqueSharedObject (mEmbeddedString) ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_String::performActualCharArrayOutput (const char * inCharArray, + const int32_t inArrayCount) { + #ifndef DO_NOT_GENERATE_CHECKINGS + checkString (HERE) ; + #endif + if (inArrayCount != 0) { + insulateEmbeddedString ((uint32_t) (length () + inArrayCount + 1)) ; + int32_t newLength = (int32_t) mEmbeddedString->mLength ; + int32_t idx = 0 ; + bool ok = true ; + while ((idx < inArrayCount) && ok) { + if ((inCharArray [idx] & 0x80) == 0) { // ASCII + mEmbeddedString->mString [newLength] = TO_UNICODE ((uint32_t) inCharArray [idx]) ; + idx ++ ; + newLength ++ ; + }else{ + const utf32 unicodeChar = utf32CharacterForPointer ((const uint8_t *) inCharArray, idx, inArrayCount, ok) ; + mEmbeddedString->mString [newLength] = unicodeChar ; + newLength ++ ; + } + mEmbeddedString->mLength = (uint32_t) newLength ; + mEmbeddedString->mString [newLength] = TO_UNICODE ('\0') ; + } + #ifndef DO_NOT_GENERATE_CHECKINGS + checkString (HERE) ; + #endif + MF_Assert (capacity () > (uint32_t) newLength, "capacity (%lld) <= kNewLength (%lld)", capacity (), newLength) ; + macroUniqueSharedObject (mEmbeddedString) ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// setCharacterAtIndex +// +//---------------------------------------------------------------------------------------------------------------------- + + +void C_String::setUnicodeCharacterAtIndex (const utf32 inCharacter, + const int32_t inIndex + COMMA_LOCATION_ARGS) { + #ifndef DO_NOT_GENERATE_CHECKINGS + checkString (HERE) ; + #endif + macroValidPointerThere (mEmbeddedString) ; + MF_AssertThere (inIndex >= 0, "inIndex (%ld) < 0", inIndex, 0) ; + if (nullptr != mEmbeddedString) { + MF_AssertThere ((uint32_t) inIndex < mEmbeddedString->mLength, + "inIndex (%ld) >= string length (%ld)", + inIndex, mEmbeddedString->mLength) ; + insulateEmbeddedString (mEmbeddedString->mCapacity) ; + mEmbeddedString->mString [inIndex] = inCharacter ; + macroUniqueSharedObject (mEmbeddedString) ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// S U P P R E S S C H A R A C T E R S +// +//---------------------------------------------------------------------------------------------------------------------- + +void C_String::suppress (const int32_t inLocation, + const int32_t inLength + COMMA_LOCATION_ARGS) { + if (inLength > 0) { + insulateEmbeddedString (mEmbeddedString->mCapacity) ; + #ifndef DO_NOT_GENERATE_CHECKINGS + checkString (HERE) ; + #endif + macroValidPointerThere (mEmbeddedString) ; + MF_AssertThere (inLocation >= 0, "inLocation (%ld) < 0", inLocation, 0) ; + MF_AssertThere ((uint32_t) inLocation <= mEmbeddedString->mLength, + "inLocation (%ld) > mLength (%ld)", + inLocation, mEmbeddedString->mLength) ; + MF_AssertThere ((uint32_t) inLength <= mEmbeddedString->mLength, + "inLength (%ld) > string length (%ld)", + inLength, mEmbeddedString->mLength) ; + const int32_t bytesToMove = 1 + ((int32_t) mEmbeddedString->mLength) - inLength - inLocation ; + if ((inLocation >= 0) && (bytesToMove > 0)) { + for (int32_t i=0 ; imString [inLocation + i] = mEmbeddedString->mString [inLocation + i + inLength] ; + } + MF_Assert (mEmbeddedString->mLength >= (uint32_t) inLength, + "mLength (%lld) < inLength (%lld)", + mEmbeddedString->mLength, inLength) ; + mEmbeddedString->mLength -= (uint32_t) inLength ; + #ifndef DO_NOT_GENERATE_CHECKINGS + checkString (HERE) ; + #endif + macroUniqueSharedObject (mEmbeddedString) ; + } + } +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// I N S E R T C H A R A C T E R +// +//---------------------------------------------------------------------------------------------------------------------- + +void C_String::insertCharacterAtIndex (const utf32 inChar, + const int32_t inIndex + COMMA_LOCATION_ARGS) { + const uint32_t kNewLength = ((uint32_t) length ()) + 1 ; + insulateEmbeddedString (kNewLength) ; + #ifndef DO_NOT_GENERATE_CHECKINGS + checkString (HERE) ; + #endif + macroValidPointerThere (mEmbeddedString) ; + MF_AssertThere (inIndex >= 0, "inIndex (%ld) < 0", inIndex, 0) ; + MF_AssertThere ((uint32_t) inIndex <= mEmbeddedString->mLength, + "inIndex (%ld) > mLength (%ld)", + inIndex, mEmbeddedString->mLength) ; + const int32_t bytesToMove = 1 + ((int32_t) mEmbeddedString->mLength) - inIndex ; + for (int32_t i=bytesToMove ; i>0 ; i--) { + mEmbeddedString->mString [inIndex + i] = mEmbeddedString->mString [inIndex + i - 1] ; + } + mEmbeddedString->mString [inIndex] = inChar ; + mEmbeddedString->mLength += 1 ; + #ifndef DO_NOT_GENERATE_CHECKINGS + checkString (HERE) ; + #endif + macroUniqueSharedObject (mEmbeddedString) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark ============= +#endif + +//---------------------------------------------------------------------------------------------------------------------- +// +// G E T L I N E S A R R A Y +// +//---------------------------------------------------------------------------------------------------------------------- + +void C_String::linesArray (TC_UniqueArray & outStringArray) const { + const int32_t currentStringLength = length () ; + if (currentStringLength > 0) { + int32_t index = outStringArray.count () ; + outStringArray.appendObject (C_String ()) ; + typedef enum {kAppendToCurrentLine, kGotCarriageReturn, kGotLineFeed} enumState ; + enumState state = kAppendToCurrentLine ; + for (int32_t i=0 ; imString [i] ; + switch (state) { + case kAppendToCurrentLine : + switch (UNICODE_VALUE (c)) { + case 0x000B : // VT: Vertical Tab + case 0x000C : // FF: Form Feed + case 0x0085 : // NEL: Next Line + case 0x2028 : // LS: Line Separator + case 0x2029 : // PS: Paragraph Separator + outStringArray.appendObject (C_String ()) ; + index ++ ; + break ; + case '\n' : // LF + state = kGotLineFeed ; + break ; + case '\r' : // CR + state = kGotCarriageReturn ; + break ; + default: // Other character + outStringArray (index COMMA_HERE).appendUnicodeCharacter (c COMMA_HERE) ; + } + break ; + case kGotCarriageReturn : + switch (UNICODE_VALUE (c)) { + case '\n' : // LF + state = kGotLineFeed ; + break ; + case '\r' : // CR + outStringArray.appendObject (C_String ()) ; + index ++ ; + break ; + default: // Other character + outStringArray.appendObject (C_String ()) ; + index ++ ; + outStringArray (index COMMA_HERE).appendUnicodeCharacter (c COMMA_HERE) ; + state = kAppendToCurrentLine ; + } + break ; + case kGotLineFeed : + switch (UNICODE_VALUE (c)) { + case '\n' : // LF + outStringArray.appendObject (C_String ()) ; + index ++ ; + break ; + case '\r' : // CR + outStringArray.appendObject (C_String ()) ; + index ++ ; + state = kGotCarriageReturn ; + break ; + default: // Other character + outStringArray.appendObject (C_String ()) ; + index ++ ; + outStringArray (index COMMA_HERE).appendUnicodeCharacter (c COMMA_HERE) ; + state = kAppendToCurrentLine ; + } + break ; + } + } + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +LineColumnContents C_String::lineAndColumnFromIndex (const int32_t inIndex) const { + LineColumnContents result ; + const int32_t receiverLength = length () ; + if (inIndex < receiverLength) { + const utf32 * ptr = utf32String (HERE) ; + int32_t lineNumber = 0 ; + int32_t startOfLineIndex = 0 ; + int32_t idx = 0 ; + bool parseLine = true ; + while ((idx < receiverLength) && parseLine) { + while ((idx < receiverLength) && parseLine) { + parseLine = UNICODE_VALUE (ptr [idx]) != '\n' ; + idx += parseLine ; + } + if (idx < inIndex) { + parseLine = true ; + idx ++ ; // Pass '\n' + startOfLineIndex = idx ; + lineNumber ++ ; + } + } + //--- + const int32_t columnNumber = inIndex - startOfLineIndex ; + const C_String lineContents = subString (startOfLineIndex, idx - startOfLineIndex) ; + result = LineColumnContents (lineNumber, columnNumber, lineContents) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +int32_t C_String::indexFromLineAndColumn (const int32_t inLineNumber, + const int32_t inColumnNumber) const { + int32_t idx = 0 ; + int32_t line = 1 ; + while (line < inLineNumber) { + while ((idx < length ()) && (UNICODE_VALUE (this->operator () (idx COMMA_HERE)) != '\n')) { + idx += 1 ; + } + line += 1 ; + } + return idx + inColumnNumber ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// C O N T A I N S S T R I N G +// +//---------------------------------------------------------------------------------------------------------------------- + +bool C_String::containsString (const C_String & inSearchedString) const { + const utf32 * source = utf32String (HERE) ; + bool contains = source != nullptr ; + if (contains) { + const utf32 * searchedString = inSearchedString.utf32String (HERE) ; + contains = searchedString == nullptr ; + if (! contains) { + contains = ::utf32_strstr (source, searchedString) != nullptr ; + } + } + return contains ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// componentsSeparatedByString +// +//---------------------------------------------------------------------------------------------------------------------- + +void C_String::componentsSeparatedByString (const C_String & inSeparatorString, + TC_UniqueArray & outResult) const { + outResult.removeAllKeepingCapacity () ; + const utf32 * sourcePtr = utf32String (HERE) ; + if (sourcePtr == nullptr) { + outResult.appendObject (C_String ()) ; + }else{ + const int32_t splitStringLength = inSeparatorString.length () ; + const utf32 * separator = inSeparatorString.utf32String (HERE) ; + if (splitStringLength > 0) { + const utf32 * p = ::utf32_strstr (sourcePtr, separator) ; + while (p != nullptr) { + C_String s ; + s.genericUnicodeArrayOutput (sourcePtr, (int32_t) ((p - sourcePtr) & INT32_MAX)) ; + outResult.appendObject (s) ; + sourcePtr = p + splitStringLength ; + p = ::utf32_strstr (sourcePtr, separator) ; + } + } + outResult.appendObject (C_String (sourcePtr)) ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// componentsJoinedByString +// +//---------------------------------------------------------------------------------------------------------------------- + +C_String C_String::componentsJoinedByString (const TC_UniqueArray & inComponentArray, + const C_String & inSeparator) { + C_String result ; + if (inComponentArray.count () > 0) { + result << (inComponentArray (0 COMMA_HERE)) ; + for (int32_t i=1 ; i 0) { + const utf32 * sourcePtr = utf32String (HERE) ; + const utf32 * p = ::utf32_strstr (sourcePtr, + inSearchedString.utf32String (HERE)) ; + if (p != nullptr) { + result.setLengthToZero () ; + result.genericUnicodeArrayOutput (sourcePtr, (int32_t) ((p - sourcePtr) & INT32_MAX)) ; + } + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// endsWithString +// +//---------------------------------------------------------------------------------------------------------------------- + +bool C_String::endsWithString (const C_String & inString) const { + const int32_t offset = length () - inString.length () ; + bool result = offset >= 0 ; + for (int32_t i=0 ; (ioperator () (i + offset COMMA_HERE) == inString (i COMMA_HERE) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// S U B S T I T U T E C H A R A C T E R B Y S T R I N G +// +//---------------------------------------------------------------------------------------------------------------------- + +//--- Substitute 'inCharacter' by 'inString' ; if the character occurs twice, suppress one + +C_String C_String::stringByReplacingCharacterByString (const utf32 inCharacter, + const C_String & inString) const { + const int32_t stringLength = length () ; + C_String resultingString ; + bool previousCharIsSubstituteChar = false ; + for (int32_t i=0 ; i 0) && notFound) { + result -- ; + notFound = UNICODE_VALUE (ptr [result]) != UNICODE_VALUE (inChar) ; + } + if (notFound) { + result = -1 ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_String C_String::subString (const int32_t inStartIndex, + const int32_t inLength) const { + C_String s ; + if (inLength > 0) { + int32_t last = inStartIndex + inLength ; + const int32_t receiver_length = length () ; + if (last > receiver_length) { + last = receiver_length ; + } + const utf32 * ptr = utf32String (HERE) ; + for (int32_t i=inStartIndex ; i 0) { + s.appendUnicodeCharacter (unicodeToUpper (ptr [0]) COMMA_HERE) ; + for (int32_t i=1 ; imCapacity) ; + for (int32_t i=0 ; i<(receiver_length/2) ; i++) { + const utf32 temp = mEmbeddedString->mString [i] ; + mEmbeddedString->mString [i] = mEmbeddedString->mString [receiver_length - i - 1] ; + mEmbeddedString->mString [receiver_length - i - 1] = temp ; + } + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +bool C_String::isUnsignedInteger (void) const { + bool ok = length () > 0 ; + for (int32_t i=0 ; (i < length ()) && ok ; i++) { + const uint32_t c = UNICODE_VALUE (this->operator () (i COMMA_HERE)) ; + ok = (c >= '0') && (c <= '9') ; + } + return ok ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +uint32_t C_String::unsignedIntegerValue (void) const { + uint32_t result = 0 ; + bool ok = true ; + for (int32_t i=0 ; (i < length ()) && ok ; i++) { + const uint32_t c = UNICODE_VALUE (this->operator () (i COMMA_HERE)) ; + ok = (c >= '0') && (c <= '9') ; + if (ok) { + result *= 10 ; + result += c - '0' ; + } + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +uint32_t C_String::currentColumn (void) const { + uint32_t result = 0 ; + bool found = false ; + const int32_t receiver_length = length () ; + const utf32 * ptr = utf32String (HERE) ; + for (int32_t i=receiver_length-1 ; (i>=0) && ! found ; i--) { + found = UNICODE_VALUE (ptr [i]) == '\n' ; + if (! found) { + result ++ ; + } + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_String::appendSpacesUntilColumn (const uint32_t inColumn) { + for (uint32_t i=currentColumn () ; i 0 ; + int32_t idx = 0 ; + while ((idx < length ()) && outOk) { + const utf32 c = (*this) (idx COMMA_HERE) ; + idx ++ ; + const uint32_t r = outResult ; + outResult = outResult * 10 + (UNICODE_VALUE (c) - '0') ; + outOk = (UNICODE_VALUE (c) >= '0') && (UNICODE_VALUE (c) <= '9') && (r <= outResult) ; + } + if (outOk) { + outOk = idx == length () ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_String::convertToUInt64 (uint64_t & outResult, + bool & outOk) const { + outResult = 0 ; + outOk = length () > 0 ; + int32_t idx = 0 ; + while ((idx < length ()) && outOk) { + const utf32 c = (*this) (idx COMMA_HERE) ; + idx ++ ; + const uint64_t r = outResult ; + outResult = outResult * 10 + (UNICODE_VALUE (c) - '0') ; + outOk = (UNICODE_VALUE (c) >= '0') && (UNICODE_VALUE (c) <= '9') && (r <= outResult) ; + } + if (outOk) { + outOk = idx == length () ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_String::convertToSInt32 (int32_t & outResult, + bool & outOk) const { + bool isPositive = true ; + int32_t idx = 0 ; + if (length () > 0) { + const utf32 c = (*this) (0 COMMA_HERE) ; + if (UNICODE_VALUE (c) == '-') { + isPositive = false ; + idx = 1 ; + }else if (UNICODE_VALUE (c) == '+') { + idx = 1 ; + } + } + uint32_t decimalUnsignedValue = 0 ; + outOk = length () > 0 ; + while ((idx < length ()) && outOk) { + const utf32 c = (*this) (idx COMMA_HERE) ; + idx ++ ; + const uint32_t r = decimalUnsignedValue ; + decimalUnsignedValue = decimalUnsignedValue * 10 + (UNICODE_VALUE (c) - '0') ; + outOk = r < decimalUnsignedValue ; + } + if (outOk) { + outOk = idx == length () ; + } + if (outOk) { + if (isPositive) { + outOk = decimalUnsignedValue <= (uint32_t) INT32_MAX ; + if (outOk) { + outResult = (int32_t) decimalUnsignedValue ; + } + }else{ + outOk = decimalUnsignedValue <= ((uint32_t) INT32_MAX) + 1 ; + if (outOk) { + outResult = - (int32_t) decimalUnsignedValue ; + } + } + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_String::convertToSInt64 (int64_t & outResult, + bool & outOk) const { + bool isPositive = true ; + int32_t idx = 0 ; + if (length () > 0) { + const utf32 c = (*this) (0 COMMA_HERE) ; + if (UNICODE_VALUE (c) == '-') { + isPositive = false ; + idx = 1 ; + }else if (UNICODE_VALUE (c) == '+') { + idx = 1 ; + } + } + uint64_t decimalUnsignedValue = 0 ; + outOk = length () > 0 ; + while ((idx < length ()) && outOk) { + const utf32 c = (*this) (idx COMMA_HERE) ; + idx ++ ; + const uint64_t r = decimalUnsignedValue ; + decimalUnsignedValue = decimalUnsignedValue * 10 + (UNICODE_VALUE (c) - '0') ; + outOk = r < decimalUnsignedValue ; + } + if (outOk) { + outOk = idx == length () ; + } + if (outOk) { + if (isPositive) { + outOk = decimalUnsignedValue <= (uint64_t) INT64_MAX ; + if (outOk) { + outResult = (int64_t) decimalUnsignedValue ; + } + }else{ + outOk = decimalUnsignedValue <= ((uint64_t) INT64_MAX) + 1 ; + if (outOk) { + outResult = - (int64_t) decimalUnsignedValue ; + } + } + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void C_String::convertToDouble (double & outDoubleValue, + bool & outOk) const { + outDoubleValue = 0.0 ; + int32_t idx = 0 ; +//--- Sign + bool positive = true ; + if (idx < length ()) { + const utf32 c = this->operator () (idx COMMA_HERE) ; + if (UNICODE_VALUE (c) == '-') { + positive = false ; + idx ++ ; + }else if (UNICODE_VALUE (c) == '+') { + idx ++ ; + } + } +//--- Mantissa + while ((idx < length ()) && isdigit ((int) UNICODE_VALUE (this->operator () (idx COMMA_HERE)))) { + outDoubleValue *= 10.0 ; + outDoubleValue += (double) (UNICODE_VALUE (this->operator () (idx COMMA_HERE)) - '0') ; + idx ++ ; + } +//--- Fractional part + double divisor = 1.0 ; + if ((idx < length ()) && (UNICODE_VALUE (this->operator () (idx COMMA_HERE)) == '.')) { // Dot + idx ++ ; + while ((idx < length ()) && isdigit ((int) UNICODE_VALUE (this->operator () (idx COMMA_HERE)))) { + divisor *= 10.0 ; + outDoubleValue *= 10.0 ; + outDoubleValue += (double) (UNICODE_VALUE (this->operator () (idx COMMA_HERE)) - '0') ; + idx ++ ; + } + } + outDoubleValue /= divisor ; +//--- Exponent ? + if (idx < length ()) { + switch (UNICODE_VALUE (this->operator () (idx COMMA_HERE))) { + case 'E' : case 'e' : case 'd' : case 'D' : { + idx ++ ; + //--- Exponent sign + bool exponentIsPositive = true ; + if (idx < length ()) { + const utf32 c = this->operator () (idx COMMA_HERE) ; + if (UNICODE_VALUE (c) == '-') { + exponentIsPositive = false ; + idx ++ ; + }else if (UNICODE_VALUE (c) == '+') { + idx ++ ; + } + } + double exponentValue = 0.0 ; + while ((idx < length ()) && isdigit ((int) UNICODE_VALUE (this->operator () (idx COMMA_HERE)))) { + exponentValue *= 10.0 ; + exponentValue += (double) (UNICODE_VALUE (this->operator () (idx COMMA_HERE)) - '0') ; + idx ++ ; + } + outDoubleValue *= ::pow (10.0, exponentIsPositive ? exponentValue : - exponentValue) ; + } + break ; + default : + break ; + } + } + if (!positive) { + outDoubleValue = - outDoubleValue ; + } +//--- Reached end of string ? + outOk = idx == length () ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_String C_String::identifierRepresentation (void) const { + C_String s ; + const int32_t receiver_length = length () ; + s.setCapacity ((uint32_t) receiver_length) ; + const utf32 * ptr = utf32String (HERE) ; + for (int32_t i=0 ; i> 12) & 15]) COMMA_HERE) ; + result.appendUnicodeCharacter (TO_UNICODE (digit [(inValue >> 8) & 15]) COMMA_HERE) ; + result.appendUnicodeCharacter (TO_UNICODE (digit [(inValue >> 4) & 15]) COMMA_HERE) ; + result.appendUnicodeCharacter (TO_UNICODE (digit [(inValue >> 0) & 15]) COMMA_HERE) ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +static C_String hex8 (const uint32_t inValue) { + C_String result = "" ; + result << hex4 (inValue >> 16) ; + result << hex4 (inValue >> 0) ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_String C_String::utf8RepresentationWithUnicodeEscaping (void) const { + C_String s ; + const int32_t receiver_length = length () ; + s.setCapacity ((uint32_t) receiver_length) ; + const utf32 * ptr = utf32String (HERE) ; + s.appendUnicodeCharacter ('\"' COMMA_HERE) ; + for (int32_t i=0 ; i components ; + componentsSeparatedByString ("_", components) ; + C_String result ; + outOk = true ; + for (int32_t i=0 ; i= '0') && (c <= '9')) { + codePoint += c - '0' ; + }else if ((c >= 'a') && (c <= 'f')) { + codePoint += c + 10 - 'a' ; + }else if ((c >= 'A') && (c <= 'F')) { + codePoint += c + 10 - 'A' ; + }else{ + outOk = false ; + } + } + result.appendUnicodeCharacter (codePoint COMMA_HERE) ; + } + } + return outOk ? result : "" ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_String C_String::HTMLRepresentation (void) const { + C_String result ; + for (int32_t i=0 ; ioperator () (i COMMA_HERE) ; + if (UNICODE_VALUE (c) == '&') { + result << "&" ; + }else if (UNICODE_VALUE (c) == '"') { + result << """ ; + }else if (UNICODE_VALUE (c) == '<') { + result << "<" ; + }else if (UNICODE_VALUE (c) == '>') { + result << ">" ; + }else{ + result.appendUnicodeCharacter (c COMMA_HERE) ; + } + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// S T R I N G C O M P A R E +// +//---------------------------------------------------------------------------------------------------------------------- + +int32_t C_String::compare (const char * const inCstring) const { + int32_t result = 0 ; + const utf32 * myStringPtr = utf32String (HERE) ; + if (inCstring == nullptr) { + result = 1 ; + }else if (myStringPtr == nullptr) { + result = -1 ; + }else{ + result = ::utf32_char_strcmp (myStringPtr, inCstring) ; // Never call strcmp with nullptr pointer(s) ! + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +int32_t C_String::compare (const C_String & inString) const { + int32_t result = 0 ; + const utf32 * myStringPtr = utf32String (HERE) ; + const utf32 * otherStringPtr = inString.utf32String (HERE) ; + if (myStringPtr == nullptr) { + result = 1 ; + }else if (otherStringPtr == nullptr) { + result = -1 ; + }else{ + result = ::utf32_strcmp (myStringPtr, otherStringPtr) ; // Never call strcmp with nullptr pointer(s) ! + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +int32_t C_String::compareStringByLength (const C_String & inString) const { + int32_t result ; + const utf32 * myStringPtr = utf32String (HERE) ; + const utf32 * otherStringPtr = inString.utf32String (HERE) ; + if (otherStringPtr == myStringPtr) { + result = 0 ; + }else if (otherStringPtr == nullptr) { + result = 1 ; + }else if (otherStringPtr == nullptr) { + result = -1 ; + }else{ + result = length () - inString.length () ; + if (result == 0) { + result = ::utf32_strcmp (myStringPtr, otherStringPtr) ; // Never call strcmp with nullptr pointer(s) ! + } + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +bool C_String::operator == (const C_String & inString) const { + return compareStringByLength (inString) == 0 ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +bool C_String::operator != (const C_String & inString) const { + return compareStringByLength (inString) != 0 ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// + O P E R A T O R +// +//---------------------------------------------------------------------------------------------------------------------- + +C_String C_String::operator + (const C_String & inOperand) const { + C_String s = *this ; + s << inOperand ; + return s ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_String C_String::operator + (const char * inOperand) const { + C_String s = *this ; + s.appendCString (inOperand) ; + return s ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// pathExtension +// +//---------------------------------------------------------------------------------------------------------------------- + +C_String C_String::pathExtension (void) const { + const utf32 * source = utf32String (HERE) ; + C_String result ; + int32_t receiver_length = length (); +//--- Suppress training '/' + while ((receiver_length > 1) && (UNICODE_VALUE (source [receiver_length - 1]) == '/')) { + receiver_length -- ; + } +//--- Search last '.' + bool found = false ; + int32_t lastOccurrenceIndex = receiver_length ; + while ((lastOccurrenceIndex > 0) && ! found) { + lastOccurrenceIndex -- ; + found = UNICODE_VALUE (source [lastOccurrenceIndex]) == '.' ; + } + if (found) { + if (lastOccurrenceIndex < (receiver_length - 1)) { + result.genericUnicodeArrayOutput (& source [lastOccurrenceIndex + 1], receiver_length - 1 - lastOccurrenceIndex) ; + } + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// stringByDeletingPathExtension +// +//---------------------------------------------------------------------------------------------------------------------- + +C_String C_String:: +stringByDeletingPathExtension (void) const { + const utf32 * source = utf32String (HERE) ; + C_String result ; + int32_t receiver_length = length (); +//--- Suppress training '/' + while ((receiver_length > 1) && (UNICODE_VALUE (source [receiver_length - 1]) == '/')) { + receiver_length -- ; + } +//--- Search last '.' + bool found = false ; + int32_t lastOccurrenceIndex = receiver_length ; + while ((lastOccurrenceIndex > 0) && ! found) { + lastOccurrenceIndex -- ; + found = UNICODE_VALUE (source [lastOccurrenceIndex]) == '.' ; + } + if (found) { + result.genericUnicodeArrayOutput (source, lastOccurrenceIndex) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// stringByDeletingLastPathComponent +// +//---------------------------------------------------------------------------------------------------------------------- + +C_String C_String:: +stringByDeletingLastPathComponent (void) const { + const utf32 * source = utf32String (HERE) ; + C_String result ; + int32_t receiver_length = length (); +//--- Suppress training '/' + while ((receiver_length > 1) && (UNICODE_VALUE (source [receiver_length - 1]) == '/')) { + receiver_length -- ; + } +//--- Search last '/' + bool found = false ; + int32_t lastOccurrenceIndex = receiver_length ; + while ((lastOccurrenceIndex > 0) && ! found) { + lastOccurrenceIndex -- ; + found = UNICODE_VALUE (source [lastOccurrenceIndex]) == '/' ; + } + if (found) { + result.genericUnicodeArrayOutput (source, lastOccurrenceIndex) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// stringByAppendingPathComponent +// +//---------------------------------------------------------------------------------------------------------------------- + +C_String C_String:: +stringByAppendingPathComponent (const C_String & inPathComponent) const { + C_String result = *this ; + if (result.length () == 0) { + result = inPathComponent ; + }else if (UNICODE_VALUE (result.lastCharacter (HERE)) != '/') { + result.appendUnicodeCharacter (TO_UNICODE ('/') COMMA_HERE) ; + result.appendString (inPathComponent) ; + }else{ + result.appendString (inPathComponent) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// lastPathComponent +// +//---------------------------------------------------------------------------------------------------------------------- + +C_String C_String:: +lastPathComponent (void) const { + const utf32 * source = utf32String (HERE) ; + C_String result ; + int32_t receiver_length = length (); +//--- Suppress training '/' + while ((receiver_length > 1) && (UNICODE_VALUE (source [receiver_length - 1]) == '/')) { + receiver_length -- ; + } +//--- Search last '/' + bool found = false ; + int32_t lastOccurrenceIndex = receiver_length ; + while ((lastOccurrenceIndex > 0) && ! found) { + lastOccurrenceIndex -- ; + found = UNICODE_VALUE (source [lastOccurrenceIndex]) == '/' ; + } + if (found) { + result.genericUnicodeArrayOutput (& source [lastOccurrenceIndex + 1], receiver_length - lastOccurrenceIndex - 1) ; + }else{ + result.genericUnicodeArrayOutput (source, receiver_length) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_String C_String::lastPathComponentWithoutExtension (void) const { + const C_String fileNameWithExtension = lastPathComponent () ; + return fileNameWithExtension.stringByDeletingPathExtension () ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// M D 5 +// +//---------------------------------------------------------------------------------------------------------------------- + +C_String C_String::md5 (void) const { + C_String result ; + uint8_t digest [16] ; + MD5_CTX context ; + MD5_Init (&context) ; + MD5_Update(&context, (uint8_t *) cString (HERE), (uint32_t) length ()) ; + MD5_Final (digest, &context); + char s [40] ; + for (uint32_t i=0 ; i<16 ; i++) { + snprintf (s, 40, "%02X", digest [i]) ; + result << s ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// S U B S T R I N G F R O M I N D E X +// +//---------------------------------------------------------------------------------------------------------------------- + +C_String C_String::subStringFromIndex (const int32_t inStartIndex) const { + C_String result ; + if (inStartIndex < length ()) { + result = subString (inStartIndex, length () - inStartIndex) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// R I G H T S U B S T R I N G +// +//---------------------------------------------------------------------------------------------------------------------- + +C_String C_String::rightSubString (const int32_t inLength) const { + C_String result ; + if (length () <= inLength) { + result = *this ; + }else{ + result = subString (length () - inLength, inLength) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// L E F T S U B S T R I N G +// +//---------------------------------------------------------------------------------------------------------------------- + +C_String C_String::leftSubString (const int32_t inLength) const { + C_String result ; + if (length () <= inLength) { + result = *this ; + }else{ + result = subString (0, inLength) ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// A S S I G N M E N T O P E R A T O R S +// +//---------------------------------------------------------------------------------------------------------------------- + +C_String & C_String::operator = (const char * inSource) { + setLengthToZero () ; + if (inSource != nullptr) { + genericCharArrayOutput (inSource, (int32_t) (strlen (inSource) & UINT32_MAX)) ; + } + return * this ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// S E T F R O M S T R I N G +// +//---------------------------------------------------------------------------------------------------------------------- + +void C_String::setFromCstring (const char * inCstring) { + setLengthToZero () ; + *this << inCstring ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +// X M L E S C A P E D S T R I N G +// +//---------------------------------------------------------------------------------------------------------------------- + +//--- Returns a string where ", ', <, > and & have been replaced by ", ', <, > and & +C_String C_String::XMLEscapedString (void) const { + C_String result ; + for (int32_t i=0 ; ioperator () (i COMMA_HERE) ; + switch (UNICODE_VALUE (c)) { + case '"' : result << """ ; break ; + case '\'' : result << "'" ; break ; + case '<' : result << "<" ; break ; + case '>' : result << ">" ; break ; + case '&' : result << "&" ; break ; + case '\n' : result << " " ; break ; + default : result.appendUnicodeCharacter (c COMMA_HERE) ; break; + } + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_String C_String::stringByStandardizingPath (void) const { + #ifdef COMPILE_FOR_WINDOWS + C_String path = stringByReplacingCharacterByString (TO_UNICODE ('\\'), "/") ; + #else + C_String path = * this ; + #endif + if (path.length () == 0) { + path << "." ; + }else{ + //#define TRACE_stringByStandardizingPath + //--- Decompose path + TC_UniqueArray componentArray ; + path.componentsSeparatedByString ("/", componentArray) ; + #ifdef TRACE_stringByStandardizingPath + printf ("----- Decomposition of '%s':\n", path.cString (HERE)) ; + for (int32_t i=0 ; i distance (myLength + 1, operandLength + 1) ; + + for (int32_t i=0 ; i<=myLength ; i++) { + distance.setObjectAtIndexes ((uint32_t) i, i, 0 COMMA_HERE) ; + } + + for (int32_t j=0 ; j<=operandLength ; j++) { + distance.setObjectAtIndexes ((uint32_t) j, 0, j COMMA_HERE) ; + } + + for (int32_t j=1 ; j<=operandLength ; j++) { + for (int32_t i=1 ; i<=myLength ; i++) { + if (UNICODE_VALUE (this->operator () (i-1 COMMA_HERE)) == UNICODE_VALUE (inOperand (j-1 COMMA_HERE))) { + distance (i, j COMMA_HERE) = distance (i-1, j-1 COMMA_HERE) ; // no operation required + }else{ + distance (i, j COMMA_HERE) = minimum (minimum ( + distance (i-1, j COMMA_HERE) + 1, // a deletion + distance (i, j-1 COMMA_HERE) + 1), // an insertion + distance (i-1, j-1 COMMA_HERE) + 1 // a substitution + ) ; + } + } + } + return distance (myLength, operandLength COMMA_HERE) ; +} + +/* int LevenshteinDistance(char s[1..m], char t[1..n]) +{ + // for all i and j, d[i,j] will hold the Levenshtein distance between + // the first i characters of s and the first j characters of t; + // note that d has (m+1)x(n+1) values + declare int d[0..m, 0..n] + + for i from 0 to m + d[i, 0] := i // the distance of any first string to an empty second string + for j from 0 to n + d[0, j] := j // the distance of any second string to an empty first string + + for j from 1 to n + { + for i from 1 to m + { + if s[i] = t[j] then + d[i, j] := d[i-1, j-1] // no operation required + else + d[i, j] := minimum + ( + d[i-1, j] + 1, // a deletion + d[i, j-1] + 1, // an insertion + d[i-1, j-1] + 1 // a substitution + ) + } + } + + return d[m,n] +} */ + +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/strings/C_String.h b/goil/build/libpm/strings/C_String.h new file mode 100644 index 000000000..d359cc3cb --- /dev/null +++ b/goil/build/libpm/strings/C_String.h @@ -0,0 +1,381 @@ +//---------------------------------------------------------------------------------------------------------------------- +// +// C_String : an implementation of fully dynamic character string +// +// This file is part of libpm library +// +// Copyright (C) 1997, ..., 2020 Pierre Molinaro. +// +// e-mail : pierre@pcmolinaro.name +// +// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied +// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +//---------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//---------------------------------------------------------------------------------------------------------------------- + +#include "utilities/M_SourceLocation.h" +#include "generic-arraies/TC_UniqueArray.h" +#include "utilities/M_machine.h" +#include "streams/C_ConsoleOut.h" +#include "utilities/C_Data.h" +#include "utilities/TF_Swap.h" +#include "time/C_DateTime.h" + +//---------------------------------------------------------------------------------------------------------------------- + +#include +#include +#include + +//---------------------------------------------------------------------------------------------------------------------- + +#ifndef COMPILE_FOR_WINDOWS + #error COMPILE_FOR_WINDOWS is undefined +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +#if COMPILE_FOR_WINDOWS == 0 + #include + #include +#endif + +//---------------------------------------------------------------------------------------------------------------------- + +typedef enum { + kUTF_8_FileEncoding, + kUTF_16BE_FileEncoding, + kUTF_16LE_FileEncoding, + kUTF_32BE_FileEncoding, + kUTF_32LE_FileEncoding, + kISO_8859_1_FileEncoding, + kISO_8859_10_FileEncoding, + kISO_8859_11_FileEncoding, + kISO_8859_13_FileEncoding, + kISO_8859_14_FileEncoding, + kISO_8859_15_FileEncoding, + kISO_8859_16_FileEncoding, + kISO_8859_2_FileEncoding, + kISO_8859_3_FileEncoding, + kISO_8859_4_FileEncoding, + kISO_8859_5_FileEncoding, + kISO_8859_6_FileEncoding, + kISO_8859_7_FileEncoding, + kISO_8859_8_FileEncoding, + kISO_8859_9_FileEncoding, + kCP1252_FileEncoding, + kCP437_DOS_FileEncoding, + kMacRoman_FileEncoding +} PMTextFileEncoding ; + +//---------------------------------------------------------------------------------------------------------------------- +// +// Fully dynamic character string : C_String +// +//---------------------------------------------------------------------------------------------------------------------- + +class C_String : public AC_OutputStream { +//--- Constructors + public: C_String (void) ; // Empty string + public: C_String (const char * chaineC) ; // From a C string + public: C_String (const utf32 * inUTF32String) ; + public: static C_String spaces (const int32_t inSpaceCount) ; + +//--- Virtual destructor + public: virtual ~C_String (void) ; + +//--- Handling copy + public: C_String (const C_String & inSource) ; + public: C_String & operator = (const C_String & inString) ; + +//--- Get string from stdin + public: static C_String newWithStdIn (void) ; + +//--- Copy from a C string + public: C_String & operator = (const char * inSource) ; + +//--- Set capacity (does nothing if length >= inCapacity) + public: void setCapacity (const uint32_t inCapacity) ; + +//--- Suppress 'inLength' characters from 'inLocation' index + public: void suppress (const int32_t inLocation, const int32_t inLength COMMA_LOCATION_ARGS) ; + +//--- Insert 'inChar' character at 'inIndex' index + public: void insertCharacterAtIndex (const utf32 inChar, const int32_t inIndex COMMA_LOCATION_ARGS) ; + +//--- Init from a string + public: void setFromCstring (const char * inCstring) ; + public: void setFromString (const C_String & inString) ; + +//--- Insulate + public: void insulate (void) const ; + +//--- hash code + public: uint32_t hash (void) const ; + +//--- Set length to 0 ; do not release memory + public: void setLengthToZero (void) ; + +//--- Release memory + public: void releaseString (void) ; + +//--- Get dynamic array allocated size + public: uint32_t capacity (void) const ; + +//--- Get current column index (starting from 0) + public: uint32_t currentColumn (void) const ; + +//--- Append space character until given column + public: void appendSpacesUntilColumn (const uint32_t inColumn) ; + +//--- Get a character + public: utf32 operator () (const int32_t inIndex COMMA_LOCATION_ARGS) const ; + public: utf32 readCharOrNul (const int32_t inIndex COMMA_LOCATION_ARGS) const ; + +//--- Set a character + public: void setUnicodeCharacterAtIndex (const utf32 inCharacter, const int32_t inIndex COMMA_LOCATION_ARGS) ; + +//--- Contains a character + public: bool containsCharacter (const utf32 inCharacter) const ; + public: bool containsCharacterInRange (const utf32 inFirstCharacter, const utf32 inLastCharacter) const ; + +//--- Get last character + public: utf32 lastCharacter (LOCATION_ARGS) const ; + +//--- Get string length + public: int32_t length (void) const ; + +//--- Get a representation that contains only letters, digits or '_', so that it is a valid C identifier + public: C_String identifierRepresentation (void) const ; // Preserves ASCII letters + public: C_String nameRepresentation (void) const ; // Preserves ASCII letters, digits and '_' + public: C_String fileNameRepresentation (void) const ; // Preserves ASCII lowercase letters, digits and '_' + public: C_String assemblerRepresentation (void) const ; // Preserves ASCII letters, digits, '_', '.' and '$' + public: C_String utf8RepresentationWithUnicodeEscaping (void) const ; // \uXXXX, \UXXXXXXXX + public: C_String decodedStringFromRepresentation (bool & outOk) const ; // Reverses the above representations + +//--- Get a representation enclosing by a given character +// - escaped by a back slash +// - back slash is also escaped by back slash + public: C_String utf8RepresentationEnclosedWithin (const utf32 inCharacter, const bool inEscapeQuestionMark) const ; + +//--- Get an HTML representation (&, <, > and " are escaped using HTML escape sequence) + public: C_String HTMLRepresentation (void) const ; + +//--- Get MD5 value + public: C_String md5 (void) const ; + +//--- Get a string pointer + public: const char * cString (LOCATION_ARGS) const ; + +//--- Get a UTF32 string pointer + public: const utf32 * utf32String (LOCATION_ARGS) const ; + +//--- Compare with an other string + public: int32_t compare (const char * const inCstring) const ; + public: int32_t compare (const C_String & inString) const ; + public: int32_t compareStringByLength (const C_String & inString) const ; + public: bool operator == (const C_String & inString) const ; + public: bool operator != (const C_String & inString) const ; + +//--- Distance from an other string + public: uint32_t LevenshteinDistanceFromString (const C_String & inOtherString) const ; + +//--- Get lines array + public: void linesArray (TC_UniqueArray & outStringArray) const ; + +//--- Get line from index + public: class LineColumnContents lineAndColumnFromIndex (const int32_t inIndex) const ; + +//--- Get index from line number and column number + public: int32_t indexFromLineAndColumn (const int32_t inLineNumber, + const int32_t inColumnNumber) const ; + +//--- Subsitute 'inCharacter' by 'inString' ; if the character occurs twice, suppress one + public: C_String stringByReplacingCharacterByString (const utf32 inCharacter, + const C_String & inString) const ; + +//--- Substitute 'inSearchedString' by 'inReplacementString' + public: C_String stringByReplacingStringByString (const C_String inSearchedString, + const C_String inReplacementString, + uint32_t & outReplacementCount, + bool & outOk) const ; + + public: C_String stringByReplacingStringByString (const C_String inSearchedString, + const C_String inReplacementString) const ; + +//--- Get character last occurrence (returns -1 if not found) + public: int32_t lastOccurrenceIndexOfChar (const utf32 inChar) const ; + +//--- Trim white spaces ('\n' or ' '): +// - at the beginning of the string, +// - within the string (replace a sequence of white spaces with a single space), +// - at end at the end of string. + public: C_String stringByTrimmingSeparators (void) const ; + +//--- Get a sub string + public: C_String subString (const int32_t inStartIndex, + const int32_t inLength) const ; + +//--- Get a sub string + public: C_String leftSubString (const int32_t inLength) const ; + public: C_String rightSubString (const int32_t inLength) const ; + public: C_String subStringFromIndex (const int32_t inIndex) const ; + +//--- String concatenation + public: C_String operator + (const C_String & inOperand) const ; + public: C_String operator + (const char * inOperand) const ; + +//--- Returns a string where ", ', <, > and & have been replaced by ", ', <, > and & + public: C_String XMLEscapedString (void) const ; + +//--- Returns an array containing substrings from the receiver that have been divided by separator + public: void componentsSeparatedByString (const C_String & inSeparator, + TC_UniqueArray & outResult) const ; + +//--- Recompose a string from components + public: static C_String componentsJoinedByString (const TC_UniqueArray & inComponentArray, + const C_String & inSeparator) ; + +//--- Interprets the receiver as a path, returning the receiver's extension + public: C_String pathExtension (void) const ; + +//--- Returns a new string made by appending inPathComponent to the receiver, preceded if necessary by a path separator. + public: C_String stringByAppendingPathComponent (const C_String & inPathComponent) const ; + +//--- Returns a string made by deleting the last path component (if any, and only the last) +// from the receiver. + public: C_String stringByDeletingLastPathComponent (void) const ; + +//--- Returns a string made by deleting the extension (if any, and only the last) +// from the receiver. + public: C_String stringByDeletingPathExtension (void) const ; + +//--- Returns a string made by deleting from the receiver all characters from inSearchedString + public: C_String stringByDeletingTailFromString (const C_String & inSearchedString) const ; + +//--- Returns the last path component of the receiver. + public: C_String lastPathComponent (void) const ; + public: C_String lastPathComponentWithoutExtension (void) const ; + +//--- Contains an other string ? + public: bool containsString (const C_String & inSearchedString) const ; + +//--- Return string, with first letter in upper case + public: C_String stringByCapitalizingFirstCharacter (void) const ; + +//--- Return string, with all letters in upper case + public: C_String uppercaseString (void) const ; + +//--- Return string, with all letters in lower case + public: C_String lowercaseString (void) const ; + +//--- Check if the receiver ends with inString + public: bool endsWithString (const C_String & inString) const ; + +//--- Return reversed string + public: C_String reversedString (void) const ; + public: void reverseStringInPlace (void) ; + +//--- Return unsigned integer value + public: bool isUnsignedInteger (void) const ; + public: uint32_t unsignedIntegerValue (void) const ; + +//--- Get current column index (starting from 0) + public: static C_String stringWithRepeatedCharacter (const utf32 inRepeatedCharacter, const uint32_t inCount) ; + +//--- Standardizing Path +// - first, convert Windows Path to Unix Path (on windows only) +// - Reduce empty components and references to the current directory (that is, the sequences "//" and "/./") to single path separators + public: C_String stringByStandardizingPath (void) const ; + +//--- Convert string to double + public: void convertToDouble (double & outDoubleValue, + bool & outOk) const ; + + public: void convertToUInt32 (uint32_t & outResult, + bool & outOk) const ; + + public: void convertToSInt32 (int32_t & outResult, + bool & outOk) const ; + + public: void convertToUInt64 (uint64_t & outResult, + bool & outOk) const ; + + public: void convertToSInt64 (int64_t & outResult, + bool & outOk) const ; + +//---------------- Virtual output stream methods -------------- + protected: virtual void performActualCharArrayOutput (const char * inCharArray, + const int32_t inArrayCount) ; + + protected: virtual void performActualUnicodeArrayOutput (const utf32 * inCharArray, + const int32_t inArrayCount) ; + +//--- Private (internal) methods + private: void insulateEmbeddedString (const uint32_t inNewCapacity) const ; + + #ifndef DO_NOT_GENERATE_CHECKINGS + private: void checkString (LOCATION_ARGS) const ; + #endif + + public: static bool parseUTF8 (const C_Data & inDataString, + const int32_t inOffset, + C_String & outString) ; + +//---------------- Private attributes ------------- + private: mutable class cEmbeddedString * mEmbeddedString ; +} ; + +//---------------------------------------------------------------------------------------------------------------------- +// +// Exception generated by readTextFile method when a read error occurs +// +//---------------------------------------------------------------------------------------------------------------------- + +const size_t kTextReadExceptionStringMaxLength = 1000 ; + +class C_TextReadException : public::std::exception { + public: C_TextReadException (const char * inFileName) ; + + private: char mErrorMessage [kTextReadExceptionStringMaxLength + 1] ; + + public: virtual const char * what (void) const throw () ; +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +class LineColumnContents final { + private: int32_t mLineNumber ; + private: int32_t mColumnNumber ; + private: C_String mLineContents ; + + public: LineColumnContents (void) : + mLineNumber (0), + mColumnNumber (0), + mLineContents () { + } + + public: LineColumnContents (const int32_t inLineNumber, + const int32_t inColumnNumber, + const C_String inLineContents) : + mLineNumber (inLineNumber), + mColumnNumber (inColumnNumber), + mLineContents (inLineContents) { + } + + public: int32_t lineNumber (void) const { return mLineNumber ; } + public: int32_t columnNumber (void) const { return mColumnNumber ; } + public: C_String lineContents (void) const { return mLineContents ; } + +} ; + +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/strings/HTMLString.cpp b/goil/build/libpm/strings/HTMLString.cpp deleted file mode 100644 index 534cde55f..000000000 --- a/goil/build/libpm/strings/HTMLString.cpp +++ /dev/null @@ -1,138 +0,0 @@ -//-------------------------------------------------------------------------------------------------- -// -// String : an implementation of fully dynamic character string -// -// This file is part of libpm library -// -// Copyright (C) 1997, ..., 2023 Pierre Molinaro. -// -// e-mail : pierre@pcmolinaro.name -// -// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General -// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) -// any later version. -// -// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied -// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -// more details. -// -//-------------------------------------------------------------------------------------------------- - -#include "HTMLString.h" - -//-------------------------------------------------------------------------------------------------- - -#include - -//-------------------------------------------------------------------------------------------------- -// -// C O N S T R U C T O R S -// -//-------------------------------------------------------------------------------------------------- - -HTMLString::HTMLString (void) : -String () { -} - - -//-------------------------------------------------------------------------------------------------- - -void HTMLString::writeStartCode (const String & inWindowTitle, - const String & inCSSFileName, - const String & inCSSContents) { - addRawData ("\n" - "" - "\n" - "\n" - "\n") ; - appendString (inWindowTitle) ; - addRawData ("") ; - if (inCSSFileName.length () > 0) { - addRawData ("") ; - } - if (inCSSContents.length () > 0) { - addRawData ("") ; - } - addRawData ("" - "
\n") ; -} - -//-------------------------------------------------------------------------------------------------- - -void HTMLString::writeEndCode (void) { - addRawData ("
\n") ; -} - -//-------------------------------------------------------------------------------------------------- - -void HTMLString::addRawData (const char * in_Cstring) { - super::handleAppendUTF8Array (in_Cstring, int32_t (strlen (in_Cstring))) ; -} - -//-------------------------------------------------------------------------------------------------- -// Write a character string into the file -// Performs HTML character translation (i.e. '<' --> '<', ...) -//-------------------------------------------------------------------------------------------------- - -void HTMLString::handleAppendUTF8Array (const char * inCharArray, - const int32_t inArrayCount) { - for (int32_t i=0 ; i' : - super::handleAppendUTF8Array (">", 4) ; - break ; - case '&' : - super::handleAppendUTF8Array ("&", 5) ; - break ; - default : - super::handleAppendUTF8Array (& c, 1) ; - break ; - } - } -} - -//-------------------------------------------------------------------------------------------------- - -void HTMLString::handleAppendCharacter (const utf32 inCharacter) { - switch (UNICODE_VALUE (inCharacter)) { - case '<' : - super::handleAppendUTF8Array ("<", 4) ; - break ; - case '>' : - super::handleAppendUTF8Array (">", 4) ; - break ; - case '&' : - super::handleAppendUTF8Array ("&", 5) ; - break ; - default : - super::handleAppendCharacter (inCharacter) ; - break ; - } -} - -//-------------------------------------------------------------------------------------------------- -// Comments as a table -//-------------------------------------------------------------------------------------------------- - -void HTMLString::appendTitleComment (const String & inCommentString, - const char * inTableStyleClass) { - addRawData ("\n") ; - appendString (inCommentString) ; - addRawData ("\n\n") ; -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/strings/HTMLString.h b/goil/build/libpm/strings/HTMLString.h deleted file mode 100644 index 81abaac9b..000000000 --- a/goil/build/libpm/strings/HTMLString.h +++ /dev/null @@ -1,62 +0,0 @@ -//-------------------------------------------------------------------------------------------------- -// -// HTMLString : generating HTML text -// -// This file is part of libpm library -// -// Copyright (C) 2014, ..., 2024 Pierre Molinaro. -// -// e-mail : pierre@pcmolinaro.name -// -// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General -// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) -// any later version. -// -// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied -// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -// more details. -// -//-------------------------------------------------------------------------------------------------- - -#pragma once - -//-------------------------------------------------------------------------------------------------- - -#include "String-class.h" - -//-------------------------------------------------------------------------------------------------- -// -// Fully dynamic character string : String -// -//-------------------------------------------------------------------------------------------------- - -class HTMLString : public String { -//--- Constructors - public: HTMLString (void) ; - -//--- Output data, without HTML formatting - public: void addRawData (const char * inCString) ; - -//--- General stream methods - protected: virtual void handleAppendUTF8Array (const char * inCharArray, - const int32_t inArrayCount) ; - - protected: virtual void handleAppendCharacter (const utf32 inCharacter) ; - -//--- Method for writing a HTML table - public: void appendTitleComment (const String & inCommentString, - const char * inTableStyleClass) ; - -//--- Write start code - public: void writeStartCode (const String & inWindowTitle, - const String & inCSSFileName, - const String & inCSSContents) ; - -//--- Write end code - public: void writeEndCode (void) ; - -//--- Private attributes - private: typedef String super ; -} ; - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/strings/String-class-getters.cpp b/goil/build/libpm/strings/String-class-getters.cpp deleted file mode 100644 index 7bb746b89..000000000 --- a/goil/build/libpm/strings/String-class-getters.cpp +++ /dev/null @@ -1,1276 +0,0 @@ -//-------------------------------------------------------------------------------------------------- -// -// String : an implementation of fully dynamic character string -// -// This file is part of libpm library -// -// Copyright (C) 1997, ..., 2024 Pierre Molinaro. -// -// e-mail : pierre@pcmolinaro.name -// -// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General -// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) -// any later version. -// -// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied -// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -// more details. -// -//-------------------------------------------------------------------------------------------------- - -#include "MF_MemoryControl.h" -#include "md5.h" -#include "SHA256.h" -#include "SharedObject.h" -#include "unicode_character_cpp.h" -#include "TC_UniqueArray2.h" - -//-------------------------------------------------------------------------------------------------- - -#include -#include -#include -#include - -//-------------------------------------------------------------------------------------------------- - -#ifndef COMPILE_FOR_WINDOWS - #error COMPILE_FOR_WINDOWS is undefined -#endif - -//-------------------------------------------------------------------------------------------------- - -#if COMPILE_FOR_WINDOWS == 1 - #include -#endif - -#if COMPILE_FOR_WINDOWS == 0 - #include -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Getters -#endif - -//-------------------------------------------------------------------------------------------------- - -LineColumnContents String::lineAndColumnFromIndex (const int32_t inIndex) const { - LineColumnContents result ; - const int32_t receiverLength = length () ; - if (inIndex < receiverLength) { - int32_t lineNumber = 0 ; - int32_t startOfLineIndex = 0 ; - int32_t idx = 0 ; - bool parseLine = true ; - while ((idx < receiverLength) && parseLine) { - while ((idx < receiverLength) && parseLine) { - parseLine = UNICODE_VALUE (charAtIndex (idx COMMA_HERE)) != '\n' ; - idx += parseLine ; - } - if (idx < inIndex) { - parseLine = true ; - idx ++ ; // Pass '\n' - startOfLineIndex = idx ; - lineNumber ++ ; - } - } - //--- - const int32_t columnNumber = inIndex - startOfLineIndex ; - const String lineContents = subString (startOfLineIndex, idx - startOfLineIndex) ; - result = LineColumnContents (lineNumber, columnNumber, lineContents) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -int32_t String::indexFromLineAndColumn (const int32_t inLineNumber, - const int32_t inColumnNumber) const { - int32_t idx = 0 ; - int32_t line = 1 ; - while (line < inLineNumber) { - while ((idx < length ()) && (UNICODE_VALUE (charAtIndex (idx COMMA_HERE)) != '\n')) { - idx += 1 ; - } - line += 1 ; - } - return idx + inColumnNumber ; -} - -//-------------------------------------------------------------------------------------------------- -// containsString -//-------------------------------------------------------------------------------------------------- - -bool String::containsString (const String & inSearchedString) const { - const int32_t searchedStringLength = inSearchedString.length () ; - bool contains = searchedStringLength == 0 ; - if (!contains) { - const int32_t sourceLength = length () ; - if (sourceLength != 0) { - int32_t searchedStringIdx = 0 ; - for (int32_t i = 0 ; (i < sourceLength) && !contains ; i++) { - const utf32 c = charAtIndex (i COMMA_HERE) ; - if (c == inSearchedString.charAtIndex (searchedStringIdx COMMA_HERE)) { - searchedStringIdx += 1 ; - contains = searchedStringIdx == searchedStringLength ; - }else{ - searchedStringIdx = 0 ; - } - } - } - } - return contains ; -} - -//-------------------------------------------------------------------------------------------------- -// componentsSeparatedByString -//-------------------------------------------------------------------------------------------------- - -void String::componentsSeparatedByString (const String & inSeparatorString, - TC_UniqueArray & outResult) const { - outResult.removeAllKeepingCapacity () ; - const int32_t sourceLength = length () ; - const int32_t splitStringLength = inSeparatorString.length () ; - if ((sourceLength == 0) || (splitStringLength == 0)) { - outResult.appendObject (String ()) ; - }else{ - int32_t splitStringIndex = 0 ; - String s ; - for (int32_t i = 0 ; i < sourceLength ; i++) { - const utf32 c = charAtIndex (i COMMA_HERE) ; - if (c == inSeparatorString.charAtIndex (splitStringIndex COMMA_HERE)) { - splitStringIndex += 1 ; - if (splitStringIndex == splitStringLength) { - outResult.appendObject (s) ; - s.removeAll () ; - splitStringIndex = 0 ; - } - }else{ - for (int32_t j = 0 ; j <= splitStringIndex ; j++) { - s.appendChar (charAtIndex (i + j - splitStringIndex COMMA_HERE)) ; - } - splitStringIndex = 0 ; - } - } - outResult.appendObject (s) ; - } -} - -//-------------------------------------------------------------------------------------------------- -// componentsJoinedByString -//-------------------------------------------------------------------------------------------------- - -String String::componentsJoinedByString (const TC_UniqueArray & inComponentArray, - const String & inSeparator) { - String result ; - if (inComponentArray.count () > 0) { - result.appendString (inComponentArray (0 COMMA_HERE)) ; - for (int32_t i=1 ; i= 0 ; - for (int32_t i=0 ; (i 0) && notFound) { - result -- ; - notFound = UNICODE_VALUE (charAtIndex (result COMMA_HERE)) != UNICODE_VALUE (inChar) ; - } - if (notFound) { - result = -1 ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -String String::subString (const int32_t inStartIndex, - const int32_t inLength) const { - String s ; - if (inLength > 0) { - int32_t last = inStartIndex + inLength ; - const int32_t receiver_length = length () ; - if (last > receiver_length) { - last = receiver_length ; - } - for (int32_t i=inStartIndex ; i 0) { - s.appendChar (unicodeToUpper (charAtIndex (0 COMMA_HERE))) ; - for (int32_t i=1 ; i 0 ; - for (int32_t i=0 ; (i < length ()) && ok ; i++) { - const uint32_t c = UNICODE_VALUE (charAtIndex (i COMMA_HERE)) ; - ok = (c >= '0') && (c <= '9') ; - } - return ok ; -} - -//-------------------------------------------------------------------------------------------------- - -uint32_t String::unsignedIntegerValue (void) const { - uint32_t result = 0 ; - bool ok = true ; - for (int32_t i=0 ; (i < length ()) && ok ; i++) { - const uint32_t c = UNICODE_VALUE (charAtIndex (i COMMA_HERE)) ; - ok = (c >= '0') && (c <= '9') ; - if (ok) { - result *= 10 ; - result += c - '0' ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -uint32_t String::currentColumn (void) const { - uint32_t result = 0 ; - bool found = false ; - const int32_t receiver_length = length () ; - for (int32_t i=receiver_length-1 ; (i>=0) && ! found ; i--) { - found = UNICODE_VALUE (charAtIndex (i COMMA_HERE)) == '\n' ; - if (! found) { - result ++ ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -void String::appendSpacesUntilColumn (const uint32_t inColumn) { - for (uint32_t i=currentColumn () ; i 0 ; - int32_t idx = 0 ; - while ((idx < length ()) && outOk) { - const utf32 c = charAtIndex (idx COMMA_HERE) ; - idx ++ ; - const uint32_t r = outResult ; - outResult = outResult * 10 + (UNICODE_VALUE (c) - '0') ; - outOk = (UNICODE_VALUE (c) >= '0') && (UNICODE_VALUE (c) <= '9') && (r <= outResult) ; - } - if (outOk) { - outOk = idx == length () ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void String::convertToUInt64 (uint64_t & outResult, - bool & outOk) const { - outResult = 0 ; - outOk = length () > 0 ; - int32_t idx = 0 ; - while ((idx < length ()) && outOk) { - const utf32 c = charAtIndex (idx COMMA_HERE) ; - idx ++ ; - const uint64_t r = outResult ; - outResult = outResult * 10 + (UNICODE_VALUE (c) - '0') ; - outOk = (UNICODE_VALUE (c) >= '0') && (UNICODE_VALUE (c) <= '9') && (r <= outResult) ; - } - if (outOk) { - outOk = idx == length () ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void String::convertToSInt32 (int32_t & outResult, - bool & outOk) const { - bool isPositive = true ; - int32_t idx = 0 ; - if (length () > 0) { - const utf32 c = charAtIndex (0 COMMA_HERE) ; - if (UNICODE_VALUE (c) == '-') { - isPositive = false ; - idx = 1 ; - }else if (UNICODE_VALUE (c) == '+') { - idx = 1 ; - } - } - uint32_t decimalUnsignedValue = 0 ; - outOk = length () > 0 ; - while ((idx < length ()) && outOk) { - const utf32 c = charAtIndex (idx COMMA_HERE) ; - idx ++ ; - const uint32_t r = decimalUnsignedValue ; - decimalUnsignedValue = decimalUnsignedValue * 10 + (UNICODE_VALUE (c) - '0') ; - outOk = r < decimalUnsignedValue ; - } - if (outOk) { - outOk = idx == length () ; - } - if (outOk) { - if (isPositive) { - outOk = decimalUnsignedValue <= (uint32_t) INT32_MAX ; - if (outOk) { - outResult = (int32_t) decimalUnsignedValue ; - } - }else{ - outOk = decimalUnsignedValue <= ((uint32_t) INT32_MAX) + 1 ; - if (outOk) { - outResult = - (int32_t) decimalUnsignedValue ; - } - } - } -} - -//-------------------------------------------------------------------------------------------------- - -void String::convertToSInt64 (int64_t & outResult, - bool & outOk) const { - bool isPositive = true ; - int32_t idx = 0 ; - if (length () > 0) { - const utf32 c = charAtIndex (0 COMMA_HERE) ; - if (UNICODE_VALUE (c) == '-') { - isPositive = false ; - idx = 1 ; - }else if (UNICODE_VALUE (c) == '+') { - idx = 1 ; - } - } - uint64_t decimalUnsignedValue = 0 ; - outOk = length () > 0 ; - while ((idx < length ()) && outOk) { - const utf32 c = charAtIndex (idx COMMA_HERE) ; - idx ++ ; - const uint64_t r = decimalUnsignedValue ; - decimalUnsignedValue = decimalUnsignedValue * 10 + (UNICODE_VALUE (c) - '0') ; - outOk = r < decimalUnsignedValue ; - } - if (outOk) { - outOk = idx == length () ; - } - if (outOk) { - if (isPositive) { - outOk = decimalUnsignedValue <= (uint64_t) INT64_MAX ; - if (outOk) { - outResult = (int64_t) decimalUnsignedValue ; - } - }else{ - outOk = decimalUnsignedValue <= ((uint64_t) INT64_MAX) + 1 ; - if (outOk) { - outResult = - (int64_t) decimalUnsignedValue ; - } - } - } -} - -//-------------------------------------------------------------------------------------------------- - -void String::convertToDouble (double & outDoubleValue, - bool & outOk) const { - outDoubleValue = 0.0 ; - int32_t idx = 0 ; -//--- Sign - bool positive = true ; - if (idx < length ()) { - const utf32 c = charAtIndex (idx COMMA_HERE) ; - if (UNICODE_VALUE (c) == '-') { - positive = false ; - idx ++ ; - }else if (UNICODE_VALUE (c) == '+') { - idx ++ ; - } - } -//--- Mantissa - while ((idx < length ()) && isdigit ((int) UNICODE_VALUE (charAtIndex (idx COMMA_HERE)))) { - outDoubleValue *= 10.0 ; - outDoubleValue += (double) (UNICODE_VALUE (charAtIndex (idx COMMA_HERE)) - '0') ; - idx ++ ; - } -//--- Fractional part - double divisor = 1.0 ; - if ((idx < length ()) && (UNICODE_VALUE (charAtIndex (idx COMMA_HERE)) == '.')) { // Dot - idx ++ ; - while ((idx < length ()) && isdigit ((int) UNICODE_VALUE (charAtIndex (idx COMMA_HERE)))) { - divisor *= 10.0 ; - outDoubleValue *= 10.0 ; - outDoubleValue += (double) (UNICODE_VALUE (charAtIndex (idx COMMA_HERE)) - '0') ; - idx ++ ; - } - } - outDoubleValue /= divisor ; -//--- Exponent ? - if (idx < length ()) { - switch (UNICODE_VALUE (charAtIndex (idx COMMA_HERE))) { - case 'E' : case 'e' : case 'd' : case 'D' : { - idx ++ ; - //--- Exponent sign - bool exponentIsPositive = true ; - if (idx < length ()) { - const utf32 c = charAtIndex (idx COMMA_HERE) ; - if (UNICODE_VALUE (c) == '-') { - exponentIsPositive = false ; - idx ++ ; - }else if (UNICODE_VALUE (c) == '+') { - idx ++ ; - } - } - double exponentValue = 0.0 ; - while ((idx < length ()) && isdigit ((int) UNICODE_VALUE (charAtIndex (idx COMMA_HERE)))) { - exponentValue *= 10.0 ; - exponentValue += (double) (UNICODE_VALUE (charAtIndex (idx COMMA_HERE)) - '0') ; - idx ++ ; - } - outDoubleValue *= ::pow (10.0, exponentIsPositive ? exponentValue : - exponentValue) ; - } - break ; - default : - break ; - } - } - if (!positive) { - outDoubleValue = - outDoubleValue ; - } -//--- Reached end of string ? - outOk = idx == length () ; -} - -//-------------------------------------------------------------------------------------------------- - -String String::identifierRepresentation (void) const { - String s ; - const int32_t receiver_length = length () ; - s.setCapacity (receiver_length) ; - for (int32_t i=0 ; i> 12) & 15])) ; - result.appendChar (TO_UNICODE (digit [(inValue >> 8) & 15])) ; - result.appendChar (TO_UNICODE (digit [(inValue >> 4) & 15])) ; - result.appendChar (TO_UNICODE (digit [(inValue >> 0) & 15])) ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -static String hex8 (const uint32_t inValue) { - String result = "" ; - result.appendString (hex4 (inValue >> 16)) ; - result.appendString (hex4 (inValue >> 0)) ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -String String::utf8RepresentationWithUnicodeEscaping (void) const { - String s ; - const int32_t receiver_length = length () ; - s.setCapacity (receiver_length) ; - s.appendChar ('\"') ; - for (int32_t i=0 ; i components ; - componentsSeparatedByString ("_", components) ; - String result ; - outOk = true ; - for (int32_t i=0 ; i= '0') && (c <= '9')) { - codePoint += c - '0' ; - }else if ((c >= 'a') && (c <= 'f')) { - codePoint += c + 10 - 'a' ; - }else if ((c >= 'A') && (c <= 'F')) { - codePoint += c + 10 - 'A' ; - }else{ - outOk = false ; - } - } - result.appendChar (codePoint) ; - } - } - return outOk ? result : "" ; -} - -//-------------------------------------------------------------------------------------------------- - -String String::HTMLRepresentation (void) const { - String result ; - for (int32_t i=0 ; i') { - result.appendCString (">") ; - }else{ - result.appendChar (c) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- -// String compare -//-------------------------------------------------------------------------------------------------- - -int32_t String::compareWithCString (const char * const inCString) const { - const int32_t sourceLength = length () ; - const int32_t operandLength = (inCString == nullptr) ? 0 : int32_t (strlen (inCString)) ; - const int32_t minLength = std::min (sourceLength, operandLength) ; - int32_t result = 0 ; - for (int32_t i = 0 ; (i < minLength) && (result == 0) ; i++) { - const uint32_t left = UNICODE_VALUE (charAtIndex (i COMMA_HERE)) ; - const uint32_t right = uint32_t (inCString [i]) ; - if (left < right) { - result = -1 ; - }else if (left > right) { - result = 1 ; - } - } - if (result == 0) { - if (sourceLength < operandLength) { - result = -1 ; - }else if (sourceLength > operandLength) { - result = 1 ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -int32_t String::compare (const String & inString) const { - int32_t result = 0 ; - const int32_t minLength = std::min (length (), inString.length ()) ; - for (int32_t i=0 ; (i < minLength) && (result == 0) ; i++) { - const uint32_t left = UNICODE_VALUE (charAtIndex (i COMMA_HERE)) ; - const uint32_t right = UNICODE_VALUE (inString.charAtIndex (i COMMA_HERE)) ; - if (left < right) { - result = -1 ; - }else if (left > right) { - result = 1 ; - } - } - if (result == 0) { - if (length () < inString.length ()) { - result = -1 ; - }else if (length () > inString.length ()) { - result = 1 ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -int32_t String::compareWithInitializerList (const std::initializer_list & inString) const { - const int32_t operandLength = int32_t (inString.size ()) ; - int32_t result = 0 ; - if (length () < operandLength) { - result = -1 ; - }else if (length () > operandLength) { - result = 1 ; - }else{ - int32_t i = 0 ; - for (auto it = inString.begin () ; (it != inString.end ()) && (result == 0) ; it++) { - const uint32_t left = UNICODE_VALUE (charAtIndex (i COMMA_HERE)) ; - i += 1 ; - const uint32_t right = UNICODE_VALUE (*it) ; - if (left < right) { - result = -1 ; - }else if (left > right) { - result = 1 ; - } - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -int32_t String::compareStringByLength (const String & inString) const { - const int32_t sourceLength = length () ; - const int32_t operandLength = inString.length () ; - int32_t result = 0 ; - if (sourceLength < operandLength) { - result = -1 ; - }else if (sourceLength > operandLength) { - result = 1 ; - }else{ - for (int32_t i=0 ; (i < length ()) && (result == 0) ; i++) { - const uint32_t left = UNICODE_VALUE (charAtIndex (i COMMA_HERE)) ; - const uint32_t right = UNICODE_VALUE (inString.charAtIndex (i COMMA_HERE)) ; - if (left < right) { - result = -1 ; - }else if (left > right) { - result = 1 ; - } - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- -// pathExtension -//-------------------------------------------------------------------------------------------------- - -String String::pathExtension (void) const { - int32_t receiver_length = length (); -//--- Suppress training '/' - while ((receiver_length > 1) && (UNICODE_VALUE (charAtIndex (receiver_length - 1 COMMA_HERE)) == '/')) { - receiver_length -= 1 ; - } -//--- Search last '.' - bool found = false ; - int32_t lastOccurrenceIndex = receiver_length ; - while ((lastOccurrenceIndex > 0) && ! found) { - lastOccurrenceIndex -= 1 ; - found = UNICODE_VALUE (charAtIndex (lastOccurrenceIndex COMMA_HERE)) == '.' ; - } - String result ; - if (found && (lastOccurrenceIndex < (receiver_length - 1))) { - result = subString (lastOccurrenceIndex + 1, receiver_length - 1 - lastOccurrenceIndex) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- -// stringByDeletingPathExtension -//-------------------------------------------------------------------------------------------------- - -String String::stringByDeletingPathExtension (void) const { - int32_t receiver_length = length (); -//--- Suppress training '/' - while ((receiver_length > 1) && (UNICODE_VALUE (charAtIndex (receiver_length - 1 COMMA_HERE)) == '/')) { - receiver_length -= 1 ; - } -//--- Search last '.' - bool found = false ; - int32_t lastOccurrenceIndex = receiver_length ; - while ((lastOccurrenceIndex > 0) && ! found) { - lastOccurrenceIndex -= 1 ; - found = UNICODE_VALUE (charAtIndex (lastOccurrenceIndex COMMA_HERE)) == '.' ; - } - String result ; - if (found) { - result = subString (0, lastOccurrenceIndex) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- -// stringByDeletingLastPathComponent -//-------------------------------------------------------------------------------------------------- - -String String::stringByDeletingLastPathComponent (void) const { - String result ; - int32_t receiver_length = length () ; -//--- Suppress training '/' - while ((receiver_length > 1) && (UNICODE_VALUE (charAtIndex (receiver_length - 1 COMMA_HERE)) == '/')) { - receiver_length -= 1 ; - } -//--- Search last '/' - bool found = false ; - int32_t lastOccurrenceIndex = receiver_length ; - while ((lastOccurrenceIndex > 0) && ! found) { - lastOccurrenceIndex -= 1 ; - found = UNICODE_VALUE (charAtIndex (lastOccurrenceIndex COMMA_HERE)) == '/' ; - } - if (found) { - result = subString (0, lastOccurrenceIndex) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- -// stringByAppendingPathComponent -//-------------------------------------------------------------------------------------------------- - -String String::stringByAppendingPathComponent (const String & inPathComponent) const { - String result = *this ; - if (result.length () == 0) { - result = inPathComponent ; - }else if (UNICODE_VALUE (result.lastChar (HERE)) != '/') { - result.appendChar (TO_UNICODE ('/')) ; - result.appendString (inPathComponent) ; - }else{ - result.appendString (inPathComponent) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- -// lastPathComponent -//-------------------------------------------------------------------------------------------------- - -String String::lastPathComponent (void) const { - int32_t usefulLength = length (); -//--- Suppress training '/' - while ((usefulLength > 1) && (UNICODE_VALUE (charAtIndex (usefulLength - 1 COMMA_HERE)) == '/')) { - usefulLength -= 1 ; - } -//--- Search last '/' - bool found = false ; - int32_t lastOccurrenceIndex = usefulLength ; - while ((lastOccurrenceIndex > 0) && ! found) { - lastOccurrenceIndex -= 1 ; - found = UNICODE_VALUE (charAtIndex (lastOccurrenceIndex COMMA_HERE)) == '/' ; - } - String result ; - if (found) { - result = subString (lastOccurrenceIndex + 1, usefulLength - lastOccurrenceIndex - 1) ; - }else{ - result = subString (0, usefulLength) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -String String::lastPathComponentWithoutExtension (void) const { - const String fileNameWithExtension = lastPathComponent () ; - return fileNameWithExtension.stringByDeletingPathExtension () ; -} - -//-------------------------------------------------------------------------------------------------- -// MD5 -//-------------------------------------------------------------------------------------------------- - -String String::md5 (void) const { - MD5pm md5 ; - md5.appendData ((uint8_t *) cString (), size_t (length ())) ; - const MD5Digest digest = md5.finalizeAndGetDigest () ; - String result ; - char s [4] ; - for (uint32_t i=0 ; i<16 ; i++) { - snprintf (s, 4, "%02X", digest [i]) ; - result.appendString (s) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- -// SHA256 -//-------------------------------------------------------------------------------------------------- - -String String::sha256 (void) const { - SHA256 sha ; - sha.update ((uint8_t *) cString (), size_t (length ())) ; - const std::array digest = sha.digest () ; - String result ; - char s [4] ; - for (uint32_t i=0 ; i<32 ; i++) { - snprintf (s, 4, "%02X", digest [i]) ; - result.appendString (s) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- -// S U B S T R I N G F R O M I N D E X -//-------------------------------------------------------------------------------------------------- - -String String::subStringFromIndex (const int32_t inStartIndex) const { - String result ; - if (inStartIndex < length ()) { - result = subString (inStartIndex, length () - inStartIndex) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- -// R I G H T S U B S T R I N G -//-------------------------------------------------------------------------------------------------- - -String String::rightSubString (const int32_t inLength) const { - String result ; - if (length () <= inLength) { - result = *this ; - }else{ - result = subString (length () - inLength, inLength) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- -// L E F T S U B S T R I N G -//-------------------------------------------------------------------------------------------------- - -String String::leftSubString (const int32_t inLength) const { - String result ; - if (length () <= inLength) { - result = *this ; - }else{ - result = subString (0, inLength) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- -// X M L E S C A P E D S T R I N G -//-------------------------------------------------------------------------------------------------- - -//--- Returns a string where ", ', <, > and & have been replaced by ", ', <, > and & -String String::XMLEscapedString (void) const { - String result ; - for (int32_t i=0 ; i' : result.appendCString (">") ; break ; - case '&' : result.appendCString ("&") ; break ; - case '\n' : result.appendCString (" ") ; break ; - default : result.appendChar (c) ; break; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -String String::stringByStandardizingPath (void) const { - #ifdef COMPILE_FOR_WINDOWS - String path = stringByReplacingCharacterByString (TO_UNICODE ('\\'), "/") ; - #else - String path = * this ; - #endif - if (path.length () == 0) { - path.appendCString (".") ; - }else{ - //--- Decompose path - TC_UniqueArray componentArray ; - path.componentsSeparatedByString ("/", componentArray) ; - //--- Remove empty components (but the first one) - int32_t componentIndex = 1 ; - while (componentIndex < componentArray.count ()) { - if (componentArray (componentIndex COMMA_HERE).length () == 0) { - componentArray.removeObjectAtIndex (componentIndex COMMA_HERE) ; - }else{ - componentIndex ++ ; - } - } - //--- Remove '.' components - componentIndex = 0 ; - while (componentIndex < componentArray.count ()) { - if (componentArray (componentIndex COMMA_HERE) == ".") { - componentArray.removeObjectAtIndex (componentIndex COMMA_HERE) ; - }else{ - componentIndex ++ ; - } - } - //--- Remove '..' components - componentIndex = 1 ; - while (componentIndex < componentArray.count ()) { - if ((componentArray (componentIndex COMMA_HERE) == "..") && (componentArray (componentIndex-1 COMMA_HERE) != "..")) { - componentArray.removeObjectAtIndex (componentIndex COMMA_HERE) ; - componentIndex -- ; - componentArray.removeObjectAtIndex (componentIndex COMMA_HERE) ; - if (componentIndex == 0) { - componentIndex = 1 ; - } - }else{ - componentIndex ++ ; - } - } - //--- Recompose path - path = componentsJoinedByString (componentArray, "/") ; - } -//--- - return path ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark LevenshteinDistanceFromString -#endif - -//-------------------------------------------------------------------------------------------------- - -uint32_t String::LevenshteinDistanceFromString (const String & inOperand) const { - const int32_t myLength = length () ; - const int32_t operandLength = inOperand.length () ; - // for all i and j, d[i,j] will hold the Levenshtein distance between - // the first i characters of s and the first j characters of t; - // note that d has (m+1)x(n+1) values - TC_UniqueArray2 distance (myLength + 1, operandLength + 1) ; - - for (int32_t i=0 ; i<=myLength ; i++) { - distance.setObjectAtIndexes ((uint32_t) i, i, 0 COMMA_HERE) ; - } - - for (int32_t j=0 ; j<=operandLength ; j++) { - distance.setObjectAtIndexes ((uint32_t) j, 0, j COMMA_HERE) ; - } - - for (int32_t j=1 ; j<=operandLength ; j++) { - for (int32_t i=1 ; i<=myLength ; i++) { - if (UNICODE_VALUE (charAtIndex (i-1 COMMA_HERE)) == UNICODE_VALUE (inOperand.charAtIndex (j-1 COMMA_HERE))) { - distance (i, j COMMA_HERE) = distance (i-1, j-1 COMMA_HERE) ; // no operation required - }else{ - distance (i, j COMMA_HERE) = std::min (std::min ( - distance (i-1, j COMMA_HERE) + 1, // a deletion - distance (i, j-1 COMMA_HERE) + 1), // an insertion - distance (i-1, j-1 COMMA_HERE) + 1 // a substitution - ) ; - } - } - } - return distance (myLength, operandLength COMMA_HERE) ; -} - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/strings/String-class.cpp b/goil/build/libpm/strings/String-class.cpp deleted file mode 100644 index d7bed762e..000000000 --- a/goil/build/libpm/strings/String-class.cpp +++ /dev/null @@ -1,759 +0,0 @@ -//-------------------------------------------------------------------------------------------------- -// -// String : an implementation of fully dynamic character string -// -// This file is part of libpm library -// -// Copyright (C) 1997, ..., 2024 Pierre Molinaro. -// -// e-mail : pierre@pcmolinaro.name -// -// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General -// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) -// any later version. -// -// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied -// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -// more details. -// -//-------------------------------------------------------------------------------------------------- - -#include "MF_MemoryControl.h" -#include "md5.h" -#include "SharedObject.h" -#include "unicode_character_cpp.h" -#include "TC_UniqueArray2.h" - -//-------------------------------------------------------------------------------------------------- - -#include -#include -#include - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark PrivateEmbeddedString -#endif - -//-------------------------------------------------------------------------------------------------- - -class PrivateEmbeddedString final : public SharedObject { - private: TC_UniqueArray mCharArray ; - private: char * mUTF8CString ; // Zero terminated string - - public: PrivateEmbeddedString (const int32_t inCapacity COMMA_LOCATION_ARGS) ; - - public: PrivateEmbeddedString (const PrivateEmbeddedString * inEmbeddedString, - const int32_t inCapacity - COMMA_LOCATION_ARGS) ; - - public: virtual ~ PrivateEmbeddedString (void) ; - -//--- Methods - public: int32_t capacity (void) const { return mCharArray.capacity () ; } - - public: int32_t length (void) const { return mCharArray.count () ; } - - public: utf32 charAtIndex (const int32_t inIndex COMMA_LOCATION_ARGS) const ; - - public: utf32 lastChar (LOCATION_ARGS) const { return mCharArray.lastObject (THERE) ; } - - public: void setCharAtIndex (const utf32 inChar, const int32_t inIndex COMMA_LOCATION_ARGS) ; - - public: void insertCharAtIndex (const utf32 inChar, const int32_t inIndex COMMA_LOCATION_ARGS) ; - - public: void appendChar (const utf32 inChar COMMA_LOCATION_ARGS) ; - - public: void removeCountFromIndex (const int32_t inCount, - const int32_t inIndex - COMMA_LOCATION_ARGS) ; - - public: const char * cString (void) ; - - public: void reallocEmbeddedString (const int32_t inCapacity) ; - - public: void removeAllKeepingCapacity (void) ; - -//--- No copy - private: PrivateEmbeddedString (const PrivateEmbeddedString &) = delete ; - private: PrivateEmbeddedString & operator = (const PrivateEmbeddedString &) = delete ; - - #ifndef DO_NOT_GENERATE_CHECKINGS - public: void checkEmbeddedString (LOCATION_ARGS) const ; - #endif -} ; - -//-------------------------------------------------------------------------------------------------- - -static int32_t stringGoodSize (const int32_t inCurrentCapacity, - const int32_t inCapacity) { - int32_t newCapacity = (inCurrentCapacity < 128) ? 128 : inCurrentCapacity ; - while (newCapacity < inCapacity) { - newCapacity <<= 1 ; - } - return newCapacity ; -} - -//-------------------------------------------------------------------------------------------------- - -PrivateEmbeddedString::PrivateEmbeddedString (const int32_t inCapacity COMMA_LOCATION_ARGS) : -SharedObject (THERE), -mCharArray (inCapacity COMMA_THERE), -mUTF8CString (nullptr) { - #ifndef DO_NOT_GENERATE_CHECKINGS - checkEmbeddedString (HERE) ; - #endif -} - -//-------------------------------------------------------------------------------------------------- - -PrivateEmbeddedString::PrivateEmbeddedString (const PrivateEmbeddedString * inEmbeddedString, - const int32_t inCapacity - COMMA_LOCATION_ARGS) : -SharedObject (THERE), -mCharArray (stringGoodSize (inEmbeddedString->capacity (), inCapacity) COMMA_THERE), -mUTF8CString (nullptr) { - macroValidPointer (inEmbeddedString) ; - for (int32_t i=0 ; ilength ()) ; i++) { - appendChar (inEmbeddedString->charAtIndex (i COMMA_HERE) COMMA_HERE) ; - } - #ifndef DO_NOT_GENERATE_CHECKINGS - checkEmbeddedString (HERE) ; - #endif -} - -//-------------------------------------------------------------------------------------------------- - -PrivateEmbeddedString::~PrivateEmbeddedString (void) { - macroMyDeletePODArray (mUTF8CString) ; -} - -//-------------------------------------------------------------------------------------------------- - -utf32 PrivateEmbeddedString::charAtIndex (const int32_t inIndex COMMA_LOCATION_ARGS) const { - return mCharArray (inIndex COMMA_THERE) ; -} - -//-------------------------------------------------------------------------------------------------- - -void PrivateEmbeddedString::setCharAtIndex (const utf32 inChar, - const int32_t inIndex - COMMA_LOCATION_ARGS) { - macroUniqueSharedObjectThere (this) ; - macroMyDeletePODArray (mUTF8CString) ; - mCharArray (inIndex COMMA_THERE) = inChar ; -} - -//-------------------------------------------------------------------------------------------------- - -void PrivateEmbeddedString::insertCharAtIndex (const utf32 inChar, - const int32_t inIndex - COMMA_LOCATION_ARGS) { - macroUniqueSharedObjectThere (this) ; - macroMyDeletePODArray (mUTF8CString) ; - mCharArray.insertObjectAtIndex (inChar, inIndex COMMA_THERE) ; -} - -//-------------------------------------------------------------------------------------------------- - -void PrivateEmbeddedString::appendChar (const utf32 inChar COMMA_LOCATION_ARGS) { - macroUniqueSharedObjectThere (this) ; - macroMyDeletePODArray (mUTF8CString) ; - mCharArray.appendObject (inChar) ; -} - -//-------------------------------------------------------------------------------------------------- - -void PrivateEmbeddedString::removeCountFromIndex (const int32_t inCount, - const int32_t inStartIndex - COMMA_LOCATION_ARGS) { - macroUniqueSharedObjectThere (this) ; - macroMyDeletePODArray (mUTF8CString) ; - mCharArray.removeObjectsAtIndex (inCount, inStartIndex COMMA_THERE) ; -} - -//-------------------------------------------------------------------------------------------------- - -void PrivateEmbeddedString::removeAllKeepingCapacity (void) { - mCharArray.removeAllKeepingCapacity () ; - macroMyDeletePODArray (mUTF8CString) ; -} - -//-------------------------------------------------------------------------------------------------- - -const char * PrivateEmbeddedString::cString (void) { - if (nullptr == mUTF8CString) { - int32_t allocatedSize = length () + 1 + length () / 2 ; - macroMyNewPODArray (mUTF8CString, char, uint32_t (allocatedSize)) ; - int32_t idx = 0 ; - for (int32_t i = 0 ; i < length () ; i++) { - char buffer [5] ; - const int32_t n = UTF8StringFromUTF32Character (UNICODE_VALUE (charAtIndex (i COMMA_HERE)), buffer) ; - for (int32_t j = 0 ; j < n ; j++) { - if (allocatedSize == idx) { - allocatedSize += allocatedSize / 2 ; - macroMyReallocPODArray (mUTF8CString, char, uint32_t (allocatedSize)) ; - } - mUTF8CString [idx] = buffer [j] ; - idx += 1 ; - } - } - //--- Append zero terminator - if (allocatedSize == idx) { - allocatedSize += 1 ; - macroMyReallocPODArray (mUTF8CString, char, uint32_t (allocatedSize)) ; - } - mUTF8CString [idx] = '\0' ; - } - return mUTF8CString ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifndef DO_NOT_GENERATE_CHECKINGS - void PrivateEmbeddedString::checkEmbeddedString (LOCATION_ARGS) const { - macroAssertThere (capacity () > 0, "mCapacity == 0", 0, 0) ; - macroAssertThere (length () <= capacity (), "mLength (%ld) > mCapacity (%ld)", length (), capacity ()) ; - if (mUTF8CString != nullptr) { - macroValidPointerThere (mUTF8CString) ; - } - } -#endif - -//-------------------------------------------------------------------------------------------------- - -void PrivateEmbeddedString::reallocEmbeddedString (const int32_t inCapacity) { - #ifndef DO_NOT_GENERATE_CHECKINGS - checkEmbeddedString (HERE) ; - #endif - macroUniqueSharedObject (this) ; - mCharArray.setCapacity (inCapacity) ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Constructors & destructor -#endif - -//-------------------------------------------------------------------------------------------------- -// C O N S T R U C T O R S -//-------------------------------------------------------------------------------------------------- - -String::String (void) : -mEmbeddedString (nullptr) { -} - -//-------------------------------------------------------------------------------------------------- - -String::String (const char * inCstring) : -mEmbeddedString (nullptr) { - if (inCstring != nullptr) { - performAppendCString (inCstring, int32_t (strlen (inCstring))) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -String::String (const String & inSource) : // Copy constructor -AbstractOutputStream (inSource), -mEmbeddedString (nullptr) { - macroAssignSharedObject (mEmbeddedString, inSource.mEmbeddedString) ; -} - -//-------------------------------------------------------------------------------------------------- - -String String::newWithStdIn (void) { - const size_t BUFFER_SIZE = 1000 ; - char buffer [BUFFER_SIZE] ; - const char * s = fgets (buffer, BUFFER_SIZE, stdin) ; - return String ((s == nullptr) ? "" : s) ; -} - -//-------------------------------------------------------------------------------------------------- -// D E S T R U C T O R -//-------------------------------------------------------------------------------------------------- - -String::~String (void) { - macroDetachSharedObject (mEmbeddedString) ; -} - -//-------------------------------------------------------------------------------------------------- - -String String::spaces (const int32_t inSpaceCount) { - String result ; - for (int32_t i=0 ; icapacity () ; -} - -//-------------------------------------------------------------------------------------------------- -// A S S I G N M E N T O P E R A T O R -//-------------------------------------------------------------------------------------------------- - -String & String::operator = (const String & inSource) { - #ifndef DO_NOT_GENERATE_CHECKINGS - checkString (HERE) ; - inSource.checkString (HERE) ; - #endif - macroAssignSharedObject (mEmbeddedString, inSource.mEmbeddedString) ; - return * this ; -} - -//-------------------------------------------------------------------------------------------------- - -void String::removeAll (void) { - #ifndef DO_NOT_GENERATE_CHECKINGS - checkString (HERE) ; - #endif - macroDetachSharedObject (mEmbeddedString) ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifndef DO_NOT_GENERATE_CHECKINGS - void String::checkString (LOCATION_ARGS) const { - if (mEmbeddedString != nullptr) { - macroValidSharedObject (mEmbeddedString, PrivateEmbeddedString) ; - mEmbeddedString->checkEmbeddedString (THERE) ; - } - } -#endif - -//-------------------------------------------------------------------------------------------------- -// G E T M E T H O D S -//-------------------------------------------------------------------------------------------------- - -utf32 String::charAtIndex (const int32_t inIndex COMMA_LOCATION_ARGS) const { - #ifndef DO_NOT_GENERATE_CHECKINGS - checkString (THERE) ; - #endif - macroValidSharedObjectThere (mEmbeddedString, PrivateEmbeddedString) ; - return mEmbeddedString->charAtIndex (inIndex COMMA_THERE) ; -} - -//-------------------------------------------------------------------------------------------------- - -utf32 String::readCharOrNul (const int32_t inIndex COMMA_LOCATION_ARGS) const { - utf32 result = TO_UNICODE ('\0') ; - if (mEmbeddedString != nullptr) { - macroValidSharedObjectThere (mEmbeddedString, PrivateEmbeddedString) ; - if (inIndex < mEmbeddedString->length ()) { - result = mEmbeddedString->charAtIndex (inIndex COMMA_HERE) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- -// lastChar -//-------------------------------------------------------------------------------------------------- - -utf32 String::lastChar (LOCATION_ARGS) const { - macroValidSharedObjectThere (mEmbeddedString, PrivateEmbeddedString) ; - return mEmbeddedString->lastChar (THERE) ; -} - -//-------------------------------------------------------------------------------------------------- - -bool String::containsChar (const utf32 inCharacter) const { - #ifndef DO_NOT_GENERATE_CHECKINGS - checkString (HERE) ; - #endif - bool found = false ; - if (nullptr != mEmbeddedString) { - for (int32_t i=0 ; (i < length ()) && !found ; i++) { - found = UNICODE_VALUE (charAtIndex (i COMMA_HERE)) == UNICODE_VALUE (inCharacter) ; - } - } - return found ; -} - -//-------------------------------------------------------------------------------------------------- - -bool String::containsCharInRange (const utf32 inFirstCharacter, - const utf32 inLastCharacter) const { - #ifndef DO_NOT_GENERATE_CHECKINGS - checkString (HERE) ; - #endif - bool found = false ; - if (nullptr != mEmbeddedString) { - macroValidSharedObject (mEmbeddedString, PrivateEmbeddedString) ; - for (int32_t i=0 ; (i < mEmbeddedString->length ()) && !found ; i++) { - found = - (UNICODE_VALUE (charAtIndex (i COMMA_HERE)) >= UNICODE_VALUE (inFirstCharacter)) - && - (UNICODE_VALUE (charAtIndex (i COMMA_HERE)) <= UNICODE_VALUE (inLastCharacter)) - ; - } - } - return found ; -} - -//-------------------------------------------------------------------------------------------------- - -int32_t String::length (void) const { - #ifndef DO_NOT_GENERATE_CHECKINGS - checkString (HERE) ; - #endif - return (mEmbeddedString == nullptr) ? 0 : mEmbeddedString->length () ; -} - -//-------------------------------------------------------------------------------------------------- - -const char * String::cString (void) const { - const char * result = "" ; - if (nullptr != mEmbeddedString) { - result = mEmbeddedString->cString () ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Methods that change string -#endif - -//-------------------------------------------------------------------------------------------------- - -void String::insulateEmbeddedString (const int32_t inNewCapacity) const { - if (mEmbeddedString == nullptr) { - macroMyNew (mEmbeddedString, PrivateEmbeddedString (inNewCapacity COMMA_HERE)) ; - }else{ - macroValidSharedObject (mEmbeddedString, PrivateEmbeddedString) ; - if (mEmbeddedString->isUniquelyReferenced ()) { - mEmbeddedString->reallocEmbeddedString (inNewCapacity) ; - }else{ - PrivateEmbeddedString * p = nullptr ; - macroMyNew (p, PrivateEmbeddedString (mEmbeddedString, inNewCapacity COMMA_HERE)) ; - macroAssignSharedObject (mEmbeddedString, p) ; - macroDetachSharedObject (p) ; - } - #ifndef DO_NOT_GENERATE_CHECKINGS - checkString (HERE) ; - #endif - } - macroAssert (capacity () >= inNewCapacity, "capacity (%lld) < inNewCapacity (%lld)", capacity (), inNewCapacity) ; - macroValidSharedObject (mEmbeddedString, PrivateEmbeddedString) ; - macroUniqueSharedObject (mEmbeddedString) ; -} - -//-------------------------------------------------------------------------------------------------- - -void String::removeAllKeepingCapacity (void) { - #ifndef DO_NOT_GENERATE_CHECKINGS - checkString (HERE) ; - #endif - if (mEmbeddedString != nullptr) { - if (mEmbeddedString->isUniquelyReferenced ()) { - mEmbeddedString->removeAllKeepingCapacity () ; - }else{ - macroDetachSharedObject (mEmbeddedString) ; - } - } - #ifndef DO_NOT_GENERATE_CHECKINGS - checkString (HERE) ; - #endif -} - -//-------------------------------------------------------------------------------------------------- -// S E T C A P A C I T Y -//-------------------------------------------------------------------------------------------------- - -void String::setCapacity (const int32_t inNewCapacity) { - #ifndef DO_NOT_GENERATE_CHECKINGS - checkString (HERE) ; - #endif - if (mEmbeddedString != nullptr) { - if (mEmbeddedString->capacity () < inNewCapacity) { - if (mEmbeddedString->isUniquelyReferenced ()) { - mEmbeddedString->reallocEmbeddedString (inNewCapacity) ; - }else{ - PrivateEmbeddedString * p = nullptr ; - macroMyNew (p, PrivateEmbeddedString (mEmbeddedString, inNewCapacity COMMA_HERE)) ; - macroAssignSharedObject (mEmbeddedString, p) ; - macroDetachSharedObject (p) ; - } - #ifndef DO_NOT_GENERATE_CHECKINGS - checkString (HERE) ; - #endif - } - }else if (inNewCapacity > 0) { - macroMyNew (mEmbeddedString, PrivateEmbeddedString (inNewCapacity COMMA_HERE)) ; - #ifndef DO_NOT_GENERATE_CHECKINGS - checkString (HERE) ; - #endif - } - macroAssert (capacity () >= inNewCapacity, "capacity (%lld) < inNewCapacity (%lld)", capacity (), inNewCapacity) ; - if (mEmbeddedString != nullptr) { - macroValidSharedObject (mEmbeddedString, PrivateEmbeddedString) ; - macroUniqueSharedObject (mEmbeddedString) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void String::handleAppendCharacter (const utf32 inCharacter) { - #ifndef DO_NOT_GENERATE_CHECKINGS - checkString (HERE) ; - #endif - insulateEmbeddedString (length () + 1) ; - mEmbeddedString->appendChar (inCharacter COMMA_HERE) ; - #ifndef DO_NOT_GENERATE_CHECKINGS - checkString (HERE) ; - #endif - macroUniqueSharedObject (mEmbeddedString) ; -} - -//-------------------------------------------------------------------------------------------------- - -void String::handleAppendUTF8Array (const char * inCharArray, - const int32_t inArrayCount) { - #ifndef DO_NOT_GENERATE_CHECKINGS - checkString (HERE) ; - #endif - if (inArrayCount != 0) { - insulateEmbeddedString (length () + inArrayCount) ; - int32_t idx = 0 ; - bool ok = true ; - while ((idx < inArrayCount) && ok) { - if ((inCharArray [idx] & 0x80) == 0) { // ASCII - mEmbeddedString->appendChar (TO_UNICODE (uint32_t (inCharArray [idx])) COMMA_HERE) ; - idx += 1 ; - }else{ - const utf32 unicodeChar = utf32CharacterForPointer ((const uint8_t *) inCharArray, idx, inArrayCount, ok) ; - mEmbeddedString->appendChar (unicodeChar COMMA_HERE) ; - } - } - #ifndef DO_NOT_GENERATE_CHECKINGS - checkString (HERE) ; - #endif - macroUniqueSharedObject (mEmbeddedString) ; - } -} - -//-------------------------------------------------------------------------------------------------- -// setCharacterAtIndex -//-------------------------------------------------------------------------------------------------- - -void String::setCharAtIndex (const utf32 inCharacter, - const int32_t inIndex - COMMA_LOCATION_ARGS) { - #ifndef DO_NOT_GENERATE_CHECKINGS - checkString (HERE) ; - #endif - macroValidPointerThere (mEmbeddedString) ; - insulateEmbeddedString (capacity ()) ; - macroUniqueSharedObject (mEmbeddedString) ; - mEmbeddedString->setCharAtIndex (inCharacter, inIndex COMMA_HERE) ; -} - -//-------------------------------------------------------------------------------------------------- -// S U P P R E S S C H A R A C T E R S -//-------------------------------------------------------------------------------------------------- - -void String::removeCountFromIndex (const int32_t inCount, - const int32_t inStartIndex - COMMA_LOCATION_ARGS) { - if (inCount > 0) { - insulateEmbeddedString (capacity ()) ; - macroUniqueSharedObject (mEmbeddedString) ; - mEmbeddedString->removeCountFromIndex (inCount, inStartIndex COMMA_THERE) ; - #ifndef DO_NOT_GENERATE_CHECKINGS - checkString (HERE) ; - #endif - } -} - -//-------------------------------------------------------------------------------------------------- -// I N S E R T C H A R A C T E R -//-------------------------------------------------------------------------------------------------- - -void String::insertCharacterAtIndex (const utf32 inChar, - const int32_t inIndex - COMMA_LOCATION_ARGS) { - insulateEmbeddedString (length () + 1) ; - macroUniqueSharedObjectThere (mEmbeddedString) ; - mEmbeddedString->insertCharAtIndex (inChar, inIndex COMMA_THERE) ; - #ifndef DO_NOT_GENERATE_CHECKINGS - checkString (HERE) ; - #endif -} - -//-------------------------------------------------------------------------------------------------- -// G E T L I N E S A R R A Y -//-------------------------------------------------------------------------------------------------- - -void String::linesArray (TC_UniqueArray & outStringArray) const { - const int32_t currentStringLength = length () ; - if (currentStringLength > 0) { - int32_t index = outStringArray.count () ; - outStringArray.appendObject (String ()) ; - typedef enum {kAppendToCurrentLine, kGotCarriageReturn, kGotLineFeed} enumState ; - enumState state = kAppendToCurrentLine ; - for (int32_t i=0 ; i -#include -#include -#include - -//-------------------------------------------------------------------------------------------------- - -#ifndef COMPILE_FOR_WINDOWS - #error COMPILE_FOR_WINDOWS is undefined -#endif - -//-------------------------------------------------------------------------------------------------- - -#if COMPILE_FOR_WINDOWS == 0 - #include - #include -#endif - -//-------------------------------------------------------------------------------------------------- - -typedef enum { - kUTF_8_FileEncoding, - kUTF_16BE_FileEncoding, - kUTF_16LE_FileEncoding, - kUTF_32BE_FileEncoding, - kUTF_32LE_FileEncoding, - kISO_8859_1_FileEncoding, - kISO_8859_10_FileEncoding, - kISO_8859_11_FileEncoding, - kISO_8859_13_FileEncoding, - kISO_8859_14_FileEncoding, - kISO_8859_15_FileEncoding, - kISO_8859_16_FileEncoding, - kISO_8859_2_FileEncoding, - kISO_8859_3_FileEncoding, - kISO_8859_4_FileEncoding, - kISO_8859_5_FileEncoding, - kISO_8859_6_FileEncoding, - kISO_8859_7_FileEncoding, - kISO_8859_8_FileEncoding, - kISO_8859_9_FileEncoding, - kCP1252_FileEncoding, - kCP437_DOS_FileEncoding, - kMacRoman_FileEncoding -} PMTextFileEncoding ; - -//-------------------------------------------------------------------------------------------------- -// -// Fully dynamic character string : String -// -//-------------------------------------------------------------------------------------------------- - -class String : public AbstractOutputStream { -//--- Constructors - public: explicit String (void) ; // Empty string - public: String (const char * inCString) ; // From a C string - public: static String spaces (const int32_t inSpaceCount) ; - -//--- Virtual destructor - public: virtual ~ String (void) ; - -//--- Handling copy - public: String (const String & inSource) ; - public: String & operator = (const String & inString) ; - -//--- Get string from stdin - public: static String newWithStdIn (void) ; - -//--- Set capacity (does nothing if length >= inCapacity) - public: void setCapacity (const int32_t inCapacity) ; - -//--- Remove 'inCount' characters from 'inIndex' index - public: void removeCountFromIndex (const int32_t inCount, const int32_t inIndex COMMA_LOCATION_ARGS) ; - -//--- Insert 'inChar' character at 'inIndex' index - public: void insertCharacterAtIndex (const utf32 inChar, const int32_t inIndex COMMA_LOCATION_ARGS) ; - -//--- Set length to 0 ; do not release memory - public: void removeAllKeepingCapacity (void) ; - -//--- Release memory - public: void removeAll (void) ; - -//--- Get dynamic array allocated size - public: int32_t capacity (void) const ; - -//--- Get current column index (starting from 0) - public: uint32_t currentColumn (void) const ; - -//--- Append space character until given column - public: void appendSpacesUntilColumn (const uint32_t inColumn) ; - -//--- Get a character - public: utf32 charAtIndex (const int32_t inIndex COMMA_LOCATION_ARGS) const ; - public: utf32 readCharOrNul (const int32_t inIndex COMMA_LOCATION_ARGS) const ; - -//--- Set an UTF32 character - public: void setCharAtIndex (const utf32 inCharacter, const int32_t inIndex COMMA_LOCATION_ARGS) ; - -//--- Contains a character - public: bool containsChar (const utf32 inCharacter) const ; - public: bool containsCharInRange (const utf32 inFirstCharacter, const utf32 inLastCharacter) const ; - -//--- Get last character - public: utf32 lastChar (LOCATION_ARGS) const ; - -//--- Get string length - public: int32_t length (void) const ; - -//--- Get a representation that contains only letters, digits or '_', so that it is a valid C identifier - public: String identifierRepresentation (void) const ; // Preserves ASCII letters - public: String nameRepresentation (void) const ; // Preserves ASCII letters, digits and '_' - public: String fileNameRepresentation (void) const ; // Preserves ASCII lowercase letters, digits and '_' - public: String assemblerRepresentation (void) const ; // Preserves ASCII letters, digits, '_', '.' and '$' - public: String utf8RepresentationWithUnicodeEscaping (void) const ; // \uXXXX, \UXXXXXXXX - public: String decodedStringFromRepresentation (bool & outOk) const ; // Reverses the above representations - -//--- Get a representation enclosing by a given character -// - escaped by a back slash -// - back slash is also escaped by back slash - public: String utf8RepresentationEnclosedWithin (const utf32 inCharacter, const bool inEscapeQuestionMark) const ; - -//--- Get an HTML representation (&, <, > and " are escaped using HTML escape sequence) - public: String HTMLRepresentation (void) const ; - -//--- Get MD5 value - public: String md5 (void) const ; - -//--- Get SHA256 value - public: String sha256 (void) const ; - -//--- Get a string pointer - public: const char * cString (void) const ; - -//--- Compare with an other string - public: int32_t compareWithCString (const char * const inCstring) const ; - public: int32_t compare (const String & inString) const ; - public: int32_t compareWithInitializerList (const std::initializer_list & inString) const ; - public: int32_t compareStringByLength (const String & inString) const ; - public: bool operator == (const String & inString) const { return compare (inString) == 0 ; } - public: bool operator != (const String & inString) const { return compare (inString) != 0 ; } - public: bool operator <= (const String & inString) const { return compare (inString) <= 0 ; } - public: bool operator < (const String & inString) const { return compare (inString) < 0 ; } - public: bool operator >= (const String & inString) const { return compare (inString) >= 0 ; } - public: bool operator > (const String & inString) const { return compare (inString) > 0 ; } - -//--- Distance from an other string - public: uint32_t LevenshteinDistanceFromString (const String & inOtherString) const ; - -//--- Get lines array - public: void linesArray (TC_UniqueArray & outStringArray) const ; - -//--- Get line from index - public: class LineColumnContents lineAndColumnFromIndex (const int32_t inIndex) const ; - -//--- Get index from line number and column number - public: int32_t indexFromLineAndColumn (const int32_t inLineNumber, - const int32_t inColumnNumber) const ; - -//--- Subsitute 'inCharacter' by 'inString' ; if the character occurs twice, suppress one - public: String stringByReplacingCharacterByString (const utf32 inCharacter, - const String & inString) const ; - -//--- Substitute 'inSearchedString' by 'inReplacementString' - public: String stringByReplacingStringByString (const String inSearchedString, - const String inReplacementString, - uint32_t & outReplacementCount) const ; - - public: String stringByReplacingStringByString (const String inSearchedString, - const String inReplacementString) const ; - -//--- Get character last occurrence (returns -1 if not found) - public: int32_t lastOccurrenceIndexOfChar (const utf32 inChar) const ; - -//--- Trim white spaces ('\n' or ' '): -// - at the beginning of the string, -// - within the string (replace a sequence of white spaces with a single space), -// - at end at the end of string. - public: String stringByTrimmingSeparators (void) const ; - -//--- Get a sub string - public: String subString (const int32_t inStartIndex, - const int32_t inLength) const ; - -//--- Get a sub string - public: String leftSubString (const int32_t inLength) const ; - public: String rightSubString (const int32_t inLength) const ; - public: String subStringFromIndex (const int32_t inIndex) const ; - -//--- String concatenation - public: String operator + (const String & inOperand) const ; - -//--- Returns a string where ", ', <, > and & have been replaced by ", ', <, > and & - public: String XMLEscapedString (void) const ; - -//--- Returns an array containing substrings from the receiver that have been divided by separator - public: void componentsSeparatedByString (const String & inSeparator, - TC_UniqueArray & outResult) const ; - -//--- Recompose a string from components - public: static String componentsJoinedByString (const TC_UniqueArray & inComponentArray, - const String & inSeparator) ; - -//--- Interprets the receiver as a path, returning the receiver's extension - public: String pathExtension (void) const ; - -//--- Returns a new string made by appending inPathComponent to the receiver, preceded if necessary by a path separator. - public: String stringByAppendingPathComponent (const String & inPathComponent) const ; - -//--- Returns a string made by deleting the last path component (if any, and only the last) -// from the receiver. - public: String stringByDeletingLastPathComponent (void) const ; - -//--- Returns a string made by deleting the extension (if any, and only the last) -// from the receiver. - public: String stringByDeletingPathExtension (void) const ; - -//--- Returns the last path component of the receiver. - public: String lastPathComponent (void) const ; - public: String lastPathComponentWithoutExtension (void) const ; - -//--- Contains an other string ? - public: bool containsString (const String & inSearchedString) const ; - -//--- Return string, with first letter in upper case - public: String stringByCapitalizingFirstCharacter (void) const ; - -//--- Return string, with all letters in upper case - public: String uppercaseString (void) const ; - -//--- Return string, with all letters in lower case - public: String lowercaseString (void) const ; - -//--- Check if the receiver ends with inString - public: bool endsWithString (const String & inString) const ; - -//--- Return reversed string - public: String reversedString (void) const ; - public: void reverseStringInPlace (void) ; - -//--- Return unsigned integer value - public: bool isUnsignedInteger (void) const ; - public: uint32_t unsignedIntegerValue (void) const ; - -//--- Get current column index (starting from 0) - public: static String stringWithRepeatedCharacter (const utf32 inRepeatedCharacter, const uint32_t inCount) ; - -//--- Standardizing Path -// - first, convert Windows Path to Unix Path (on windows only) -// - Reduce empty components and references to the current directory (that is, the sequences "//" and "/./") to single path separators - public: String stringByStandardizingPath (void) const ; - -//--- Convert string to double - public: void convertToDouble (double & outDoubleValue, - bool & outOk) const ; - - public: void convertToUInt32 (uint32_t & outResult, - bool & outOk) const ; - - public: void convertToSInt32 (int32_t & outResult, - bool & outOk) const ; - - public: void convertToUInt64 (uint64_t & outResult, - bool & outOk) const ; - - public: void convertToSInt64 (int64_t & outResult, - bool & outOk) const ; - -//---------------- Virtual output stream methods -------------- - protected: virtual void handleAppendUTF8Array (const char * inCharArray, - const int32_t inArrayCount) ; - - protected: virtual void handleAppendCharacter (const utf32 inCharacter) ; - -//--- Private (internal) methods - private: void insulateEmbeddedString (const int32_t inNewCapacity) const ; - - #ifndef DO_NOT_GENERATE_CHECKINGS - private: void checkString (LOCATION_ARGS) const ; - #endif - - public: static bool parseUTF8 (const U8Data & inDataString, - const int32_t inOffset, - String & outString) ; - -//---------------- Private attributes ------------- - private: mutable class PrivateEmbeddedString * mEmbeddedString ; -} ; - -//-------------------------------------------------------------------------------------------------- -// Exception generated by readTextFile method when a read error occurs -//-------------------------------------------------------------------------------------------------- - -const size_t kTextReadExceptionStringMaxLength = 1000 ; - -class C_TextReadException : public::std::exception { - public: C_TextReadException (const char * inFileName) ; - - private: char mErrorMessage [kTextReadExceptionStringMaxLength + 1] ; - - public: virtual const char * what (void) const throw () ; -} ; - -//-------------------------------------------------------------------------------------------------- - -class LineColumnContents final { - private: int32_t mLineNumber ; - private: int32_t mColumnNumber ; - private: String mLineContents ; - - public: LineColumnContents (void) : - mLineNumber (0), - mColumnNumber (0), - mLineContents () { - } - - public: LineColumnContents (const int32_t inLineNumber, - const int32_t inColumnNumber, - const String inLineContents) : - mLineNumber (inLineNumber), - mColumnNumber (inColumnNumber), - mLineContents (inLineContents) { - } - - public: int32_t lineNumber (void) const { return mLineNumber ; } - public: int32_t columnNumber (void) const { return mColumnNumber ; } - public: String lineContents (void) const { return mLineContents ; } -} ; - -//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/strings/cUnicodeData.h b/goil/build/libpm/strings/cUnicodeData.h index 48255c829..873de0579 100644 --- a/goil/build/libpm/strings/cUnicodeData.h +++ b/goil/build/libpm/strings/cUnicodeData.h @@ -108105,7 +108105,7 @@ static const uint32_t kUnicodeCategory_Zl = 24 ; // Separator, Line static const uint32_t kUnicodeCategory_Zp = 25 ; // Separator, Paragraph static const uint32_t kUnicodeCategory_Cc = 26 ; // Other, Control static const uint32_t kUnicodeCategory_Cf = 27 ; // Other, Format -// Other, Surrogate (unused kUnicodeCategory_Cs) +static const uint32_t kUnicodeCategory_Cs = 28 ; // Other, Surrogate static const uint32_t kUnicodeCategory_Co = 29 ; // Other, Private Use static const uint32_t gNamePageSize = 256 ; diff --git a/goil/build/libpm/strings/print.cpp b/goil/build/libpm/strings/print.cpp index cc2bdf5d7..5a317a435 100644 --- a/goil/build/libpm/strings/print.cpp +++ b/goil/build/libpm/strings/print.cpp @@ -4,30 +4,19 @@ // // Created by Pierre Molinaro on 14/09/2023. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "print.h" #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_println_3F_ (const GALGAS_string inString, - Compiler * /* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) { +void routine_print (const GALGAS_string inString, + class C_Compiler * /* inCompiler */ + COMMA_LOCATION_ARGS) { if (inString.isValid ()) { - gCout.appendString (inString.stringValue ()) ; - gCout.appendNewLine () ; + std::cout << inString.stringValue ().cString (THERE) << "\n" ; } } -//-------------------------------------------------------------------------------------------------- - -void routine_print_3F_ (const GALGAS_string inString, - Compiler * /* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) { - if (inString.isValid ()) { - gCout.appendString (inString.stringValue ()) ; - } -} - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/strings/print.h b/goil/build/libpm/strings/print.h index a5c550712..694c9b9c8 100644 --- a/goil/build/libpm/strings/print.h +++ b/goil/build/libpm/strings/print.h @@ -4,24 +4,18 @@ // // Created by Pierre Molinaro on 14/09/2023. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_println_3F_ (const GALGAS_string inString, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +void routine_print (const GALGAS_string inString, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- - -void routine_print_3F_ (const GALGAS_string inString, - Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/strings/string_encodings.h b/goil/build/libpm/strings/string_encodings.h index 884cef1e8..134a19154 100644 --- a/goil/build/libpm/strings/string_encodings.h +++ b/goil/build/libpm/strings/string_encodings.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // string_encodings: enum that defines all handled string encodings // @@ -16,15 +16,15 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // S T R I N G E N C O D I N G S // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typedef enum { k8859_1_encoding = 0, @@ -47,4 +47,4 @@ typedef enum { kMacRoman_encoding = 17 } PMStringEncoding ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/strings/unicode_character_base.h b/goil/build/libpm/strings/unicode_character_base.h index 84b3213f2..9cf3fab27 100644 --- a/goil/build/libpm/strings/unicode_character_base.h +++ b/goil/build/libpm/strings/unicode_character_base.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // unicode_character : an implementation of Unicode character // @@ -16,19 +16,19 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //--- Character assigned ? bool isUnicodeCharacterAssigned (const utf32 inUnicodeCharacterCode) ; //--- Returns character name, or empty string if not assigned #ifdef __cplusplus - #include "String-class.h" - String unicodeName (const utf32 inUnicodeCharacter) ; + #include "strings/C_String.h" + C_String unicodeName (const utf32 inUnicodeCharacter) ; #endif #ifdef __OBJC__ NSString * unicodeName (const utf32 inUnicodeCharacter) ; @@ -76,7 +76,7 @@ bool isUnicodeSymbol (const utf32 inUnicodeCharacter) ; //--- Returns the number of bytes needed for encoding this character in UTF8 uint32_t utf8Length (const utf32 inUnicodeCharacter) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const utf32 UNICODE_REPLACEMENT_CHARACTER ; extern const utf32 UNICODE_MAX_LEGAL_UTF32_CHARACTER ; @@ -84,22 +84,22 @@ extern const utf32 UNICODE_MAX_LEGAL_UTF32_CHARACTER ; //--- Returns true if unicode letter bool isRestrictedUnicodeLetter (const utf32 inUnicodeCharacter) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // D E C O D E H T M L E N C O D I N G // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //--- Decode HTML in string, return Unicode (or NULL if not found) #ifdef __cplusplus - utf32 unicodeCharacterFromHTMLSequence (const String & inString) ; + utf32 unicodeCharacterFromHTMLSequence (const C_String & inString) ; #endif #ifdef __OBJC__ utf32 unicodeCharacterFromHTMLSequence (NSString * inString) ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- utf32 unicodeCharacterForSingleByteCharacter (const char inChar, const PMStringEncoding inStringEncoding) ; @@ -109,11 +109,11 @@ int32_t UTF8StringFromUTF32Character (const utf32 inUnicodeChar, char outSequenc //--- inEndOfStringPtr points just beyond the last available byte #ifdef __cplusplus - class U8Data ; + class C_Data ; utf32 utf32CharacterForPointer (const uint8_t * inDataString, int32_t & ioIndex, const int32_t inLength, bool & ioOK) ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/strings/unicode_character_cpp.cpp b/goil/build/libpm/strings/unicode_character_cpp.cpp index 2389a6ca8..00b2af4f3 100644 --- a/goil/build/libpm/strings/unicode_character_cpp.cpp +++ b/goil/build/libpm/strings/unicode_character_cpp.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // unicode_character : an implementation of Unicode character // @@ -16,18 +16,18 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "unicode_character_cpp.h" +#include "strings/unicode_character_cpp.h" #include "cUnicodeData.h" -#include "String-class.h" +#include "strings/C_String.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "unicode_character_implementation.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/strings/unicode_character_cpp.h b/goil/build/libpm/strings/unicode_character_cpp.h index 210dd49b3..7c4f237f7 100644 --- a/goil/build/libpm/strings/unicode_character_cpp.h +++ b/goil/build/libpm/strings/unicode_character_cpp.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // unicode_character : an implementation of Unicode character // @@ -16,21 +16,21 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "string_encodings.h" -#include "M_machine.h" +#include "strings/string_encodings.h" +#include "utilities/M_machine.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class String ; +class C_String ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "unicode_character_base.h" +#include "strings/unicode_character_base.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/strings/unicode_character_implementation.h b/goil/build/libpm/strings/unicode_character_implementation.h index e58042f2c..6780e726b 100644 --- a/goil/build/libpm/strings/unicode_character_implementation.h +++ b/goil/build/libpm/strings/unicode_character_implementation.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // unicode_character : an implementation of Unicode character // @@ -16,12 +16,12 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const utf32 UNICODE_REPLACEMENT_CHARACTER = TO_UNICODE (0x0000FFFD) ; const utf32 UNICODE_MAX_LEGAL_UTF32_CHARACTER = TO_UNICODE (0x0010FFFF) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool isUnicodeCharacterAssigned (const utf32 inUnicodeCharacter) { bool result = UNICODE_VALUE (inUnicodeCharacter) <= UNICODE_VALUE (UNICODE_MAX_LEGAL_UTF32_CHARACTER) ; @@ -38,7 +38,7 @@ bool isUnicodeCharacterAssigned (const utf32 inUnicodeCharacter) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Each entry is a sequence of uint values. The two significant bits encode // the meaning of the entry: // - 00xx xxx : shift accumulator left 6 bits, @@ -59,10 +59,10 @@ bool isUnicodeCharacterAssigned (const utf32 inUnicodeCharacter) { // EXIT. #ifdef __cplusplus - String unicodeName (const utf32 inUnicodeCharacter) { - String result ; + C_String unicodeName (const utf32 inUnicodeCharacter) { + C_String result ; if (! isUnicodeCharacterAssigned (inUnicodeCharacter)) { - result.appendCString ("invalid unicode character \\U") ; + result << "invalid unicode character \\U" ; result.appendUnsignedHex8 (UNICODE_VALUE (inUnicodeCharacter)) ; }else{ const uint32_t pageIndex = UNICODE_VALUE (inUnicodeCharacter) / gNamePageSize ; @@ -80,17 +80,15 @@ bool isUnicodeCharacterAssigned (const utf32 inUnicodeCharacter) { case 0 : // Prefix break ; case 0x40 : // Enter name, append space character - result.appendString (gPartNames [idx]) ; - result.appendCString (" ") ; + result << gPartNames [idx] << " " ; idx = 0 ; break ; case 0x80 : // Enter name, append minus character - result.appendString (gPartNames [idx]) ; - result.appendCString ("-") ; + result << gPartNames [idx] << "-" ; idx = 0 ; break ; default : // Enter name, exit - result.appendString (gPartNames [idx]) ; + result << gPartNames [idx] ; completed = true ; break ; } @@ -99,10 +97,10 @@ bool isUnicodeCharacterAssigned (const utf32 inUnicodeCharacter) { } if (result.length () == 0) { if (UNICODE_VALUE (inUnicodeCharacter) < 0x10000) { - result.appendCString ("\\u") ; + result << "\\u" ; result.appendUnsignedHex4 (UNICODE_VALUE (inUnicodeCharacter)) ; }else{ - result.appendCString ("\\U") ; + result << "\\U" ; result.appendUnsignedHex8 (UNICODE_VALUE (inUnicodeCharacter)) ; } } @@ -111,7 +109,7 @@ bool isUnicodeCharacterAssigned (const utf32 inUnicodeCharacter) { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef __OBJC__ NSString * unicodeName (const utf32 inUnicodeCharacter) { @@ -161,7 +159,7 @@ bool isUnicodeCharacterAssigned (const utf32 inUnicodeCharacter) { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- utf32 unicodeToLower (const utf32 inUnicodeCharacter) { utf32 result = inUnicodeCharacter ; @@ -178,7 +176,7 @@ utf32 unicodeToLower (const utf32 inUnicodeCharacter) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- utf32 unicodeToUpper (const utf32 inUnicodeCharacter) { utf32 result = inUnicodeCharacter ; @@ -195,7 +193,7 @@ utf32 unicodeToUpper (const utf32 inUnicodeCharacter) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool isUnicodeLetter (const utf32 inUnicodeCharacter) { bool ok = (0x61 <= UNICODE_VALUE (inUnicodeCharacter)) && (UNICODE_VALUE (inUnicodeCharacter) <= 0x7A) ; @@ -229,7 +227,7 @@ bool isUnicodeLetter (const utf32 inUnicodeCharacter) { return ok ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool isUnicodeMark (const utf32 inUnicodeCharacter) { bool result = false ; @@ -247,7 +245,7 @@ bool isUnicodeMark (const utf32 inUnicodeCharacter) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool isUnicodeNumber (const utf32 inUnicodeCharacter) { bool result = false ; @@ -265,7 +263,7 @@ bool isUnicodeNumber (const utf32 inUnicodeCharacter) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool isUnicodeDecimalDigit (const utf32 inUnicodeCharacter) { bool result = false ; @@ -283,7 +281,7 @@ bool isUnicodeDecimalDigit (const utf32 inUnicodeCharacter) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t unicodeDecimalValue (const utf32 inUnicodeCharacter) { uint32_t result = 0 ; @@ -302,7 +300,7 @@ uint32_t unicodeDecimalValue (const utf32 inUnicodeCharacter) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool isUnicodeASCIIHexDigit (const utf32 inUnicodeCharacter) { return @@ -312,7 +310,7 @@ bool isUnicodeASCIIHexDigit (const utf32 inUnicodeCharacter) { ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t ASCIIHexValue (const utf32 inUnicodeCharacter) { uint32_t result = 0 ; @@ -326,7 +324,7 @@ uint32_t ASCIIHexValue (const utf32 inUnicodeCharacter) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool isUnicodeSeparator (const utf32 inUnicodeCharacter) { bool result = false ; @@ -344,7 +342,7 @@ bool isUnicodeSeparator (const utf32 inUnicodeCharacter) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool isUnicodeCommand (const utf32 inUnicodeCharacter) { bool result = true ; // Undefined character has 'Cn' category @@ -362,7 +360,7 @@ bool isUnicodeCommand (const utf32 inUnicodeCharacter) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool isUnicodePunctuation (const utf32 inUnicodeCharacter) { bool result = false ; @@ -380,7 +378,7 @@ bool isUnicodePunctuation (const utf32 inUnicodeCharacter) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool isUnicodeSymbol (const utf32 inUnicodeCharacter) { bool result = false ; @@ -398,7 +396,7 @@ bool isUnicodeSymbol (const utf32 inUnicodeCharacter) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t utf8Length (const utf32 inUnicodeCharacter) { uint32_t r = 1 ; @@ -412,10 +410,10 @@ uint32_t utf8Length (const utf32 inUnicodeCharacter) { return r ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef __cplusplus - utf32 unicodeCharacterFromHTMLSequence (const String & inString) { + utf32 unicodeCharacterFromHTMLSequence (const C_String & inString) { utf32 result = TO_UNICODE (0) ; // Means not found int32_t lowIndex = 0 ; int32_t highIndex = kHTMLtoUnicodeConversionTableSize - 1 ; @@ -434,7 +432,7 @@ uint32_t utf8Length (const utf32 inUnicodeCharacter) { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef __OBJC__ utf32 unicodeCharacterFromHTMLSequence (NSString * inString) { @@ -456,11 +454,11 @@ uint32_t utf8Length (const utf32 inUnicodeCharacter) { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // S T R I N G E N C O D I N G S T A B L E S // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typedef struct { const char * mCodeName ; @@ -469,11 +467,11 @@ typedef struct { const uint16_t * mMappingToUnicode ; } unicodeMappingDescriptorType ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #define kMappingDescriptorsSize (18) -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static const unicodeMappingDescriptorType kMappingDescriptors [kMappingDescriptorsSize] = { {"ISO 8859-1", gMappingFromUnicodeTo_8859_1, gMappingFromUnicodeTo_8859_1_count, gMappingFrom_8859_1_ToUnicode}, @@ -496,7 +494,7 @@ static const unicodeMappingDescriptorType kMappingDescriptors [kMappingDescripto {"Mac Roman", gMappingFromUnicodeTo_ROMAN, gMappingFromUnicodeTo_ROMAN_count, gMappingFrom_ROMAN_ToUnicode} } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- utf32 unicodeCharacterForSingleByteCharacter (const char inChar, const PMStringEncoding inStringEncoding) { const unsigned short c = (unsigned short) (((unsigned short) inChar) & 0x00FFU) ; @@ -510,7 +508,7 @@ utf32 unicodeCharacterForSingleByteCharacter (const char inChar, const PMStringE return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- char singleByteCharacterForUnicodeCharacter (const utf32 inUnicodeChar, const PMStringEncoding inStringEncoding) { @@ -528,6 +526,7 @@ char singleByteCharacterForUnicodeCharacter (const utf32 inUnicodeChar, }else if (UNICODE_VALUE (inUnicodeChar) < mapping [mid].mUnicode) { high = mid - 1 ; }else{ // Found + // printf ("found") ; result = mapping [mid].mSingleByteCode ; } } @@ -538,7 +537,7 @@ char singleByteCharacterForUnicodeCharacter (const utf32 inUnicodeChar, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // From: // http://www.unicode.org/Public/PROGRAMS/CVTUTF/ConvertUTF.c // http://github.com/lloyd/yajl/blob/d55329340828a736777056f49afd21cb67e2b6b8/src/yajl_encode.c @@ -585,7 +584,7 @@ int32_t UTF8StringFromUTF32Character (const utf32 inUnicodeChar, char outSequenc // 0000 0000 0000 0yyy xxxx xxxx -> 110y yyxx 10xx xxxx // 0000 0000 zzzz yyyy xxxx xxxx -> 1110 zzzz 10yy yyxx 10xx xxxx // 000u uuuu zzzz yyyy xxxx xxxx -> 1111 0uuu 10uu zzzz 10yy yyxx 10xx xxxx -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef __cplusplus utf32 utf32CharacterForPointer (const uint8_t * inDataString, @@ -652,7 +651,7 @@ int32_t UTF8StringFromUTF32Character (const utf32 inUnicodeChar, char outSequenc } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // https://msdn.microsoft.com/en-us/library/565w213d.aspx (??) bool isRestrictedUnicodeLetter (const utf32 inUnicodeCharacter) { diff --git a/goil/build/libpm/strings/unicode_character_m.h b/goil/build/libpm/strings/unicode_character_m.h index 8af28ae49..66a7b1275 100644 --- a/goil/build/libpm/strings/unicode_character_m.h +++ b/goil/build/libpm/strings/unicode_character_m.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // unicode_character : an implementation of Unicode character // @@ -16,25 +16,25 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import #import -#import "string_encodings.h" +#import "strings/string_encodings.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typedef UInt32 utf32 ; #define UNICODE_VALUE(n) (n) #define TO_UNICODE(v) (v) -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "unicode_character_base.h" +#include "strings/unicode_character_base.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/strings/unicode_character_m.m b/goil/build/libpm/strings/unicode_character_m.m index 44fed7f63..1be3f99a1 100644 --- a/goil/build/libpm/strings/unicode_character_m.m +++ b/goil/build/libpm/strings/unicode_character_m.m @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // unicode_character : an implementation of Unicode character // @@ -16,17 +16,17 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import "unicode_character_m.h" #import "cUnicodeData.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #import "unicode_character_implementation.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/strings/unicode_string_routines.cpp b/goil/build/libpm/strings/unicode_string_routines.cpp new file mode 100644 index 000000000..c1024b5a0 --- /dev/null +++ b/goil/build/libpm/strings/unicode_string_routines.cpp @@ -0,0 +1,124 @@ +//---------------------------------------------------------------------------------------------------------------------- +// +// unicode_string_routines: this file implements uint32_t * string routines, +// that are in direct correspondance with char * C string routines of C +// library. +// +// This file is part of libpm library +// +// Copyright (C) 2008, ..., 2008 Pierre Molinaro. +// +// e-mail : pierre@pcmolinaro.name +// +// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied +// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +//---------------------------------------------------------------------------------------------------------------------- + +#include "strings/unicode_string_routines.h" + +//---------------------------------------------------------------------------------------------------------------------- +//--- From GLIBC, version 2.7 http://ftp.gnu.org/gnu/glibc/glibc-2.7.tar.bz2 +// glibc/wcsmbs/wcscmp.c + +int32_t utf32_strcmp (const utf32 * inString1, const utf32 * inString2) { + int32_t c1, c2; + do{ + c1 = (int32_t) UNICODE_VALUE (*inString1) ; + inString1 ++ ; + c2 = (int32_t) UNICODE_VALUE (*inString2) ; + inString2 ++ ; + if (c1 == 0) return c1 - c2 ; + }while (c1 == c2) ; + return c1 - c2 ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +int32_t utf32_char_strcmp (const utf32 * inString1, const char * inString2) { + int32_t c1, c2; + do{ + c1 = (int32_t) UNICODE_VALUE (*inString1) ; + inString1 ++ ; + c2 = (int32_t) (*inString2) ; + inString2 ++ ; + if (c1 == 0) return c1 - c2 ; + }while (c1 == c2) ; + return c1 - c2 ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +int32_t utf32_strncmp (const utf32 * inString1, const utf32 * inString2, const int32_t inLength) { + if (inLength == 0) return 0 ; + int32_t c1, c2; + int32_t remaining = inLength ; + do{ + c1 = (int32_t) UNICODE_VALUE (*inString1) ; + inString1 ++ ; + c2 = (int32_t) UNICODE_VALUE (*inString2) ; + inString2 ++ ; + if (c1 == 0) return c1 - c2 ; + remaining -- ; + }while ((c1 == c2) && (remaining > 0)) ; + return c1 - c2 ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +int32_t utf32_char_strncmp (const utf32 * inString1, + const char * inString2, + const int32_t inLength) { + if (inLength == 0) return 0 ; + int32_t c1, c2; + int32_t remaining = inLength ; + do{ + c1 = (int32_t) UNICODE_VALUE (*inString1) ; + inString1 ++ ; + c2 = (int32_t) (*inString2) ; + inString2 ++ ; + if (c1 == 0) return c1 - c2 ; + remaining -- ; + }while ((c1 == c2) && (remaining > 0)) ; + return c1 - c2 ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +int32_t utf32_strlen (const utf32 * inString) { + int32_t result = 0 ; + while (UNICODE_VALUE (* inString) != 0) { + inString ++ ; + result ++ ; + } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +const utf32 * utf32_strstr (const utf32 * haystack, const utf32 * needle) { + const utf32 * s = haystack; + const utf32 * p = needle; + do { + if (! UNICODE_VALUE (*p)) { + return haystack ; + } + if (UNICODE_VALUE (*p) == UNICODE_VALUE (*s)) { + ++p; + ++s; + }else{ + p = needle; + if (!UNICODE_VALUE (*s)) { + return nullptr; + } + s = ++haystack; + } + } while (1); +} + +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/strings/unicode_string_routines.h b/goil/build/libpm/strings/unicode_string_routines.h new file mode 100644 index 000000000..ff429b05d --- /dev/null +++ b/goil/build/libpm/strings/unicode_string_routines.h @@ -0,0 +1,43 @@ +//---------------------------------------------------------------------------------------------------------------------- +// +// unicode_string_routines: this file implements uint32_t * string routines, +// that are in direct correspondance with char * C string routines of C +// library. +// +// This file is part of libpm library +// +// Copyright (C) 2008, ..., 2023 Pierre Molinaro. +// +// e-mail : pierre@pcmolinaro.name +// +// This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied +// warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +//---------------------------------------------------------------------------------------------------------------------- + +#pragma once + +//---------------------------------------------------------------------------------------------------------------------- + +#include "utilities/M_machine.h" + +//---------------------------------------------------------------------------------------------------------------------- + +int32_t utf32_strcmp (const utf32 * inString1, const utf32 * inString2) ; + +int32_t utf32_char_strncmp (const utf32 * inString1, const char * inString2, const int32_t inLength) ; + +int32_t utf32_strncmp (const utf32 * inString1, const utf32 * inString2, const int32_t inLength) ; + +int32_t utf32_strlen (const utf32 * inString) ; + +int32_t utf32_char_strcmp (const utf32 * inString1, const char * inString2) ; + +const utf32 * utf32_strstr (const utf32 * haystack, const utf32 * needle) ; + +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/time/DateTime.cpp b/goil/build/libpm/time/C_DateTime.cpp similarity index 63% rename from goil/build/libpm/time/DateTime.cpp rename to goil/build/libpm/time/C_DateTime.cpp index fb0f66a62..dbe083132 100644 --- a/goil/build/libpm/time/DateTime.cpp +++ b/goil/build/libpm/time/C_DateTime.cpp @@ -1,10 +1,10 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Class for date handling. // // This file is part of libpm library // -// Copyright (C) 1999, ..., 2023 Pierre Molinaro. +// Copyright (C) 1999, ..., 2009 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -16,35 +16,35 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "DateTime.h" -#include "String-class.h" +#include "time/C_DateTime.h" +#include "strings/C_String.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -DateTime::DateTime (void) : +C_DateTime::C_DateTime (void) : mDate (std::chrono::system_clock::now ()) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -DateTime::DateTime (const time_t inTimeInSeconds) : +C_DateTime::C_DateTime (const time_t inTimeInSeconds) : mDate (std::chrono::system_clock::from_time_t (inTimeInSeconds)) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -DateTime::~DateTime (void) { +C_DateTime::~C_DateTime (void) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const char * DateTime::getMonthName (void) const { +const char * C_DateTime::getMonthName (void) const { const time_t tt = std::chrono::system_clock::to_time_t (mDate) ; struct tm time ; #if COMPILE_FOR_WINDOWS == 0 @@ -66,12 +66,12 @@ const char * DateTime::getMonthName (void) const { case 10 : return "november" ; case 11 : return "december" ; } - return nullptr ; + return (const char *) nullptr ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const char * DateTime::getDayName (void) const { +const char * C_DateTime::getDayName (void) const { const time_t tt = std::chrono::system_clock::to_time_t (mDate) ; struct tm time ; #if COMPILE_FOR_WINDOWS == 0 @@ -88,12 +88,12 @@ const char * DateTime::getDayName (void) const { case 5 : return "friday" ; case 6 : return "saturday" ; } - return nullptr ; + return (const char *) nullptr ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -int32_t DateTime::getYearCount (void) const { +int32_t C_DateTime::getYearCount (void) const { const time_t tt = std::chrono::system_clock::to_time_t (mDate) ; struct tm time ; #if COMPILE_FOR_WINDOWS == 0 @@ -104,9 +104,9 @@ int32_t DateTime::getYearCount (void) const { return 1900 + time.tm_year ; // (1900, ...) } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -int32_t DateTime::getMonthCount (void) const { +int32_t C_DateTime::getMonthCount (void) const { const time_t tt = std::chrono::system_clock::to_time_t (mDate) ; struct tm time ; #if COMPILE_FOR_WINDOWS == 0 @@ -117,9 +117,9 @@ int32_t DateTime::getMonthCount (void) const { return 1 + time.tm_mon ; // (1, 12) } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -int32_t DateTime::getDayOfMonth (void) const { +int32_t C_DateTime::getDayOfMonth (void) const { const time_t tt = std::chrono::system_clock::to_time_t (mDate) ; struct tm time ; #if COMPILE_FOR_WINDOWS == 0 @@ -130,9 +130,9 @@ int32_t DateTime::getDayOfMonth (void) const { return time.tm_mday ; // (1, 31) } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -int32_t DateTime::getHourOfDay (void) const { +int32_t C_DateTime::getHourOfDay (void) const { const time_t tt = std::chrono::system_clock::to_time_t (mDate) ; struct tm time ; #if COMPILE_FOR_WINDOWS == 0 @@ -143,9 +143,9 @@ int32_t DateTime::getHourOfDay (void) const { return time.tm_hour ; // (0, 23) } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -int32_t DateTime::getMinuteOfHour (void) const { +int32_t C_DateTime::getMinuteOfHour (void) const { const time_t tt = std::chrono::system_clock::to_time_t (mDate) ; struct tm time ; #if COMPILE_FOR_WINDOWS == 0 @@ -156,9 +156,9 @@ int32_t DateTime::getMinuteOfHour (void) const { return time.tm_min ; // (0, 59) } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -int32_t DateTime::getSecondOfMinute (void) const { +int32_t C_DateTime::getSecondOfMinute (void) const { const time_t tt = std::chrono::system_clock::to_time_t (mDate) ; struct tm time ; #if COMPILE_FOR_WINDOWS == 0 @@ -169,9 +169,9 @@ int32_t DateTime::getSecondOfMinute (void) const { return time.tm_sec ; // (0, 59) } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -int32_t DateTime::getDayOfWeek (void) const { +int32_t C_DateTime::getDayOfWeek (void) const { const time_t tt = std::chrono::system_clock::to_time_t (mDate) ; struct tm time ; #if COMPILE_FOR_WINDOWS == 0 @@ -182,83 +182,80 @@ int32_t DateTime::getDayOfWeek (void) const { return time.tm_wday ; // 0 = dimanche } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool DateTime::operator == (const DateTime & inDate) const { +bool C_DateTime::operator == (const C_DateTime & inDate) const { return mDate == inDate.mDate ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool DateTime::operator != (const DateTime & inDate) const { +bool C_DateTime::operator != (const C_DateTime & inDate) const { return mDate != inDate.mDate ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool DateTime::operator > (const DateTime & inDate) const { +bool C_DateTime::operator > (const C_DateTime & inDate) const { return mDate > inDate.mDate ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool DateTime::operator < (const DateTime & inDate) const { +bool C_DateTime::operator < (const C_DateTime & inDate) const { return mDate < inDate.mDate ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool DateTime::operator >= (const DateTime & inDate) const { +bool C_DateTime::operator >= (const C_DateTime & inDate) const { return mDate >= inDate.mDate ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool DateTime::operator <= (const DateTime & inDate) const { +bool C_DateTime::operator <= (const C_DateTime & inDate) const { return mDate <= inDate.mDate ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String DateTime::string (void) const { - String result ; - const int32_t dayOfMonth = getDayOfMonth () ; - result.appendCString (getMonthName ()) ; - result.appendCString (" ") ; - result.appendSigned (dayOfMonth) ; +AC_OutputStream & operator << (AC_OutputStream & inStream, + const C_DateTime & inDate) { + const int32_t dayOfMonth = inDate.getDayOfMonth () ; + inStream << inDate.getMonthName () + << " " + << cStringWithSigned (dayOfMonth) ; switch (dayOfMonth) { case 1 : - result.appendCString ("st") ; + inStream << "st" ; break ; case 2 : - result.appendCString ("nd") ; + inStream << "nd" ; break ; case 3 : - result.appendCString ("rd") ; + inStream << "rd" ; break ; default : - result.appendCString ("th") ; + inStream << "th" ; break ; } - result.appendCString (", ") ; - result.appendSigned (getYearCount ()) ; - result.appendCString (", at ") ; - result.appendSigned (getHourOfDay ()) ; - result.appendCString ("h") ; - result.appendSigned (getMinuteOfHour ()) ; - result.appendCString ("\'") ; - result.appendSigned (getSecondOfMinute ()) ; - result.appendCString ("\"") ; - return result ; + inStream << ", " + << cStringWithSigned (inDate.getYearCount ()) + << ", at " + << cStringWithSigned (inDate.getHourOfDay ()) << "h" + << cStringWithSigned (inDate.getMinuteOfHour ()) << "\'" + << cStringWithSigned (inDate.getSecondOfMinute ()) << "\"" ; + return inStream ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static time_t gCurrentToolModificationTime ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void DateTime::enterCurrentToolModificationTime (const char * inMainRoutineFirstArgument) { +void C_DateTime::enterCurrentToolModificationTime (const char * inMainRoutineFirstArgument) { struct stat fileProperties ; const int err = ::stat (inMainRoutineFirstArgument, & fileProperties) ; if ((err == 0) && ((fileProperties.st_mode & S_IFREG) != 0)) { @@ -266,10 +263,10 @@ void DateTime::enterCurrentToolModificationTime (const char * inMainRoutineFirst } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -DateTime DateTime::currentToolModificationTime (void) { - return DateTime (gCurrentToolModificationTime) ; +C_DateTime C_DateTime::currentToolModificationTime (void) { + return C_DateTime (gCurrentToolModificationTime) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/time/DateTime.h b/goil/build/libpm/time/C_DateTime.h similarity index 61% rename from goil/build/libpm/time/DateTime.h rename to goil/build/libpm/time/C_DateTime.h index 6b9db42ca..7bc4ab978 100644 --- a/goil/build/libpm/time/DateTime.h +++ b/goil/build/libpm/time/C_DateTime.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Class for date handling. // @@ -16,27 +16,27 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "AbstractOutputStream.h" +#include "streams/AC_OutputStream.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class DateTime final { +class C_DateTime final { private: std::chrono::time_point mDate ; //--- Constructors et destructor - public: DateTime (void) ; // Current date - public: DateTime (const time_t inTimeInSeconds) ; - public: ~DateTime (void) ; + public: C_DateTime (void) ; // Current date + public: C_DateTime (const time_t inTimeInSeconds) ; + public: ~C_DateTime (void) ; //--- Get date components public: int32_t getYearCount (void) const ; // (1900, ...) @@ -48,20 +48,24 @@ class DateTime final { public: int32_t getDayOfWeek (void) const ; // 0 = dimanche public: const char * getDayName (void) const ; public: const char * getMonthName (void) const ; - public: String string (void) const ; //--- Date comparisons - public: int32_t compare (const DateTime & inDate) const ; - public: bool operator == (const DateTime & inDate) const ; - public: bool operator != (const DateTime & inDate) const ; - public: bool operator <= (const DateTime & inDate) const ; - public: bool operator >= (const DateTime & inDate) const ; - public: bool operator < (const DateTime & inDate) const ; - public: bool operator > (const DateTime & inDate) const ; + public: int32_t compare (const C_DateTime & inDate) const ; + public: bool operator == (const C_DateTime & inDate) const ; + public: bool operator != (const C_DateTime & inDate) const ; + public: bool operator <= (const C_DateTime & inDate) const ; + public: bool operator >= (const C_DateTime & inDate) const ; + public: bool operator < (const C_DateTime & inDate) const ; + public: bool operator > (const C_DateTime & inDate) const ; //--- Modification date of current tool public: static void enterCurrentToolModificationTime (const char * inMainRoutineFirstArgument) ; - public: static DateTime currentToolModificationTime (void) ; + public: static C_DateTime currentToolModificationTime (void) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +AC_OutputStream & operator << (AC_OutputStream & inStream, + const C_DateTime & inDate) ; + +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/time/Timer.cpp b/goil/build/libpm/time/C_Timer.cpp similarity index 55% rename from goil/build/libpm/time/Timer.cpp rename to goil/build/libpm/time/C_Timer.cpp index 6c109ddcd..bd67b6252 100644 --- a/goil/build/libpm/time/Timer.cpp +++ b/goil/build/libpm/time/C_Timer.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Timer class. // @@ -16,41 +16,41 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "Timer.h" -#include "M_machine.h" -#include "String-class.h" +#include "time/C_Timer.h" +#include "utilities/M_machine.h" +#include "strings/C_String.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -Timer::Timer (void) : +C_Timer::C_Timer (void) : mStart (::clock ()), mEnd (::clock ()), mRunning (true) { mEnd = mStart ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void Timer::stopTimer (void) { +void C_Timer::stopTimer (void) { if (mRunning) { mEnd = ::clock () ; mRunning = false ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void Timer::startTimer (void) { +void C_Timer::startTimer (void) { mStart = ::clock () ; mEnd = mStart ; mRunning = true ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -uint32_t Timer::msFromStart (void) const { +uint32_t C_Timer::msFromStart (void) const { clock_t duration ; if (mRunning) { duration = ::clock () - mStart ; @@ -61,24 +61,49 @@ uint32_t Timer::msFromStart (void) const { return uint32_t (duration) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String Timer::timeString (void) const { +C_String C_Timer::timeString (void) const { const uint32_t d = msFromStart () ; const uint32_t ms = d % 1000 ; const uint32_t secondes = (d / 1000) % 60 ; const uint32_t minutes = d / 60000 ; - String result ; + C_String result ; if (minutes > 0) { result.appendUnsigned (minutes) ; - result.appendCString (" min ") ; + result << " min " ; } result.appendUnsigned (secondes) ; - result.appendCString (" s ") ; + result << " s " ; result.appendUnsigned (ms / 100) ; result.appendUnsigned ((ms / 10) % 10) ; result.appendUnsigned (ms % 10) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +AC_OutputStream & operator << (AC_OutputStream & inStream, + const C_Timer & inTimer) { + clock_t duration ; + if (inTimer.mRunning) { + duration = ::clock () - inTimer.mStart ; + }else{ + duration = inTimer.mEnd - inTimer.mStart ; + } + duration /= CLOCKS_PER_SEC / 100 ; + const clock_t cs = duration % 100 ; + const clock_t secondes = (duration / 100) % 60 ; + const clock_t minutes = duration / 6000 ; + if (minutes > 0) { + inStream.appendUnsigned (minutes) ; + inStream << " min " ; + } + inStream.appendUnsigned (secondes) ; + inStream << " s " ; + inStream.appendUnsigned (cs / 10) ; + inStream.appendUnsigned (cs % 10) ; + return inStream ; +} + +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/time/Timer.h b/goil/build/libpm/time/C_Timer.h similarity index 64% rename from goil/build/libpm/time/Timer.h rename to goil/build/libpm/time/C_Timer.h index 77d3041d1..2af1d7e48 100644 --- a/goil/build/libpm/time/Timer.h +++ b/goil/build/libpm/time/C_Timer.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Timer class. // @@ -16,30 +16,30 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include #include #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class AbstractOutputStream ; -class String ; +class AC_OutputStream ; +class C_String ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class Timer final { +class C_Timer final { private: clock_t mStart ; private: clock_t mEnd ; private: bool mRunning ; - public: Timer (void) ; + public: C_Timer (void) ; public: void stopTimer (void) ; @@ -47,9 +47,18 @@ class Timer final { public: uint32_t msFromStart (void) const ; - public: String timeString (void) const ; + public: C_String timeString (void) const ; public: inline bool isRunning (void) const { return mRunning ; } + + friend AC_OutputStream & operator << (AC_OutputStream & inStream, + const C_Timer & inTimer) ; + } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +AC_OutputStream & operator << (AC_OutputStream & inStream, + const C_Timer & inTimer) ; + +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/U8Data.cpp b/goil/build/libpm/utilities/C_Data.cpp similarity index 65% rename from goil/build/libpm/utilities/U8Data.cpp rename to goil/build/libpm/utilities/C_Data.cpp index 10ebc15d2..ef938e6c2 100644 --- a/goil/build/libpm/utilities/U8Data.cpp +++ b/goil/build/libpm/utilities/C_Data.cpp @@ -1,6 +1,6 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// U8Data : a class for handling arbitrary data array +// C_Data : a class for handling arbitrary data array // // This file is part of libpm library // @@ -16,71 +16,72 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "U8Data.h" -#include "unicode_character_base.h" +#include "utilities/C_Data.h" +#include "strings/unicode_character_base.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -U8Data::U8Data (void) : +C_Data::C_Data (void) : mBinaryData () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void U8Data::setDataFromPointer (uint8_t * & ioDataPtr, +void C_Data::setDataFromPointer (uint8_t * & ioDataPtr, const int32_t inDataLength) { mBinaryData.setDataFromPointer (ioDataPtr, inDataLength) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void U8Data::appendDataFromPointer (const uint8_t * inDataPtr, +void C_Data::appendDataFromPointer (const uint8_t * inDataPtr, const int32_t inDataLength) { mBinaryData.appendDataFromPointer (inDataPtr, inDataLength) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -U8Data::~U8Data (void) { +C_Data::~C_Data (void) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void U8Data::setCapacity (const int32_t inNewCapacity) { +void C_Data::setCapacity (const int32_t inNewCapacity) { mBinaryData.setCapacity (inNewCapacity) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void U8Data::appendData (const U8Data & inData) { +void C_Data::appendData (const C_Data & inData) { for (int32_t i=0 ; i UNICODE_VALUE (UNICODE_MAX_LEGAL_UTF32_CHARACTER)) { codePoint = UNICODE_VALUE (UNICODE_REPLACEMENT_CHARACTER) ; @@ -102,28 +103,28 @@ void U8Data::appendUTF32Character (const utf32 inUnicodeChar) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void U8Data::removeAllKeepingCapacity (void) { +void C_Data::removeAllKeepingCapacity (void) { mBinaryData.removeAllKeepingCapacity () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void U8Data::free (void) { +void C_Data::free (void) { mBinaryData.free () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -uint8_t U8Data::operator () (const int32_t inIndex +uint8_t C_Data::operator () (const int32_t inIndex COMMA_LOCATION_ARGS) const { return mBinaryData (inIndex COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -int32_t U8Data::compareWithData (const U8Data & inData) const { +int32_t C_Data::compareWithData (const C_Data & inData) const { int32_t result = count () - inData.count () ; for (int32_t i=0 ; (ioperator () (i COMMA_HERE)) - ((int32_t) inData (i COMMA_HERE)) ; @@ -131,21 +132,21 @@ int32_t U8Data::compareWithData (const U8Data & inData) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void U8Data::removeLengthFromStart (const uint32_t inLength COMMA_LOCATION_ARGS) { +void C_Data::removeLengthFromStart (const uint32_t inLength COMMA_LOCATION_ARGS) { mBinaryData.removeObjectsAtIndex ((int32_t) inLength, 0 COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void U8Data::removeLastByte (LOCATION_ARGS) { +void C_Data::removeLastByte (LOCATION_ARGS) { mBinaryData.removeObjectsAtIndex (1, mBinaryData.count () - 1 COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool U8Data::operator == (const U8Data & inData) const { +bool C_Data::operator == (const C_Data & inData) const { bool equal = count () == inData.count () ; if (equal) { equal = ::memcmp (mBinaryData.unsafeArrayPointer(), inData.mBinaryData.unsafeArrayPointer(), (size_t) count ()) == 0 ; @@ -153,10 +154,10 @@ bool U8Data::operator == (const U8Data & inData) const { return equal ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool U8Data::operator != (const U8Data & inData) const { +bool C_Data::operator != (const C_Data & inData) const { return ! ((*this) == inData) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/U8Data.h b/goil/build/libpm/utilities/C_Data.h similarity index 74% rename from goil/build/libpm/utilities/U8Data.h rename to goil/build/libpm/utilities/C_Data.h index 087bada1a..f5ee89de0 100644 --- a/goil/build/libpm/utilities/U8Data.h +++ b/goil/build/libpm/utilities/C_Data.h @@ -1,6 +1,6 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// U8Data : a class for handling arbitrary data array +// C_Data : a class for handling arbitrary data array // // This file is part of libpm library // @@ -16,25 +16,25 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "TC_Array.h" +#include "generic-arraies/TC_Array.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class U8Data final { +class C_Data final { //--- Data private: TC_Array mBinaryData ; //--- Constructors - public: U8Data (void) ; + public: C_Data (void) ; //--- Destructor - public: ~U8Data (void) ; + public: ~C_Data (void) ; //--- Length public: inline int32_t count (void) const { return mBinaryData.count () ; } @@ -50,8 +50,8 @@ class U8Data final { public: void free (void) ; //--- Append data - public: void appendData (const U8Data & inData) ; - public: void appendString (const class String & inString) ; + public: void appendData (const C_Data & inData) ; + public: void appendString (const class C_String & inString) ; public: void appendUTF32Character (const utf32 inUnicodeChar) ; //--- @@ -68,7 +68,7 @@ class U8Data final { public: void appendByte (const uint8_t inByte) ; - public: int32_t compareWithData (const U8Data & inData) const ; + public: int32_t compareWithData (const C_Data & inData) const ; //--- public: void removeLengthFromStart (const uint32_t inLength COMMA_LOCATION_ARGS) ; @@ -77,8 +77,8 @@ class U8Data final { public: void removeLastByte (LOCATION_ARGS) ; //--- - public: bool operator == (const U8Data & inData) const ; - public: bool operator != (const U8Data & inData) const ; + public: bool operator == (const C_Data & inData) const ; + public: bool operator != (const C_Data & inData) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/DirectedGraph.cpp b/goil/build/libpm/utilities/C_DirectedGraph.cpp similarity index 76% rename from goil/build/libpm/utilities/DirectedGraph.cpp rename to goil/build/libpm/utilities/C_DirectedGraph.cpp index 44292eafd..85e40c28f 100644 --- a/goil/build/libpm/utilities/DirectedGraph.cpp +++ b/goil/build/libpm/utilities/C_DirectedGraph.cpp @@ -1,6 +1,6 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// DirectedGraph : algorithms on ordered graphs +// C_DirectedGraph : algorithms on ordered graphs // // This file is part of libpm library // @@ -16,22 +16,22 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "DirectedGraph.h" +#include "utilities/C_DirectedGraph.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -DirectedGraph::DirectedGraph (void) : +C_DirectedGraph::C_DirectedGraph (void) : mNodes (), mEdges (), mReverseEdges () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -DirectedGraph DirectedGraph::reversedGraph (void) const { - DirectedGraph result ; +C_DirectedGraph C_DirectedGraph::reversedGraph (void) const { + C_DirectedGraph result ; result.mNodes = mNodes ; result.mEdges = mReverseEdges ; result.mReverseEdges = mEdges ; @@ -41,45 +41,45 @@ DirectedGraph DirectedGraph::reversedGraph (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void DirectedGraph::addNode (const uint32_t inNodeIndex) { +void C_DirectedGraph::addNode (const uint32_t inNodeIndex) { mNodes.add (inNodeIndex) ; while (((int32_t) inNodeIndex) >= mEdges.count ()) { - mEdges.appendObject (UInt32Set ()) ; - mReverseEdges.appendObject (UInt32Set ()) ; + mEdges.appendObject (C_UIntSet ()) ; + mReverseEdges.appendObject (C_UIntSet ()) ; } #ifndef DO_NOT_GENERATE_CHECKINGS checkGraph (HERE) ; #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void DirectedGraph::addNodes (const UInt32Set inNodes) { +void C_DirectedGraph::addNodes (const C_UIntSet inNodes) { mNodes |= inNodes ; const uint32_t lastPlusOne = mNodes.firstValueNotIsSet () ; while (lastPlusOne > (uint32_t) mEdges.count ()) { - mEdges.appendObject (UInt32Set ()) ; - mReverseEdges.appendObject (UInt32Set ()) ; + mEdges.appendObject (C_UIntSet ()) ; + mReverseEdges.appendObject (C_UIntSet ()) ; } #ifndef DO_NOT_GENERATE_CHECKINGS checkGraph (HERE) ; #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void DirectedGraph::removeNode (const uint32_t inNodeIndex) { +void C_DirectedGraph::removeNode (const uint32_t inNodeIndex) { if (inNodeIndex < (uint32_t) mEdges.count ()) { mNodes.remove (inNodeIndex) ; - const UInt32Set targetSet = mEdges ((int32_t) inNodeIndex COMMA_HERE) ; + const C_UIntSet targetSet = mEdges ((int32_t) inNodeIndex COMMA_HERE) ; TC_UniqueArray targetList ; targetSet.getValueArray (targetList) ; for (int32_t i=0 ; i & outNodes) const { +void C_DirectedGraph::getNodeBoolArray (TC_UniqueArray & outNodes) const { mNodes.getBoolValueArray (outNodes) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void DirectedGraph::getNodeValueArray (TC_UniqueArray & outNodes) const { +void C_DirectedGraph::getNodeValueArray (TC_UniqueArray & outNodes) const { mNodes.getValueArray (outNodes) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool DirectedGraph::isNodeDefined (const uint32_t inNodeIndex) const { +bool C_DirectedGraph::isNodeDefined (const uint32_t inNodeIndex) const { return mNodes.contains (inNodeIndex) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -uint32_t DirectedGraph::nodeCount (void) const { +uint32_t C_DirectedGraph::nodeCount (void) const { return mNodes.count () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -uint32_t DirectedGraph::edgeCount (void) const { +uint32_t C_DirectedGraph::edgeCount (void) const { uint32_t result = 0 ; for (int32_t i=0 ; i & inNodeNameArray) const { - String s = "digraph G {\n" ; +C_String C_DirectedGraph::graphvizString (const TC_UniqueArray & inNodeNameArray) const { + C_String s = "digraph G {\n" ; for (int32_t i=0 ; i targetList ; targetSet.getValueArray (targetList) ; for (int32_t j=0 ; j ") ; - s.appendString (inNodeNameArray (int32_t (targetIndex) COMMA_HERE).utf8RepresentationEnclosedWithin ('"', false)) ; - s.appendCString (" ;\n") ; + s << " " + << inNodeNameArray (i COMMA_HERE).utf8RepresentationEnclosedWithin ('"', false) + << " -> " + << inNodeNameArray (int32_t (targetIndex) COMMA_HERE).utf8RepresentationEnclosedWithin ('"', false) + << " ;\n" ; } } } - s.appendCString ("}\n") ; + s << "}\n" ; return s ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS - void DirectedGraph::checkGraph (LOCATION_ARGS) const { - macroAssertThere (mEdges.count () == mReverseEdges.count (), "mEdges.count () %lld != mReverseEdges.count () %lld", mEdges.count (), mReverseEdges.count ()) ; - macroAssertThere (mNodes.firstValueNotIsSet () == (uint32_t) (mEdges.count ()), "mNodes.firstValueNotIsSet () %lld != mEdges.count () %lld", mNodes.firstValueNotIsSet (), mEdges.count ()) ; + void C_DirectedGraph::checkGraph (LOCATION_ARGS) const { + MF_AssertThere (mEdges.count () == mReverseEdges.count (), "mEdges.count () %lld != mReverseEdges.count () %lld", mEdges.count (), mReverseEdges.count ()) ; + MF_AssertThere (mNodes.firstValueNotIsSet () == (uint32_t) (mEdges.count ()), "mNodes.firstValueNotIsSet () %lld != mEdges.count () %lld", mNodes.firstValueNotIsSet (), mEdges.count ()) ; //--- for (uint32_t i=0 ; i<(uint32_t) mEdges.count () ; i++) { TC_UniqueArray targetList ; mEdges ((int32_t) i COMMA_HERE).getValueArray (targetList) ; for (int32_t j=0 ; j & inNodeName TC_UniqueArray sourceList ; mReverseEdges ((int32_t) i COMMA_HERE).getValueArray (sourceList) ; for (int32_t j=0 ; j & outEdges) const { +void C_DirectedGraph::getEdges (TC_UniqueArray & outEdges) const { outEdges.removeAllKeepingCapacity () ; for (int32_t i=0 ; i targetList ; mEdges (i COMMA_HERE).getValueArray (targetList) ; @@ -200,9 +200,9 @@ void DirectedGraph::getEdges (TC_UniqueArray & outEdges) const { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void DirectedGraph::getNodesWithNoPredecessor (TC_UniqueArray & outNodes) const { +void C_DirectedGraph::getNodesWithNoPredecessor (TC_UniqueArray & outNodes) const { outNodes.removeAllKeepingCapacity () ; for (uint32_t i=0 ; i<(uint32_t) mReverseEdges.count () ; i++) { if (isNodeDefined (i) && mReverseEdges ((int32_t) i COMMA_HERE).isEmpty ()) { @@ -211,9 +211,9 @@ void DirectedGraph::getNodesWithNoPredecessor (TC_UniqueArray & outNo } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void DirectedGraph::getNodesWithNoSuccessor (TC_UniqueArray & outNodes) const { +void C_DirectedGraph::getNodesWithNoSuccessor (TC_UniqueArray & outNodes) const { outNodes.removeAllKeepingCapacity () ; for (uint32_t i=0 ; i<(uint32_t) mEdges.count () ; i++) { if (isNodeDefined (i) && mEdges ((int32_t) i COMMA_HERE).isEmpty ()) { @@ -222,9 +222,9 @@ void DirectedGraph::getNodesWithNoSuccessor (TC_UniqueArray & outNode } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void DirectedGraph::getNodesInvolvedInCircularities (TC_UniqueArray & outNodes) const { +void C_DirectedGraph::getNodesInvolvedInCircularities (TC_UniqueArray & outNodes) const { outNodes.removeAllKeepingCapacity () ; //--- Get working copies TC_UniqueArray nodes ; getNodeBoolArray (nodes) ; @@ -264,13 +264,13 @@ void DirectedGraph::getNodesInvolvedInCircularities (TC_UniqueArray & } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -DirectedGraph DirectedGraph::subGraphFromNodes (const UInt32Set & inStartNodes, - const UInt32Set & inNodesToExclude) const { +C_DirectedGraph C_DirectedGraph::subGraphFromNodes (const C_UIntSet & inStartNodes, + const C_UIntSet & inNodesToExclude) const { TC_UniqueArray nodeBoolArray ; mNodes.getBoolValueArray (nodeBoolArray) ; - DirectedGraph result ; - { UInt32Set nodeSet = inStartNodes ; + C_DirectedGraph result ; + { C_UIntSet nodeSet = inStartNodes ; nodeSet -= inNodesToExclude ; result.addNodes (nodeSet) ; } @@ -283,7 +283,7 @@ DirectedGraph DirectedGraph::subGraphFromNodes (const UInt32Set & inStartNodes, if (nodeBoolArray ((int32_t) sourceNodeIndex COMMA_HERE)) { loop = true ; nodeBoolArray.setObjectAtIndex (false, (int32_t) sourceNodeIndex COMMA_HERE) ; - UInt32Set s = mEdges ((int32_t) sourceNodeIndex COMMA_HERE) ; + C_UIntSet s = mEdges ((int32_t) sourceNodeIndex COMMA_HERE) ; s -= inNodesToExclude ; TC_UniqueArray targetNodeArray ; s.getValueArray (targetNodeArray) ; for (int32_t j=0 ; j sourceNodeArray ; nodeSet.getValueArray (sourceNodeArray) ; for (int32_t i=0 ; i & outSortedNodes, +void C_DirectedGraph::topologicalSort (TC_UniqueArray & outSortedNodes, TC_UniqueArray & outUnsortedNodes) const { outSortedNodes.removeAllKeepingCapacity () ; outUnsortedNodes.removeAllKeepingCapacity () ; @@ -382,9 +382,9 @@ void DirectedGraph::topologicalSort (TC_UniqueArray & outSortedNodes, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void DirectedGraph::depthFirstTopologicalSort (TC_UniqueArray & outSortedNodes, +void C_DirectedGraph::depthFirstTopologicalSort (TC_UniqueArray & outSortedNodes, TC_UniqueArray & outUnsortedNodes) const { outSortedNodes.removeAllKeepingCapacity () ; outUnsortedNodes.removeAllKeepingCapacity () ; @@ -433,26 +433,26 @@ void DirectedGraph::depthFirstTopologicalSort (TC_UniqueArray & outSo } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // http://en.wikipedia.org/wiki/Dominator_(graph_theory) // a node d dominates a node n if every path from the start node to n must go through d -void DirectedGraph::getDominators (TC_UniqueArray & outDominators +void C_DirectedGraph::getDominators (TC_UniqueArray & outDominators COMMA_LOCATION_ARGS) const { outDominators.removeAllKeepingCapacity () ; //--- Enter initial dominators TC_UniqueArray startNodeFlag ; for (int32_t i=0 ; i startNodeArray ; getNodesWithNoPredecessor (startNodeArray) ; - macroAssertThere (startNodeArray.count () == 1, "startNodeArray.count () == %lld != 1", startNodeArray.count (), 0) ; + MF_AssertThere (startNodeArray.count () == 1, "startNodeArray.count () == %lld != 1", startNodeArray.count (), 0) ; for (int32_t i=0 ; i & outDominators loop = false ; for (int32_t node=0 ; node s ; mReverseEdges (node COMMA_HERE).getValueArray (s) ; for (int32_t j=0 ; j & outDominators } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void DirectedGraph::removeEdgesToDominator (LOCATION_ARGS) { - TC_UniqueArray dominators ; getDominators (dominators COMMA_THERE) ; +void C_DirectedGraph::removeEdgesToDominator (LOCATION_ARGS) { + TC_UniqueArray dominators ; getDominators (dominators COMMA_THERE) ; for (int32_t node=0 ; node s ; mEdges (node COMMA_HERE).getValueArray (s) ; for (int32_t i=0 ; i dominators ; + TC_UniqueArray dominators ; g.getDominators (dominators COMMA_HERE) ; printf ("--- Dominators:\n") ; for (int32_t i=0 ; i & inNodeNameArray) const ; + public: C_String graphvizString (const TC_UniqueArray & inNodeNameArray) const ; public: void getNodeBoolArray (TC_UniqueArray & outNodes) const ; @@ -75,7 +75,7 @@ class DirectedGraph final { public: void getNodesInvolvedInCircularities (TC_UniqueArray & outNodes) const ; - public: void getDominators (TC_UniqueArray & outDominators + public: void getDominators (TC_UniqueArray & outDominators COMMA_LOCATION_ARGS) const ; public: void removeEdgesToDominator (LOCATION_ARGS) ; @@ -90,19 +90,19 @@ class DirectedGraph final { public: void depthFirstTopologicalSort (TC_UniqueArray & outSortedNodes, TC_UniqueArray & outUnsortedNodes) const ; - public: DirectedGraph reversedGraph (void) const ; + public: C_DirectedGraph reversedGraph (void) const ; - public: DirectedGraph subGraphFromNodes (const UInt32Set & inStartNodes, - const UInt32Set & inNodesToExclude) const ; + public: C_DirectedGraph subGraphFromNodes (const C_UIntSet & inStartNodes, + const C_UIntSet & inNodesToExclude) const ; #ifndef DO_NOT_GENERATE_CHECKINGS protected: void checkGraph (LOCATION_ARGS) const ; #endif //--- Attributes - private: UInt32Set mNodes ; - private: TC_Array mEdges ; - private: TC_Array mReverseEdges ; + private: C_UIntSet mNodes ; + private: TC_Array mEdges ; + private: TC_Array mReverseEdges ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/PrologueEpilogue.cpp b/goil/build/libpm/utilities/C_PrologueEpilogue.cpp similarity index 63% rename from goil/build/libpm/utilities/PrologueEpilogue.cpp rename to goil/build/libpm/utilities/C_PrologueEpilogue.cpp index 10380023d..5af351d57 100644 --- a/goil/build/libpm/utilities/PrologueEpilogue.cpp +++ b/goil/build/libpm/utilities/C_PrologueEpilogue.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS prologue / epilogue handling class // @@ -16,54 +16,54 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "PrologueEpilogue.h" +#include "utilities/C_PrologueEpilogue.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Prologue / Epilogue Action class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static PrologueEpilogue * gPrologueEpilogueActionList = nullptr ; +static C_PrologueEpilogue * gPrologueEpilogueActionList = nullptr ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -PrologueEpilogue::PrologueEpilogue (void (* inPrologueAction) (void), +C_PrologueEpilogue::C_PrologueEpilogue (void (* inPrologueAction) (void), void (* inEpilogueAction) (void)) : -mNextObject (gPrologueEpilogueActionList), +mNextObjectLink (gPrologueEpilogueActionList), mPrologueAction (inPrologueAction), mEpilogueAction (inEpilogueAction) { gPrologueEpilogueActionList = this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void PrologueEpilogue::runPrologueActions (void) { - const PrologueEpilogue * p = gPrologueEpilogueActionList ; +void C_PrologueEpilogue::runPrologueActions (void) { + const C_PrologueEpilogue * p = gPrologueEpilogueActionList ; while (p != nullptr) { if (p->mPrologueAction != nullptr) { p->mPrologueAction () ; } - p = p->mNextObject ; + p = p->mNextObjectLink ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void PrologueEpilogue::runEpilogueActions (void) { - const PrologueEpilogue * p = gPrologueEpilogueActionList ; +void C_PrologueEpilogue::runEpilogueActions (void) { + const C_PrologueEpilogue * p = gPrologueEpilogueActionList ; while (p != nullptr) { if (p->mEpilogueAction != nullptr) { p->mEpilogueAction () ; } - p = p->mNextObject ; + p = p->mNextObjectLink ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/PrologueEpilogue.h b/goil/build/libpm/utilities/C_PrologueEpilogue.h similarity index 67% rename from goil/build/libpm/utilities/PrologueEpilogue.h rename to goil/build/libpm/utilities/C_PrologueEpilogue.h index f12b3e06c..8fc9191fe 100644 --- a/goil/build/libpm/utilities/PrologueEpilogue.h +++ b/goil/build/libpm/utilities/C_PrologueEpilogue.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // GALGAS prologue / epilogue handling class // @@ -16,36 +16,32 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Prologue / Epilogue Action class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class PrologueEpilogue final { +class C_PrologueEpilogue final { //--- Constructor - public: PrologueEpilogue (void (* inPrologueAction) (void), - void (* inEpilogueAction) (void)) ; - + public: C_PrologueEpilogue (void (* inPrologueAction) (void), + void (* inEpilogueAction) (void)) ; //--- No copy - private: PrologueEpilogue (PrologueEpilogue &) = delete ; - private: PrologueEpilogue & operator = (PrologueEpilogue &) = delete ; - -//--- Private properties - private: const PrologueEpilogue * mNextObject ; - private: void (* mPrologueAction) (void) ; - private: void (* mEpilogueAction) (void) ; - + private: C_PrologueEpilogue (C_PrologueEpilogue &) ; + private: C_PrologueEpilogue & operator = (C_PrologueEpilogue &) ; +//--- Attributes + public: const C_PrologueEpilogue * mNextObjectLink ; + public: void (* mPrologueAction) (void) ; + public: void (* mEpilogueAction) (void) ; //--- Running actions private: static void runPrologueActions (void) ; private: static void runEpilogueActions (void) ; - //--- Friend routine (runs runPrologueActions, runEpilogueActions) friend int main (int argc, const char * argv []) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/SharedObject.cpp b/goil/build/libpm/utilities/C_SharedObject.cpp similarity index 59% rename from goil/build/libpm/utilities/SharedObject.cpp rename to goil/build/libpm/utilities/C_SharedObject.cpp index a659af12a..cdf117daf 100644 --- a/goil/build/libpm/utilities/SharedObject.cpp +++ b/goil/build/libpm/utilities/C_SharedObject.cpp @@ -1,6 +1,6 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// SharedObject : Base class for GALGAS object handling +// C_SharedObject : Base class for GALGAS object handling // // This file is part of libpm library // @@ -16,32 +16,32 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "SharedObject.h" -#include "MF_MemoryControl.h" -#include "C_ConsoleOut.h" -#include "String-class.h" +#include "utilities/C_SharedObject.h" +#include "utilities/MF_MemoryControl.h" +#include "streams/C_ConsoleOut.h" +#include "strings/C_String.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Validity Checking (only in Debug Mode) #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //--- List of existing objects #ifndef DO_NOT_GENERATE_CHECKINGS static uint32_t gCreationIndex ; static uint32_t gObjectCurrentCount ; - static SharedObject * gFirstObject ; - static SharedObject * gLastObject ; + static C_SharedObject * gFirstObject ; + static C_SharedObject * gLastObject ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -SharedObject::SharedObject (LOCATION_ARGS) : +C_SharedObject::C_SharedObject (LOCATION_ARGS) : #ifndef DO_NOT_GENERATE_CHECKINGS mObjectIndex (gCreationIndex), mCreationFile (IN_SOURCE_FILE), @@ -66,13 +66,13 @@ mRetainCount (1) { #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -SharedObject::~ SharedObject (void) { +C_SharedObject::~ C_SharedObject (void) { //--- Remove object from instance list #ifndef DO_NOT_GENERATE_CHECKINGS - SharedObject * previousObject = mPtrToPreviousObject ; - SharedObject * nextObject = mPtrToNextObject ; + C_SharedObject * previousObject = mPtrToPreviousObject ; + C_SharedObject * nextObject = mPtrToNextObject ; if (previousObject == nullptr) { gFirstObject = nextObject ; }else{ @@ -88,21 +88,21 @@ SharedObject::~ SharedObject (void) { #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void SharedObject::retain (const SharedObject * inObject COMMA_LOCATION_ARGS) { +void C_SharedObject::retain (const C_SharedObject * inObject COMMA_LOCATION_ARGS) { if (inObject != nullptr) { - macroValidSharedObjectThere (inObject, SharedObject) ; + macroValidSharedObjectThere (inObject, C_SharedObject) ; inObject->mRetainCount ++ ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void SharedObject::release (const SharedObject * inObject COMMA_LOCATION_ARGS) { +void C_SharedObject::release (const C_SharedObject * inObject COMMA_LOCATION_ARGS) { if (inObject != nullptr) { - macroValidSharedObjectThere (inObject, SharedObject) ; - macroAssertThere (inObject->mRetainCount > 0, "mRetainCount should be > 0)", 0, 0) ; + macroValidSharedObjectThere (inObject, C_SharedObject) ; + MF_AssertThere (inObject->mRetainCount > 0, "mRetainCount should be > 0)", 0, 0) ; inObject->mRetainCount -- ; if (inObject->mRetainCount == 0) { macroMyDelete (inObject) ; @@ -110,44 +110,44 @@ void SharedObject::release (const SharedObject * inObject COMMA_LOCATION_ARGS) { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void SharedObject::retainRelease (const SharedObject * inObjectToRetain, - const SharedObject * inObjectToRelease +void C_SharedObject::retainRelease (const C_SharedObject * inObjectToRetain, + const C_SharedObject * inObjectToRelease COMMA_LOCATION_ARGS) { retain (inObjectToRetain COMMA_THERE) ; release (inObjectToRelease COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Collect unused Objects #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS - void SharedObject::checkAllObjectsHaveBeenReleased (void) { + void C_SharedObject::checkAllObjectsHaveBeenReleased (void) { if (gObjectCurrentCount != 0) { - gCout.appendCString ("Warning: ") ; - gCout.appendUnsigned (gObjectCurrentCount) ; - gCout.appendCString (" object") ; - gCout.appendCString ((gObjectCurrentCount > 1) ? "s have" : " has") ; - gCout.appendCString (" not been released:\n") ; - SharedObject * p = gFirstObject ; + co << "Warning: " + << cStringWithUnsigned (gObjectCurrentCount) + << " object" + << ((gObjectCurrentCount > 1) ? "s have" : " has") + << " not been released:\n"; + C_SharedObject * p = gFirstObject ; while (p != nullptr) { - gCout.appendCString ("- object declared in '") ; - gCout.appendCString (p->mCreationFile) ; - gCout.appendCString ("', line ") ; - gCout.appendSigned (p->mCreationLine) ; - gCout.appendCString (" (retain count: ") ; - gCout.appendSigned (p->mRetainCount) ; - gCout.appendCString (")\n") ; + co << "- object declared in '" + << p->mCreationFile + << "', line " + << cStringWithSigned (p->mCreationLine) + << " (retain count: " + << cStringWithSigned (p->mRetainCount) + << ")\n" ; p = p->mPtrToNextObject ; } } } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/SharedObject.h b/goil/build/libpm/utilities/C_SharedObject.h similarity index 61% rename from goil/build/libpm/utilities/SharedObject.h rename to goil/build/libpm/utilities/C_SharedObject.h index 2e65dd14c..ceb0f10b1 100644 --- a/goil/build/libpm/utilities/SharedObject.h +++ b/goil/build/libpm/utilities/C_SharedObject.h @@ -1,6 +1,6 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// SharedObject : Base class for GALGAS object handling +// C_SharedObject : Base class for GALGAS object handling // // This file is part of libpm library // @@ -16,18 +16,18 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "macroAssert.h" -#include "MF_MemoryControl.h" +#include "utilities/MF_Assert.h" +#include "utilities/MF_MemoryControl.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class SharedObject { +class C_SharedObject { //--- Attributes for debug #ifndef DO_NOT_GENERATE_CHECKINGS //--- Object index @@ -36,8 +36,8 @@ class SharedObject { public: const char * const mCreationFile ; public: const int mCreationLine ; //--- Link between existing instances - private: SharedObject * mPtrToPreviousObject ; - private: SharedObject * mPtrToNextObject ; + private: C_SharedObject * mPtrToPreviousObject ; + private: C_SharedObject * mPtrToNextObject ; #endif @@ -46,23 +46,23 @@ class SharedObject { public: inline bool isUniquelyReferenced (void) const { return mRetainCount == 1 ; } - public: static void retain (const SharedObject * inObject COMMA_LOCATION_ARGS) ; + public: static void retain (const C_SharedObject * inObject COMMA_LOCATION_ARGS) ; - public: static void release (const SharedObject * inObject COMMA_LOCATION_ARGS) ; - - public: static void retainRelease (const SharedObject * inObjectToRetain, - const SharedObject * inObjectToRelease - COMMA_LOCATION_ARGS) ; + public: static void release (const C_SharedObject * inObject COMMA_LOCATION_ARGS) ; + public: static void retainRelease (const C_SharedObject * inObjectToRetain, + const C_SharedObject * inObjectToRelease + COMMA_LOCATION_ARGS) ; + //--- Default Constructor - protected: SharedObject (LOCATION_ARGS) ; + protected: C_SharedObject (LOCATION_ARGS) ; //--- Virtual Destructor - protected: virtual ~ SharedObject (void) ; + protected: virtual ~ C_SharedObject (void) ; //--- No copy - private: SharedObject (const SharedObject &) = delete ; - private: SharedObject & operator = (const SharedObject &) = delete ; + private: C_SharedObject (const C_SharedObject &) ; + private: C_SharedObject & operator = (const C_SharedObject &) ; //------------------------------------------------------------- Handling Pointer checking #ifndef DO_NOT_GENERATE_CHECKINGS @@ -70,100 +70,104 @@ class SharedObject { #endif } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // macroValidSharedObject -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroValidSharedObject(OBJECT,TYPE) { \ macroValidPointer (OBJECT) ; \ - macroAssert (dynamic_cast (OBJECT) != nullptr, "'"#OBJECT"' is not an instance of '"#TYPE" *'", 0, 0) ; \ + if (dynamic_cast (OBJECT) == nullptr) { \ + MF_RunTimeError ("'"#OBJECT"' is not an instance of '"#TYPE" *'", 0, 0) ; \ + } \ } #else #define macroValidSharedObject(OBJECT,TYPE) #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // macroValidSharedObjectThere -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroValidSharedObjectThere(OBJECT,TYPE) { \ macroValidPointerThere (OBJECT) ; \ - macroAssertThere (dynamic_cast (OBJECT) != nullptr, "'"#OBJECT"' is not an instance of '"#TYPE" *'", 0, 0) ; \ + if (dynamic_cast (OBJECT) == nullptr) { \ + MF_RunTimeErrorThere ("'"#OBJECT"' is not an instance of '"#TYPE" *'", 0, 0) ; \ + } \ } #else #define macroValidSharedObjectThere(OBJECT,TYPE) #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // macroNullOrValidSharedObject -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroNullOrValidSharedObject(OBJECT,TYPE) \ if (nullptr != (OBJECT)) { \ macroValidPointer (OBJECT) ; \ - macroAssert (dynamic_cast (OBJECT) != nullptr, "'"#OBJECT"' is not an instance of '"#TYPE" *'", 0, 0) ; \ + MF_Assert (dynamic_cast (OBJECT) != nullptr, "'"#OBJECT"' is not an instance of '"#TYPE" *'", 0, 0) ; \ } #else #define macroNullOrValidSharedObject(OBJECT,TYPE) #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // macroNullOrValidSharedObjectThere -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroNullOrValidSharedObjectThere(OBJECT,TYPE) \ if (nullptr != (OBJECT)) { \ macroValidPointerThere (OBJECT) ; \ - macroAssertThere (dynamic_cast (OBJECT) != nullptr, "'"#OBJECT"' is not an instance of '"#TYPE" *'", 0, 0) ; \ + MF_AssertThere (dynamic_cast (OBJECT) != nullptr, "'"#OBJECT"' is not an instance of '"#TYPE" *'", 0, 0) ; \ } #else #define macroNullOrValidSharedObjectThere(OBJECT,TYPE) #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // macroAssignSharedObject -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #define macroAssignSharedObject(TARGET_PTR,SOURCE_PTR) \ - { SharedObject::retainRelease (SOURCE_PTR, TARGET_PTR COMMA_HERE) ; TARGET_PTR = SOURCE_PTR ; } + { C_SharedObject::retainRelease (SOURCE_PTR, TARGET_PTR COMMA_HERE) ; TARGET_PTR = SOURCE_PTR ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // macroAssignSharedObjectThere -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #define macroAssignSharedObjectThere(TARGET_PTR,SOURCE_PTR) \ - { SharedObject::retainRelease (SOURCE_PTR, TARGET_PTR COMMA_THERE) ; TARGET_PTR = SOURCE_PTR ; } + { C_SharedObject::retainRelease (SOURCE_PTR, TARGET_PTR COMMA_THERE) ; TARGET_PTR = SOURCE_PTR ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // macroDetachSharedObject -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #define macroDetachSharedObject(PTR) \ - { SharedObject::release (PTR COMMA_HERE) ; PTR = nullptr ; } + { C_SharedObject::release (PTR COMMA_HERE) ; PTR = nullptr ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // macroDetachSharedObjectThere -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #define macroDetachSharedObjectThere(PTR) \ - { SharedObject::release (PTR COMMA_THERE) ; PTR = nullptr ; } + { C_SharedObject::release (PTR COMMA_THERE) ; PTR = nullptr ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // macroUniqueSharedObject -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #define macroUniqueSharedObject(PTR) \ - { macroAssert ((PTR)->isUniquelyReferenced (), "isUniquelyReferenced () is false", 0, 0) ; } + { MF_Assert ((PTR)->isUniquelyReferenced (), "isUniquelyReferenced () is false", 0, 0) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // macroUniqueSharedObjectThere -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #define macroUniqueSharedObjectThere(PTR) \ - { macroAssertThere ((PTR)->isUniquelyReferenced (), "isUniquelyReferenced () is false", 0, 0) ; } + { MF_AssertThere ((PTR)->isUniquelyReferenced (), "isUniquelyReferenced () is false", 0, 0) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/UInt32Set.cpp b/goil/build/libpm/utilities/C_UIntSet.cpp similarity index 73% rename from goil/build/libpm/utilities/UInt32Set.cpp rename to goil/build/libpm/utilities/C_UIntSet.cpp index 5774192d2..77f8c621f 100644 --- a/goil/build/libpm/utilities/UInt32Set.cpp +++ b/goil/build/libpm/utilities/C_UIntSet.cpp @@ -1,6 +1,6 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// UInt32Set : algorithms on sets of uint32_t +// C_UIntSet : algorithms on sets of uint32_t // // This file is part of libpm library // @@ -16,26 +16,26 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "UInt32Set.h" +#include "C_UIntSet.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -UInt32Set::UInt32Set (void) : +C_UIntSet::C_UIntSet (void) : mDefinition () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -UInt32Set::UInt32Set (const uint32_t inValue) : +C_UIntSet::C_UIntSet (const uint32_t inValue) : mDefinition () { add (inValue) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void UInt32Set::add (const uint32_t inNodeIndex) { +void C_UIntSet::add (const uint32_t inNodeIndex) { const int32_t idx = (int32_t) (inNodeIndex >> 6) ; while (idx >= mDefinition.count ()) { mDefinition.appendObject (0) ; @@ -46,9 +46,9 @@ void UInt32Set::add (const uint32_t inNodeIndex) { #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void UInt32Set::remove (const uint32_t inNodeIndex) { +void C_UIntSet::remove (const uint32_t inNodeIndex) { const int32_t idx = (int32_t) (inNodeIndex >> 6) ; if (idx < mDefinition.count ()) { mDefinition (idx COMMA_HERE) &= ~ (((uint64_t) 1) << (inNodeIndex & 63)) ; @@ -61,9 +61,9 @@ void UInt32Set::remove (const uint32_t inNodeIndex) { #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void UInt32Set::getBoolValueArray (TC_UniqueArray & outBoolValueArray) const { +void C_UIntSet::getBoolValueArray (TC_UniqueArray & outBoolValueArray) const { outBoolValueArray.removeAllKeepingCapacity () ; for (int32_t i=0 ; i & outBoolValueArray) co } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void UInt32Set::getValueArray (TC_UniqueArray & outValueArray) const { +void C_UIntSet::getValueArray (TC_UniqueArray & outValueArray) const { outValueArray.removeAllKeepingCapacity () ; uint32_t idx = 0 ; for (int32_t i=0 ; i & outValueArray) const } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool UInt32Set::contains (const uint32_t inNodeIndex) const { +bool C_UIntSet::contains (const uint32_t inNodeIndex) const { const int32_t idx = (int32_t) (inNodeIndex >> 6) ; bool result = idx < mDefinition.count () ; if (result) { @@ -103,9 +103,9 @@ bool UInt32Set::contains (const uint32_t inNodeIndex) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -uint32_t UInt32Set::firstValueNotIsSet (void) const { +uint32_t C_UIntSet::firstValueNotIsSet (void) const { uint32_t result = 0 ; if (mDefinition.count () > 0) { result = 64 * (((uint32_t) mDefinition.count ()) - 1) ; @@ -118,9 +118,9 @@ uint32_t UInt32Set::firstValueNotIsSet (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -uint32_t UInt32Set::count (void) const { +uint32_t C_UIntSet::count (void) const { uint32_t result = 0 ; for (int32_t i=0 ; i inOther.mDefinition.count ()) { mDefinition.removeLastObject (HERE) ; } @@ -149,9 +149,9 @@ void UInt32Set::operator &= (const UInt32Set & inOther) { #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void UInt32Set::operator |= (const UInt32Set & inOther) { +void C_UIntSet::operator |= (const C_UIntSet & inOther) { while (mDefinition.count () < inOther.mDefinition.count ()) { mDefinition.appendObject (0) ; } @@ -163,15 +163,15 @@ void UInt32Set::operator |= (const UInt32Set & inOther) { #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static inline int32_t minSInt32 (const int32_t inA, const int32_t inB) { return (inA < inB) ? inA : inB ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void UInt32Set::operator -= (const UInt32Set & inOther) { +void C_UIntSet::operator -= (const C_UIntSet & inOther) { const int32_t n = minSInt32 (mDefinition.count (), inOther.mDefinition.count ()) ; for (int32_t i=0 ; i 0) { - macroAssert (mDefinition.lastObject (HERE) != 0, "last entry of UInt32Set is 0", 0, 0) ; + MF_Assert (mDefinition.lastObject (HERE) != 0, "last entry of C_UIntSet is 0", 0, 0) ; } } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/UInt32Set.h b/goil/build/libpm/utilities/C_UIntSet.h similarity index 70% rename from goil/build/libpm/utilities/UInt32Set.h rename to goil/build/libpm/utilities/C_UIntSet.h index 437172f93..0084ac28f 100644 --- a/goil/build/libpm/utilities/UInt32Set.h +++ b/goil/build/libpm/utilities/C_UIntSet.h @@ -1,6 +1,6 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// UInt32Set : algorithms on sets of uint32_t +// C_UIntSet : algorithms on sets of uint32_t // // This file is part of libpm library // @@ -16,37 +16,37 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "TC_Array.h" +#include "generic-arraies/TC_Array.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class UInt32Set final { +class C_UIntSet final { //--- Default constructor - public: UInt32Set (void) ; + public: C_UIntSet (void) ; //--- Singleton - public: UInt32Set (const uint32_t inValue) ; + public: C_UIntSet (const uint32_t inValue) ; //--- Methods public: void add (const uint32_t inNodeIndex) ; public: void remove (const uint32_t inNodeIndex) ; - public: void operator &= (const UInt32Set & inOther) ; + public: void operator &= (const C_UIntSet & inOther) ; - public: void operator |= (const UInt32Set & inOther) ; + public: void operator |= (const C_UIntSet & inOther) ; - public: void operator -= (const UInt32Set & inOther) ; + public: void operator -= (const C_UIntSet & inOther) ; - public: bool operator == (const UInt32Set & inOther) const ; + public: bool operator == (const C_UIntSet & inOther) const ; - public: bool operator != (const UInt32Set & inOther) const ; + public: bool operator != (const C_UIntSet & inOther) const ; //--- Accessors public: void getBoolValueArray (TC_UniqueArray & outBoolValueArray) const ; @@ -72,4 +72,4 @@ class UInt32Set final { #endif } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/F_DisplayException.cpp b/goil/build/libpm/utilities/F_DisplayException.cpp index 6285266ab..58235ba0d 100644 --- a/goil/build/libpm/utilities/F_DisplayException.cpp +++ b/goil/build/libpm/utilities/F_DisplayException.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Routine 'F_default_display_exception'. // @@ -16,19 +16,19 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "F_DisplayException.h" -#include "C_ConsoleOut.h" -#include "C_ErrorOut.h" +#include "utilities/F_DisplayException.h" +#include "streams/C_ConsoleOut.h" +#include "streams/C_ErrorOut.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef COMPILE_FOR_WINDOWS #error COMPILE_FOR_WINDOWS is undefined #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #if COMPILE_FOR_WINDOWS == 1 #include @@ -36,11 +36,11 @@ #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'F_default_display_exception' for WIN 32 // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #if COMPILE_FOR_WINDOWS == 1 void F_default_display_exception (const ::std:: exception & inException) { @@ -51,26 +51,24 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'F_default_display_exception' for UNIX // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #if COMPILE_FOR_WINDOWS == 0 void F_default_display_exception (const ::std:: exception & inException) { - gCout.flush () ; - gCout.appendCString ("\n*** Exception: ") ; - gCout.appendCString (inException.what ()) ; - gCout.appendCString (" ***\n") ; + co.flush () ; + ce << "\n*** Exception: " << inException.what () << " ***\n" ; } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'F_default_display_unknown_exception' for WIN 32 // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #if COMPILE_FOR_WINDOWS == 1 void F_default_display_unknown_exception (void) { @@ -81,11 +79,11 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // 'F_default_display_unknown_exception' for UNIX // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #if COMPILE_FOR_WINDOWS == 0 void F_default_display_unknown_exception (void) { @@ -94,4 +92,4 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/F_DisplayException.h b/goil/build/libpm/utilities/F_DisplayException.h index 7f09cfe16..e334550fd 100644 --- a/goil/build/libpm/utilities/F_DisplayException.h +++ b/goil/build/libpm/utilities/F_DisplayException.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Routine 'F_default_display_exception'. // @@ -16,22 +16,22 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "M_machine.h" +#include "utilities/M_machine.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void F_default_display_exception (const ::std:: exception & inException) ; void F_default_display_unknown_exception (void) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/F_GetPrime.cpp b/goil/build/libpm/utilities/F_GetPrime.cpp index 9b9776a2b..37bd82277 100644 --- a/goil/build/libpm/utilities/F_GetPrime.cpp +++ b/goil/build/libpm/utilities/F_GetPrime.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Get a prime integer // @@ -16,15 +16,15 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "F_GetPrime.h" +#include "utilities/F_GetPrime.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Get a prime integer greater than argument // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t getPrimeGreaterThan (const uint32_t inValue) { const int32_t ARRAY_SIZE = 39 ; @@ -78,4 +78,4 @@ uint32_t getPrimeGreaterThan (const uint32_t inValue) { return array [i - 1] ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/F_GetPrime.h b/goil/build/libpm/utilities/F_GetPrime.h index 4ce57be75..260d6ec0a 100644 --- a/goil/build/libpm/utilities/F_GetPrime.h +++ b/goil/build/libpm/utilities/F_GetPrime.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Get a prime integer // @@ -16,20 +16,20 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "M_machine.h" +#include "utilities/M_machine.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Get a prime integer greater than argument // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- uint32_t getPrimeGreaterThan (const uint32_t inValue) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/macroAssert.cpp b/goil/build/libpm/utilities/MF_Assert.cpp similarity index 75% rename from goil/build/libpm/utilities/macroAssert.cpp rename to goil/build/libpm/utilities/MF_Assert.cpp index e39262dd1..56e62f94f 100644 --- a/goil/build/libpm/utilities/macroAssert.cpp +++ b/goil/build/libpm/utilities/MF_Assert.cpp @@ -1,10 +1,10 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// Definition of 'macroAssert' and related routines +// Definition of 'MF_Assert' and related routines // // This file is part of libpm library // -// Copyright (C) 1997, ..., 2023 Pierre Molinaro. +// Copyright (C) 1997, ..., 2014 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -16,23 +16,23 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "macroAssert.h" -#include "M_machine.h" +#include "utilities/MF_Assert.h" +#include "utilities/M_machine.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS static const uint32_t K_EXCEPTION_STRING_SIZE = 2000 ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void runtime_error_routine (const char * const inMessage, @@ -46,4 +46,4 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/macroAssert.h b/goil/build/libpm/utilities/MF_Assert.h similarity index 57% rename from goil/build/libpm/utilities/macroAssert.h rename to goil/build/libpm/utilities/MF_Assert.h index af28c9995..d690bf2c6 100644 --- a/goil/build/libpm/utilities/macroAssert.h +++ b/goil/build/libpm/utilities/MF_Assert.h @@ -1,10 +1,10 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// Definition of 'macroAssert' and related routine prototypes +// Definition of 'MF_Assert' and related routine prototypes // // This file is part of libpm library // -// Copyright (C) 1997, ..., 2023 Pierre Molinaro. +// Copyright (C) 1997, ..., 2010 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -16,42 +16,47 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "M_machine.h" -#include "M_SourceLocation.h" +#include "utilities/M_machine.h" +#include "utilities/M_SourceLocation.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void runtime_error_routine (const char * const inMessage, const int64_t inParameter1, const int64_t inParameter2 COMMA_LOCATION_ARGS) __attribute__ ((__noreturn__)) ; + #define MF_RunTimeError(message,par1,par2) { runtime_error_routine (message, par1, par2 COMMA_HERE) ; } + #define MF_RunTimeErrorThere(message,par1,par2) { runtime_error_routine (message, par1, par2 COMMA_THERE) ; } +#else + #define MF_RunTimeError(message,par1,par2) {} + #define MF_RunTimeErrorThere(message,par1,par2) {} #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// Macro 'macroAssert' definition +// Macro 'MF_Assert' definition // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS - #define macroAssert(exp,message,par1,par2) \ + #define MF_Assert(exp,message,par1,par2) \ if (! (exp)) { \ runtime_error_routine (message, par1, par2 COMMA_HERE) ; \ } - #define macroAssertThere(exp,message,par1,par2) \ + #define MF_AssertThere(exp,message,par1,par2) \ if (! (exp)) { \ runtime_error_routine (message, par1, par2 COMMA_THERE) ; \ } #else - #define macroAssert(exp,message,par1,par2) {} - #define macroAssertThere(exp,message,par1,par2) {} + #define MF_Assert(exp,message,par1,par2) {} + #define MF_AssertThere(exp,message,par1,par2) {} #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/MF_MemoryControl.cpp b/goil/build/libpm/utilities/MF_MemoryControl.cpp index d17d29846..5045d4972 100644 --- a/goil/build/libpm/utilities/MF_MemoryControl.cpp +++ b/goil/build/libpm/utilities/MF_MemoryControl.cpp @@ -1,8 +1,8 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// Implementation of routines for handling dynamic allocation checking. +// Implementation of routines for handling dynamic allocation checking. // -// This file is part of libpm library +// This file is part of libpm library // // Copyright (C) 1994, ..., 2016 Pierre Molinaro. // @@ -16,21 +16,21 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "M_machine.h" -#include "MF_MemoryControl.h" -#include "basic-allocation.h" +#include "utilities/M_machine.h" +#include "utilities/MF_MemoryControl.h" +#include "utilities/basic-allocation.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// Enum for describing a pointer +// Enum for describing a pointer // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS typedef enum { @@ -40,7 +40,7 @@ } enumAllocationKind ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS static uint32_t gAllocatedPODArrayCount = 0 ; @@ -49,7 +49,7 @@ static int32_t gExistingPODArrayCount = 0 ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS static void unregisterPointer (const void * inPointerToUnregister, @@ -60,13 +60,13 @@ COMMA_LOCATION_ARGS) ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark - #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void * allocAndRegisterPODArray (const size_t inSize COMMA_LOCATION_ARGS) { @@ -79,7 +79,7 @@ #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void * reallocAndRegisterPODArray (void * inPointer, @@ -104,7 +104,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void routineFreePODArrayPointer (void * inPointer COMMA_LOCATION_ARGS) { @@ -113,7 +113,7 @@ myFreeRoutine (inPointer) ; unregisterPointer (inPointer, kAllocatedByMacroMyNewPODArray COMMA_THERE) ; #ifdef TRACE_DELETE - gCout << "macroMyDeleteStructC -> " + co << "macroMyDeleteStructC -> " << inPointer << " at line " << IN_SOURCE_LINE @@ -125,24 +125,24 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark - #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// Localisation de l'appel du deallocateur 'delete' +// Localisation de l'appel du deallocateur 'delete' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void routineFreePointer (const void * inPointer COMMA_LOCATION_ARGS) { if (inPointer != nullptr) { unregisterPointer (inPointer, kAllocatedByMacroMyNew COMMA_THERE) ; #ifdef TRACE_DELETE - gCout << "macroMyDelete -> " + co << "macroMyDelete -> " << inPointer << " at line " << IN_SOURCE_LINE @@ -154,14 +154,14 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void routineFreeArrayPointer (const void * inPointer COMMA_LOCATION_ARGS) { if (inPointer != nullptr) { unregisterPointer (inPointer, kAllocatedByMacroMyNewArray COMMA_THERE) ; #ifdef TRACE_DELETE - gCout << "macroMyDeleteArray -> " + co << "macroMyDeleteArray -> " << inPointer << " at line " << IN_SOURCE_LINE @@ -173,16 +173,16 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark - #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS - class cPointerDescriptor final { + class cPointerDescriptor { public: const void * mPointer ; public: cPointerDescriptor * mInfPtr ; public: cPointerDescriptor * mSupPtr ; @@ -194,7 +194,7 @@ } ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS static const uint32_t ROOT_TABLE_SIZE = 33554467 ; @@ -203,19 +203,19 @@ static int32_t gPointersCurrentCount = 0 ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// Comparaison de deux clefs +// Comparaison de deux clefs // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS typedef enum {kLeftKeyGreater, kEqualKeys, kRightKeyGreater} enumCompareResult ; #endif -//-------------------------------------------------------------------------------------------------- -// Prototypes -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// Prototypes +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS static enumCompareResult comparePointers (const void * inLeftPointer, @@ -239,7 +239,7 @@ bool & ioExtension) ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS static enumCompareResult comparePointers (const void * inLeftPointer, const void * inRightPointer) { @@ -251,19 +251,19 @@ } return result ; } -#endif +#endif -//-------------------------------------------------------------------------------------------------- -// Rotations elementaires de reequilibrage d'un ioRoot binaire -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// Rotations elementaires de reequilibrage d'un ioRoot binaire +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS static void rotateLeft (cPointerDescriptor * & ioPtr) { - //--- faire la rotation + //--- faire la rotation cPointerDescriptor * b = ioPtr->mSupPtr; ioPtr->mSupPtr = b->mInfPtr; b->mInfPtr = ioPtr; - //--- recalculer l'equilibrage + //--- recalculer l'equilibrage if (b->mBalance >= 0) { ioPtr->mBalance ++ ; }else{ @@ -275,18 +275,18 @@ b->mBalance ++ ; } ioPtr = b ; - } + } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS static void rotateRight (cPointerDescriptor * & ioPtr) { - //-- faire la rotation + //-- faire la rotation cPointerDescriptor * b = ioPtr->mInfPtr; ioPtr->mInfPtr = b->mSupPtr; b->mSupPtr = ioPtr; - //--- recalculer l'equilibrage + //--- recalculer l'equilibrage if (b->mBalance > 0) { ioPtr->mBalance -= 1 + b->mBalance ; }else{ @@ -300,10 +300,10 @@ ioPtr = b ; } #endif - -//-------------------------------------------------------------------------------------------------- -// Suppression d'un element dans un ioRoot binaire equilibre -//-------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------------------- +// Suppression d'un element dans un ioRoot binaire equilibre +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS static void supBranchDecreased (cPointerDescriptor * & ioPtr, bool & h) { @@ -332,8 +332,8 @@ } } #endif - -//-------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS static void infBranchDecreased (cPointerDescriptor * & ioPtr, bool & h) { @@ -363,7 +363,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS static void getPreviousElement (cPointerDescriptor * & ioRoot, @@ -382,7 +382,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS static void recursiveDeleteInBalancedBinaryTree (cPointerDescriptor * & ioRoot, @@ -433,7 +433,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS static void insertInBalancedBinaryTree (cPointerDescriptor *& ioRoot, @@ -506,8 +506,8 @@ } } #endif - -//-------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------------------- // http://stackoverflow.com/questions/3442639/hashing-of-pointer-values // https://gist.github.com/badboy/6267743 @@ -518,7 +518,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS static void registerPointerDescriptor (const void * inPointerToRegister, @@ -543,7 +543,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void registerPointer (const void * inPointer COMMA_LOCATION_ARGS) { @@ -551,7 +551,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void registerArray (const void * inPointer COMMA_LOCATION_ARGS) { @@ -559,7 +559,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS static cPointerDescriptor * searchPointerDescriptor (const void * inPointer) { @@ -585,7 +585,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void unregisterPointer (const void * inPointer, @@ -604,19 +604,19 @@ switch (inAllocationKind) { case kAllocatedByMacroMyNew : if (pointerToDelete->mAllocationKind != kAllocatedByMacroMyNew) { - runtime_error_routine ("(" __FILE__ ") Appel de 'macroMyDelete' sur un pointeur declare dans '%s' ligne %d qui n'a pas ete alloue par 'macroMyNew'", + runtime_error_routine ("(" __FILE__ ") Appel de 'macroMyDelete' sur un pointeur declare dans '%s' ligne %d qui n'a pas ete alloue par 'macroMyNew'", (intptr_t) nomFichierSource, inSourceFileLine, IN_SOURCE_FILE, IN_SOURCE_LINE) ; } break ; case kAllocatedByMacroMyNewArray : if (pointerToDelete->mAllocationKind != kAllocatedByMacroMyNewArray) { - runtime_error_routine ("(" __FILE__ ") Appel de 'macroMyDeleteArray' sur un pointeur declare dans '%s' ligne %d qui n'a pas ete alloue par 'macroMyNewArray'", + runtime_error_routine ("(" __FILE__ ") Appel de 'macroMyDeleteArray' sur un pointeur declare dans '%s' ligne %d qui n'a pas ete alloue par 'macroMyNewArray'", (intptr_t) nomFichierSource, inSourceFileLine, IN_SOURCE_FILE, IN_SOURCE_LINE) ; } break ; case kAllocatedByMacroMyNewPODArray : if (pointerToDelete->mAllocationKind != kAllocatedByMacroMyNewPODArray) { - runtime_error_routine ("(" __FILE__ ") Appel de 'macroMyDeletePODArray' sur un pointeur declare dans '%s' ligne %d qui n'a pas ete alloue par 'macroMyNewPODArray'", + runtime_error_routine ("(" __FILE__ ") Appel de 'macroMyDeletePODArray' sur un pointeur declare dans '%s' ligne %d qui n'a pas ete alloue par 'macroMyNewPODArray'", (intptr_t) nomFichierSource, inSourceFileLine, IN_SOURCE_FILE, IN_SOURCE_LINE) ; } break ; @@ -627,34 +627,25 @@ } #endif -//-------------------------------------------------------------------------------------------------- -// Routine garantissant la nullite d'un pointeur -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +// Routine garantissant la nullite d'un pointeur +// +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS - void routineCheckPointerIsNull (const void * inPointer COMMA_LOCATION_ARGS) { + void routineVoidPointer (const void * inPointer COMMA_LOCATION_ARGS) { if (inPointer != nullptr) { runtime_error_routine ("pointer (%p) not nullptr", (intptr_t) inPointer, 0 COMMA_THERE) ; } } #endif -//-------------------------------------------------------------------------------------------------- -// Routine garantissant qu'un pointeur est non nul -//-------------------------------------------------------------------------------------------------- - -#ifndef DO_NOT_GENERATE_CHECKINGS - void routineCheckPointerIsNotNull (const void * inPointer COMMA_LOCATION_ARGS) { - if (inPointer == nullptr) { - runtime_error_routine ("pointer (%p) is nullptr", 0, 0 COMMA_THERE) ; - } - } -#endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// Routine garantissant la validite d'un pointeur +// Routine garantissant la validite d'un pointeur // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void routineValidPointer (const void * inPointer COMMA_LOCATION_ARGS) { @@ -668,7 +659,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS static void recursiveDisplay (const cPointerDescriptor * inRoot) { @@ -693,7 +684,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void displayAllocatedBlocksInfo (void) { #ifndef DO_NOT_GENERATE_CHECKINGS @@ -704,7 +695,7 @@ void displayAllocatedBlocksInfo (void) { } if (gPointersCurrentCount != 0) { printf ("*** Warning: %d block information datas (instead of 0):\n", gPointersCurrentCount) ; - printf (" address | source line | source file\n") ; + printf (" address | source line | source file\n") ; } for (uint32_t i=0 ; i -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // User macros for allocation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroMyNew(inPointer,instanciation) { \ - macroCheckPointerIsNull (inPointer) ; \ + macroVoidPointer (inPointer) ; \ prologueForNew () ; \ inPointer = new instanciation ; \ registerPointer (inPointer COMMA_HERE) ; \ } #else - #define macroMyNew(inPointer,instanciation) { inPointer = new instanciation ; } + #define macroMyNew(inPointer,instanciation) { \ + inPointer = new instanciation ; \ + } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroMyNewArray(inPointer,type,size) { \ - macroCheckPointerIsNull (inPointer) ; \ + macroVoidPointer (inPointer) ; \ prologueForNew () ; \ inPointer = new type [size] ; \ registerArray (inPointer COMMA_HERE) ; \ } #else - #define macroMyNewArray(inPointer,type,size) { inPointer = new type [size] ; } + #define macroMyNewPODArray(inPointer,type,size) { \ + inPointer = (type *) malloc ((size) * sizeof (type)) ; \ + } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroMyNewPODArray(inPointer,type,size) { \ - macroCheckPointerIsNull (inPointer) ; \ + macroVoidPointer (inPointer) ; \ inPointer = (type *) allocAndRegisterPODArray ((size) * sizeof (type) COMMA_HERE) ; \ } #else - #define macroMyNewPODArray(inPointer,type,size) { inPointer = (type *) malloc ((size) * sizeof (type)) ; } + #define macroMyReallocPODArray(inPointer,type,size) { \ + inPointer = (type *) realloc (inPointer, (size) * sizeof (type)) ; \ + } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroMyReallocPODArray(inPointer,type,size) { \ - macroValidPointer (inPointer) ; \ inPointer = (type *) reallocAndRegisterPODArray (inPointer, (size) * sizeof (type) COMMA_HERE) ; \ } #else - #define macroMyReallocPODArray(inPointer,type,size) { \ - inPointer = (type *) realloc (inPointer, (size) * sizeof (type)) ; \ + #define macroMyNewArray(inPointer,type,size) { \ + inPointer = new type [size] ; \ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroMyNewThere(inPointer,instanciation) { \ - macroCheckPointerIsNullThere (inPointer) ; \ + macroVoidPointerThere (inPointer) ; \ prologueForNew () ; \ inPointer = new instanciation ; \ registerPointer (inPointer COMMA_THERE) ; \ } #else - #define macroMyNewThere(inPointer,instanciation) { inPointer = new instanciation ; } + #define macroMyNewThere(inPointer,instanciation) { \ + inPointer = new instanciation ; \ + } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroMyNewPODArrayThere(inPointer,type,size) { \ @@ -109,7 +115,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroMyReallocPODArrayThere(inPointer,type,size) { \ @@ -121,11 +127,11 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroMyNewArrayThere(inPointer,type,size) { \ - macroCheckPointerIsNullThere (inPointer) ; \ + macroVoidPointerThere (inPointer) ; \ prologueForNew () ; \ inPointer = new type [size] ; \ registerArray (inPointer COMMA_THERE) ; \ @@ -136,11 +142,11 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // User macros for deallocation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroMyDelete(inPointer) { \ @@ -153,7 +159,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroMyDeletePODArray(inPointer) { \ @@ -165,7 +171,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroMyDeleteArray(inPointer) { \ @@ -178,11 +184,11 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Assertion macros for checking pointers // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroValidPointer(inPointer) routineValidPointer (inPointer COMMA_HERE) @@ -190,7 +196,7 @@ #define macroValidPointer(inPointer) #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroValidPointerThere(inPointer) routineValidPointer (inPointer COMMA_THERE) @@ -198,63 +204,46 @@ #define macroValidPointerThere(inPointer) #endif -//-------------------------------------------------------------------------------------------------- -// Assertion for checking if a pointer is NULL -//-------------------------------------------------------------------------------------------------- - -#ifndef DO_NOT_GENERATE_CHECKINGS - #define macroCheckPointerIsNull(inPointer) routineCheckPointerIsNull (inPointer COMMA_HERE) -#else - #define macroCheckPointerIsNull(inPointer) -#endif - -//-------------------------------------------------------------------------------------------------- - -#ifndef DO_NOT_GENERATE_CHECKINGS - #define macroCheckPointerIsNullThere(inPointer) routineCheckPointerIsNull (inPointer COMMA_THERE) -#else - #define macroCheckPointerIsNullThere(inPointer) -#endif - -//-------------------------------------------------------------------------------------------------- -// Assertion for checking if a pointer is not NULL -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +// Assertion for checking if a pointer is void +// +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS - #define macroCheckPointerIsNotNull(inPointer) routineCheckPointerIsNotNull (inPointer COMMA_HERE) + #define macroVoidPointer(inPointer) routineVoidPointer (inPointer COMMA_HERE) #else - #define macroCheckPointerIsNotNull(inPointer) + #define macroVoidPointer(inPointer) #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS - #define macroCheckPointerIsNotNullThere(inPointer) routineCheckPointerIsNotNull (inPointer COMMA_THERE) + #define macroVoidPointerThere(inPointer) routineVoidPointer (inPointer COMMA_THERE) #else - #define macroCheckPointerIsNotNullThere(inPointer) + #define macroVoidPointerThere(inPointer) #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Routine to call for displaying currently allocated pointers // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void displayAllocatedBlocksInfo (void) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Internal routines (do not call them directly) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void registerPointer (const void * inPointer COMMA_LOCATION_ARGS) ; void * allocAndRegisterPODArray (const size_t inSize COMMA_LOCATION_ARGS) ; void registerArray (const void * inPointer COMMA_LOCATION_ARGS) ; void routineValidPointer (const void * inPointer COMMA_LOCATION_ARGS) ; - void routineCheckPointerIsNull (const void * inPointer COMMA_LOCATION_ARGS) ; - void routineCheckPointerIsNotNull (const void * inPointer COMMA_LOCATION_ARGS) ; + void routineVoidPointer (const void * inPointer COMMA_LOCATION_ARGS) ; void routineFreePointer (const void * inPointer COMMA_LOCATION_ARGS) ; void routineFreePODArrayPointer (void * inPointer COMMA_LOCATION_ARGS) ; void routineFreeArrayPointer (const void * inPointer COMMA_LOCATION_ARGS) ; @@ -263,4 +252,4 @@ void displayAllocatedBlocksInfo (void) ; COMMA_LOCATION_ARGS) ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/M_SourceLocation.h b/goil/build/libpm/utilities/M_SourceLocation.h index 5fc7bee22..2bf75076e 100644 --- a/goil/build/libpm/utilities/M_SourceLocation.h +++ b/goil/build/libpm/utilities/M_SourceLocation.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Collection of macros for determining a location in a source file. // @@ -16,15 +16,15 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "M_machine.h" +#include "utilities/M_machine.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define HERE __FILE__, __LINE__ @@ -46,4 +46,4 @@ #define COMMA_UNUSED_LOCATION_ARGS #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/M_machine.h b/goil/build/libpm/utilities/M_machine.h index 1e65d4b19..5f5c1f9dc 100644 --- a/goil/build/libpm/utilities/M_machine.h +++ b/goil/build/libpm/utilities/M_machine.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Collection of macros for determining machine and compiler. // @@ -16,20 +16,20 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #define __STDC_LIMIT_MACROS #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // P L A T F O R M D E T E C T I O N // @@ -42,7 +42,7 @@ // * __CYGWIN__ is defined when compiling by Cygwin (for Unix on Windows, https://gist.github.com/basman/587688) // * __linux is defined when compiling by GCC (for Linux) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #if defined (__CYGWIN__) #define COMPILE_FOR_WINDOWS (0) @@ -60,14 +60,14 @@ #error Undefined platform #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // U T F 3 2 T Y P E // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS - class utf32 final { + class utf32 { private: uint32_t mCode ; public: inline uint32_t value (void) const { return mCode ; } public: inline utf32 (void) : @@ -95,4 +95,4 @@ #define TO_UNICODE(C) (C) #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/SHA256.cpp b/goil/build/libpm/utilities/SHA256.cpp deleted file mode 100644 index 43da787e9..000000000 --- a/goil/build/libpm/utilities/SHA256.cpp +++ /dev/null @@ -1,163 +0,0 @@ -//-------------------------------------------------------------------------------------------------- -// From https://github.com/System-Glitch/SHA256 -//-------------------------------------------------------------------------------------------------- - -#include "SHA256.h" -#include -#include -#include - -constexpr std::array SHA256::K; - -SHA256::SHA256(): m_blocklen(0), m_bitlen(0) { - m_state[0] = 0x6a09e667; - m_state[1] = 0xbb67ae85; - m_state[2] = 0x3c6ef372; - m_state[3] = 0xa54ff53a; - m_state[4] = 0x510e527f; - m_state[5] = 0x9b05688c; - m_state[6] = 0x1f83d9ab; - m_state[7] = 0x5be0cd19; -} - -void SHA256::update(const uint8_t * data, size_t length) { - for (size_t i = 0 ; i < length ; i++) { - m_data[m_blocklen++] = data[i]; - if (m_blocklen == 64) { - transform(); - - // End of the block - m_bitlen += 512; - m_blocklen = 0; - } - } -} - -void SHA256::update(const std::string &data) { - update(reinterpret_cast (data.c_str()), data.size()); -} - -std::array SHA256::digest() { - std::array hash; - - pad(); - revert(hash); - - return hash; -} - -uint32_t SHA256::rotr(uint32_t x, uint32_t n) { - return (x >> n) | (x << (32 - n)); -} - -uint32_t SHA256::choose(uint32_t e, uint32_t f, uint32_t g) { - return (e & f) ^ (~e & g); -} - -uint32_t SHA256::majority(uint32_t a, uint32_t b, uint32_t c) { - return (a & (b | c)) | (b & c); -} - -uint32_t SHA256::sig0(uint32_t x) { - return SHA256::rotr(x, 7) ^ SHA256::rotr(x, 18) ^ (x >> 3); -} - -uint32_t SHA256::sig1(uint32_t x) { - return SHA256::rotr(x, 17) ^ SHA256::rotr(x, 19) ^ (x >> 10); -} - -void SHA256::transform() { - uint32_t maj, xorA, ch, xorE, sum, newA, newE, m[64]; - uint32_t state[8]; - - for (uint8_t i = 0, j = 0; i < 16; i++, j += 4) { // Split data in 32 bit blocks for the 16 first words - // m[i] = (m_data[j] << 24) | (m_data[j + 1] << 16) | (m_data[j + 2] << 8) | (m_data[j + 3]); - m[i] = uint32_t (m_data[j + 0]) << 24 ; - m[i] |= uint32_t (m_data[j + 1]) << 16 ; - m[i] |= uint32_t (m_data[j + 2]) << 8 ; - m[i] |= uint32_t (m_data[j + 3]) << 0 ; - } - - for (uint8_t k = 16 ; k < 64; k++) { // Remaining 48 blocks - m[k] = SHA256::sig1(m[k - 2]) + m[k - 7] + SHA256::sig0(m[k - 15]) + m[k - 16]; - } - - for(uint8_t i = 0 ; i < 8 ; i++) { - state[i] = m_state[i]; - } - - for (uint8_t i = 0; i < 64; i++) { - maj = SHA256::majority(state[0], state[1], state[2]); - xorA = SHA256::rotr(state[0], 2) ^ SHA256::rotr(state[0], 13) ^ SHA256::rotr(state[0], 22); - - ch = choose(state[4], state[5], state[6]); - - xorE = SHA256::rotr(state[4], 6) ^ SHA256::rotr(state[4], 11) ^ SHA256::rotr(state[4], 25); - - sum = m[i] + K[i] + state[7] + ch + xorE; - newA = xorA + maj + sum; - newE = state[3] + sum; - - state[7] = state[6]; - state[6] = state[5]; - state[5] = state[4]; - state[4] = newE; - state[3] = state[2]; - state[2] = state[1]; - state[1] = state[0]; - state[0] = newA; - } - - for(uint8_t i = 0 ; i < 8 ; i++) { - m_state[i] += state[i]; - } -} - -void SHA256::pad() { - - uint64_t i = m_blocklen; - uint8_t end = m_blocklen < 56 ? 56 : 64; - - m_data[i++] = 0x80; // Append a bit 1 - while (i < end) { - m_data[i++] = 0x00; // Pad with zeros - } - - if(m_blocklen >= 56) { - transform(); - memset(m_data, 0, 56); - } - - // Append to the padding the total message's length in bits and transform. - m_bitlen += m_blocklen * 8; - m_data[63] = uint8_t (m_bitlen >> 0) ; - m_data[62] = uint8_t (m_bitlen >> 8) ; - m_data[61] = uint8_t (m_bitlen >> 16) ; - m_data[60] = uint8_t (m_bitlen >> 24) ; - m_data[59] = uint8_t (m_bitlen >> 32) ; - m_data[58] = uint8_t (m_bitlen >> 40) ; - m_data[57] = uint8_t (m_bitlen >> 48) ; - m_data[56] = uint8_t (m_bitlen >> 56) ; - transform () ; -} - -void SHA256::revert(std::array & hash) { - // SHA uses big endian byte ordering - // Revert all bytes - for (uint8_t i = 0 ; i < 4 ; i++) { - for(uint8_t j = 0 ; j < 8 ; j++) { - hash[i + (j * 4)] = (m_state[j] >> (24 - i * 8)) & 0x000000ff; - } - } -} - -std::string SHA256::toString(const std::array & digest) { - std::stringstream s; - s << std::setfill('0') << std::hex; - - for(uint8_t i = 0 ; i < 32 ; i++) { - s << std::setw(2) << (unsigned int) digest[i]; - } - - return s.str(); -} diff --git a/goil/build/libpm/utilities/SHA256.h b/goil/build/libpm/utilities/SHA256.h deleted file mode 100644 index 8af58f307..000000000 --- a/goil/build/libpm/utilities/SHA256.h +++ /dev/null @@ -1,55 +0,0 @@ -//-------------------------------------------------------------------------------------------------- -// From https://github.com/System-Glitch/SHA256 -//-------------------------------------------------------------------------------------------------- - -#pragma once - -#include -#include -#include - -class SHA256 final { - -public: - SHA256(); - void update(const uint8_t * data, size_t length); - void update(const std::string &data); - std::array digest(); - - static std::string toString(const std::array & digest); - -private: - uint8_t m_data[64]; - uint32_t m_blocklen; - uint64_t m_bitlen; - uint32_t m_state[8]; //A, B, C, D, E, F, G, H - - static constexpr std::array K = { - 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5, - 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5, - 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3, - 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174, - 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc, - 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da, - 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7, - 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967, - 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13, - 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85, - 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3, - 0xd192e819,0xd6990624,0xf40e3585,0x106aa070, - 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5, - 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3, - 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208, - 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 - }; - - static uint32_t rotr(uint32_t x, uint32_t n); - static uint32_t choose(uint32_t e, uint32_t f, uint32_t g); - static uint32_t majority(uint32_t a, uint32_t b, uint32_t c); - static uint32_t sig0(uint32_t x); - static uint32_t sig1(uint32_t x); - void transform(); - void pad(); - void revert(std::array & hash); -}; - diff --git a/goil/build/libpm/utilities/TF_Swap.h b/goil/build/libpm/utilities/TF_Swap.h index bdc5a0a42..42cd1c9f9 100644 --- a/goil/build/libpm/utilities/TF_Swap.h +++ b/goil/build/libpm/utilities/TF_Swap.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Definition of a general purpose swap template routine // @@ -16,11 +16,11 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- template inline void swap (TYPE & ioOperand1, TYPE & ioOperand2) { TYPE temporary = ioOperand1 ; @@ -28,4 +28,4 @@ template inline void swap (TYPE & ioOperand1, TYPE & ioOperand2) ioOperand2 = temporary ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/basic-allocation.cpp b/goil/build/libpm/utilities/basic-allocation.cpp index 5dd9b65a2..ba7c0edf7 100644 --- a/goil/build/libpm/utilities/basic-allocation.cpp +++ b/goil/build/libpm/utilities/basic-allocation.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Implementation of routines for handling dynamic allocation checking. // @@ -16,32 +16,32 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "M_machine.h" -#include "basic-allocation.h" +#include "utilities/M_machine.h" +#include "utilities/basic-allocation.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -// define GENERATE_BLOCK_SIZE_STATS -// define USE_SMALL_BLOCK_FREE_LIST -// define USE_MALLOC_GOOD_SIZE +//#define GENERATE_BLOCK_SIZE_STATS +//#define USE_SMALL_BLOCK_FREE_LIST +//#define USE_MALLOC_GOOD_SIZE -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef USE_MALLOC_GOOD_SIZE #include #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Parametrage de la gestion memoire // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // ATTENTION : l'operateur predefini 'new' n'initialise pas la memoire allouee, tandis // que celui defini dans ce fichier initialise la memoire allouee a zero. @@ -56,17 +56,17 @@ extern "C" { int malloc_debug (int) ; } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // ALLOCATION IN RELEASE MODE // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef GENERATE_BLOCK_SIZE_STATS static void noteAllocatedPointerSize (const size_t inSizeInBytes) ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef USE_SMALL_BLOCK_FREE_LIST typedef struct cBlock { @@ -76,19 +76,19 @@ }cBlock ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef USE_SMALL_BLOCK_FREE_LIST static cBlock * gFreeList ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Allocation routines #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef USE_SMALL_BLOCK_FREE_LIST void * myAllocRoutine (const size_t inSizeInBytes) { @@ -133,13 +133,13 @@ void * myAllocRoutine (const size_t inSizeInBytes) { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Dispose routines #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef USE_SMALL_BLOCK_FREE_LIST void myFreeRoutine (void * inPointer) { @@ -167,13 +167,13 @@ void myFreeRoutine (void * inPointer) { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Stats about block size #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef GENERATE_BLOCK_SIZE_STATS typedef struct cAllocatedSizeDescriptorNode { @@ -185,7 +185,7 @@ void myFreeRoutine (void * inPointer) { } cAllocatedSizeDescriptorNode ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef GENERATE_BLOCK_SIZE_STATS static void rotationGauche (cAllocatedSizeDescriptorNode * & a) { @@ -208,7 +208,7 @@ void myFreeRoutine (void * inPointer) { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef GENERATE_BLOCK_SIZE_STATS static void rotationDroite (cAllocatedSizeDescriptorNode * & a) { @@ -231,7 +231,7 @@ void myFreeRoutine (void * inPointer) { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef GENERATE_BLOCK_SIZE_STATS static void internalNoteAllocatedSize (cAllocatedSizeDescriptorNode * & ioRoot, @@ -292,13 +292,13 @@ void myFreeRoutine (void * inPointer) { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef GENERATE_BLOCK_SIZE_STATS static cAllocatedSizeDescriptorNode * gAllocatedSizeTreeRoot ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef GENERATE_BLOCK_SIZE_STATS static void noteAllocatedPointerSize (const size_t inSizeInBytes) { @@ -307,7 +307,7 @@ void myFreeRoutine (void * inPointer) { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef GENERATE_BLOCK_SIZE_STATS static void internalVisitNode (cAllocatedSizeDescriptorNode * inRoot, @@ -321,7 +321,7 @@ void myFreeRoutine (void * inPointer) { } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void displayAllocatedBlockSizeStats (void) { #ifdef GENERATE_BLOCK_SIZE_STATS @@ -334,4 +334,4 @@ void displayAllocatedBlockSizeStats (void) { #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/basic-allocation.h b/goil/build/libpm/utilities/basic-allocation.h index f275bc6b8..ff86066ab 100644 --- a/goil/build/libpm/utilities/basic-allocation.h +++ b/goil/build/libpm/utilities/basic-allocation.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Implementation of routines for handling dynamic allocation checking. // @@ -16,18 +16,18 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void * myAllocRoutine (const size_t inSizeInBytes) ; void myFreeRoutine (void * inPointer) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void displayAllocatedBlockSizeStats (void) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/cpp-allocation.cpp b/goil/build/libpm/utilities/cpp-allocation.cpp index 0541c8e7c..79190325b 100644 --- a/goil/build/libpm/utilities/cpp-allocation.cpp +++ b/goil/build/libpm/utilities/cpp-allocation.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Implementation of routines for handling dynamic allocation checking. // @@ -16,28 +16,28 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "M_machine.h" -#include "MF_MemoryControl.h" -#include "cpp-allocation.h" -#include "basic-allocation.h" +#include "utilities/M_machine.h" +#include "utilities/MF_MemoryControl.h" +#include "utilities/cpp-allocation.h" +#include "utilities/basic-allocation.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -// define REGISTER_ALLOCATION_STATS -// define REDEFINE_NEW_DELETE_OPERATORS +//#define REGISTER_ALLOCATION_STATS +//#define REDEFINE_NEW_DELETE_OPERATORS -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Include this header is required for safely compile allocation operators. #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #ifndef REGISTER_ALLOCATION_STATS @@ -45,7 +45,7 @@ #endif #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #ifndef REDEFINE_NEW_DELETE_OPERATORS @@ -53,13 +53,13 @@ #endif #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS static int32_t gAllocProloguePendings = 0 ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef REGISTER_ALLOCATION_STATS static uint32_t gBlockAllocatedWithoutUsingMacroMyNew = 0 ; @@ -70,7 +70,7 @@ static uint32_t gAllocatedArrayCount = 0 ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void prologueForNew (void) { @@ -78,7 +78,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef REDEFINE_NEW_DELETE_OPERATORS void * operator new (size_t inSizeInBytes) { @@ -103,7 +103,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef REDEFINE_NEW_DELETE_OPERATORS void * operator new [] (size_t inSizeInBytes) { @@ -128,7 +128,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef REDEFINE_NEW_DELETE_OPERATORS void operator delete (void * inPointer) noexcept { @@ -141,7 +141,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef REDEFINE_NEW_DELETE_OPERATORS void operator delete (void * inPointer, std::size_t) noexcept { @@ -154,7 +154,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef REDEFINE_NEW_DELETE_OPERATORS void operator delete [] (void * inPointer) noexcept { @@ -167,7 +167,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifdef REDEFINE_NEW_DELETE_OPERATORS void operator delete [] (void * inPointer, std::size_t) noexcept { @@ -180,7 +180,7 @@ } #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void displayAllocationStats (void) { #ifdef REGISTER_ALLOCATION_STATS @@ -200,4 +200,4 @@ void displayAllocationStats (void) { #endif } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/cpp-allocation.h b/goil/build/libpm/utilities/cpp-allocation.h index 9dff9188d..e592ee4a7 100644 --- a/goil/build/libpm/utilities/cpp-allocation.h +++ b/goil/build/libpm/utilities/cpp-allocation.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Implementation of routines for handling dynamic allocation checking. // @@ -16,18 +16,18 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void prologueForNew (void) ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void displayAllocationStats (void) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/galgas-random.cpp b/goil/build/libpm/utilities/galgas-random.cpp index 9d29c2b0c..898eae83c 100644 --- a/goil/build/libpm/utilities/galgas-random.cpp +++ b/goil/build/libpm/utilities/galgas-random.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Definition of a random function // @@ -16,7 +16,7 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "galgas-random.h" #include "M_machine.h" @@ -27,40 +27,20 @@ //-------------------------------------------------------------------------------------------------- -static uint64_t gSeed = 0 ; - -//-------------------------------------------------------------------------------------------------- - -void set_galgas_random_seed (const uint64_t inSeed) { - gSeed = inSeed ; -} - -//-------------------------------------------------------------------------------------------------- - -static uint64_t multiplyIgnoringOverflow (const uint64_t inA, const uint64_t inB) { - uint64_t r ; - __builtin_mul_overflow (inA, inB, &r) ; - return r ; -} - -//-------------------------------------------------------------------------------------------------- - -static uint64_t addIgnoringOverflow (const uint64_t inA, const uint64_t inB) { - uint64_t r ; - __builtin_add_overflow (inA, inB, &r) ; - return r ; -} +#ifndef COMPILE_FOR_WINDOWS + #error COMPILE_FOR_WINDOWS is undefined +#endif -//-------------------------------------------------------------------------------------------------- -// https://en.wikipedia.org/wiki/Linear_congruential_generator -// ANSI C linear congruential PRNG : gSeed = gSeed * 1103515245 + 12345 -// Newlib : gSeed = gSeed * 6364136223846793005 + 1 //-------------------------------------------------------------------------------------------------- -uint32_t galgas_random (void) { - gSeed = multiplyIgnoringOverflow (gSeed, 6364136223846793005) ; - gSeed = addIgnoringOverflow (gSeed, 1) ; - return uint32_t (gSeed) ; // Period is 2**32 -} +#if (COMPILE_FOR_WINDOWS == 1) || defined (__CYGWIN__) + int64_t galgas_random (void) { + return rand () ; + } +#else + int64_t galgas_random (void) { + return random () ; + } +#endif //-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/galgas-random.h b/goil/build/libpm/utilities/galgas-random.h index f723d65b4..f7ba9f755 100644 --- a/goil/build/libpm/utilities/galgas-random.h +++ b/goil/build/libpm/utilities/galgas-random.h @@ -1,4 +1,4 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Definition of a random function // @@ -16,17 +16,16 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void set_galgas_random_seed (const uint64_t inSeed) ; -uint32_t galgas_random (void) ; +int64_t galgas_random (void) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/md5.cpp b/goil/build/libpm/utilities/md5.cpp index 27b79417d..1d891cf98 100644 --- a/goil/build/libpm/utilities/md5.cpp +++ b/goil/build/libpm/utilities/md5.cpp @@ -34,297 +34,254 @@ * optimizations are not included to reduce source code size and avoid * compile-time configuration. */ -// Modified by Pierre Molinaro 7 february 2024 -//------------------------------------------------------------------------------------------------- #include -//------------------------------------------------------------------------------------------------- +#include "utilities/md5.h" -#include "md5.h" - -//------------------------------------------------------------------------------------------------- - -MD5pm::MD5pm (void) { -} +/* + * The basic MD5 functions. + * + * F and G are optimized compared to their RFC 1321 definitions for + * architectures that lack an AND-NOT instruction, just like in Colin Plumb's + * implementation. + */ +#define F(x, y, z) ((z) ^ ((x) & ((y) ^ (z)))) +#define G(x, y, z) ((y) ^ ((z) & ((x) ^ (y)))) +#define H(x, y, z) (((x) ^ (y)) ^ (z)) +#define H2(x, y, z) ((x) ^ ((y) ^ (z))) +#define I(x, y, z) ((y) ^ ((x) | ~(z))) -//------------------------------------------------------------------------------------------------- +/* + * The MD5 transformation for all four rounds. + */ +#define STEP(f, a, b, c, d, x, t, s) \ + (a) += f((b), (c), (d)) + (x) + (t); \ + (a) = (((a) << (s)) | (((a) & 0xffffffff) >> (32 - (s)))); \ + (a) += (b); -void MD5pm::appendData (const void * inDataPtr, const size_t inByteCount) { - size_t currentByteCount = inByteCount ; - const uint8_t * currentDataPtr = (const uint8_t *) inDataPtr ; +/* + * SET reads 4 input bytes in little-endian byte order and stores them in a + * properly aligned word in host byte order. + * + * The check for little-endian architectures that tolerate unaligned memory + * accesses is just an optimization. Nothing will break if it fails to detect + * a suitable architecture. + * + * Unfortunately, this optimization may be a C strict aliasing rules violation + * if the caller's data buffer has effective type that cannot be aliased by + * MD5_u32plus. In practice, this problem may occur if these MD5 routines are + * inlined into a calling function, or with future and dangerously advanced + * link-time optimizations. For the time being, keeping these MD5 routines in + * their own translation unit avoids the problem. + */ +#if defined(__i386__) || defined(__x86_64__) || defined(__vax__) +#define SET(n) \ + (*(MD5_u32plus *)&ptr[(n) * 4]) +#define GET(n) \ + SET(n) +#else +#define SET(n) \ + (ctx->block[(n)] = \ + (MD5_u32plus)ptr[(n) * 4] | \ + ((MD5_u32plus)ptr[(n) * 4 + 1] << 8) | \ + ((MD5_u32plus)ptr[(n) * 4 + 2] << 16) | \ + ((MD5_u32plus)ptr[(n) * 4 + 3] << 24)) +#define GET(n) \ + (ctx->block[(n)]) +#endif - uint32_t saved_lo = mLo; - if ((mLo = (saved_lo + currentByteCount) & 0x1fffffff) < saved_lo) { - mHi++ ; - } - mHi += uint32_t (currentByteCount >> 29) ; +/* + * This processes one or more 64-byte data blocks, but does NOT update the bit + * counters. There are no alignment requirements. + */ +static const void *body (MD5_CTX *ctx, const void *data, unsigned long size) +{ + const unsigned char *ptr; + MD5_u32plus a, b, c, d; + MD5_u32plus saved_a, saved_b, saved_c, saved_d; - uint32_t used = saved_lo & 0x3f ; + ptr = (const unsigned char *)data; - if (used) { - uint32_t available = 64 - used ; + a = ctx->a; + b = ctx->b; + c = ctx->c; + d = ctx->d; - if (currentByteCount < available) { - memcpy (&mBuffer[used], currentDataPtr, currentByteCount); - return; - } + do { + saved_a = a; + saved_b = b; + saved_c = c; + saved_d = d; - memcpy (&mBuffer[used], currentDataPtr, available); - currentDataPtr += available ; - currentByteCount -= available ; - body(mBuffer, 64); - } +/* Round 1 */ + STEP(F, a, b, c, d, SET(0), 0xd76aa478, 7) + STEP(F, d, a, b, c, SET(1), 0xe8c7b756, 12) + STEP(F, c, d, a, b, SET(2), 0x242070db, 17) + STEP(F, b, c, d, a, SET(3), 0xc1bdceee, 22) + STEP(F, a, b, c, d, SET(4), 0xf57c0faf, 7) + STEP(F, d, a, b, c, SET(5), 0x4787c62a, 12) + STEP(F, c, d, a, b, SET(6), 0xa8304613, 17) + STEP(F, b, c, d, a, SET(7), 0xfd469501, 22) + STEP(F, a, b, c, d, SET(8), 0x698098d8, 7) + STEP(F, d, a, b, c, SET(9), 0x8b44f7af, 12) + STEP(F, c, d, a, b, SET(10), 0xffff5bb1, 17) + STEP(F, b, c, d, a, SET(11), 0x895cd7be, 22) + STEP(F, a, b, c, d, SET(12), 0x6b901122, 7) + STEP(F, d, a, b, c, SET(13), 0xfd987193, 12) + STEP(F, c, d, a, b, SET(14), 0xa679438e, 17) + STEP(F, b, c, d, a, SET(15), 0x49b40821, 22) - if (currentByteCount >= 64) { - currentDataPtr = body (currentDataPtr, currentByteCount & ~(unsigned long)0x3f); - currentByteCount &= 0x3f; - } +/* Round 2 */ + STEP(G, a, b, c, d, GET(1), 0xf61e2562, 5) + STEP(G, d, a, b, c, GET(6), 0xc040b340, 9) + STEP(G, c, d, a, b, GET(11), 0x265e5a51, 14) + STEP(G, b, c, d, a, GET(0), 0xe9b6c7aa, 20) + STEP(G, a, b, c, d, GET(5), 0xd62f105d, 5) + STEP(G, d, a, b, c, GET(10), 0x02441453, 9) + STEP(G, c, d, a, b, GET(15), 0xd8a1e681, 14) + STEP(G, b, c, d, a, GET(4), 0xe7d3fbc8, 20) + STEP(G, a, b, c, d, GET(9), 0x21e1cde6, 5) + STEP(G, d, a, b, c, GET(14), 0xc33707d6, 9) + STEP(G, c, d, a, b, GET(3), 0xf4d50d87, 14) + STEP(G, b, c, d, a, GET(8), 0x455a14ed, 20) + STEP(G, a, b, c, d, GET(13), 0xa9e3e905, 5) + STEP(G, d, a, b, c, GET(2), 0xfcefa3f8, 9) + STEP(G, c, d, a, b, GET(7), 0x676f02d9, 14) + STEP(G, b, c, d, a, GET(12), 0x8d2a4c8a, 20) - memcpy(mBuffer, currentDataPtr, currentByteCount); -} +/* Round 3 */ + STEP(H, a, b, c, d, GET(5), 0xfffa3942, 4) + STEP(H2, d, a, b, c, GET(8), 0x8771f681, 11) + STEP(H, c, d, a, b, GET(11), 0x6d9d6122, 16) + STEP(H2, b, c, d, a, GET(14), 0xfde5380c, 23) + STEP(H, a, b, c, d, GET(1), 0xa4beea44, 4) + STEP(H2, d, a, b, c, GET(4), 0x4bdecfa9, 11) + STEP(H, c, d, a, b, GET(7), 0xf6bb4b60, 16) + STEP(H2, b, c, d, a, GET(10), 0xbebfbc70, 23) + STEP(H, a, b, c, d, GET(13), 0x289b7ec6, 4) + STEP(H2, d, a, b, c, GET(0), 0xeaa127fa, 11) + STEP(H, c, d, a, b, GET(3), 0xd4ef3085, 16) + STEP(H2, b, c, d, a, GET(6), 0x04881d05, 23) + STEP(H, a, b, c, d, GET(9), 0xd9d4d039, 4) + STEP(H2, d, a, b, c, GET(12), 0xe6db99e5, 11) + STEP(H, c, d, a, b, GET(15), 0x1fa27cf8, 16) + STEP(H2, b, c, d, a, GET(2), 0xc4ac5665, 23) -//------------------------------------------------------------------------------------------------- -// The basic MD5 functions -//------------------------------------------------------------------------------------------------- +/* Round 4 */ + STEP(I, a, b, c, d, GET(0), 0xf4292244, 6) + STEP(I, d, a, b, c, GET(7), 0x432aff97, 10) + STEP(I, c, d, a, b, GET(14), 0xab9423a7, 15) + STEP(I, b, c, d, a, GET(5), 0xfc93a039, 21) + STEP(I, a, b, c, d, GET(12), 0x655b59c3, 6) + STEP(I, d, a, b, c, GET(3), 0x8f0ccc92, 10) + STEP(I, c, d, a, b, GET(10), 0xffeff47d, 15) + STEP(I, b, c, d, a, GET(1), 0x85845dd1, 21) + STEP(I, a, b, c, d, GET(8), 0x6fa87e4f, 6) + STEP(I, d, a, b, c, GET(15), 0xfe2ce6e0, 10) + STEP(I, c, d, a, b, GET(6), 0xa3014314, 15) + STEP(I, b, c, d, a, GET(13), 0x4e0811a1, 21) + STEP(I, a, b, c, d, GET(4), 0xf7537e82, 6) + STEP(I, d, a, b, c, GET(11), 0xbd3af235, 10) + STEP(I, c, d, a, b, GET(2), 0x2ad7d2bb, 15) + STEP(I, b, c, d, a, GET(9), 0xeb86d391, 21) + + a += saved_a; + b += saved_b; + c += saved_c; + d += saved_d; -static uint32_t F (const uint32_t x, const uint32_t y, const uint32_t z) { - return z ^ (x & (y ^ z)) ; -} + ptr += 64; + } while (size -= 64); -//------------------------------------------------------------------------------------------------- + ctx->a = a; + ctx->b = b; + ctx->c = c; + ctx->d = d; -static uint32_t G (const uint32_t x, const uint32_t y, const uint32_t z) { - return y ^ (z & (x ^ y)) ; + return ptr; } -//------------------------------------------------------------------------------------------------- +void MD5_Init(MD5_CTX *ctx) +{ + ctx->a = 0x67452301; + ctx->b = 0xefcdab89; + ctx->c = 0x98badcfe; + ctx->d = 0x10325476; -static uint32_t H (const uint32_t x, const uint32_t y, const uint32_t z) { - return x ^ y ^ z ; + ctx->lo = 0; + ctx->hi = 0; } -//------------------------------------------------------------------------------------------------- +void MD5_Update(MD5_CTX *ctx, const void *data, unsigned long size) +{ + MD5_u32plus saved_lo; + unsigned long used, available; -static uint32_t I (const uint32_t x, const uint32_t y, const uint32_t z) { - return y ^ (x | ~z) ; -} + saved_lo = ctx->lo; + if ((ctx->lo = (saved_lo + size) & 0x1fffffff) < saved_lo) + ctx->hi++; + ctx->hi += MD5_u32plus (size >> 29) ; -//------------------------------------------------------------------------------------------------- + used = saved_lo & 0x3f; -static uint32_t addU32IgnoringOverflow (const uint32_t inA, const uint32_t inB) { - uint32_t r ; - __builtin_add_overflow (inA, inB, &r) ; - return r ; -} + if (used) { + available = 64 - used; -//------------------------------------------------------------------------------------------------- + if (size < available) { + memcpy(&ctx->buffer[used], data, size); + return; + } -static uint32_t rotateLeftIgnoringOverflow (const uint32_t inA, const uint32_t inCount) { - uint32_t r = inA ; - if (inCount > 0) { - r &= (1 << (32 - inCount)) - 1 ; - r = (r << inCount) | (inA >> (32 - inCount)) ; - } - return r ; -} + memcpy(&ctx->buffer[used], data, available); + data = (const unsigned char *)data + available; + size -= available; + body(ctx, ctx->buffer, 64); + } -//------------------------------------------------------------------------------------------------- -// The MD5 transformation for all four rounds. -//------------------------------------------------------------------------------------------------- - -static void STEP (uint32_t (*f) (const uint32_t, const uint32_t, const uint32_t), - uint32_t & a, - const uint32_t b, - const uint32_t c, - const uint32_t d, - uint32_t * block, - const uint32_t n, - const uint8_t * ptr, - const uint32_t t, - const uint32_t s) { - block [n] = uint32_t (ptr [n * 4 + 0] << 0) ; - block [n] |= uint32_t (ptr [n * 4 + 1] << 8) ; - block [n] |= uint32_t (ptr [n * 4 + 2] << 16) ; - block [n] |= uint32_t (ptr [n * 4 + 3] << 24) ; - a = addU32IgnoringOverflow (a, f (b, c, d)) ; - a = addU32IgnoringOverflow (a, block [n]) ; - a = addU32IgnoringOverflow (a, t) ; - a = rotateLeftIgnoringOverflow (a, s) ; - a = addU32IgnoringOverflow (a, b) ; -} + if (size >= 64) { + data = body(ctx, data, size & ~(unsigned long)0x3f); + size &= 0x3f; + } -//------------------------------------------------------------------------------------------------- - -static void STEP2 (uint32_t (*f) (const uint32_t, const uint32_t, const uint32_t), - uint32_t & a, - const uint32_t b, - const uint32_t c, - const uint32_t d, - const uint32_t x, - const uint32_t t, - const uint32_t s) { - a = addU32IgnoringOverflow (a, f (b, c, d)) ; - a = addU32IgnoringOverflow (a, x) ; - a = addU32IgnoringOverflow (a, t) ; - a = rotateLeftIgnoringOverflow (a, s) ; - a = addU32IgnoringOverflow (a, b) ; + memcpy(ctx->buffer, data, size); } -//------------------------------------------------------------------------------------------------- -// This processes one or more 64-byte data blocks, but does NOT update the bit -// counters. There are no alignment requirements. -//------------------------------------------------------------------------------------------------- - -const uint8_t * MD5pm::body (const uint8_t * inDataPtr, const size_t inByteLength) { - const uint8_t * ptr = inDataPtr ; - size_t currentByteLength = inByteLength ; - - do { - const uint32_t saved_a = mA ; - const uint32_t saved_b = mB; - const uint32_t saved_c = mC; - const uint32_t saved_d = mD; - -/* Round 1 */ - STEP(F, mA, mB, mC, mD, mBlock, 0, ptr, 0xd76aa478, 7) ; - STEP(F, mD, mA, mB, mC, mBlock, 1, ptr, 0xe8c7b756, 12) ; - STEP(F, mC, mD, mA, mB, mBlock, 2, ptr, 0x242070db, 17) ; - STEP(F, mB, mC, mD, mA, mBlock, 3, ptr, 0xc1bdceee, 22) ; - STEP(F, mA, mB, mC, mD, mBlock, 4, ptr, 0xf57c0faf, 7) ; - STEP(F, mD, mA, mB, mC, mBlock, 5, ptr, 0x4787c62a, 12) ; - STEP(F, mC, mD, mA, mB, mBlock, 6, ptr, 0xa8304613, 17) ; - STEP(F, mB, mC, mD, mA, mBlock, 7, ptr, 0xfd469501, 22) ; - STEP(F, mA, mB, mC, mD, mBlock, 8, ptr, 0x698098d8, 7) ; - STEP(F, mD, mA, mB, mC, mBlock, 9, ptr, 0x8b44f7af, 12) ; - STEP(F, mC, mD, mA, mB, mBlock, 10, ptr, 0xffff5bb1, 17) ; - STEP(F, mB, mC, mD, mA, mBlock, 11, ptr, 0x895cd7be, 22) ; - STEP(F, mA, mB, mC, mD, mBlock, 12, ptr, 0x6b901122, 7) ; - STEP(F, mD, mA, mB, mC, mBlock, 13, ptr, 0xfd987193, 12) ; - STEP(F, mC, mD, mA, mB, mBlock, 14, ptr, 0xa679438e, 17) ; - STEP(F, mB, mC, mD, mA, mBlock, 15, ptr, 0x49b40821, 22) ; +#define OUT_MD5(dst, src) \ + (dst)[0] = (unsigned char)(src); \ + (dst)[1] = (unsigned char)((src) >> 8); \ + (dst)[2] = (unsigned char)((src) >> 16); \ + (dst)[3] = (unsigned char)((src) >> 24); -/* Round 2 */ - STEP2 (G, mA, mB, mC, mD, mBlock [1], 0xf61e2562, 5) ; - STEP2 (G, mD, mA, mB, mC, mBlock [6], 0xc040b340, 9) ; - STEP2 (G, mC, mD, mA, mB, mBlock [11], 0x265e5a51, 14) ; - STEP2 (G, mB, mC, mD, mA, mBlock [0], 0xe9b6c7aa, 20) ; - STEP2 (G, mA, mB, mC, mD, mBlock [5], 0xd62f105d, 5) ; - STEP2 (G, mD, mA, mB, mC, mBlock [10], 0x02441453, 9) ; - STEP2 (G, mC, mD, mA, mB, mBlock [15], 0xd8a1e681, 14) ; - STEP2 (G, mB, mC, mD, mA, mBlock [4], 0xe7d3fbc8, 20) ; - STEP2 (G, mA, mB, mC, mD, mBlock [9], 0x21e1cde6, 5) ; - STEP2 (G, mD, mA, mB, mC, mBlock [14], 0xc33707d6, 9) ; - STEP2 (G, mC, mD, mA, mB, mBlock [3], 0xf4d50d87, 14) ; - STEP2 (G, mB, mC, mD, mA, mBlock [8], 0x455a14ed, 20) ; - STEP2 (G, mA, mB, mC, mD, mBlock [13], 0xa9e3e905, 5) ; - STEP2 (G, mD, mA, mB, mC, mBlock [2], 0xfcefa3f8, 9) ; - STEP2 (G, mC, mD, mA, mB, mBlock [7], 0x676f02d9, 14) ; - STEP2 (G, mB, mC, mD, mA, mBlock [12], 0x8d2a4c8a, 20) ; +void MD5_Final(unsigned char *result, MD5_CTX *ctx) +{ + unsigned long used, available; -/* Round 3 */ - STEP2 (H, mA, mB, mC, mD, mBlock [5], 0xfffa3942, 4) ; - STEP2 (H, mD, mA, mB, mC, mBlock [8], 0x8771f681, 11) ; - STEP2 (H, mC, mD, mA, mB, mBlock [11], 0x6d9d6122, 16) ; - STEP2 (H, mB, mC, mD, mA, mBlock [14], 0xfde5380c, 23) ; - STEP2 (H, mA, mB, mC, mD, mBlock [1], 0xa4beea44, 4) ; - STEP2 (H, mD, mA, mB, mC, mBlock [4], 0x4bdecfa9, 11) ; - STEP2 (H, mC, mD, mA, mB, mBlock [7], 0xf6bb4b60, 16) ; - STEP2 (H, mB, mC, mD, mA, mBlock [10], 0xbebfbc70, 23) ; - STEP2 (H, mA, mB, mC, mD, mBlock [13], 0x289b7ec6, 4) ; - STEP2 (H, mD, mA, mB, mC, mBlock [0], 0xeaa127fa, 11) ; - STEP2 (H, mC, mD, mA, mB, mBlock [3], 0xd4ef3085, 16) ; - STEP2 (H, mB, mC, mD, mA, mBlock [6], 0x04881d05, 23) ; - STEP2 (H, mA, mB, mC, mD, mBlock [9], 0xd9d4d039, 4) ; - STEP2 (H, mD, mA, mB, mC, mBlock [12], 0xe6db99e5, 11) ; - STEP2 (H, mC, mD, mA, mB, mBlock [15], 0x1fa27cf8, 16) ; - STEP2 (H, mB, mC, mD, mA, mBlock [2], 0xc4ac5665, 23) ; + used = ctx->lo & 0x3f; -/* Round 4 */ - STEP2 (I, mA, mB, mC, mD, mBlock [0], 0xf4292244, 6) ; - STEP2 (I, mD, mA, mB, mC, mBlock [7], 0x432aff97, 10) ; - STEP2 (I, mC, mD, mA, mB, mBlock [14], 0xab9423a7, 15) ; - STEP2 (I, mB, mC, mD, mA, mBlock [5], 0xfc93a039, 21) ; - STEP2 (I, mA, mB, mC, mD, mBlock [12], 0x655b59c3, 6) ; - STEP2 (I, mD, mA, mB, mC, mBlock [3], 0x8f0ccc92, 10) ; - STEP2 (I, mC, mD, mA, mB, mBlock [10], 0xffeff47d, 15) ; - STEP2 (I, mB, mC, mD, mA, mBlock [1], 0x85845dd1, 21) ; - STEP2 (I, mA, mB, mC, mD, mBlock [8], 0x6fa87e4f, 6) ; - STEP2 (I, mD, mA, mB, mC, mBlock [15], 0xfe2ce6e0, 10) ; - STEP2 (I, mC, mD, mA, mB, mBlock [6], 0xa3014314, 15) ; - STEP2 (I, mB, mC, mD, mA, mBlock [13], 0x4e0811a1, 21) ; - STEP2 (I, mA, mB, mC, mD, mBlock [4], 0xf7537e82, 6) ; - STEP2 (I, mD, mA, mB, mC, mBlock [11], 0xbd3af235, 10) ; - STEP2 (I, mC, mD, mA, mB, mBlock [2], 0x2ad7d2bb, 15) ; - STEP2 (I, mB, mC, mD, mA, mBlock [9], 0xeb86d391, 21) ; - - mA = addU32IgnoringOverflow (mA, saved_a) ; - mB = addU32IgnoringOverflow (mB, saved_b) ; - mC = addU32IgnoringOverflow (mC, saved_c) ; - mD = addU32IgnoringOverflow (mD, saved_d) ; + ctx->buffer[used++] = 0x80; - ptr += 64; - } while (currentByteLength -= 64); - - return ptr; -} - -//------------------------------------------------------------------------------------------------- - -MD5Digest MD5pm::finalizeAndGetDigest (void) const { - MD5pm temporary = *this ; - uint32_t used = temporary.mLo & 0x3f; - - temporary.mBuffer[used] = 0x80 ; - used += 1 ; - - uint32_t available = 64 - used; + available = 64 - used; if (available < 8) { - memset(&temporary.mBuffer[used], 0, available); - temporary.body (temporary.mBuffer, 64); + memset(&ctx->buffer[used], 0, available); + body(ctx, ctx->buffer, 64); used = 0; available = 64; } - memset (&temporary.mBuffer[used], 0, available - 8); + memset(&ctx->buffer[used], 0, available - 8); - temporary.mLo <<= 3; - temporary.mBuffer [56] = uint8_t (temporary.mLo >> 0) ; - temporary.mBuffer [57] = uint8_t (temporary.mLo >> 8) ; - temporary.mBuffer [58] = uint8_t (temporary.mLo >> 16) ; - temporary.mBuffer [59] = uint8_t (temporary.mLo >> 24) ; - temporary.mBuffer [60] = uint8_t (temporary.mHi >> 0) ; - temporary.mBuffer [61] = uint8_t (temporary.mHi >> 8) ; - temporary.mBuffer [62] = uint8_t (temporary.mHi >> 16) ; - temporary.mBuffer [63] = uint8_t (temporary.mHi >> 24) ; + ctx->lo <<= 3; + OUT_MD5(&ctx->buffer[56], ctx->lo) + OUT_MD5(&ctx->buffer[60], ctx->hi) - temporary.body (temporary.mBuffer, 64); - - const MD5Digest result (temporary.mA, temporary.mB, temporary.mC, temporary.mD) ; - return result ; -} + body(ctx, ctx->buffer, 64); -//------------------------------------------------------------------------------------------------- + OUT_MD5(&result[0], ctx->a) + OUT_MD5(&result[4], ctx->b) + OUT_MD5(&result[8], ctx->c) + OUT_MD5(&result[12], ctx->d) -MD5Digest::MD5Digest (void) { + memset(ctx, 0, sizeof(*ctx)); } - -//------------------------------------------------------------------------------------------------- - -MD5Digest::MD5Digest (const uint32_t inA, const uint32_t inB, const uint32_t inC, const uint32_t inD) { - mBuffer [0] = inA ; - mBuffer [1] = inB ; - mBuffer [2] = inC ; - mBuffer [3] = inD ; -} - -//------------------------------------------------------------------------------------------------- - -uint8_t MD5Digest::operator [] (const size_t inIndex) const { - uint32_t v = mBuffer [inIndex / 4] ; - v >>= (inIndex % 4) * 8 ; - return uint8_t (v) ; -} - -//------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/md5.h b/goil/build/libpm/utilities/md5.h index f1da09a1a..d7bf6a074 100644 --- a/goil/build/libpm/utilities/md5.h +++ b/goil/build/libpm/utilities/md5.h @@ -22,53 +22,21 @@ * * See md5.c for more information. */ -// Modified by Pierre Molinaro 7 february 2024 -//------------------------------------------------------------------------------------------------- #pragma once -//------------------------------------------------------------------------------------------------- +/* Any 32-bit or wider unsigned integer data type will do */ +typedef unsigned int MD5_u32plus; -#include -#include +typedef struct { + MD5_u32plus lo, hi; + MD5_u32plus a, b, c, d; + unsigned char buffer[64]; + MD5_u32plus block[16]; +} MD5_CTX; -//------------------------------------------------------------------------------------------------- +void MD5_Init (MD5_CTX *ctx); +void MD5_Update (MD5_CTX *ctx, const void *data, unsigned long size); +void MD5_Final (unsigned char *result, MD5_CTX *ctx); -class MD5Digest { -//--- Constructor - public: MD5Digest (void) ; - public: MD5Digest (const uint32_t inA, const uint32_t inB, const uint32_t inC, const uint32_t inD) ; - -//--- Accessor - public: uint8_t operator [] (const size_t inIndex) const ; - -//--- Private property - public: std::array mBuffer = {0} ; -} ; - -//------------------------------------------------------------------------------------------------- - -class MD5pm final { -//--- Constructor - public: MD5pm (void) ; - -//--- Public methods - public: void appendData (const void * inDataPtr, const size_t inByteLength) ; - - public: MD5Digest finalizeAndGetDigest (void) const ; - -//--- Private methods - private: const uint8_t * body (const uint8_t * inDataPtr, const size_t inByteLength) ; - -//--- Private properties - private: uint32_t mLo = 0 ; - private: uint32_t mHi = 0 ; - private: uint32_t mA = 0x67452301 ; - private: uint32_t mB = 0xefcdab89 ; - private: uint32_t mC = 0x98badcfe ; - private: uint32_t mD = 0x10325476 ; - private: uint8_t mBuffer [64] ; - private: uint32_t mBlock [16] ; -} ; - -//------------------------------------------------------------------------------------------------- +//#endif diff --git a/goil/build/libpm/utilities/switch-fallthrough.h b/goil/build/libpm/utilities/switch-fallthrough.h index 82fd0b3fd..bd3bf1e06 100644 --- a/goil/build/libpm/utilities/switch-fallthrough.h +++ b/goil/build/libpm/utilities/switch-fallthrough.h @@ -1,14 +1,14 @@ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Detection of fallthrough in switch statements (GCC 7) // // Copyright (C) 2017 Pierre Molinaro. // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #if __GNUC__ < 7 #define FALLTHROUGH @@ -16,4 +16,4 @@ #define FALLTHROUGH __attribute__ ((fallthrough)) ; #endif -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- diff --git a/goil/build/output/all-declarations-0.cpp b/goil/build/output/all-declarations-0.cpp index e24d0302f..cf4f21c1a 100644 --- a/goil/build/output/all-declarations-0.cpp +++ b/goil/build/output/all-declarations-0.cpp @@ -1,496 +1,22 @@ -#include "Compiler.h" -#include "C_galgas_io.h" -#include "C_galgas_CLI_Options.h" -#include "PrologueEpilogue.h" +#include "galgas2/C_Compiler.h" +#include "galgas2/C_galgas_io.h" +#include "galgas2/C_galgas_CLI_Options.h" +#include "utilities/C_PrologueEpilogue.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-declarations-0.h" -//-------------------------------------------------------------------------------------------------- -// -//Class for element of '@_32_lstringlist' list -// -//-------------------------------------------------------------------------------------------------- - -class cCollectionElement__32_lstringlist : public cCollectionElement { - public: GALGAS__32_lstringlist_2D_element mObject ; - -//--- Class functions - public: cCollectionElement__32_lstringlist (const GALGAS_lstring & in_mValue_30_, - const GALGAS_lstring & in_mValue_31_ - COMMA_LOCATION_ARGS) ; - public: cCollectionElement__32_lstringlist (const GALGAS__32_lstringlist_2D_element & inElement COMMA_LOCATION_ARGS) ; - -//--- Virtual method for comparing elements - public: virtual typeComparisonResult compare (const cCollectionElement * inOperand) const ; - -//--- Virtual method that checks that all attributes are valid - public: virtual bool isValid (void) const ; - -//--- Virtual method that returns a copy of current object - public: virtual cCollectionElement * copy (void) ; - -//--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; -} ; - -//-------------------------------------------------------------------------------------------------- - -cCollectionElement__32_lstringlist::cCollectionElement__32_lstringlist (const GALGAS_lstring & in_mValue_30_, - const GALGAS_lstring & in_mValue_31_ - COMMA_LOCATION_ARGS) : -cCollectionElement (THERE), -mObject (in_mValue_30_, in_mValue_31_) { -} - -//-------------------------------------------------------------------------------------------------- - -cCollectionElement__32_lstringlist::cCollectionElement__32_lstringlist (const GALGAS__32_lstringlist_2D_element & inElement COMMA_LOCATION_ARGS) : -cCollectionElement (THERE), -mObject (inElement.mProperty_mValue_30_, inElement.mProperty_mValue_31_) { -} - -//-------------------------------------------------------------------------------------------------- - -bool cCollectionElement__32_lstringlist::isValid (void) const { - return true ; -} - -//-------------------------------------------------------------------------------------------------- - -cCollectionElement * cCollectionElement__32_lstringlist::copy (void) { - cCollectionElement * result = nullptr ; - macroMyNew (result, cCollectionElement__32_lstringlist (mObject.mProperty_mValue_30_, mObject.mProperty_mValue_31_ COMMA_HERE)) ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -void cCollectionElement__32_lstringlist::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("mValue0" ":") ; - mObject.mProperty_mValue_30_.description (ioString, inIndentation) ; - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("mValue1" ":") ; - mObject.mProperty_mValue_31_.description (ioString, inIndentation) ; -} - -//-------------------------------------------------------------------------------------------------- - -typeComparisonResult cCollectionElement__32_lstringlist::compare (const cCollectionElement * inOperand) const { - cCollectionElement__32_lstringlist * operand = (cCollectionElement__32_lstringlist *) inOperand ; - macroValidSharedObject (operand, cCollectionElement__32_lstringlist) ; - return mObject.objectCompare (operand->mObject) ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS__32_lstringlist::GALGAS__32_lstringlist (void) : -AC_GALGAS_list () { -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS__32_lstringlist::GALGAS__32_lstringlist (const capCollectionElementArray & inSharedArray) : -AC_GALGAS_list (inSharedArray) { -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS__32_lstringlist GALGAS__32_lstringlist::class_func_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS__32_lstringlist (capCollectionElementArray ()) ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS__32_lstringlist GALGAS__32_lstringlist::class_func_listWithValue (const GALGAS_lstring & inOperand0, - const GALGAS_lstring & inOperand1 - COMMA_LOCATION_ARGS) { - GALGAS__32_lstringlist result ; - if (inOperand0.isValid () && inOperand1.isValid ()) { - result = GALGAS__32_lstringlist (capCollectionElementArray ()) ; - capCollectionElement attributes ; - GALGAS__32_lstringlist::makeAttributesFromObjects (attributes, inOperand0, inOperand1 COMMA_THERE) ; - result.appendObject (attributes) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -void GALGAS__32_lstringlist::makeAttributesFromObjects (capCollectionElement & outAttributes, - const GALGAS_lstring & in_mValue_30_, - const GALGAS_lstring & in_mValue_31_ - COMMA_LOCATION_ARGS) { - cCollectionElement__32_lstringlist * p = nullptr ; - macroMyNew (p, cCollectionElement__32_lstringlist (in_mValue_30_, - in_mValue_31_ COMMA_THERE)) ; - outAttributes.setPointer (p) ; - macroDetachSharedObject (p) ; -} - -//-------------------------------------------------------------------------------------------------- - -void GALGAS__32_lstringlist::addAssign_operation (const GALGAS_lstring & inOperand0, - const GALGAS_lstring & inOperand1 - COMMA_LOCATION_ARGS) { - if (isValid ()) { - cCollectionElement * p = nullptr ; - macroMyNew (p, cCollectionElement__32_lstringlist (inOperand0, inOperand1 COMMA_THERE)) ; - capCollectionElement attributes ; - attributes.setPointer (p) ; - macroDetachSharedObject (p) ; - appendObject (attributes) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void GALGAS__32_lstringlist::setter_append (const GALGAS_lstring inOperand0, - const GALGAS_lstring inOperand1, - Compiler * /* inCompiler */ - COMMA_LOCATION_ARGS) { - if (isValid ()) { - cCollectionElement * p = nullptr ; - macroMyNew (p, cCollectionElement__32_lstringlist (inOperand0, inOperand1 COMMA_THERE)) ; - capCollectionElement attributes ; - attributes.setPointer (p) ; - macroDetachSharedObject (p) ; - appendObject (attributes) ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void GALGAS__32_lstringlist::setter_insertAtIndex (const GALGAS_lstring inOperand0, - const GALGAS_lstring inOperand1, - const GALGAS_uint inInsertionIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - if (isValid ()) { - if (inInsertionIndex.isValid () && inOperand0.isValid () && inOperand1.isValid ()) { - cCollectionElement * p = nullptr ; - macroMyNew (p, cCollectionElement__32_lstringlist (inOperand0, inOperand1 COMMA_THERE)) ; - capCollectionElement attributes ; - attributes.setPointer (p) ; - macroDetachSharedObject (p) ; - insertObjectAtIndex (attributes, inInsertionIndex.uintValue (), inCompiler COMMA_THERE) ; - }else{ - drop () ; - } - } -} - -//-------------------------------------------------------------------------------------------------- - -void GALGAS__32_lstringlist::setter_removeAtIndex (GALGAS_lstring & outOperand0, - GALGAS_lstring & outOperand1, - const GALGAS_uint inRemoveIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - if (isValid ()) { - if (inRemoveIndex.isValid ()) { - capCollectionElement attributes ; - removeObjectAtIndex (attributes, inRemoveIndex.uintValue (), inCompiler COMMA_THERE) ; - cCollectionElement__32_lstringlist * p = (cCollectionElement__32_lstringlist *) attributes.ptr () ; - if (nullptr == p) { - outOperand0.drop () ; - outOperand1.drop () ; - drop () ; - }else{ - macroValidSharedObject (p, cCollectionElement__32_lstringlist) ; - outOperand0 = p->mObject.mProperty_mValue_30_ ; - outOperand1 = p->mObject.mProperty_mValue_31_ ; - } - }else{ - outOperand0.drop () ; - outOperand1.drop () ; - drop () ; - } - }else{ - outOperand0.drop () ; - outOperand1.drop () ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void GALGAS__32_lstringlist::setter_popFirst (GALGAS_lstring & outOperand0, - GALGAS_lstring & outOperand1, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - capCollectionElement attributes ; - removeFirstObject (attributes, inCompiler COMMA_THERE) ; - cCollectionElement__32_lstringlist * p = (cCollectionElement__32_lstringlist *) attributes.ptr () ; - if (nullptr == p) { - outOperand0.drop () ; - outOperand1.drop () ; - }else{ - macroValidSharedObject (p, cCollectionElement__32_lstringlist) ; - outOperand0 = p->mObject.mProperty_mValue_30_ ; - outOperand1 = p->mObject.mProperty_mValue_31_ ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void GALGAS__32_lstringlist::setter_popLast (GALGAS_lstring & outOperand0, - GALGAS_lstring & outOperand1, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - capCollectionElement attributes ; - removeLastObject (attributes, inCompiler COMMA_THERE) ; - cCollectionElement__32_lstringlist * p = (cCollectionElement__32_lstringlist *) attributes.ptr () ; - if (nullptr == p) { - outOperand0.drop () ; - outOperand1.drop () ; - }else{ - macroValidSharedObject (p, cCollectionElement__32_lstringlist) ; - outOperand0 = p->mObject.mProperty_mValue_30_ ; - outOperand1 = p->mObject.mProperty_mValue_31_ ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void GALGAS__32_lstringlist::method_first (GALGAS_lstring & outOperand0, - GALGAS_lstring & outOperand1, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - capCollectionElement attributes ; - readFirst (attributes, inCompiler COMMA_THERE) ; - cCollectionElement__32_lstringlist * p = (cCollectionElement__32_lstringlist *) attributes.ptr () ; - if (nullptr == p) { - outOperand0.drop () ; - outOperand1.drop () ; - }else{ - macroValidSharedObject (p, cCollectionElement__32_lstringlist) ; - outOperand0 = p->mObject.mProperty_mValue_30_ ; - outOperand1 = p->mObject.mProperty_mValue_31_ ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void GALGAS__32_lstringlist::method_last (GALGAS_lstring & outOperand0, - GALGAS_lstring & outOperand1, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - capCollectionElement attributes ; - readLast (attributes, inCompiler COMMA_THERE) ; - cCollectionElement__32_lstringlist * p = (cCollectionElement__32_lstringlist *) attributes.ptr () ; - if (nullptr == p) { - outOperand0.drop () ; - outOperand1.drop () ; - }else{ - macroValidSharedObject (p, cCollectionElement__32_lstringlist) ; - outOperand0 = p->mObject.mProperty_mValue_30_ ; - outOperand1 = p->mObject.mProperty_mValue_31_ ; - } -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS__32_lstringlist GALGAS__32_lstringlist::add_operation (const GALGAS__32_lstringlist & inOperand, - Compiler * /* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS__32_lstringlist result ; - if (isValid () && inOperand.isValid ()) { - result = *this ; - result.appendList (inOperand) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS__32_lstringlist GALGAS__32_lstringlist::getter_subListWithRange (const GALGAS_range & inRange, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS__32_lstringlist result = GALGAS__32_lstringlist::class_func_emptyList (THERE) ; - subListWithRange (result, inRange, inCompiler COMMA_THERE) ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS__32_lstringlist GALGAS__32_lstringlist::getter_subListFromIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS__32_lstringlist result = GALGAS__32_lstringlist::class_func_emptyList (THERE) ; - subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS__32_lstringlist GALGAS__32_lstringlist::getter_subListToIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS__32_lstringlist result = GALGAS__32_lstringlist::class_func_emptyList (THERE) ; - subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -void GALGAS__32_lstringlist::plusAssign_operation (const GALGAS__32_lstringlist inOperand, - Compiler * /* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) { - appendList (inOperand) ; -} - -//-------------------------------------------------------------------------------------------------- - -void GALGAS__32_lstringlist::setter_setMValue_30_AtIndex (GALGAS_lstring inOperand, - GALGAS_uint inIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cCollectionElement__32_lstringlist * p = (cCollectionElement__32_lstringlist *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; - if (nullptr != p) { - macroValidSharedObject (p, cCollectionElement__32_lstringlist) ; - macroUniqueSharedObject (p) ; - p->mObject.mProperty_mValue_30_ = inOperand ; - } -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_lstring GALGAS__32_lstringlist::getter_mValue_30_AtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; - cCollectionElement__32_lstringlist * p = (cCollectionElement__32_lstringlist *) attributes.ptr () ; - GALGAS_lstring result ; - if (nullptr != p) { - macroValidSharedObject (p, cCollectionElement__32_lstringlist) ; - result = p->mObject.mProperty_mValue_30_ ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -void GALGAS__32_lstringlist::setter_setMValue_31_AtIndex (GALGAS_lstring inOperand, - GALGAS_uint inIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cCollectionElement__32_lstringlist * p = (cCollectionElement__32_lstringlist *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; - if (nullptr != p) { - macroValidSharedObject (p, cCollectionElement__32_lstringlist) ; - macroUniqueSharedObject (p) ; - p->mObject.mProperty_mValue_31_ = inOperand ; - } -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_lstring GALGAS__32_lstringlist::getter_mValue_31_AtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; - cCollectionElement__32_lstringlist * p = (cCollectionElement__32_lstringlist *) attributes.ptr () ; - GALGAS_lstring result ; - if (nullptr != p) { - macroValidSharedObject (p, cCollectionElement__32_lstringlist) ; - result = p->mObject.mProperty_mValue_31_ ; - } - return result ; -} - - - -//-------------------------------------------------------------------------------------------------- - -cEnumerator__32_lstringlist::cEnumerator__32_lstringlist (const GALGAS__32_lstringlist & inEnumeratedObject, - const typeEnumerationOrder inOrder) : -cGenericAbstractEnumerator (inOrder) { - inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS__32_lstringlist_2D_element cEnumerator__32_lstringlist::current (LOCATION_ARGS) const { - const cCollectionElement__32_lstringlist * p = (const cCollectionElement__32_lstringlist *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cCollectionElement__32_lstringlist) ; - return p->mObject ; -} - - -//-------------------------------------------------------------------------------------------------- - -GALGAS_lstring cEnumerator__32_lstringlist::current_mValue_30_ (LOCATION_ARGS) const { - const cCollectionElement__32_lstringlist * p = (const cCollectionElement__32_lstringlist *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cCollectionElement__32_lstringlist) ; - return p->mObject.mProperty_mValue_30_ ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_lstring cEnumerator__32_lstringlist::current_mValue_31_ (LOCATION_ARGS) const { - const cCollectionElement__32_lstringlist * p = (const cCollectionElement__32_lstringlist *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cCollectionElement__32_lstringlist) ; - return p->mObject.mProperty_mValue_31_ ; -} - - - - -//-------------------------------------------------------------------------------------------------- -// -// @2lstringlist generic code implementation -// -//-------------------------------------------------------------------------------------------------- - -const C_galgas_type_descriptor kTypeDescriptor_GALGAS__32_lstringlist ("2lstringlist", - nullptr) ; - -//-------------------------------------------------------------------------------------------------- - -const C_galgas_type_descriptor * GALGAS__32_lstringlist::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS__32_lstringlist ; -} - -//-------------------------------------------------------------------------------------------------- - -AC_GALGAS_root * GALGAS__32_lstringlist::clonedObject (void) const { - AC_GALGAS_root * result = nullptr ; - if (isValid ()) { - macroMyNew (result, GALGAS__32_lstringlist (*this)) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS__32_lstringlist GALGAS__32_lstringlist::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS__32_lstringlist result ; - const GALGAS__32_lstringlist * p = (const GALGAS__32_lstringlist *) inObject.embeddedObject () ; - if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { - result = *p ; - }else{ - inCompiler->castError ("2lstringlist", p->dynamicTypeDescriptor () COMMA_THERE) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Class for element of '@gtlDataList' list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cCollectionElement_gtlDataList : public cCollectionElement { public: GALGAS_gtlDataList_2D_element mObject ; -//--- Class functions +//--- Constructors public: cCollectionElement_gtlDataList (const GALGAS_gtlData & in_data COMMA_LOCATION_ARGS) ; public: cCollectionElement_gtlDataList (const GALGAS_gtlDataList_2D_element & inElement COMMA_LOCATION_ARGS) ; @@ -505,10 +31,10 @@ class cCollectionElement_gtlDataList : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_gtlDataList::cCollectionElement_gtlDataList (const GALGAS_gtlData & in_data COMMA_LOCATION_ARGS) : @@ -516,20 +42,20 @@ cCollectionElement (THERE), mObject (in_data) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_gtlDataList::cCollectionElement_gtlDataList (const GALGAS_gtlDataList_2D_element & inElement COMMA_LOCATION_ARGS) : cCollectionElement (THERE), mObject (inElement.mProperty_data) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cCollectionElement_gtlDataList::isValid (void) const { return true ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement * cCollectionElement_gtlDataList::copy (void) { cCollectionElement * result = nullptr ; @@ -537,16 +63,16 @@ cCollectionElement * cCollectionElement_gtlDataList::copy (void) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cCollectionElement_gtlDataList::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("data" ":") ; +void cCollectionElement_gtlDataList::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "data" ":" ; mObject.mProperty_data.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_gtlDataList::compare (const cCollectionElement * inOperand) const { cCollectionElement_gtlDataList * operand = (cCollectionElement_gtlDataList *) inOperand ; @@ -554,28 +80,28 @@ typeComparisonResult cCollectionElement_gtlDataList::compare (const cCollectionE return mObject.objectCompare (operand->mObject) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlDataList::GALGAS_gtlDataList (void) : AC_GALGAS_list () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlDataList::GALGAS_gtlDataList (const capCollectionElementArray & inSharedArray) : AC_GALGAS_list (inSharedArray) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlDataList GALGAS_gtlDataList::class_func_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_gtlDataList (capCollectionElementArray ()) ; +GALGAS_gtlDataList GALGAS_gtlDataList::constructor_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_gtlDataList (capCollectionElementArray ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlDataList GALGAS_gtlDataList::class_func_listWithValue (const GALGAS_gtlData & inOperand0 - COMMA_LOCATION_ARGS) { +GALGAS_gtlDataList GALGAS_gtlDataList::constructor_listWithValue (const GALGAS_gtlData & inOperand0 + COMMA_LOCATION_ARGS) { GALGAS_gtlDataList result ; if (inOperand0.isValid ()) { result = GALGAS_gtlDataList (capCollectionElementArray ()) ; @@ -586,7 +112,7 @@ GALGAS_gtlDataList GALGAS_gtlDataList::class_func_listWithValue (const GALGAS_gt return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlDataList::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_gtlData & in_data @@ -597,7 +123,7 @@ void GALGAS_gtlDataList::makeAttributesFromObjects (capCollectionElement & outAt macroDetachSharedObject (p) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlDataList::addAssign_operation (const GALGAS_gtlData & inOperand0 COMMA_LOCATION_ARGS) { @@ -611,10 +137,10 @@ void GALGAS_gtlDataList::addAssign_operation (const GALGAS_gtlData & inOperand0 } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlDataList::setter_append (const GALGAS_gtlData inOperand0, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -626,11 +152,11 @@ void GALGAS_gtlDataList::setter_append (const GALGAS_gtlData inOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlDataList::setter_insertAtIndex (const GALGAS_gtlData inOperand0, const GALGAS_uint inInsertionIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid ()) { @@ -646,11 +172,11 @@ void GALGAS_gtlDataList::setter_insertAtIndex (const GALGAS_gtlData inOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlDataList::setter_removeAtIndex (GALGAS_gtlData & outOperand0, const GALGAS_uint inRemoveIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -673,10 +199,10 @@ void GALGAS_gtlDataList::setter_removeAtIndex (GALGAS_gtlData & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlDataList::setter_popFirst (GALGAS_gtlData & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -689,10 +215,10 @@ void GALGAS_gtlDataList::setter_popFirst (GALGAS_gtlData & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlDataList::setter_popLast (GALGAS_gtlData & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -705,10 +231,10 @@ void GALGAS_gtlDataList::setter_popLast (GALGAS_gtlData & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlDataList::method_first (GALGAS_gtlData & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -721,10 +247,10 @@ void GALGAS_gtlDataList::method_first (GALGAS_gtlData & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlDataList::method_last (GALGAS_gtlData & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -737,10 +263,10 @@ void GALGAS_gtlDataList::method_last (GALGAS_gtlData & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlDataList GALGAS_gtlDataList::add_operation (const GALGAS_gtlDataList & inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_gtlDataList result ; if (isValid () && inOperand.isValid ()) { @@ -750,49 +276,49 @@ GALGAS_gtlDataList GALGAS_gtlDataList::add_operation (const GALGAS_gtlDataList & return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlDataList GALGAS_gtlDataList::getter_subListWithRange (const GALGAS_range & inRange, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlDataList result = GALGAS_gtlDataList::class_func_emptyList (THERE) ; + GALGAS_gtlDataList result = GALGAS_gtlDataList::constructor_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlDataList GALGAS_gtlDataList::getter_subListFromIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlDataList result = GALGAS_gtlDataList::class_func_emptyList (THERE) ; + GALGAS_gtlDataList result = GALGAS_gtlDataList::constructor_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlDataList GALGAS_gtlDataList::getter_subListToIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlDataList result = GALGAS_gtlDataList::class_func_emptyList (THERE) ; + GALGAS_gtlDataList result = GALGAS_gtlDataList::constructor_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlDataList::plusAssign_operation (const GALGAS_gtlDataList inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlDataList::setter_setDataAtIndex (GALGAS_gtlData inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_gtlDataList * p = (cCollectionElement_gtlDataList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -802,10 +328,10 @@ void GALGAS_gtlDataList::setter_setDataAtIndex (GALGAS_gtlData inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlData GALGAS_gtlDataList::getter_dataAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_gtlDataList * p = (cCollectionElement_gtlDataList *) attributes.ptr () ; @@ -819,7 +345,7 @@ GALGAS_gtlData GALGAS_gtlDataList::getter_dataAtIndex (const GALGAS_uint & inInd -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_gtlDataList::cEnumerator_gtlDataList (const GALGAS_gtlDataList & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -827,7 +353,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlDataList_2D_element cEnumerator_gtlDataList::current (LOCATION_ARGS) const { const cCollectionElement_gtlDataList * p = (const cCollectionElement_gtlDataList *) currentObjectPtr (THERE) ; @@ -836,7 +362,7 @@ GALGAS_gtlDataList_2D_element cEnumerator_gtlDataList::current (LOCATION_ARGS) c } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlData cEnumerator_gtlDataList::current_data (LOCATION_ARGS) const { const cCollectionElement_gtlDataList * p = (const cCollectionElement_gtlDataList *) currentObjectPtr (THERE) ; @@ -847,22 +373,23 @@ GALGAS_gtlData cEnumerator_gtlDataList::current_data (LOCATION_ARGS) const { -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlDataList generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlDataList ("gtlDataList", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlDataList ("gtlDataList", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlDataList::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlDataList ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlDataList::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -872,10 +399,10 @@ AC_GALGAS_root * GALGAS_gtlDataList::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlDataList GALGAS_gtlDataList::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlDataList result ; const GALGAS_gtlDataList * p = (const GALGAS_gtlDataList *) inObject.embeddedObject () ; @@ -889,15 +416,15 @@ GALGAS_gtlDataList GALGAS_gtlDataList::extractObject (const GALGAS_object & inOb return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension Getter '@string stringByAppendingPath' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string extensionGetter_stringByAppendingPath (const GALGAS_string & inObject, const GALGAS_string & constinArgument_pathToAppend, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_string result_result ; // Returned variable enumGalgasBool test_0 = kBoolTrue ; @@ -930,7 +457,7 @@ GALGAS_string extensionGetter_stringByAppendingPath (const GALGAS_string & inObj -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cMapElement_gtlVarMap::cMapElement_gtlVarMap (const GALGAS_lstring & inKey, const GALGAS_gtlData & in_value @@ -939,13 +466,13 @@ cMapElement (inKey COMMA_THERE), mProperty_value (in_value) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cMapElement_gtlVarMap::isValid (void) const { return mProperty_lkey.isValid () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cMapElement * cMapElement_gtlVarMap::copy (void) { cMapElement * result = nullptr ; @@ -953,16 +480,16 @@ cMapElement * cMapElement_gtlVarMap::copy (void) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cMapElement_gtlVarMap::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("value" ":") ; +void cMapElement_gtlVarMap::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "value" ":" ; mProperty_value.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cMapElement_gtlVarMap::compare (const cCollectionElement * inOperand) const { cMapElement_gtlVarMap * operand = (cMapElement_gtlVarMap *) inOperand ; @@ -973,56 +500,56 @@ typeComparisonResult cMapElement_gtlVarMap::compare (const cCollectionElement * return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarMap::GALGAS_gtlVarMap (void) : -AC_GALGAS_map () { +AC_GALGAS_map (true) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarMap::GALGAS_gtlVarMap (const GALGAS_gtlVarMap & inSource) : AC_GALGAS_map (inSource) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarMap & GALGAS_gtlVarMap::operator = (const GALGAS_gtlVarMap & inSource) { * ((AC_GALGAS_map *) this) = inSource ; return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlVarMap GALGAS_gtlVarMap::class_func_emptyMap (LOCATION_ARGS) { +GALGAS_gtlVarMap GALGAS_gtlVarMap::constructor_emptyMap (LOCATION_ARGS) { GALGAS_gtlVarMap result ; result.makeNewEmptyMap (THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlVarMap GALGAS_gtlVarMap::class_func_mapWithMapToOverride (const GALGAS_gtlVarMap & inMapToOverride - COMMA_LOCATION_ARGS) { +GALGAS_gtlVarMap GALGAS_gtlVarMap::constructor_mapWithMapToOverride (const GALGAS_gtlVarMap & inMapToOverride + COMMA_LOCATION_ARGS) { GALGAS_gtlVarMap result ; result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlVarMap GALGAS_gtlVarMap::getter_overriddenMap (Compiler * inCompiler +GALGAS_gtlVarMap GALGAS_gtlVarMap::getter_overriddenMap (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_gtlVarMap result ; getOverridenMap (result, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlVarMap::addAssign_operation (const GALGAS_lstring & inKey, const GALGAS_gtlData & inArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlVarMap * p = nullptr ; macroMyNew (p, cMapElement_gtlVarMap (inKey, inArgument0 COMMA_HERE)) ; @@ -1034,10 +561,10 @@ void GALGAS_gtlVarMap::addAssign_operation (const GALGAS_lstring & inKey, performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarMap GALGAS_gtlVarMap::add_operation (const GALGAS_gtlVarMap & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_gtlVarMap result = *this ; cEnumerator_gtlVarMap enumerator (inOperand, kENUMERATION_UP) ; @@ -1048,11 +575,11 @@ GALGAS_gtlVarMap GALGAS_gtlVarMap::add_operation (const GALGAS_gtlVarMap & inOpe return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlVarMap::setter_put (GALGAS_lstring inKey, GALGAS_gtlData inArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlVarMap * p = nullptr ; macroMyNew (p, cMapElement_gtlVarMap (inKey, inArgument0 COMMA_HERE)) ; @@ -1064,15 +591,15 @@ void GALGAS_gtlVarMap::setter_put (GALGAS_lstring inKey, performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const char * kSearchErrorMessage_gtlVarMap_get = "there is no variable or field named '%K'" ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlVarMap::method_get (GALGAS_lstring inKey, GALGAS_gtlData & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cMapElement_gtlVarMap * p = (const cMapElement_gtlVarMap *) performSearch (inKey, inCompiler, @@ -1086,15 +613,15 @@ void GALGAS_gtlVarMap::method_get (GALGAS_lstring inKey, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const char * kSearchErrorMessage_gtlVarMap_getResult = "function did not return a value in '%K'" ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlVarMap::method_getResult (GALGAS_lstring inKey, GALGAS_gtlData & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cMapElement_gtlVarMap * p = (const cMapElement_gtlVarMap *) performSearch (inKey, inCompiler, @@ -1108,11 +635,11 @@ void GALGAS_gtlVarMap::method_getResult (GALGAS_lstring inKey, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlVarMap::setter_del (GALGAS_lstring inKey, GALGAS_gtlData & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { const char * kRemoveErrorMessage = "there is no variable or field named '%K' to delete" ; capCollectionElement attributes ; @@ -1126,10 +653,10 @@ void GALGAS_gtlVarMap::setter_del (GALGAS_lstring inKey, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlData GALGAS_gtlVarMap::getter_valueForKey (const GALGAS_string & inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; const cMapElement_gtlVarMap * p = (const cMapElement_gtlVarMap *) attributes ; @@ -1141,11 +668,11 @@ GALGAS_gtlData GALGAS_gtlVarMap::getter_valueForKey (const GALGAS_string & inKey return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlVarMap::setter_setValueForKey (GALGAS_gtlData inAttributeValue, GALGAS_string inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; cMapElement_gtlVarMap * p = (cMapElement_gtlVarMap *) attributes ; @@ -1155,9 +682,9 @@ void GALGAS_gtlVarMap::setter_setValueForKey (GALGAS_gtlData inAttributeValue, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement_gtlVarMap * GALGAS_gtlVarMap::readWriteAccessForWithInstruction (Compiler * inCompiler, +cMapElement_gtlVarMap * GALGAS_gtlVarMap::readWriteAccessForWithInstruction (C_Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) { cMapElement_gtlVarMap * result = (cMapElement_gtlVarMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; @@ -1165,7 +692,7 @@ cMapElement_gtlVarMap * GALGAS_gtlVarMap::readWriteAccessForWithInstruction (Com return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_gtlVarMap::cEnumerator_gtlVarMap (const GALGAS_gtlVarMap & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -1173,7 +700,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarMap_2D_element cEnumerator_gtlVarMap::current (LOCATION_ARGS) const { const cMapElement_gtlVarMap * p = (const cMapElement_gtlVarMap *) currentObjectPtr (THERE) ; @@ -1181,7 +708,7 @@ GALGAS_gtlVarMap_2D_element cEnumerator_gtlVarMap::current (LOCATION_ARGS) const return GALGAS_gtlVarMap_2D_element (p->mProperty_lkey, p->mProperty_value) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lstring cEnumerator_gtlVarMap::current_lkey (LOCATION_ARGS) const { const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; @@ -1189,7 +716,7 @@ GALGAS_lstring cEnumerator_gtlVarMap::current_lkey (LOCATION_ARGS) const { return p->mProperty_lkey ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlData cEnumerator_gtlVarMap::current_value (LOCATION_ARGS) const { const cMapElement_gtlVarMap * p = (const cMapElement_gtlVarMap *) currentObjectPtr (THERE) ; @@ -1197,7 +724,7 @@ GALGAS_gtlData cEnumerator_gtlVarMap::current_value (LOCATION_ARGS) const { return p->mProperty_value ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool GALGAS_gtlVarMap::optional_searchKey (const GALGAS_string & inKey, GALGAS_gtlData & outArgument0) const { @@ -1212,22 +739,23 @@ bool GALGAS_gtlVarMap::optional_searchKey (const GALGAS_string & inKey, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlVarMap generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlVarMap ("gtlVarMap", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlVarMap ("gtlVarMap", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlVarMap::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlVarMap ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlVarMap::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -1237,10 +765,10 @@ AC_GALGAS_root * GALGAS_gtlVarMap::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarMap GALGAS_gtlVarMap::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlVarMap result ; const GALGAS_gtlVarMap * p = (const GALGAS_gtlVarMap *) inObject.embeddedObject () ; @@ -1254,16 +782,16 @@ GALGAS_gtlVarMap GALGAS_gtlVarMap::extractObject (const GALGAS_object & inObject return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension method '@gtlVarMap replaceOrCreate' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void extensionSetter_replaceOrCreate (GALGAS_gtlVarMap & ioObject, const GALGAS_lstring constinArgument_key, const GALGAS_gtlData constinArgument_data, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { @@ -1283,17 +811,17 @@ void extensionSetter_replaceOrCreate (GALGAS_gtlVarMap & ioObject, } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension method '@gtlVarMap replaceOrCreateAtLevel' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void extensionSetter_replaceOrCreateAtLevel (GALGAS_gtlVarMap & ioObject, const GALGAS_lstring constinArgument_key, const GALGAS_gtlData constinArgument_data, const GALGAS_uint constinArgument_level, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { @@ -1312,7 +840,7 @@ void extensionSetter_replaceOrCreateAtLevel (GALGAS_gtlVarMap & ioObject, } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cMapElement_gtlExpressionMap::cMapElement_gtlExpressionMap (const GALGAS_lstring & inKey, const GALGAS_gtlExpression & in_expression @@ -1321,13 +849,13 @@ cMapElement (inKey COMMA_THERE), mProperty_expression (in_expression) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cMapElement_gtlExpressionMap::isValid (void) const { return mProperty_lkey.isValid () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cMapElement * cMapElement_gtlExpressionMap::copy (void) { cMapElement * result = nullptr ; @@ -1335,16 +863,16 @@ cMapElement * cMapElement_gtlExpressionMap::copy (void) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cMapElement_gtlExpressionMap::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("expression" ":") ; +void cMapElement_gtlExpressionMap::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "expression" ":" ; mProperty_expression.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cMapElement_gtlExpressionMap::compare (const cCollectionElement * inOperand) const { cMapElement_gtlExpressionMap * operand = (cMapElement_gtlExpressionMap *) inOperand ; @@ -1355,56 +883,56 @@ typeComparisonResult cMapElement_gtlExpressionMap::compare (const cCollectionEle return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlExpressionMap::GALGAS_gtlExpressionMap (void) : -AC_GALGAS_map () { +AC_GALGAS_map (true) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlExpressionMap::GALGAS_gtlExpressionMap (const GALGAS_gtlExpressionMap & inSource) : AC_GALGAS_map (inSource) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlExpressionMap & GALGAS_gtlExpressionMap::operator = (const GALGAS_gtlExpressionMap & inSource) { * ((AC_GALGAS_map *) this) = inSource ; return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlExpressionMap GALGAS_gtlExpressionMap::class_func_emptyMap (LOCATION_ARGS) { +GALGAS_gtlExpressionMap GALGAS_gtlExpressionMap::constructor_emptyMap (LOCATION_ARGS) { GALGAS_gtlExpressionMap result ; result.makeNewEmptyMap (THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlExpressionMap GALGAS_gtlExpressionMap::class_func_mapWithMapToOverride (const GALGAS_gtlExpressionMap & inMapToOverride - COMMA_LOCATION_ARGS) { +GALGAS_gtlExpressionMap GALGAS_gtlExpressionMap::constructor_mapWithMapToOverride (const GALGAS_gtlExpressionMap & inMapToOverride + COMMA_LOCATION_ARGS) { GALGAS_gtlExpressionMap result ; result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlExpressionMap GALGAS_gtlExpressionMap::getter_overriddenMap (Compiler * inCompiler +GALGAS_gtlExpressionMap GALGAS_gtlExpressionMap::getter_overriddenMap (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_gtlExpressionMap result ; getOverridenMap (result, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionMap::addAssign_operation (const GALGAS_lstring & inKey, const GALGAS_gtlExpression & inArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlExpressionMap * p = nullptr ; macroMyNew (p, cMapElement_gtlExpressionMap (inKey, inArgument0 COMMA_HERE)) ; @@ -1416,10 +944,10 @@ void GALGAS_gtlExpressionMap::addAssign_operation (const GALGAS_lstring & inKey, performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlExpressionMap GALGAS_gtlExpressionMap::add_operation (const GALGAS_gtlExpressionMap & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_gtlExpressionMap result = *this ; cEnumerator_gtlExpressionMap enumerator (inOperand, kENUMERATION_UP) ; @@ -1430,11 +958,11 @@ GALGAS_gtlExpressionMap GALGAS_gtlExpressionMap::add_operation (const GALGAS_gtl return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionMap::setter_put (GALGAS_lstring inKey, GALGAS_gtlExpression inArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlExpressionMap * p = nullptr ; macroMyNew (p, cMapElement_gtlExpressionMap (inKey, inArgument0 COMMA_HERE)) ; @@ -1446,15 +974,15 @@ void GALGAS_gtlExpressionMap::setter_put (GALGAS_lstring inKey, performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const char * kSearchErrorMessage_gtlExpressionMap_get = "there is no field named '%K'" ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionMap::method_get (GALGAS_lstring inKey, GALGAS_gtlExpression & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cMapElement_gtlExpressionMap * p = (const cMapElement_gtlExpressionMap *) performSearch (inKey, inCompiler, @@ -1468,11 +996,11 @@ void GALGAS_gtlExpressionMap::method_get (GALGAS_lstring inKey, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionMap::setter_del (GALGAS_lstring inKey, GALGAS_gtlExpression & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { const char * kRemoveErrorMessage = "there is no field named '%K' to delete" ; capCollectionElement attributes ; @@ -1486,10 +1014,10 @@ void GALGAS_gtlExpressionMap::setter_del (GALGAS_lstring inKey, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlExpression GALGAS_gtlExpressionMap::getter_expressionForKey (const GALGAS_string & inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; const cMapElement_gtlExpressionMap * p = (const cMapElement_gtlExpressionMap *) attributes ; @@ -1501,11 +1029,11 @@ GALGAS_gtlExpression GALGAS_gtlExpressionMap::getter_expressionForKey (const GAL return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionMap::setter_setExpressionForKey (GALGAS_gtlExpression inAttributeValue, GALGAS_string inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; cMapElement_gtlExpressionMap * p = (cMapElement_gtlExpressionMap *) attributes ; @@ -1515,9 +1043,9 @@ void GALGAS_gtlExpressionMap::setter_setExpressionForKey (GALGAS_gtlExpression i } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement_gtlExpressionMap * GALGAS_gtlExpressionMap::readWriteAccessForWithInstruction (Compiler * inCompiler, +cMapElement_gtlExpressionMap * GALGAS_gtlExpressionMap::readWriteAccessForWithInstruction (C_Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) { cMapElement_gtlExpressionMap * result = (cMapElement_gtlExpressionMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; @@ -1525,7 +1053,7 @@ cMapElement_gtlExpressionMap * GALGAS_gtlExpressionMap::readWriteAccessForWithIn return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_gtlExpressionMap::cEnumerator_gtlExpressionMap (const GALGAS_gtlExpressionMap & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -1533,7 +1061,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlExpressionMap_2D_element cEnumerator_gtlExpressionMap::current (LOCATION_ARGS) const { const cMapElement_gtlExpressionMap * p = (const cMapElement_gtlExpressionMap *) currentObjectPtr (THERE) ; @@ -1541,7 +1069,7 @@ GALGAS_gtlExpressionMap_2D_element cEnumerator_gtlExpressionMap::current (LOCATI return GALGAS_gtlExpressionMap_2D_element (p->mProperty_lkey, p->mProperty_expression) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lstring cEnumerator_gtlExpressionMap::current_lkey (LOCATION_ARGS) const { const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; @@ -1549,7 +1077,7 @@ GALGAS_lstring cEnumerator_gtlExpressionMap::current_lkey (LOCATION_ARGS) const return p->mProperty_lkey ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlExpression cEnumerator_gtlExpressionMap::current_expression (LOCATION_ARGS) const { const cMapElement_gtlExpressionMap * p = (const cMapElement_gtlExpressionMap *) currentObjectPtr (THERE) ; @@ -1557,7 +1085,7 @@ GALGAS_gtlExpression cEnumerator_gtlExpressionMap::current_expression (LOCATION_ return p->mProperty_expression ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool GALGAS_gtlExpressionMap::optional_searchKey (const GALGAS_string & inKey, GALGAS_gtlExpression & outArgument0) const { @@ -1572,22 +1100,23 @@ bool GALGAS_gtlExpressionMap::optional_searchKey (const GALGAS_string & inKey, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlExpressionMap generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlExpressionMap ("gtlExpressionMap", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlExpressionMap ("gtlExpressionMap", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlExpressionMap::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlExpressionMap ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlExpressionMap::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -1597,10 +1126,10 @@ AC_GALGAS_root * GALGAS_gtlExpressionMap::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlExpressionMap GALGAS_gtlExpressionMap::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlExpressionMap result ; const GALGAS_gtlExpressionMap * p = (const GALGAS_gtlExpressionMap *) inObject.embeddedObject () ; @@ -1614,16 +1143,16 @@ GALGAS_gtlExpressionMap GALGAS_gtlExpressionMap::extractObject (const GALGAS_obj return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Class for element of '@gtlInstructionList' list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cCollectionElement_gtlInstructionList : public cCollectionElement { public: GALGAS_gtlInstructionList_2D_element mObject ; -//--- Class functions +//--- Constructors public: cCollectionElement_gtlInstructionList (const GALGAS_gtlInstruction & in_instruction COMMA_LOCATION_ARGS) ; public: cCollectionElement_gtlInstructionList (const GALGAS_gtlInstructionList_2D_element & inElement COMMA_LOCATION_ARGS) ; @@ -1638,10 +1167,10 @@ class cCollectionElement_gtlInstructionList : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_gtlInstructionList::cCollectionElement_gtlInstructionList (const GALGAS_gtlInstruction & in_instruction COMMA_LOCATION_ARGS) : @@ -1649,20 +1178,20 @@ cCollectionElement (THERE), mObject (in_instruction) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_gtlInstructionList::cCollectionElement_gtlInstructionList (const GALGAS_gtlInstructionList_2D_element & inElement COMMA_LOCATION_ARGS) : cCollectionElement (THERE), mObject (inElement.mProperty_instruction) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cCollectionElement_gtlInstructionList::isValid (void) const { return true ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement * cCollectionElement_gtlInstructionList::copy (void) { cCollectionElement * result = nullptr ; @@ -1670,16 +1199,16 @@ cCollectionElement * cCollectionElement_gtlInstructionList::copy (void) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cCollectionElement_gtlInstructionList::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("instruction" ":") ; +void cCollectionElement_gtlInstructionList::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "instruction" ":" ; mObject.mProperty_instruction.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_gtlInstructionList::compare (const cCollectionElement * inOperand) const { cCollectionElement_gtlInstructionList * operand = (cCollectionElement_gtlInstructionList *) inOperand ; @@ -1687,28 +1216,28 @@ typeComparisonResult cCollectionElement_gtlInstructionList::compare (const cColl return mObject.objectCompare (operand->mObject) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionList::GALGAS_gtlInstructionList (void) : AC_GALGAS_list () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionList::GALGAS_gtlInstructionList (const capCollectionElementArray & inSharedArray) : AC_GALGAS_list (inSharedArray) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlInstructionList GALGAS_gtlInstructionList::class_func_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_gtlInstructionList (capCollectionElementArray ()) ; +GALGAS_gtlInstructionList GALGAS_gtlInstructionList::constructor_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_gtlInstructionList (capCollectionElementArray ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlInstructionList GALGAS_gtlInstructionList::class_func_listWithValue (const GALGAS_gtlInstruction & inOperand0 - COMMA_LOCATION_ARGS) { +GALGAS_gtlInstructionList GALGAS_gtlInstructionList::constructor_listWithValue (const GALGAS_gtlInstruction & inOperand0 + COMMA_LOCATION_ARGS) { GALGAS_gtlInstructionList result ; if (inOperand0.isValid ()) { result = GALGAS_gtlInstructionList (capCollectionElementArray ()) ; @@ -1719,7 +1248,7 @@ GALGAS_gtlInstructionList GALGAS_gtlInstructionList::class_func_listWithValue (c return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionList::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_gtlInstruction & in_instruction @@ -1730,7 +1259,7 @@ void GALGAS_gtlInstructionList::makeAttributesFromObjects (capCollectionElement macroDetachSharedObject (p) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionList::addAssign_operation (const GALGAS_gtlInstruction & inOperand0 COMMA_LOCATION_ARGS) { @@ -1744,10 +1273,10 @@ void GALGAS_gtlInstructionList::addAssign_operation (const GALGAS_gtlInstruction } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionList::setter_append (const GALGAS_gtlInstruction inOperand0, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -1759,11 +1288,11 @@ void GALGAS_gtlInstructionList::setter_append (const GALGAS_gtlInstruction inOpe } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionList::setter_insertAtIndex (const GALGAS_gtlInstruction inOperand0, const GALGAS_uint inInsertionIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid ()) { @@ -1779,11 +1308,11 @@ void GALGAS_gtlInstructionList::setter_insertAtIndex (const GALGAS_gtlInstructio } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionList::setter_removeAtIndex (GALGAS_gtlInstruction & outOperand0, const GALGAS_uint inRemoveIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -1806,10 +1335,10 @@ void GALGAS_gtlInstructionList::setter_removeAtIndex (GALGAS_gtlInstruction & ou } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionList::setter_popFirst (GALGAS_gtlInstruction & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -1822,10 +1351,10 @@ void GALGAS_gtlInstructionList::setter_popFirst (GALGAS_gtlInstruction & outOper } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionList::setter_popLast (GALGAS_gtlInstruction & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -1838,10 +1367,10 @@ void GALGAS_gtlInstructionList::setter_popLast (GALGAS_gtlInstruction & outOpera } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionList::method_first (GALGAS_gtlInstruction & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -1854,10 +1383,10 @@ void GALGAS_gtlInstructionList::method_first (GALGAS_gtlInstruction & outOperand } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionList::method_last (GALGAS_gtlInstruction & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -1870,10 +1399,10 @@ void GALGAS_gtlInstructionList::method_last (GALGAS_gtlInstruction & outOperand0 } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionList GALGAS_gtlInstructionList::add_operation (const GALGAS_gtlInstructionList & inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_gtlInstructionList result ; if (isValid () && inOperand.isValid ()) { @@ -1883,49 +1412,49 @@ GALGAS_gtlInstructionList GALGAS_gtlInstructionList::add_operation (const GALGAS return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionList GALGAS_gtlInstructionList::getter_subListWithRange (const GALGAS_range & inRange, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlInstructionList result = GALGAS_gtlInstructionList::class_func_emptyList (THERE) ; + GALGAS_gtlInstructionList result = GALGAS_gtlInstructionList::constructor_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionList GALGAS_gtlInstructionList::getter_subListFromIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlInstructionList result = GALGAS_gtlInstructionList::class_func_emptyList (THERE) ; + GALGAS_gtlInstructionList result = GALGAS_gtlInstructionList::constructor_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionList GALGAS_gtlInstructionList::getter_subListToIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlInstructionList result = GALGAS_gtlInstructionList::class_func_emptyList (THERE) ; + GALGAS_gtlInstructionList result = GALGAS_gtlInstructionList::constructor_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionList::plusAssign_operation (const GALGAS_gtlInstructionList inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionList::setter_setInstructionAtIndex (GALGAS_gtlInstruction inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_gtlInstructionList * p = (cCollectionElement_gtlInstructionList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -1935,10 +1464,10 @@ void GALGAS_gtlInstructionList::setter_setInstructionAtIndex (GALGAS_gtlInstruct } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstruction GALGAS_gtlInstructionList::getter_instructionAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_gtlInstructionList * p = (cCollectionElement_gtlInstructionList *) attributes.ptr () ; @@ -1952,7 +1481,7 @@ GALGAS_gtlInstruction GALGAS_gtlInstructionList::getter_instructionAtIndex (cons -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_gtlInstructionList::cEnumerator_gtlInstructionList (const GALGAS_gtlInstructionList & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -1960,7 +1489,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionList_2D_element cEnumerator_gtlInstructionList::current (LOCATION_ARGS) const { const cCollectionElement_gtlInstructionList * p = (const cCollectionElement_gtlInstructionList *) currentObjectPtr (THERE) ; @@ -1969,7 +1498,7 @@ GALGAS_gtlInstructionList_2D_element cEnumerator_gtlInstructionList::current (LO } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstruction cEnumerator_gtlInstructionList::current_instruction (LOCATION_ARGS) const { const cCollectionElement_gtlInstructionList * p = (const cCollectionElement_gtlInstructionList *) currentObjectPtr (THERE) ; @@ -1980,22 +1509,23 @@ GALGAS_gtlInstruction cEnumerator_gtlInstructionList::current_instruction (LOCAT -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlInstructionList generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlInstructionList ("gtlInstructionList", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlInstructionList ("gtlInstructionList", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlInstructionList::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlInstructionList ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlInstructionList::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -2005,10 +1535,10 @@ AC_GALGAS_root * GALGAS_gtlInstructionList::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionList GALGAS_gtlInstructionList::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlInstructionList result ; const GALGAS_gtlInstructionList * p = (const GALGAS_gtlInstructionList *) inObject.embeddedObject () ; @@ -2022,7 +1552,7 @@ GALGAS_gtlInstructionList GALGAS_gtlInstructionList::extractObject (const GALGAS return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cMapElement_gtlTemplateMap::cMapElement_gtlTemplateMap (const GALGAS_lstring & inKey, const GALGAS_gtlTemplate & in_aTemplate @@ -2031,13 +1561,13 @@ cMapElement (inKey COMMA_THERE), mProperty_aTemplate (in_aTemplate) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cMapElement_gtlTemplateMap::isValid (void) const { return mProperty_lkey.isValid () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cMapElement * cMapElement_gtlTemplateMap::copy (void) { cMapElement * result = nullptr ; @@ -2045,16 +1575,16 @@ cMapElement * cMapElement_gtlTemplateMap::copy (void) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cMapElement_gtlTemplateMap::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("aTemplate" ":") ; +void cMapElement_gtlTemplateMap::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "aTemplate" ":" ; mProperty_aTemplate.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cMapElement_gtlTemplateMap::compare (const cCollectionElement * inOperand) const { cMapElement_gtlTemplateMap * operand = (cMapElement_gtlTemplateMap *) inOperand ; @@ -2065,56 +1595,56 @@ typeComparisonResult cMapElement_gtlTemplateMap::compare (const cCollectionEleme return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlTemplateMap::GALGAS_gtlTemplateMap (void) : -AC_GALGAS_map () { +AC_GALGAS_map (true) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlTemplateMap::GALGAS_gtlTemplateMap (const GALGAS_gtlTemplateMap & inSource) : AC_GALGAS_map (inSource) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlTemplateMap & GALGAS_gtlTemplateMap::operator = (const GALGAS_gtlTemplateMap & inSource) { * ((AC_GALGAS_map *) this) = inSource ; return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlTemplateMap GALGAS_gtlTemplateMap::class_func_emptyMap (LOCATION_ARGS) { +GALGAS_gtlTemplateMap GALGAS_gtlTemplateMap::constructor_emptyMap (LOCATION_ARGS) { GALGAS_gtlTemplateMap result ; result.makeNewEmptyMap (THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlTemplateMap GALGAS_gtlTemplateMap::class_func_mapWithMapToOverride (const GALGAS_gtlTemplateMap & inMapToOverride - COMMA_LOCATION_ARGS) { +GALGAS_gtlTemplateMap GALGAS_gtlTemplateMap::constructor_mapWithMapToOverride (const GALGAS_gtlTemplateMap & inMapToOverride + COMMA_LOCATION_ARGS) { GALGAS_gtlTemplateMap result ; result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlTemplateMap GALGAS_gtlTemplateMap::getter_overriddenMap (Compiler * inCompiler +GALGAS_gtlTemplateMap GALGAS_gtlTemplateMap::getter_overriddenMap (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_gtlTemplateMap result ; getOverridenMap (result, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlTemplateMap::addAssign_operation (const GALGAS_lstring & inKey, const GALGAS_gtlTemplate & inArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlTemplateMap * p = nullptr ; macroMyNew (p, cMapElement_gtlTemplateMap (inKey, inArgument0 COMMA_HERE)) ; @@ -2126,10 +1656,10 @@ void GALGAS_gtlTemplateMap::addAssign_operation (const GALGAS_lstring & inKey, performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlTemplateMap GALGAS_gtlTemplateMap::add_operation (const GALGAS_gtlTemplateMap & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_gtlTemplateMap result = *this ; cEnumerator_gtlTemplateMap enumerator (inOperand, kENUMERATION_UP) ; @@ -2140,11 +1670,11 @@ GALGAS_gtlTemplateMap GALGAS_gtlTemplateMap::add_operation (const GALGAS_gtlTemp return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlTemplateMap::setter_put (GALGAS_lstring inKey, GALGAS_gtlTemplate inArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlTemplateMap * p = nullptr ; macroMyNew (p, cMapElement_gtlTemplateMap (inKey, inArgument0 COMMA_HERE)) ; @@ -2156,15 +1686,15 @@ void GALGAS_gtlTemplateMap::setter_put (GALGAS_lstring inKey, performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const char * kSearchErrorMessage_gtlTemplateMap_get = "there is no template at path '%K'" ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlTemplateMap::method_get (GALGAS_lstring inKey, GALGAS_gtlTemplate & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cMapElement_gtlTemplateMap * p = (const cMapElement_gtlTemplateMap *) performSearch (inKey, inCompiler, @@ -2178,10 +1708,10 @@ void GALGAS_gtlTemplateMap::method_get (GALGAS_lstring inKey, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlTemplate GALGAS_gtlTemplateMap::getter_aTemplateForKey (const GALGAS_string & inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; const cMapElement_gtlTemplateMap * p = (const cMapElement_gtlTemplateMap *) attributes ; @@ -2193,11 +1723,11 @@ GALGAS_gtlTemplate GALGAS_gtlTemplateMap::getter_aTemplateForKey (const GALGAS_s return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlTemplateMap::setter_setATemplateForKey (GALGAS_gtlTemplate inAttributeValue, GALGAS_string inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; cMapElement_gtlTemplateMap * p = (cMapElement_gtlTemplateMap *) attributes ; @@ -2207,9 +1737,9 @@ void GALGAS_gtlTemplateMap::setter_setATemplateForKey (GALGAS_gtlTemplate inAttr } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement_gtlTemplateMap * GALGAS_gtlTemplateMap::readWriteAccessForWithInstruction (Compiler * inCompiler, +cMapElement_gtlTemplateMap * GALGAS_gtlTemplateMap::readWriteAccessForWithInstruction (C_Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) { cMapElement_gtlTemplateMap * result = (cMapElement_gtlTemplateMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; @@ -2217,7 +1747,7 @@ cMapElement_gtlTemplateMap * GALGAS_gtlTemplateMap::readWriteAccessForWithInstru return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_gtlTemplateMap::cEnumerator_gtlTemplateMap (const GALGAS_gtlTemplateMap & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -2225,7 +1755,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlTemplateMap_2D_element cEnumerator_gtlTemplateMap::current (LOCATION_ARGS) const { const cMapElement_gtlTemplateMap * p = (const cMapElement_gtlTemplateMap *) currentObjectPtr (THERE) ; @@ -2233,7 +1763,7 @@ GALGAS_gtlTemplateMap_2D_element cEnumerator_gtlTemplateMap::current (LOCATION_A return GALGAS_gtlTemplateMap_2D_element (p->mProperty_lkey, p->mProperty_aTemplate) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lstring cEnumerator_gtlTemplateMap::current_lkey (LOCATION_ARGS) const { const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; @@ -2241,7 +1771,7 @@ GALGAS_lstring cEnumerator_gtlTemplateMap::current_lkey (LOCATION_ARGS) const { return p->mProperty_lkey ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlTemplate cEnumerator_gtlTemplateMap::current_aTemplate (LOCATION_ARGS) const { const cMapElement_gtlTemplateMap * p = (const cMapElement_gtlTemplateMap *) currentObjectPtr (THERE) ; @@ -2249,7 +1779,7 @@ GALGAS_gtlTemplate cEnumerator_gtlTemplateMap::current_aTemplate (LOCATION_ARGS) return p->mProperty_aTemplate ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool GALGAS_gtlTemplateMap::optional_searchKey (const GALGAS_string & inKey, GALGAS_gtlTemplate & outArgument0) const { @@ -2264,22 +1794,23 @@ bool GALGAS_gtlTemplateMap::optional_searchKey (const GALGAS_string & inKey, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlTemplateMap generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlTemplateMap ("gtlTemplateMap", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlTemplateMap ("gtlTemplateMap", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlTemplateMap::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlTemplateMap ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlTemplateMap::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -2289,10 +1820,10 @@ AC_GALGAS_root * GALGAS_gtlTemplateMap::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlTemplateMap GALGAS_gtlTemplateMap::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlTemplateMap result ; const GALGAS_gtlTemplateMap * p = (const GALGAS_gtlTemplateMap *) inObject.embeddedObject () ; @@ -2306,11 +1837,11 @@ GALGAS_gtlTemplateMap GALGAS_gtlTemplateMap::extractObject (const GALGAS_object return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension method '@gtlTemplateMap getTemplate' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void extensionSetter_getTemplate (GALGAS_gtlTemplateMap & ioObject, const GALGAS_gtlContext constinArgument_context, @@ -2319,7 +1850,7 @@ void extensionSetter_getTemplate (GALGAS_gtlTemplateMap & ioObject, GALGAS_library & ioArgument_lib, GALGAS_bool & outArgument_found, GALGAS_gtlTemplate & outArgument_result, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { outArgument_found.drop () ; // Release 'out' argument outArgument_result.drop () ; // Release 'out' argument @@ -2342,7 +1873,7 @@ void extensionSetter_getTemplate (GALGAS_gtlTemplateMap & ioObject, GALGAS_gtlInstructionList var_program_7785 ; var_program_7785.drop () ; cGrammar_gtl_5F_grammar::_performSourceFileParsing_ (inCompiler, inArgument_path, constinArgument_context, ioArgument_lib, var_program_7785 COMMA_SOURCE_FILE ("gtl_types.galgas", 292)) ; - outArgument_result = GALGAS_gtlTemplate::class_func_new (inArgument_path.readProperty_string (), var_program_7785 COMMA_SOURCE_FILE ("gtl_types.galgas", 296)) ; + outArgument_result = GALGAS_gtlTemplate::constructor_new (inArgument_path.readProperty_string (), var_program_7785 COMMA_SOURCE_FILE ("gtl_types.galgas", 296)) ; { ioObject.setter_put (inArgument_path, outArgument_result, inCompiler COMMA_SOURCE_FILE ("gtl_types.galgas", 297)) ; } @@ -2354,7 +1885,7 @@ void extensionSetter_getTemplate (GALGAS_gtlTemplateMap & ioObject, if (kBoolTrue == test_4) { test_4 = inArgument_ifExists.boolEnum () ; if (kBoolTrue == test_4) { - outArgument_result = GALGAS_gtlTemplate::class_func_new (inArgument_path.readProperty_string (), GALGAS_gtlInstructionList::class_func_emptyList (SOURCE_FILE ("gtl_types.galgas", 301)) COMMA_SOURCE_FILE ("gtl_types.galgas", 301)) ; + outArgument_result = GALGAS_gtlTemplate::constructor_new (inArgument_path.readProperty_string (), GALGAS_gtlInstructionList::constructor_emptyList (SOURCE_FILE ("gtl_types.galgas", 301)) COMMA_SOURCE_FILE ("gtl_types.galgas", 301)) ; } } if (kBoolFalse == test_4) { @@ -2367,7 +1898,7 @@ void extensionSetter_getTemplate (GALGAS_gtlTemplateMap & ioObject, } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cMapElement_gtlFuncMap::cMapElement_gtlFuncMap (const GALGAS_lstring & inKey, const GALGAS_gtlFunction & in_function @@ -2376,13 +1907,13 @@ cMapElement (inKey COMMA_THERE), mProperty_function (in_function) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cMapElement_gtlFuncMap::isValid (void) const { return mProperty_lkey.isValid () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cMapElement * cMapElement_gtlFuncMap::copy (void) { cMapElement * result = nullptr ; @@ -2390,16 +1921,16 @@ cMapElement * cMapElement_gtlFuncMap::copy (void) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cMapElement_gtlFuncMap::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("function" ":") ; +void cMapElement_gtlFuncMap::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "function" ":" ; mProperty_function.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cMapElement_gtlFuncMap::compare (const cCollectionElement * inOperand) const { cMapElement_gtlFuncMap * operand = (cMapElement_gtlFuncMap *) inOperand ; @@ -2410,56 +1941,56 @@ typeComparisonResult cMapElement_gtlFuncMap::compare (const cCollectionElement * return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlFuncMap::GALGAS_gtlFuncMap (void) : -AC_GALGAS_map () { +AC_GALGAS_map (true) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlFuncMap::GALGAS_gtlFuncMap (const GALGAS_gtlFuncMap & inSource) : AC_GALGAS_map (inSource) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlFuncMap & GALGAS_gtlFuncMap::operator = (const GALGAS_gtlFuncMap & inSource) { * ((AC_GALGAS_map *) this) = inSource ; return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlFuncMap GALGAS_gtlFuncMap::class_func_emptyMap (LOCATION_ARGS) { +GALGAS_gtlFuncMap GALGAS_gtlFuncMap::constructor_emptyMap (LOCATION_ARGS) { GALGAS_gtlFuncMap result ; result.makeNewEmptyMap (THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlFuncMap GALGAS_gtlFuncMap::class_func_mapWithMapToOverride (const GALGAS_gtlFuncMap & inMapToOverride - COMMA_LOCATION_ARGS) { +GALGAS_gtlFuncMap GALGAS_gtlFuncMap::constructor_mapWithMapToOverride (const GALGAS_gtlFuncMap & inMapToOverride + COMMA_LOCATION_ARGS) { GALGAS_gtlFuncMap result ; result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlFuncMap GALGAS_gtlFuncMap::getter_overriddenMap (Compiler * inCompiler +GALGAS_gtlFuncMap GALGAS_gtlFuncMap::getter_overriddenMap (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_gtlFuncMap result ; getOverridenMap (result, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlFuncMap::addAssign_operation (const GALGAS_lstring & inKey, const GALGAS_gtlFunction & inArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlFuncMap * p = nullptr ; macroMyNew (p, cMapElement_gtlFuncMap (inKey, inArgument0 COMMA_HERE)) ; @@ -2471,10 +2002,10 @@ void GALGAS_gtlFuncMap::addAssign_operation (const GALGAS_lstring & inKey, performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlFuncMap GALGAS_gtlFuncMap::add_operation (const GALGAS_gtlFuncMap & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_gtlFuncMap result = *this ; cEnumerator_gtlFuncMap enumerator (inOperand, kENUMERATION_UP) ; @@ -2485,11 +2016,11 @@ GALGAS_gtlFuncMap GALGAS_gtlFuncMap::add_operation (const GALGAS_gtlFuncMap & in return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlFuncMap::setter_put (GALGAS_lstring inKey, GALGAS_gtlFunction inArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlFuncMap * p = nullptr ; macroMyNew (p, cMapElement_gtlFuncMap (inKey, inArgument0 COMMA_HERE)) ; @@ -2501,15 +2032,15 @@ void GALGAS_gtlFuncMap::setter_put (GALGAS_lstring inKey, performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const char * kSearchErrorMessage_gtlFuncMap_get = "there is no function named '%K'" ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlFuncMap::method_get (GALGAS_lstring inKey, GALGAS_gtlFunction & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cMapElement_gtlFuncMap * p = (const cMapElement_gtlFuncMap *) performSearch (inKey, inCompiler, @@ -2523,10 +2054,10 @@ void GALGAS_gtlFuncMap::method_get (GALGAS_lstring inKey, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlFunction GALGAS_gtlFuncMap::getter_functionForKey (const GALGAS_string & inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; const cMapElement_gtlFuncMap * p = (const cMapElement_gtlFuncMap *) attributes ; @@ -2538,11 +2069,11 @@ GALGAS_gtlFunction GALGAS_gtlFuncMap::getter_functionForKey (const GALGAS_string return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlFuncMap::setter_setFunctionForKey (GALGAS_gtlFunction inAttributeValue, GALGAS_string inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; cMapElement_gtlFuncMap * p = (cMapElement_gtlFuncMap *) attributes ; @@ -2552,9 +2083,9 @@ void GALGAS_gtlFuncMap::setter_setFunctionForKey (GALGAS_gtlFunction inAttribute } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement_gtlFuncMap * GALGAS_gtlFuncMap::readWriteAccessForWithInstruction (Compiler * inCompiler, +cMapElement_gtlFuncMap * GALGAS_gtlFuncMap::readWriteAccessForWithInstruction (C_Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) { cMapElement_gtlFuncMap * result = (cMapElement_gtlFuncMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; @@ -2562,7 +2093,7 @@ cMapElement_gtlFuncMap * GALGAS_gtlFuncMap::readWriteAccessForWithInstruction (C return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_gtlFuncMap::cEnumerator_gtlFuncMap (const GALGAS_gtlFuncMap & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -2570,7 +2101,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlFuncMap_2D_element cEnumerator_gtlFuncMap::current (LOCATION_ARGS) const { const cMapElement_gtlFuncMap * p = (const cMapElement_gtlFuncMap *) currentObjectPtr (THERE) ; @@ -2578,7 +2109,7 @@ GALGAS_gtlFuncMap_2D_element cEnumerator_gtlFuncMap::current (LOCATION_ARGS) con return GALGAS_gtlFuncMap_2D_element (p->mProperty_lkey, p->mProperty_function) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lstring cEnumerator_gtlFuncMap::current_lkey (LOCATION_ARGS) const { const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; @@ -2586,7 +2117,7 @@ GALGAS_lstring cEnumerator_gtlFuncMap::current_lkey (LOCATION_ARGS) const { return p->mProperty_lkey ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlFunction cEnumerator_gtlFuncMap::current_function (LOCATION_ARGS) const { const cMapElement_gtlFuncMap * p = (const cMapElement_gtlFuncMap *) currentObjectPtr (THERE) ; @@ -2594,7 +2125,7 @@ GALGAS_gtlFunction cEnumerator_gtlFuncMap::current_function (LOCATION_ARGS) cons return p->mProperty_function ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool GALGAS_gtlFuncMap::optional_searchKey (const GALGAS_string & inKey, GALGAS_gtlFunction & outArgument0) const { @@ -2609,22 +2140,23 @@ bool GALGAS_gtlFuncMap::optional_searchKey (const GALGAS_string & inKey, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlFuncMap generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlFuncMap ("gtlFuncMap", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlFuncMap ("gtlFuncMap", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlFuncMap::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlFuncMap ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlFuncMap::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -2634,10 +2166,10 @@ AC_GALGAS_root * GALGAS_gtlFuncMap::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlFuncMap GALGAS_gtlFuncMap::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlFuncMap result ; const GALGAS_gtlFuncMap * p = (const GALGAS_gtlFuncMap *) inObject.embeddedObject () ; @@ -2651,7 +2183,7 @@ GALGAS_gtlFuncMap GALGAS_gtlFuncMap::extractObject (const GALGAS_object & inObje return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cMapElement_gtlGetterMap::cMapElement_gtlGetterMap (const GALGAS_lstring & inKey, const GALGAS_gtlGetter & in_theGetter @@ -2660,13 +2192,13 @@ cMapElement (inKey COMMA_THERE), mProperty_theGetter (in_theGetter) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cMapElement_gtlGetterMap::isValid (void) const { return mProperty_lkey.isValid () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cMapElement * cMapElement_gtlGetterMap::copy (void) { cMapElement * result = nullptr ; @@ -2674,16 +2206,16 @@ cMapElement * cMapElement_gtlGetterMap::copy (void) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cMapElement_gtlGetterMap::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("theGetter" ":") ; +void cMapElement_gtlGetterMap::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "theGetter" ":" ; mProperty_theGetter.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cMapElement_gtlGetterMap::compare (const cCollectionElement * inOperand) const { cMapElement_gtlGetterMap * operand = (cMapElement_gtlGetterMap *) inOperand ; @@ -2694,56 +2226,56 @@ typeComparisonResult cMapElement_gtlGetterMap::compare (const cCollectionElement return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlGetterMap::GALGAS_gtlGetterMap (void) : -AC_GALGAS_map () { +AC_GALGAS_map (true) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlGetterMap::GALGAS_gtlGetterMap (const GALGAS_gtlGetterMap & inSource) : AC_GALGAS_map (inSource) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlGetterMap & GALGAS_gtlGetterMap::operator = (const GALGAS_gtlGetterMap & inSource) { * ((AC_GALGAS_map *) this) = inSource ; return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlGetterMap GALGAS_gtlGetterMap::class_func_emptyMap (LOCATION_ARGS) { +GALGAS_gtlGetterMap GALGAS_gtlGetterMap::constructor_emptyMap (LOCATION_ARGS) { GALGAS_gtlGetterMap result ; result.makeNewEmptyMap (THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlGetterMap GALGAS_gtlGetterMap::class_func_mapWithMapToOverride (const GALGAS_gtlGetterMap & inMapToOverride - COMMA_LOCATION_ARGS) { +GALGAS_gtlGetterMap GALGAS_gtlGetterMap::constructor_mapWithMapToOverride (const GALGAS_gtlGetterMap & inMapToOverride + COMMA_LOCATION_ARGS) { GALGAS_gtlGetterMap result ; result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlGetterMap GALGAS_gtlGetterMap::getter_overriddenMap (Compiler * inCompiler +GALGAS_gtlGetterMap GALGAS_gtlGetterMap::getter_overriddenMap (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_gtlGetterMap result ; getOverridenMap (result, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlGetterMap::addAssign_operation (const GALGAS_lstring & inKey, const GALGAS_gtlGetter & inArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlGetterMap * p = nullptr ; macroMyNew (p, cMapElement_gtlGetterMap (inKey, inArgument0 COMMA_HERE)) ; @@ -2755,10 +2287,10 @@ void GALGAS_gtlGetterMap::addAssign_operation (const GALGAS_lstring & inKey, performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlGetterMap GALGAS_gtlGetterMap::add_operation (const GALGAS_gtlGetterMap & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_gtlGetterMap result = *this ; cEnumerator_gtlGetterMap enumerator (inOperand, kENUMERATION_UP) ; @@ -2769,11 +2301,11 @@ GALGAS_gtlGetterMap GALGAS_gtlGetterMap::add_operation (const GALGAS_gtlGetterMa return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlGetterMap::setter_put (GALGAS_lstring inKey, GALGAS_gtlGetter inArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlGetterMap * p = nullptr ; macroMyNew (p, cMapElement_gtlGetterMap (inKey, inArgument0 COMMA_HERE)) ; @@ -2785,15 +2317,15 @@ void GALGAS_gtlGetterMap::setter_put (GALGAS_lstring inKey, performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const char * kSearchErrorMessage_gtlGetterMap_get = "there is no getter named '%K'" ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlGetterMap::method_get (GALGAS_lstring inKey, GALGAS_gtlGetter & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cMapElement_gtlGetterMap * p = (const cMapElement_gtlGetterMap *) performSearch (inKey, inCompiler, @@ -2807,10 +2339,10 @@ void GALGAS_gtlGetterMap::method_get (GALGAS_lstring inKey, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlGetter GALGAS_gtlGetterMap::getter_theGetterForKey (const GALGAS_string & inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; const cMapElement_gtlGetterMap * p = (const cMapElement_gtlGetterMap *) attributes ; @@ -2822,11 +2354,11 @@ GALGAS_gtlGetter GALGAS_gtlGetterMap::getter_theGetterForKey (const GALGAS_strin return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlGetterMap::setter_setTheGetterForKey (GALGAS_gtlGetter inAttributeValue, GALGAS_string inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; cMapElement_gtlGetterMap * p = (cMapElement_gtlGetterMap *) attributes ; @@ -2836,9 +2368,9 @@ void GALGAS_gtlGetterMap::setter_setTheGetterForKey (GALGAS_gtlGetter inAttribut } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement_gtlGetterMap * GALGAS_gtlGetterMap::readWriteAccessForWithInstruction (Compiler * inCompiler, +cMapElement_gtlGetterMap * GALGAS_gtlGetterMap::readWriteAccessForWithInstruction (C_Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) { cMapElement_gtlGetterMap * result = (cMapElement_gtlGetterMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; @@ -2846,7 +2378,7 @@ cMapElement_gtlGetterMap * GALGAS_gtlGetterMap::readWriteAccessForWithInstructio return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_gtlGetterMap::cEnumerator_gtlGetterMap (const GALGAS_gtlGetterMap & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -2854,7 +2386,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlGetterMap_2D_element cEnumerator_gtlGetterMap::current (LOCATION_ARGS) const { const cMapElement_gtlGetterMap * p = (const cMapElement_gtlGetterMap *) currentObjectPtr (THERE) ; @@ -2862,7 +2394,7 @@ GALGAS_gtlGetterMap_2D_element cEnumerator_gtlGetterMap::current (LOCATION_ARGS) return GALGAS_gtlGetterMap_2D_element (p->mProperty_lkey, p->mProperty_theGetter) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lstring cEnumerator_gtlGetterMap::current_lkey (LOCATION_ARGS) const { const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; @@ -2870,7 +2402,7 @@ GALGAS_lstring cEnumerator_gtlGetterMap::current_lkey (LOCATION_ARGS) const { return p->mProperty_lkey ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlGetter cEnumerator_gtlGetterMap::current_theGetter (LOCATION_ARGS) const { const cMapElement_gtlGetterMap * p = (const cMapElement_gtlGetterMap *) currentObjectPtr (THERE) ; @@ -2878,7 +2410,7 @@ GALGAS_gtlGetter cEnumerator_gtlGetterMap::current_theGetter (LOCATION_ARGS) con return p->mProperty_theGetter ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool GALGAS_gtlGetterMap::optional_searchKey (const GALGAS_string & inKey, GALGAS_gtlGetter & outArgument0) const { @@ -2893,22 +2425,23 @@ bool GALGAS_gtlGetterMap::optional_searchKey (const GALGAS_string & inKey, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlGetterMap generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlGetterMap ("gtlGetterMap", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlGetterMap ("gtlGetterMap", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlGetterMap::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlGetterMap ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlGetterMap::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -2918,10 +2451,10 @@ AC_GALGAS_root * GALGAS_gtlGetterMap::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlGetterMap GALGAS_gtlGetterMap::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlGetterMap result ; const GALGAS_gtlGetterMap * p = (const GALGAS_gtlGetterMap *) inObject.embeddedObject () ; @@ -2935,7 +2468,7 @@ GALGAS_gtlGetterMap GALGAS_gtlGetterMap::extractObject (const GALGAS_object & in return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cMapElement_gtlSetterMap::cMapElement_gtlSetterMap (const GALGAS_lstring & inKey, const GALGAS_gtlSetter & in_theSetter @@ -2944,13 +2477,13 @@ cMapElement (inKey COMMA_THERE), mProperty_theSetter (in_theSetter) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cMapElement_gtlSetterMap::isValid (void) const { return mProperty_lkey.isValid () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cMapElement * cMapElement_gtlSetterMap::copy (void) { cMapElement * result = nullptr ; @@ -2958,16 +2491,16 @@ cMapElement * cMapElement_gtlSetterMap::copy (void) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cMapElement_gtlSetterMap::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("theSetter" ":") ; +void cMapElement_gtlSetterMap::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "theSetter" ":" ; mProperty_theSetter.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cMapElement_gtlSetterMap::compare (const cCollectionElement * inOperand) const { cMapElement_gtlSetterMap * operand = (cMapElement_gtlSetterMap *) inOperand ; @@ -2978,56 +2511,56 @@ typeComparisonResult cMapElement_gtlSetterMap::compare (const cCollectionElement return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlSetterMap::GALGAS_gtlSetterMap (void) : -AC_GALGAS_map () { +AC_GALGAS_map (true) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlSetterMap::GALGAS_gtlSetterMap (const GALGAS_gtlSetterMap & inSource) : AC_GALGAS_map (inSource) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlSetterMap & GALGAS_gtlSetterMap::operator = (const GALGAS_gtlSetterMap & inSource) { * ((AC_GALGAS_map *) this) = inSource ; return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlSetterMap GALGAS_gtlSetterMap::class_func_emptyMap (LOCATION_ARGS) { +GALGAS_gtlSetterMap GALGAS_gtlSetterMap::constructor_emptyMap (LOCATION_ARGS) { GALGAS_gtlSetterMap result ; result.makeNewEmptyMap (THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlSetterMap GALGAS_gtlSetterMap::class_func_mapWithMapToOverride (const GALGAS_gtlSetterMap & inMapToOverride - COMMA_LOCATION_ARGS) { +GALGAS_gtlSetterMap GALGAS_gtlSetterMap::constructor_mapWithMapToOverride (const GALGAS_gtlSetterMap & inMapToOverride + COMMA_LOCATION_ARGS) { GALGAS_gtlSetterMap result ; result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlSetterMap GALGAS_gtlSetterMap::getter_overriddenMap (Compiler * inCompiler +GALGAS_gtlSetterMap GALGAS_gtlSetterMap::getter_overriddenMap (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_gtlSetterMap result ; getOverridenMap (result, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlSetterMap::addAssign_operation (const GALGAS_lstring & inKey, const GALGAS_gtlSetter & inArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlSetterMap * p = nullptr ; macroMyNew (p, cMapElement_gtlSetterMap (inKey, inArgument0 COMMA_HERE)) ; @@ -3039,10 +2572,10 @@ void GALGAS_gtlSetterMap::addAssign_operation (const GALGAS_lstring & inKey, performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlSetterMap GALGAS_gtlSetterMap::add_operation (const GALGAS_gtlSetterMap & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_gtlSetterMap result = *this ; cEnumerator_gtlSetterMap enumerator (inOperand, kENUMERATION_UP) ; @@ -3053,11 +2586,11 @@ GALGAS_gtlSetterMap GALGAS_gtlSetterMap::add_operation (const GALGAS_gtlSetterMa return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlSetterMap::setter_put (GALGAS_lstring inKey, GALGAS_gtlSetter inArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlSetterMap * p = nullptr ; macroMyNew (p, cMapElement_gtlSetterMap (inKey, inArgument0 COMMA_HERE)) ; @@ -3069,15 +2602,15 @@ void GALGAS_gtlSetterMap::setter_put (GALGAS_lstring inKey, performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const char * kSearchErrorMessage_gtlSetterMap_get = "there is no setter named '%K'" ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlSetterMap::method_get (GALGAS_lstring inKey, GALGAS_gtlSetter & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cMapElement_gtlSetterMap * p = (const cMapElement_gtlSetterMap *) performSearch (inKey, inCompiler, @@ -3091,10 +2624,10 @@ void GALGAS_gtlSetterMap::method_get (GALGAS_lstring inKey, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlSetter GALGAS_gtlSetterMap::getter_theSetterForKey (const GALGAS_string & inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; const cMapElement_gtlSetterMap * p = (const cMapElement_gtlSetterMap *) attributes ; @@ -3106,11 +2639,11 @@ GALGAS_gtlSetter GALGAS_gtlSetterMap::getter_theSetterForKey (const GALGAS_strin return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlSetterMap::setter_setTheSetterForKey (GALGAS_gtlSetter inAttributeValue, GALGAS_string inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; cMapElement_gtlSetterMap * p = (cMapElement_gtlSetterMap *) attributes ; @@ -3120,9 +2653,9 @@ void GALGAS_gtlSetterMap::setter_setTheSetterForKey (GALGAS_gtlSetter inAttribut } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement_gtlSetterMap * GALGAS_gtlSetterMap::readWriteAccessForWithInstruction (Compiler * inCompiler, +cMapElement_gtlSetterMap * GALGAS_gtlSetterMap::readWriteAccessForWithInstruction (C_Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) { cMapElement_gtlSetterMap * result = (cMapElement_gtlSetterMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; @@ -3130,7 +2663,7 @@ cMapElement_gtlSetterMap * GALGAS_gtlSetterMap::readWriteAccessForWithInstructio return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_gtlSetterMap::cEnumerator_gtlSetterMap (const GALGAS_gtlSetterMap & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -3138,7 +2671,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlSetterMap_2D_element cEnumerator_gtlSetterMap::current (LOCATION_ARGS) const { const cMapElement_gtlSetterMap * p = (const cMapElement_gtlSetterMap *) currentObjectPtr (THERE) ; @@ -3146,7 +2679,7 @@ GALGAS_gtlSetterMap_2D_element cEnumerator_gtlSetterMap::current (LOCATION_ARGS) return GALGAS_gtlSetterMap_2D_element (p->mProperty_lkey, p->mProperty_theSetter) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lstring cEnumerator_gtlSetterMap::current_lkey (LOCATION_ARGS) const { const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; @@ -3154,7 +2687,7 @@ GALGAS_lstring cEnumerator_gtlSetterMap::current_lkey (LOCATION_ARGS) const { return p->mProperty_lkey ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlSetter cEnumerator_gtlSetterMap::current_theSetter (LOCATION_ARGS) const { const cMapElement_gtlSetterMap * p = (const cMapElement_gtlSetterMap *) currentObjectPtr (THERE) ; @@ -3162,7 +2695,7 @@ GALGAS_gtlSetter cEnumerator_gtlSetterMap::current_theSetter (LOCATION_ARGS) con return p->mProperty_theSetter ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool GALGAS_gtlSetterMap::optional_searchKey (const GALGAS_string & inKey, GALGAS_gtlSetter & outArgument0) const { @@ -3177,22 +2710,23 @@ bool GALGAS_gtlSetterMap::optional_searchKey (const GALGAS_string & inKey, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlSetterMap generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlSetterMap ("gtlSetterMap", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlSetterMap ("gtlSetterMap", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlSetterMap::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlSetterMap ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlSetterMap::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -3202,10 +2736,10 @@ AC_GALGAS_root * GALGAS_gtlSetterMap::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlSetterMap GALGAS_gtlSetterMap::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlSetterMap result ; const GALGAS_gtlSetterMap * p = (const GALGAS_gtlSetterMap *) inObject.embeddedObject () ; @@ -3219,9 +2753,9 @@ GALGAS_gtlSetterMap GALGAS_gtlSetterMap::extractObject (const GALGAS_object & in return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @@ -3241,43 +2775,44 @@ typeComparisonResult GALGAS_gtlVarItem::objectCompare (const GALGAS_gtlVarItem & return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarItem::GALGAS_gtlVarItem (void) : AC_GALGAS_value_class () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarItem::GALGAS_gtlVarItem (const cPtr_gtlVarItem * inSourcePtr) : AC_GALGAS_value_class (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlVarItem) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlVarItem class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlVarItem::cPtr_gtlVarItem (LOCATION_ARGS) : acPtr_class (THERE) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlVarItem generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlVarItem ("gtlVarItem", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlVarItem ("gtlVarItem", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlVarItem::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlVarItem ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlVarItem::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -3287,10 +2822,10 @@ AC_GALGAS_root * GALGAS_gtlVarItem::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarItem GALGAS_gtlVarItem::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlVarItem result ; const GALGAS_gtlVarItem * p = (const GALGAS_gtlVarItem *) inObject.embeddedObject () ; @@ -3304,17 +2839,17 @@ GALGAS_gtlVarItem GALGAS_gtlVarItem::extractObject (const GALGAS_object & inObje return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension getter '@gtlVarItem stringPath' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string callExtensionGetter_stringPath (const cPtr_gtlVarItem * inObject, const GALGAS_gtlContext in_exeContext, const GALGAS_gtlData in_vars, const GALGAS_library in_lib, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_string result ; if (nullptr != inObject) { @@ -3323,14 +2858,14 @@ GALGAS_string callExtensionGetter_stringPath (const cPtr_gtlVarItem * inObject, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension getter '@gtlVarItem location' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_location callExtensionGetter_location (const cPtr_gtlVarItem * inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_location result ; if (nullptr != inObject) { @@ -3339,11 +2874,11 @@ GALGAS_location callExtensionGetter_location (const cPtr_gtlVarItem * inObject, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension method '@gtlVarItem setInContext' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionMethod_setInContext (cPtr_gtlVarItem * inObject, const GALGAS_gtlContext constin_exeContext, @@ -3352,7 +2887,7 @@ void callExtensionMethod_setInContext (cPtr_gtlVarItem * inObject, const GALGAS_library constin_lib, const GALGAS_gtlVarPath constin_path, const GALGAS_gtlData constin_newData, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { //--- Drop output arguments //--- Find method @@ -3361,11 +2896,11 @@ void callExtensionMethod_setInContext (cPtr_gtlVarItem * inObject, inObject->method_setInContext (constin_exeContext, io_context, constin_vars, constin_lib, constin_path, constin_newData, inCompiler COMMA_THERE) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension getter '@gtlVarItem getInContext' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlData callExtensionGetter_getInContext (const cPtr_gtlVarItem * inObject, const GALGAS_gtlContext in_exeContext, @@ -3373,7 +2908,7 @@ GALGAS_gtlData callExtensionGetter_getInContext (const cPtr_gtlVarItem * inObjec const GALGAS_gtlData in_vars, const GALGAS_library in_lib, const GALGAS_gtlVarPath in_path, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlData result ; if (nullptr != inObject) { @@ -3382,11 +2917,11 @@ GALGAS_gtlData callExtensionGetter_getInContext (const cPtr_gtlVarItem * inObjec return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension getter '@gtlVarItem existsInContext' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool callExtensionGetter_existsInContext (const cPtr_gtlVarItem * inObject, const GALGAS_gtlContext in_exeContext, @@ -3394,7 +2929,7 @@ GALGAS_bool callExtensionGetter_existsInContext (const cPtr_gtlVarItem * inObjec const GALGAS_gtlData in_vars, const GALGAS_library in_lib, const GALGAS_gtlVarPath in_path, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_bool result ; if (nullptr != inObject) { @@ -3403,11 +2938,11 @@ GALGAS_bool callExtensionGetter_existsInContext (const cPtr_gtlVarItem * inObjec return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension method '@gtlVarItem deleteInContext' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionMethod_deleteInContext (cPtr_gtlVarItem * inObject, const GALGAS_gtlContext constin_exeContext, @@ -3415,7 +2950,7 @@ void callExtensionMethod_deleteInContext (cPtr_gtlVarItem * inObject, const GALGAS_gtlData constin_vars, const GALGAS_library constin_lib, const GALGAS_gtlVarPath constin_path, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { //--- Drop output arguments //--- Find method @@ -3424,16 +2959,16 @@ void callExtensionMethod_deleteInContext (cPtr_gtlVarItem * inObject, inObject->method_deleteInContext (constin_exeContext, io_context, constin_vars, constin_lib, constin_path, inCompiler COMMA_THERE) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Class for element of '@gtlVarPath' list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cCollectionElement_gtlVarPath : public cCollectionElement { public: GALGAS_gtlVarPath_2D_element mObject ; -//--- Class functions +//--- Constructors public: cCollectionElement_gtlVarPath (const GALGAS_gtlVarItem & in_item COMMA_LOCATION_ARGS) ; public: cCollectionElement_gtlVarPath (const GALGAS_gtlVarPath_2D_element & inElement COMMA_LOCATION_ARGS) ; @@ -3448,10 +2983,10 @@ class cCollectionElement_gtlVarPath : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_gtlVarPath::cCollectionElement_gtlVarPath (const GALGAS_gtlVarItem & in_item COMMA_LOCATION_ARGS) : @@ -3459,20 +2994,20 @@ cCollectionElement (THERE), mObject (in_item) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_gtlVarPath::cCollectionElement_gtlVarPath (const GALGAS_gtlVarPath_2D_element & inElement COMMA_LOCATION_ARGS) : cCollectionElement (THERE), mObject (inElement.mProperty_item) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cCollectionElement_gtlVarPath::isValid (void) const { return true ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement * cCollectionElement_gtlVarPath::copy (void) { cCollectionElement * result = nullptr ; @@ -3480,16 +3015,16 @@ cCollectionElement * cCollectionElement_gtlVarPath::copy (void) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cCollectionElement_gtlVarPath::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("item" ":") ; +void cCollectionElement_gtlVarPath::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "item" ":" ; mObject.mProperty_item.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_gtlVarPath::compare (const cCollectionElement * inOperand) const { cCollectionElement_gtlVarPath * operand = (cCollectionElement_gtlVarPath *) inOperand ; @@ -3497,28 +3032,28 @@ typeComparisonResult cCollectionElement_gtlVarPath::compare (const cCollectionEl return mObject.objectCompare (operand->mObject) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarPath::GALGAS_gtlVarPath (void) : AC_GALGAS_list () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarPath::GALGAS_gtlVarPath (const capCollectionElementArray & inSharedArray) : AC_GALGAS_list (inSharedArray) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlVarPath GALGAS_gtlVarPath::class_func_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_gtlVarPath (capCollectionElementArray ()) ; +GALGAS_gtlVarPath GALGAS_gtlVarPath::constructor_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_gtlVarPath (capCollectionElementArray ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlVarPath GALGAS_gtlVarPath::class_func_listWithValue (const GALGAS_gtlVarItem & inOperand0 - COMMA_LOCATION_ARGS) { +GALGAS_gtlVarPath GALGAS_gtlVarPath::constructor_listWithValue (const GALGAS_gtlVarItem & inOperand0 + COMMA_LOCATION_ARGS) { GALGAS_gtlVarPath result ; if (inOperand0.isValid ()) { result = GALGAS_gtlVarPath (capCollectionElementArray ()) ; @@ -3529,7 +3064,7 @@ GALGAS_gtlVarPath GALGAS_gtlVarPath::class_func_listWithValue (const GALGAS_gtlV return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlVarPath::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_gtlVarItem & in_item @@ -3540,7 +3075,7 @@ void GALGAS_gtlVarPath::makeAttributesFromObjects (capCollectionElement & outAtt macroDetachSharedObject (p) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlVarPath::addAssign_operation (const GALGAS_gtlVarItem & inOperand0 COMMA_LOCATION_ARGS) { @@ -3554,10 +3089,10 @@ void GALGAS_gtlVarPath::addAssign_operation (const GALGAS_gtlVarItem & inOperand } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlVarPath::setter_append (const GALGAS_gtlVarItem inOperand0, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -3569,11 +3104,11 @@ void GALGAS_gtlVarPath::setter_append (const GALGAS_gtlVarItem inOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlVarPath::setter_insertAtIndex (const GALGAS_gtlVarItem inOperand0, const GALGAS_uint inInsertionIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid ()) { @@ -3589,11 +3124,11 @@ void GALGAS_gtlVarPath::setter_insertAtIndex (const GALGAS_gtlVarItem inOperand0 } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlVarPath::setter_removeAtIndex (GALGAS_gtlVarItem & outOperand0, const GALGAS_uint inRemoveIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -3616,10 +3151,10 @@ void GALGAS_gtlVarPath::setter_removeAtIndex (GALGAS_gtlVarItem & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlVarPath::setter_popFirst (GALGAS_gtlVarItem & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -3632,10 +3167,10 @@ void GALGAS_gtlVarPath::setter_popFirst (GALGAS_gtlVarItem & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlVarPath::setter_popLast (GALGAS_gtlVarItem & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -3648,10 +3183,10 @@ void GALGAS_gtlVarPath::setter_popLast (GALGAS_gtlVarItem & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlVarPath::method_first (GALGAS_gtlVarItem & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -3664,10 +3199,10 @@ void GALGAS_gtlVarPath::method_first (GALGAS_gtlVarItem & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlVarPath::method_last (GALGAS_gtlVarItem & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -3680,10 +3215,10 @@ void GALGAS_gtlVarPath::method_last (GALGAS_gtlVarItem & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarPath GALGAS_gtlVarPath::add_operation (const GALGAS_gtlVarPath & inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_gtlVarPath result ; if (isValid () && inOperand.isValid ()) { @@ -3693,49 +3228,49 @@ GALGAS_gtlVarPath GALGAS_gtlVarPath::add_operation (const GALGAS_gtlVarPath & in return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarPath GALGAS_gtlVarPath::getter_subListWithRange (const GALGAS_range & inRange, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlVarPath result = GALGAS_gtlVarPath::class_func_emptyList (THERE) ; + GALGAS_gtlVarPath result = GALGAS_gtlVarPath::constructor_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarPath GALGAS_gtlVarPath::getter_subListFromIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlVarPath result = GALGAS_gtlVarPath::class_func_emptyList (THERE) ; + GALGAS_gtlVarPath result = GALGAS_gtlVarPath::constructor_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarPath GALGAS_gtlVarPath::getter_subListToIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlVarPath result = GALGAS_gtlVarPath::class_func_emptyList (THERE) ; + GALGAS_gtlVarPath result = GALGAS_gtlVarPath::constructor_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlVarPath::plusAssign_operation (const GALGAS_gtlVarPath inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlVarPath::setter_setItemAtIndex (GALGAS_gtlVarItem inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_gtlVarPath * p = (cCollectionElement_gtlVarPath *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -3745,10 +3280,10 @@ void GALGAS_gtlVarPath::setter_setItemAtIndex (GALGAS_gtlVarItem inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarItem GALGAS_gtlVarPath::getter_itemAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_gtlVarPath * p = (cCollectionElement_gtlVarPath *) attributes.ptr () ; @@ -3762,7 +3297,7 @@ GALGAS_gtlVarItem GALGAS_gtlVarPath::getter_itemAtIndex (const GALGAS_uint & inI -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_gtlVarPath::cEnumerator_gtlVarPath (const GALGAS_gtlVarPath & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -3770,7 +3305,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarPath_2D_element cEnumerator_gtlVarPath::current (LOCATION_ARGS) const { const cCollectionElement_gtlVarPath * p = (const cCollectionElement_gtlVarPath *) currentObjectPtr (THERE) ; @@ -3779,7 +3314,7 @@ GALGAS_gtlVarPath_2D_element cEnumerator_gtlVarPath::current (LOCATION_ARGS) con } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarItem cEnumerator_gtlVarPath::current_item (LOCATION_ARGS) const { const cCollectionElement_gtlVarPath * p = (const cCollectionElement_gtlVarPath *) currentObjectPtr (THERE) ; @@ -3790,22 +3325,23 @@ GALGAS_gtlVarItem cEnumerator_gtlVarPath::current_item (LOCATION_ARGS) const { -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlVarPath generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlVarPath ("gtlVarPath", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlVarPath ("gtlVarPath", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlVarPath::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlVarPath ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlVarPath::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -3815,10 +3351,10 @@ AC_GALGAS_root * GALGAS_gtlVarPath::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarPath GALGAS_gtlVarPath::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlVarPath result ; const GALGAS_gtlVarPath * p = (const GALGAS_gtlVarPath *) inObject.embeddedObject () ; @@ -3832,14 +3368,14 @@ GALGAS_gtlVarPath GALGAS_gtlVarPath::extractObject (const GALGAS_object & inObje return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension Getter '@gtlVarPath pathAsFunctionName' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lstring extensionGetter_pathAsFunctionName (const GALGAS_gtlVarPath & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_lstring result_result ; // Returned variable const GALGAS_gtlVarPath temp_0 = inObject ; @@ -3861,17 +3397,17 @@ GALGAS_lstring extensionGetter_pathAsFunctionName (const GALGAS_gtlVarPath & inO -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension Getter '@gtlVarPath stringPath' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string extensionGetter_stringPath (const GALGAS_gtlVarPath & inObject, const GALGAS_gtlContext & constinArgument_exeContext, const GALGAS_gtlData & constinArgument_vars, const GALGAS_library & constinArgument_lib, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_string result_result ; // Returned variable result_result = GALGAS_string::makeEmptyString () ; @@ -3891,18 +3427,18 @@ GALGAS_string extensionGetter_stringPath (const GALGAS_gtlVarPath & inObject, -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension method '@gtlVarPath set' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void extensionMethod_set (const GALGAS_gtlVarPath inObject, const GALGAS_gtlContext constinArgument_exeContext, GALGAS_gtlData & ioArgument_vars, const GALGAS_library constinArgument_lib, const GALGAS_gtlData constinArgument_data, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { @@ -3925,22 +3461,22 @@ void extensionMethod_set (const GALGAS_gtlVarPath inObject, } if (kBoolFalse == test_0) { TC_Array fixItArray5 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expressions.galgas", 809)), GALGAS_string ("INTERNAL ERROR. A @gtlVarPath should not be an empty list"), fixItArray5 COMMA_SOURCE_FILE ("gtl_expressions.galgas", 809)) ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expressions.galgas", 809)), GALGAS_string ("INTERNAL ERROR. A @gtlVarPath should not be an empty list"), fixItArray5 COMMA_SOURCE_FILE ("gtl_expressions.galgas", 809)) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension Getter '@gtlVarPath get' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlData extensionGetter_get (const GALGAS_gtlVarPath & inObject, const GALGAS_gtlContext & constinArgument_exeContext, const GALGAS_gtlData & constinArgument_context, const GALGAS_library & constinArgument_lib, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_gtlData result_variableValue ; // Returned variable enumGalgasBool test_0 = kBoolTrue ; @@ -3956,7 +3492,7 @@ GALGAS_gtlData extensionGetter_get (const GALGAS_gtlVarPath & inObject, } if (kBoolFalse == test_0) { TC_Array fixItArray4 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expressions.galgas", 826)), GALGAS_string ("INTERNAL ERROR. A @gtlVarPath should not be an empty list"), fixItArray4 COMMA_SOURCE_FILE ("gtl_expressions.galgas", 826)) ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expressions.galgas", 826)), GALGAS_string ("INTERNAL ERROR. A @gtlVarPath should not be an empty list"), fixItArray4 COMMA_SOURCE_FILE ("gtl_expressions.galgas", 826)) ; result_variableValue.drop () ; // Release error dropped variable } //--- @@ -3966,17 +3502,17 @@ GALGAS_gtlData extensionGetter_get (const GALGAS_gtlVarPath & inObject, -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension Getter '@gtlVarPath exists' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool extensionGetter_exists (const GALGAS_gtlVarPath & inObject, const GALGAS_gtlContext & constinArgument_exeContext, const GALGAS_gtlData & constinArgument_context, const GALGAS_library & constinArgument_lib, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_bool result_result ; // Returned variable enumGalgasBool test_0 = kBoolTrue ; @@ -3992,7 +3528,7 @@ GALGAS_bool extensionGetter_exists (const GALGAS_gtlVarPath & inObject, } if (kBoolFalse == test_0) { TC_Array fixItArray4 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expressions.galgas", 844)), GALGAS_string ("INTERNAL ERROR. A @gtlVarPath should not be an empty list"), fixItArray4 COMMA_SOURCE_FILE ("gtl_expressions.galgas", 844)) ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expressions.galgas", 844)), GALGAS_string ("INTERNAL ERROR. A @gtlVarPath should not be an empty list"), fixItArray4 COMMA_SOURCE_FILE ("gtl_expressions.galgas", 844)) ; result_result.drop () ; // Release error dropped variable } //--- @@ -4002,17 +3538,17 @@ GALGAS_bool extensionGetter_exists (const GALGAS_gtlVarPath & inObject, -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension method '@gtlVarPath delete' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void extensionMethod_delete (const GALGAS_gtlVarPath inObject, const GALGAS_gtlContext constinArgument_exeContext, GALGAS_gtlData & ioArgument_vars, const GALGAS_library constinArgument_lib, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { @@ -4027,19 +3563,19 @@ void extensionMethod_delete (const GALGAS_gtlVarPath inObject, } if (kBoolFalse == test_0) { TC_Array fixItArray4 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expressions.galgas", 867)), GALGAS_string ("INTERNAL ERROR. A @gtlVarPath should not be an empty list"), fixItArray4 COMMA_SOURCE_FILE ("gtl_expressions.galgas", 867)) ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expressions.galgas", 867)), GALGAS_string ("INTERNAL ERROR. A @gtlVarPath should not be an empty list"), fixItArray4 COMMA_SOURCE_FILE ("gtl_expressions.galgas", 867)) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension Getter '@gtlVarPath location' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_location extensionGetter_location (const GALGAS_gtlVarPath & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_location result_where ; // Returned variable GALGAS_gtlVarItem var_lastOne_25617 ; @@ -4053,16 +3589,16 @@ GALGAS_location extensionGetter_location (const GALGAS_gtlVarPath & inObject, -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Class for element of '@gtlExpressionList' list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cCollectionElement_gtlExpressionList : public cCollectionElement { public: GALGAS_gtlExpressionList_2D_element mObject ; -//--- Class functions +//--- Constructors public: cCollectionElement_gtlExpressionList (const GALGAS_gtlExpression & in_expression COMMA_LOCATION_ARGS) ; public: cCollectionElement_gtlExpressionList (const GALGAS_gtlExpressionList_2D_element & inElement COMMA_LOCATION_ARGS) ; @@ -4077,10 +3613,10 @@ class cCollectionElement_gtlExpressionList : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_gtlExpressionList::cCollectionElement_gtlExpressionList (const GALGAS_gtlExpression & in_expression COMMA_LOCATION_ARGS) : @@ -4088,20 +3624,20 @@ cCollectionElement (THERE), mObject (in_expression) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_gtlExpressionList::cCollectionElement_gtlExpressionList (const GALGAS_gtlExpressionList_2D_element & inElement COMMA_LOCATION_ARGS) : cCollectionElement (THERE), mObject (inElement.mProperty_expression) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cCollectionElement_gtlExpressionList::isValid (void) const { return true ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement * cCollectionElement_gtlExpressionList::copy (void) { cCollectionElement * result = nullptr ; @@ -4109,16 +3645,16 @@ cCollectionElement * cCollectionElement_gtlExpressionList::copy (void) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cCollectionElement_gtlExpressionList::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("expression" ":") ; +void cCollectionElement_gtlExpressionList::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "expression" ":" ; mObject.mProperty_expression.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_gtlExpressionList::compare (const cCollectionElement * inOperand) const { cCollectionElement_gtlExpressionList * operand = (cCollectionElement_gtlExpressionList *) inOperand ; @@ -4126,28 +3662,28 @@ typeComparisonResult cCollectionElement_gtlExpressionList::compare (const cColle return mObject.objectCompare (operand->mObject) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlExpressionList::GALGAS_gtlExpressionList (void) : AC_GALGAS_list () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlExpressionList::GALGAS_gtlExpressionList (const capCollectionElementArray & inSharedArray) : AC_GALGAS_list (inSharedArray) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlExpressionList GALGAS_gtlExpressionList::class_func_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_gtlExpressionList (capCollectionElementArray ()) ; +GALGAS_gtlExpressionList GALGAS_gtlExpressionList::constructor_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_gtlExpressionList (capCollectionElementArray ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlExpressionList GALGAS_gtlExpressionList::class_func_listWithValue (const GALGAS_gtlExpression & inOperand0 - COMMA_LOCATION_ARGS) { +GALGAS_gtlExpressionList GALGAS_gtlExpressionList::constructor_listWithValue (const GALGAS_gtlExpression & inOperand0 + COMMA_LOCATION_ARGS) { GALGAS_gtlExpressionList result ; if (inOperand0.isValid ()) { result = GALGAS_gtlExpressionList (capCollectionElementArray ()) ; @@ -4158,7 +3694,7 @@ GALGAS_gtlExpressionList GALGAS_gtlExpressionList::class_func_listWithValue (con return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionList::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_gtlExpression & in_expression @@ -4169,7 +3705,7 @@ void GALGAS_gtlExpressionList::makeAttributesFromObjects (capCollectionElement & macroDetachSharedObject (p) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionList::addAssign_operation (const GALGAS_gtlExpression & inOperand0 COMMA_LOCATION_ARGS) { @@ -4183,10 +3719,10 @@ void GALGAS_gtlExpressionList::addAssign_operation (const GALGAS_gtlExpression & } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionList::setter_append (const GALGAS_gtlExpression inOperand0, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -4198,11 +3734,11 @@ void GALGAS_gtlExpressionList::setter_append (const GALGAS_gtlExpression inOpera } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionList::setter_insertAtIndex (const GALGAS_gtlExpression inOperand0, const GALGAS_uint inInsertionIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid ()) { @@ -4218,11 +3754,11 @@ void GALGAS_gtlExpressionList::setter_insertAtIndex (const GALGAS_gtlExpression } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionList::setter_removeAtIndex (GALGAS_gtlExpression & outOperand0, const GALGAS_uint inRemoveIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -4245,10 +3781,10 @@ void GALGAS_gtlExpressionList::setter_removeAtIndex (GALGAS_gtlExpression & outO } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionList::setter_popFirst (GALGAS_gtlExpression & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -4261,10 +3797,10 @@ void GALGAS_gtlExpressionList::setter_popFirst (GALGAS_gtlExpression & outOperan } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionList::setter_popLast (GALGAS_gtlExpression & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -4277,10 +3813,10 @@ void GALGAS_gtlExpressionList::setter_popLast (GALGAS_gtlExpression & outOperand } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionList::method_first (GALGAS_gtlExpression & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -4293,10 +3829,10 @@ void GALGAS_gtlExpressionList::method_first (GALGAS_gtlExpression & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionList::method_last (GALGAS_gtlExpression & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -4309,10 +3845,10 @@ void GALGAS_gtlExpressionList::method_last (GALGAS_gtlExpression & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlExpressionList GALGAS_gtlExpressionList::add_operation (const GALGAS_gtlExpressionList & inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_gtlExpressionList result ; if (isValid () && inOperand.isValid ()) { @@ -4322,49 +3858,49 @@ GALGAS_gtlExpressionList GALGAS_gtlExpressionList::add_operation (const GALGAS_g return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlExpressionList GALGAS_gtlExpressionList::getter_subListWithRange (const GALGAS_range & inRange, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlExpressionList result = GALGAS_gtlExpressionList::class_func_emptyList (THERE) ; + GALGAS_gtlExpressionList result = GALGAS_gtlExpressionList::constructor_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlExpressionList GALGAS_gtlExpressionList::getter_subListFromIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlExpressionList result = GALGAS_gtlExpressionList::class_func_emptyList (THERE) ; + GALGAS_gtlExpressionList result = GALGAS_gtlExpressionList::constructor_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlExpressionList GALGAS_gtlExpressionList::getter_subListToIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlExpressionList result = GALGAS_gtlExpressionList::class_func_emptyList (THERE) ; + GALGAS_gtlExpressionList result = GALGAS_gtlExpressionList::constructor_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionList::plusAssign_operation (const GALGAS_gtlExpressionList inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionList::setter_setExpressionAtIndex (GALGAS_gtlExpression inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_gtlExpressionList * p = (cCollectionElement_gtlExpressionList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -4374,10 +3910,10 @@ void GALGAS_gtlExpressionList::setter_setExpressionAtIndex (GALGAS_gtlExpression } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlExpression GALGAS_gtlExpressionList::getter_expressionAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_gtlExpressionList * p = (cCollectionElement_gtlExpressionList *) attributes.ptr () ; @@ -4391,7 +3927,7 @@ GALGAS_gtlExpression GALGAS_gtlExpressionList::getter_expressionAtIndex (const G -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_gtlExpressionList::cEnumerator_gtlExpressionList (const GALGAS_gtlExpressionList & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -4399,7 +3935,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlExpressionList_2D_element cEnumerator_gtlExpressionList::current (LOCATION_ARGS) const { const cCollectionElement_gtlExpressionList * p = (const cCollectionElement_gtlExpressionList *) currentObjectPtr (THERE) ; @@ -4408,7 +3944,7 @@ GALGAS_gtlExpressionList_2D_element cEnumerator_gtlExpressionList::current (LOCA } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlExpression cEnumerator_gtlExpressionList::current_expression (LOCATION_ARGS) const { const cCollectionElement_gtlExpressionList * p = (const cCollectionElement_gtlExpressionList *) currentObjectPtr (THERE) ; @@ -4419,22 +3955,23 @@ GALGAS_gtlExpression cEnumerator_gtlExpressionList::current_expression (LOCATION -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlExpressionList generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlExpressionList ("gtlExpressionList", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlExpressionList ("gtlExpressionList", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlExpressionList::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlExpressionList ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlExpressionList::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -4444,10 +3981,10 @@ AC_GALGAS_root * GALGAS_gtlExpressionList::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlExpressionList GALGAS_gtlExpressionList::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlExpressionList result ; const GALGAS_gtlExpressionList * p = (const GALGAS_gtlExpressionList *) inObject.embeddedObject () ; @@ -4461,15 +3998,15 @@ GALGAS_gtlExpressionList GALGAS_gtlExpressionList::extractObject (const GALGAS_o return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension Getter '@string gtlType' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_type extensionGetter_gtlType (const GALGAS_string & inObject, const GALGAS_location & constinArgument_location, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_type result_type ; // Returned variable enumGalgasBool test_0 = kBoolTrue ; @@ -4602,16 +4139,16 @@ GALGAS_type extensionGetter_gtlType (const GALGAS_string & inObject, -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Class for element of '@gtlTypedArgumentList' list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cCollectionElement_gtlTypedArgumentList : public cCollectionElement { public: GALGAS_gtlTypedArgumentList_2D_element mObject ; -//--- Class functions +//--- Constructors public: cCollectionElement_gtlTypedArgumentList (const GALGAS_type & in_type COMMA_LOCATION_ARGS) ; public: cCollectionElement_gtlTypedArgumentList (const GALGAS_gtlTypedArgumentList_2D_element & inElement COMMA_LOCATION_ARGS) ; @@ -4626,10 +4163,10 @@ class cCollectionElement_gtlTypedArgumentList : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_gtlTypedArgumentList::cCollectionElement_gtlTypedArgumentList (const GALGAS_type & in_type COMMA_LOCATION_ARGS) : @@ -4637,20 +4174,20 @@ cCollectionElement (THERE), mObject (in_type) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_gtlTypedArgumentList::cCollectionElement_gtlTypedArgumentList (const GALGAS_gtlTypedArgumentList_2D_element & inElement COMMA_LOCATION_ARGS) : cCollectionElement (THERE), mObject (inElement.mProperty_type) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cCollectionElement_gtlTypedArgumentList::isValid (void) const { return true ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement * cCollectionElement_gtlTypedArgumentList::copy (void) { cCollectionElement * result = nullptr ; @@ -4658,16 +4195,16 @@ cCollectionElement * cCollectionElement_gtlTypedArgumentList::copy (void) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cCollectionElement_gtlTypedArgumentList::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("type" ":") ; +void cCollectionElement_gtlTypedArgumentList::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "type" ":" ; mObject.mProperty_type.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_gtlTypedArgumentList::compare (const cCollectionElement * inOperand) const { cCollectionElement_gtlTypedArgumentList * operand = (cCollectionElement_gtlTypedArgumentList *) inOperand ; @@ -4675,28 +4212,28 @@ typeComparisonResult cCollectionElement_gtlTypedArgumentList::compare (const cCo return mObject.objectCompare (operand->mObject) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlTypedArgumentList::GALGAS_gtlTypedArgumentList (void) : AC_GALGAS_list () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlTypedArgumentList::GALGAS_gtlTypedArgumentList (const capCollectionElementArray & inSharedArray) : AC_GALGAS_list (inSharedArray) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlTypedArgumentList GALGAS_gtlTypedArgumentList::class_func_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_gtlTypedArgumentList (capCollectionElementArray ()) ; +GALGAS_gtlTypedArgumentList GALGAS_gtlTypedArgumentList::constructor_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_gtlTypedArgumentList (capCollectionElementArray ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlTypedArgumentList GALGAS_gtlTypedArgumentList::class_func_listWithValue (const GALGAS_type & inOperand0 - COMMA_LOCATION_ARGS) { +GALGAS_gtlTypedArgumentList GALGAS_gtlTypedArgumentList::constructor_listWithValue (const GALGAS_type & inOperand0 + COMMA_LOCATION_ARGS) { GALGAS_gtlTypedArgumentList result ; if (inOperand0.isValid ()) { result = GALGAS_gtlTypedArgumentList (capCollectionElementArray ()) ; @@ -4707,7 +4244,7 @@ GALGAS_gtlTypedArgumentList GALGAS_gtlTypedArgumentList::class_func_listWithValu return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlTypedArgumentList::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_type & in_type @@ -4718,7 +4255,7 @@ void GALGAS_gtlTypedArgumentList::makeAttributesFromObjects (capCollectionElemen macroDetachSharedObject (p) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlTypedArgumentList::addAssign_operation (const GALGAS_type & inOperand0 COMMA_LOCATION_ARGS) { @@ -4732,10 +4269,10 @@ void GALGAS_gtlTypedArgumentList::addAssign_operation (const GALGAS_type & inOpe } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlTypedArgumentList::setter_append (const GALGAS_type inOperand0, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -4747,11 +4284,11 @@ void GALGAS_gtlTypedArgumentList::setter_append (const GALGAS_type inOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlTypedArgumentList::setter_insertAtIndex (const GALGAS_type inOperand0, const GALGAS_uint inInsertionIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid ()) { @@ -4767,11 +4304,11 @@ void GALGAS_gtlTypedArgumentList::setter_insertAtIndex (const GALGAS_type inOper } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlTypedArgumentList::setter_removeAtIndex (GALGAS_type & outOperand0, const GALGAS_uint inRemoveIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -4794,10 +4331,10 @@ void GALGAS_gtlTypedArgumentList::setter_removeAtIndex (GALGAS_type & outOperand } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlTypedArgumentList::setter_popFirst (GALGAS_type & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -4810,10 +4347,10 @@ void GALGAS_gtlTypedArgumentList::setter_popFirst (GALGAS_type & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlTypedArgumentList::setter_popLast (GALGAS_type & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -4826,10 +4363,10 @@ void GALGAS_gtlTypedArgumentList::setter_popLast (GALGAS_type & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlTypedArgumentList::method_first (GALGAS_type & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -4842,10 +4379,10 @@ void GALGAS_gtlTypedArgumentList::method_first (GALGAS_type & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlTypedArgumentList::method_last (GALGAS_type & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -4858,10 +4395,10 @@ void GALGAS_gtlTypedArgumentList::method_last (GALGAS_type & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlTypedArgumentList GALGAS_gtlTypedArgumentList::add_operation (const GALGAS_gtlTypedArgumentList & inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_gtlTypedArgumentList result ; if (isValid () && inOperand.isValid ()) { @@ -4871,49 +4408,49 @@ GALGAS_gtlTypedArgumentList GALGAS_gtlTypedArgumentList::add_operation (const GA return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlTypedArgumentList GALGAS_gtlTypedArgumentList::getter_subListWithRange (const GALGAS_range & inRange, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlTypedArgumentList result = GALGAS_gtlTypedArgumentList::class_func_emptyList (THERE) ; + GALGAS_gtlTypedArgumentList result = GALGAS_gtlTypedArgumentList::constructor_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlTypedArgumentList GALGAS_gtlTypedArgumentList::getter_subListFromIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlTypedArgumentList result = GALGAS_gtlTypedArgumentList::class_func_emptyList (THERE) ; + GALGAS_gtlTypedArgumentList result = GALGAS_gtlTypedArgumentList::constructor_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlTypedArgumentList GALGAS_gtlTypedArgumentList::getter_subListToIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlTypedArgumentList result = GALGAS_gtlTypedArgumentList::class_func_emptyList (THERE) ; + GALGAS_gtlTypedArgumentList result = GALGAS_gtlTypedArgumentList::constructor_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlTypedArgumentList::plusAssign_operation (const GALGAS_gtlTypedArgumentList inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlTypedArgumentList::setter_setTypeAtIndex (GALGAS_type inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_gtlTypedArgumentList * p = (cCollectionElement_gtlTypedArgumentList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -4923,10 +4460,10 @@ void GALGAS_gtlTypedArgumentList::setter_setTypeAtIndex (GALGAS_type inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_type GALGAS_gtlTypedArgumentList::getter_typeAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_gtlTypedArgumentList * p = (cCollectionElement_gtlTypedArgumentList *) attributes.ptr () ; @@ -4940,7 +4477,7 @@ GALGAS_type GALGAS_gtlTypedArgumentList::getter_typeAtIndex (const GALGAS_uint & -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_gtlTypedArgumentList::cEnumerator_gtlTypedArgumentList (const GALGAS_gtlTypedArgumentList & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -4948,7 +4485,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlTypedArgumentList_2D_element cEnumerator_gtlTypedArgumentList::current (LOCATION_ARGS) const { const cCollectionElement_gtlTypedArgumentList * p = (const cCollectionElement_gtlTypedArgumentList *) currentObjectPtr (THERE) ; @@ -4957,7 +4494,7 @@ GALGAS_gtlTypedArgumentList_2D_element cEnumerator_gtlTypedArgumentList::current } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_type cEnumerator_gtlTypedArgumentList::current_type (LOCATION_ARGS) const { const cCollectionElement_gtlTypedArgumentList * p = (const cCollectionElement_gtlTypedArgumentList *) currentObjectPtr (THERE) ; @@ -4968,22 +4505,23 @@ GALGAS_type cEnumerator_gtlTypedArgumentList::current_type (LOCATION_ARGS) const -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlTypedArgumentList generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlTypedArgumentList ("gtlTypedArgumentList", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlTypedArgumentList ("gtlTypedArgumentList", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlTypedArgumentList::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlTypedArgumentList ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlTypedArgumentList::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -4993,10 +4531,10 @@ AC_GALGAS_root * GALGAS_gtlTypedArgumentList::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlTypedArgumentList GALGAS_gtlTypedArgumentList::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlTypedArgumentList result ; const GALGAS_gtlTypedArgumentList * p = (const GALGAS_gtlTypedArgumentList *) inObject.embeddedObject () ; @@ -5010,16 +4548,16 @@ GALGAS_gtlTypedArgumentList GALGAS_gtlTypedArgumentList::extractObject (const GA return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Class for element of '@list' list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cCollectionElement_list : public cCollectionElement { public: GALGAS_list_2D_element mObject ; -//--- Class functions +//--- Constructors public: cCollectionElement_list (const GALGAS_gtlData & in_value COMMA_LOCATION_ARGS) ; public: cCollectionElement_list (const GALGAS_list_2D_element & inElement COMMA_LOCATION_ARGS) ; @@ -5034,10 +4572,10 @@ class cCollectionElement_list : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_list::cCollectionElement_list (const GALGAS_gtlData & in_value COMMA_LOCATION_ARGS) : @@ -5045,20 +4583,20 @@ cCollectionElement (THERE), mObject (in_value) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_list::cCollectionElement_list (const GALGAS_list_2D_element & inElement COMMA_LOCATION_ARGS) : cCollectionElement (THERE), mObject (inElement.mProperty_value) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cCollectionElement_list::isValid (void) const { return true ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement * cCollectionElement_list::copy (void) { cCollectionElement * result = nullptr ; @@ -5066,16 +4604,16 @@ cCollectionElement * cCollectionElement_list::copy (void) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cCollectionElement_list::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("value" ":") ; +void cCollectionElement_list::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "value" ":" ; mObject.mProperty_value.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_list::compare (const cCollectionElement * inOperand) const { cCollectionElement_list * operand = (cCollectionElement_list *) inOperand ; @@ -5083,28 +4621,28 @@ typeComparisonResult cCollectionElement_list::compare (const cCollectionElement return mObject.objectCompare (operand->mObject) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_list::GALGAS_list (void) : AC_GALGAS_list () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_list::GALGAS_list (const capCollectionElementArray & inSharedArray) : AC_GALGAS_list (inSharedArray) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_list GALGAS_list::class_func_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_list (capCollectionElementArray ()) ; +GALGAS_list GALGAS_list::constructor_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_list (capCollectionElementArray ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_list GALGAS_list::class_func_listWithValue (const GALGAS_gtlData & inOperand0 - COMMA_LOCATION_ARGS) { +GALGAS_list GALGAS_list::constructor_listWithValue (const GALGAS_gtlData & inOperand0 + COMMA_LOCATION_ARGS) { GALGAS_list result ; if (inOperand0.isValid ()) { result = GALGAS_list (capCollectionElementArray ()) ; @@ -5115,7 +4653,7 @@ GALGAS_list GALGAS_list::class_func_listWithValue (const GALGAS_gtlData & inOper return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_list::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_gtlData & in_value @@ -5126,7 +4664,7 @@ void GALGAS_list::makeAttributesFromObjects (capCollectionElement & outAttribute macroDetachSharedObject (p) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_list::addAssign_operation (const GALGAS_gtlData & inOperand0 COMMA_LOCATION_ARGS) { @@ -5140,10 +4678,10 @@ void GALGAS_list::addAssign_operation (const GALGAS_gtlData & inOperand0 } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_list::setter_append (const GALGAS_gtlData inOperand0, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -5155,11 +4693,11 @@ void GALGAS_list::setter_append (const GALGAS_gtlData inOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_list::setter_insertAtIndex (const GALGAS_gtlData inOperand0, const GALGAS_uint inInsertionIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid ()) { @@ -5175,11 +4713,11 @@ void GALGAS_list::setter_insertAtIndex (const GALGAS_gtlData inOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_list::setter_removeAtIndex (GALGAS_gtlData & outOperand0, const GALGAS_uint inRemoveIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -5202,10 +4740,10 @@ void GALGAS_list::setter_removeAtIndex (GALGAS_gtlData & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_list::setter_popFirst (GALGAS_gtlData & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -5218,10 +4756,10 @@ void GALGAS_list::setter_popFirst (GALGAS_gtlData & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_list::setter_popLast (GALGAS_gtlData & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -5234,10 +4772,10 @@ void GALGAS_list::setter_popLast (GALGAS_gtlData & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_list::method_first (GALGAS_gtlData & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -5250,10 +4788,10 @@ void GALGAS_list::method_first (GALGAS_gtlData & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_list::method_last (GALGAS_gtlData & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -5266,10 +4804,10 @@ void GALGAS_list::method_last (GALGAS_gtlData & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_list GALGAS_list::add_operation (const GALGAS_list & inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_list result ; if (isValid () && inOperand.isValid ()) { @@ -5279,49 +4817,49 @@ GALGAS_list GALGAS_list::add_operation (const GALGAS_list & inOperand, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_list GALGAS_list::getter_subListWithRange (const GALGAS_range & inRange, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_list result = GALGAS_list::class_func_emptyList (THERE) ; + GALGAS_list result = GALGAS_list::constructor_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_list GALGAS_list::getter_subListFromIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_list result = GALGAS_list::class_func_emptyList (THERE) ; + GALGAS_list result = GALGAS_list::constructor_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_list GALGAS_list::getter_subListToIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_list result = GALGAS_list::class_func_emptyList (THERE) ; + GALGAS_list result = GALGAS_list::constructor_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_list::plusAssign_operation (const GALGAS_list inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_list::setter_setValueAtIndex (GALGAS_gtlData inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_list * p = (cCollectionElement_list *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -5331,10 +4869,10 @@ void GALGAS_list::setter_setValueAtIndex (GALGAS_gtlData inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlData GALGAS_list::getter_valueAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_list * p = (cCollectionElement_list *) attributes.ptr () ; @@ -5348,7 +4886,7 @@ GALGAS_gtlData GALGAS_list::getter_valueAtIndex (const GALGAS_uint & inIndex, -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_list::cEnumerator_list (const GALGAS_list & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -5356,7 +4894,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_list_2D_element cEnumerator_list::current (LOCATION_ARGS) const { const cCollectionElement_list * p = (const cCollectionElement_list *) currentObjectPtr (THERE) ; @@ -5365,7 +4903,7 @@ GALGAS_list_2D_element cEnumerator_list::current (LOCATION_ARGS) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlData cEnumerator_list::current_value (LOCATION_ARGS) const { const cCollectionElement_list * p = (const cCollectionElement_list *) currentObjectPtr (THERE) ; @@ -5376,22 +4914,23 @@ GALGAS_gtlData cEnumerator_list::current_value (LOCATION_ARGS) const { -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @list generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_list ("list", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_list ("list", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_list::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_list ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_list::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -5401,10 +4940,10 @@ AC_GALGAS_root * GALGAS_list::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_list GALGAS_list::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_list result ; const GALGAS_list * p = (const GALGAS_list *) inObject.embeddedObject () ; @@ -5418,20 +4957,20 @@ GALGAS_list GALGAS_list::extractObject (const GALGAS_object & inObject, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cMapElement_lstringset::cMapElement_lstringset (const GALGAS_lstring & inKey COMMA_LOCATION_ARGS) : cMapElement (inKey COMMA_THERE) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cMapElement_lstringset::isValid (void) const { return mProperty_lkey.isValid () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cMapElement * cMapElement_lstringset::copy (void) { cMapElement * result = nullptr ; @@ -5439,12 +4978,12 @@ cMapElement * cMapElement_lstringset::copy (void) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cMapElement_lstringset::description (String & /* ioString */, const int32_t /* inIndentation */) const { +void cMapElement_lstringset::description (C_String & /* ioString */, const int32_t /* inIndentation */) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cMapElement_lstringset::compare (const cCollectionElement * inOperand) const { cMapElement_lstringset * operand = (cMapElement_lstringset *) inOperand ; @@ -5452,55 +4991,55 @@ typeComparisonResult cMapElement_lstringset::compare (const cCollectionElement * return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lstringset::GALGAS_lstringset (void) : -AC_GALGAS_map () { +AC_GALGAS_map (true) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lstringset::GALGAS_lstringset (const GALGAS_lstringset & inSource) : AC_GALGAS_map (inSource) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lstringset & GALGAS_lstringset::operator = (const GALGAS_lstringset & inSource) { * ((AC_GALGAS_map *) this) = inSource ; return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstringset GALGAS_lstringset::class_func_emptyMap (LOCATION_ARGS) { +GALGAS_lstringset GALGAS_lstringset::constructor_emptyMap (LOCATION_ARGS) { GALGAS_lstringset result ; result.makeNewEmptyMap (THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstringset GALGAS_lstringset::class_func_mapWithMapToOverride (const GALGAS_lstringset & inMapToOverride - COMMA_LOCATION_ARGS) { +GALGAS_lstringset GALGAS_lstringset::constructor_mapWithMapToOverride (const GALGAS_lstringset & inMapToOverride + COMMA_LOCATION_ARGS) { GALGAS_lstringset result ; result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstringset GALGAS_lstringset::getter_overriddenMap (Compiler * inCompiler +GALGAS_lstringset GALGAS_lstringset::getter_overriddenMap (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_lstringset result ; getOverridenMap (result, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_lstringset::addAssign_operation (const GALGAS_lstring & inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_lstringset * p = nullptr ; macroMyNew (p, cMapElement_lstringset (inKey COMMA_HERE)) ; @@ -5512,10 +5051,10 @@ void GALGAS_lstringset::addAssign_operation (const GALGAS_lstring & inKey, performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lstringset GALGAS_lstringset::add_operation (const GALGAS_lstringset & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_lstringset result = *this ; cEnumerator_lstringset enumerator (inOperand, kENUMERATION_UP) ; @@ -5526,10 +5065,10 @@ GALGAS_lstringset GALGAS_lstringset::add_operation (const GALGAS_lstringset & in return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_lstringset::setter_put (GALGAS_lstring inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_lstringset * p = nullptr ; macroMyNew (p, cMapElement_lstringset (inKey COMMA_HERE)) ; @@ -5541,14 +5080,14 @@ void GALGAS_lstringset::setter_put (GALGAS_lstring inKey, performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const char * kSearchErrorMessage_lstringset_get = "there is no set element named '%K' to get" ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_lstringset::method_get (GALGAS_lstring inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cMapElement_lstringset * p = (const cMapElement_lstringset *) performSearch (inKey, inCompiler, @@ -5560,10 +5099,10 @@ void GALGAS_lstringset::method_get (GALGAS_lstring inKey, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_lstringset::setter_del (GALGAS_lstring inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { const char * kRemoveErrorMessage = "there is no set element named '%K' to delete" ; capCollectionElement attributes ; @@ -5575,9 +5114,9 @@ void GALGAS_lstringset::setter_del (GALGAS_lstring inKey, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement_lstringset * GALGAS_lstringset::readWriteAccessForWithInstruction (Compiler * inCompiler, +cMapElement_lstringset * GALGAS_lstringset::readWriteAccessForWithInstruction (C_Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) { cMapElement_lstringset * result = (cMapElement_lstringset *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; @@ -5585,7 +5124,7 @@ cMapElement_lstringset * GALGAS_lstringset::readWriteAccessForWithInstruction (C return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_lstringset::cEnumerator_lstringset (const GALGAS_lstringset & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -5593,7 +5132,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lstringset_2D_element cEnumerator_lstringset::current (LOCATION_ARGS) const { const cMapElement_lstringset * p = (const cMapElement_lstringset *) currentObjectPtr (THERE) ; @@ -5601,7 +5140,7 @@ GALGAS_lstringset_2D_element cEnumerator_lstringset::current (LOCATION_ARGS) con return GALGAS_lstringset_2D_element (p->mProperty_lkey) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lstring cEnumerator_lstringset::current_lkey (LOCATION_ARGS) const { const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; @@ -5609,7 +5148,7 @@ GALGAS_lstring cEnumerator_lstringset::current_lkey (LOCATION_ARGS) const { return p->mProperty_lkey ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool GALGAS_lstringset::optional_searchKey (const GALGAS_string & inKey) const { const cMapElement_lstringset * p = (const cMapElement_lstringset *) searchForKey (inKey) ; @@ -5621,22 +5160,23 @@ bool GALGAS_lstringset::optional_searchKey (const GALGAS_string & inKey) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @lstringset generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_lstringset ("lstringset", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_lstringset ("lstringset", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_lstringset::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_lstringset ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_lstringset::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -5646,10 +5186,10 @@ AC_GALGAS_root * GALGAS_lstringset::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lstringset GALGAS_lstringset::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_lstringset result ; const GALGAS_lstringset * p = (const GALGAS_lstringset *) inObject.embeddedObject () ; @@ -5663,17 +5203,17 @@ GALGAS_lstringset GALGAS_lstringset::extractObject (const GALGAS_object & inObje return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // L E X I Q U E // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "unicode_character_cpp.h" -#include "scanner_actions.h" -#include "cLexiqueIntrospection.h" +#include "strings/unicode_character_cpp.h" +#include "galgas2/scanner_actions.h" +#include "galgas2/cLexiqueIntrospection.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cTokenFor_gtl_5F_scanner::cTokenFor_gtl_5F_scanner (void) : mLexicalAttribute_a_5F_string (), @@ -5686,28 +5226,28 @@ mLexicalAttribute_tokenString (), mLexicalAttribute_uint_33__32_value () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -Lexique_gtl_5F_scanner::Lexique_gtl_5F_scanner (Compiler * inCallerCompiler, - const String & inSourceFileName - COMMA_LOCATION_ARGS) : -Lexique (inCallerCompiler, inSourceFileName COMMA_THERE), +C_Lexique_gtl_5F_scanner::C_Lexique_gtl_5F_scanner (C_Compiler * inCallerCompiler, + const C_String & inSourceFileName + COMMA_LOCATION_ARGS) : +C_Lexique (inCallerCompiler, inSourceFileName COMMA_THERE), mMatchedTemplateDelimiterIndex (-1) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -Lexique_gtl_5F_scanner::Lexique_gtl_5F_scanner (Compiler * inCallerCompiler, - const String & inSourceString, - const String & inStringForError - COMMA_LOCATION_ARGS) : -Lexique (inCallerCompiler, inSourceString, inStringForError COMMA_THERE), +C_Lexique_gtl_5F_scanner::C_Lexique_gtl_5F_scanner (C_Compiler * inCallerCompiler, + const C_String & inSourceString, + const C_String & inStringForError + COMMA_LOCATION_ARGS) : +C_Lexique (inCallerCompiler, inSourceString, inStringForError COMMA_THERE), mMatchedTemplateDelimiterIndex (-1) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Lexical error message list -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static const char * gLexicalMessage_gtl_5F_scanner_floatNumberConversionError = "invalid float number" ; @@ -5727,12 +5267,12 @@ static const char * gLexicalMessage_gtl_5F_scanner_unknownHTMLescapeSequence = " static const char * gLexicalMessage_gtl_5F_scanner_unterminatedLitteralString = "Unterminated literal string" ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // getMessageForTerminal -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String Lexique_gtl_5F_scanner::getMessageForTerminal (const int32_t inTerminalIndex) const { - String result = "" ; +C_String C_Lexique_gtl_5F_scanner::getMessageForTerminal (const int32_t inTerminalIndex) const { + C_String result = "" ; if ((inTerminalIndex >= 0) && (inTerminalIndex < 116)) { static const char * syntaxErrorMessageArray [116] = {kEndOfSourceLexicalErrorMessage, "an identifier", @@ -5856,299 +5396,350 @@ String Lexique_gtl_5F_scanner::getMessageForTerminal (const int32_t inTerminalIn return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // U N I C O D E S T R I N G S -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -//--- Unicode string for '$\n$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__A_ = { +//--- Unicode string for '$_A_$' +static const utf32 kUnicodeString_gtl_5F_scanner__A_ [] = { TO_UNICODE (10), + TO_UNICODE (0) } ; -//--- Unicode string for '$!$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__21_ = { +//--- Unicode string for '$_21_$' +static const utf32 kUnicodeString_gtl_5F_scanner__21_ [] = { TO_UNICODE ('!'), + TO_UNICODE (0) } ; -//--- Unicode string for '$!=$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__21__3D_ = { +//--- Unicode string for '$_21__3D_$' +static const utf32 kUnicodeString_gtl_5F_scanner__21__3D_ [] = { TO_UNICODE ('!'), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$%$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__25_ = { +//--- Unicode string for '$_25_$' +static const utf32 kUnicodeString_gtl_5F_scanner__25_ [] = { TO_UNICODE ('%'), + TO_UNICODE (0) } ; -//--- Unicode string for '$&$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__26_ = { +//--- Unicode string for '$_26_$' +static const utf32 kUnicodeString_gtl_5F_scanner__26_ [] = { TO_UNICODE ('&'), + TO_UNICODE (0) } ; -//--- Unicode string for '$&=$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__26__3D_ = { +//--- Unicode string for '$_26__3D_$' +static const utf32 kUnicodeString_gtl_5F_scanner__26__3D_ [] = { TO_UNICODE ('&'), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$($' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__28_ = { +//--- Unicode string for '$_28_$' +static const utf32 kUnicodeString_gtl_5F_scanner__28_ [] = { TO_UNICODE ('('), + TO_UNICODE (0) } ; -//--- Unicode string for '$)$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__29_ = { +//--- Unicode string for '$_29_$' +static const utf32 kUnicodeString_gtl_5F_scanner__29_ [] = { TO_UNICODE (')'), + TO_UNICODE (0) } ; -//--- Unicode string for '$*$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__2A_ = { +//--- Unicode string for '$_2A_$' +static const utf32 kUnicodeString_gtl_5F_scanner__2A_ [] = { TO_UNICODE ('*'), + TO_UNICODE (0) } ; -//--- Unicode string for '$*=$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__2A__3D_ = { +//--- Unicode string for '$_2A__3D_$' +static const utf32 kUnicodeString_gtl_5F_scanner__2A__3D_ [] = { TO_UNICODE ('*'), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$+$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__2B_ = { +//--- Unicode string for '$_2B_$' +static const utf32 kUnicodeString_gtl_5F_scanner__2B_ [] = { TO_UNICODE ('+'), + TO_UNICODE (0) } ; -//--- Unicode string for '$+=$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__2B__3D_ = { +//--- Unicode string for '$_2B__3D_$' +static const utf32 kUnicodeString_gtl_5F_scanner__2B__3D_ [] = { TO_UNICODE ('+'), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$,$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__2C_ = { +//--- Unicode string for '$_2C_$' +static const utf32 kUnicodeString_gtl_5F_scanner__2C_ [] = { TO_UNICODE (','), + TO_UNICODE (0) } ; -//--- Unicode string for '$-=$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__2D__3D_ = { +//--- Unicode string for '$_2D__3D_$' +static const utf32 kUnicodeString_gtl_5F_scanner__2D__3D_ [] = { TO_UNICODE ('-'), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$->$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__2D__3E_ = { +//--- Unicode string for '$_2D__3E_$' +static const utf32 kUnicodeString_gtl_5F_scanner__2D__3E_ [] = { TO_UNICODE ('-'), TO_UNICODE ('>'), + TO_UNICODE (0) } ; -//--- Unicode string for '$..$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__2E__2E_ = { +//--- Unicode string for '$_2E__2E_$' +static const utf32 kUnicodeString_gtl_5F_scanner__2E__2E_ [] = { TO_UNICODE ('.'), TO_UNICODE ('.'), + TO_UNICODE (0) } ; -//--- Unicode string for '$/$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__2F_ = { +//--- Unicode string for '$_2F_$' +static const utf32 kUnicodeString_gtl_5F_scanner__2F_ [] = { TO_UNICODE ('/'), + TO_UNICODE (0) } ; -//--- Unicode string for '$/=$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__2F__3D_ = { +//--- Unicode string for '$_2F__3D_$' +static const utf32 kUnicodeString_gtl_5F_scanner__2F__3D_ [] = { TO_UNICODE ('/'), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$0X$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__30_X = { +//--- Unicode string for '$_30_X$' +static const utf32 kUnicodeString_gtl_5F_scanner__30_X [] = { TO_UNICODE ('0'), TO_UNICODE ('X'), + TO_UNICODE (0) } ; -//--- Unicode string for '$0x$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__30_x = { +//--- Unicode string for '$_30_x$' +static const utf32 kUnicodeString_gtl_5F_scanner__30_x [] = { TO_UNICODE ('0'), TO_UNICODE ('x'), + TO_UNICODE (0) } ; -//--- Unicode string for '$:$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__3A_ = { +//--- Unicode string for '$_3A_$' +static const utf32 kUnicodeString_gtl_5F_scanner__3A_ [] = { TO_UNICODE (':'), + TO_UNICODE (0) } ; -//--- Unicode string for '$::$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__3A__3A_ = { +//--- Unicode string for '$_3A__3A_$' +static const utf32 kUnicodeString_gtl_5F_scanner__3A__3A_ [] = { TO_UNICODE (':'), TO_UNICODE (':'), + TO_UNICODE (0) } ; -//--- Unicode string for '$:=$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__3A__3D_ = { +//--- Unicode string for '$_3A__3D_$' +static const utf32 kUnicodeString_gtl_5F_scanner__3A__3D_ [] = { TO_UNICODE (':'), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$;$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__3B_ = { +//--- Unicode string for '$_3B_$' +static const utf32 kUnicodeString_gtl_5F_scanner__3B_ [] = { TO_UNICODE (';'), + TO_UNICODE (0) } ; -//--- Unicode string for '$<$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__3C_ = { +//--- Unicode string for '$_3C_$' +static const utf32 kUnicodeString_gtl_5F_scanner__3C_ [] = { TO_UNICODE ('<'), + TO_UNICODE (0) } ; -//--- Unicode string for '$<-$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__3C__2D_ = { +//--- Unicode string for '$_3C__2D_$' +static const utf32 kUnicodeString_gtl_5F_scanner__3C__2D_ [] = { TO_UNICODE ('<'), TO_UNICODE ('-'), + TO_UNICODE (0) } ; -//--- Unicode string for '$<<$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__3C__3C_ = { +//--- Unicode string for '$_3C__3C_$' +static const utf32 kUnicodeString_gtl_5F_scanner__3C__3C_ [] = { TO_UNICODE ('<'), TO_UNICODE ('<'), + TO_UNICODE (0) } ; -//--- Unicode string for '$<<=$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__3C__3C__3D_ = { +//--- Unicode string for '$_3C__3C__3D_$' +static const utf32 kUnicodeString_gtl_5F_scanner__3C__3C__3D_ [] = { TO_UNICODE ('<'), TO_UNICODE ('<'), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$<=$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__3C__3D_ = { +//--- Unicode string for '$_3C__3D_$' +static const utf32 kUnicodeString_gtl_5F_scanner__3C__3D_ [] = { TO_UNICODE ('<'), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$=$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__3D_ = { +//--- Unicode string for '$_3D_$' +static const utf32 kUnicodeString_gtl_5F_scanner__3D_ [] = { TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$==$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__3D__3D_ = { +//--- Unicode string for '$_3D__3D_$' +static const utf32 kUnicodeString_gtl_5F_scanner__3D__3D_ [] = { TO_UNICODE ('='), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$>$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__3E_ = { +//--- Unicode string for '$_3E_$' +static const utf32 kUnicodeString_gtl_5F_scanner__3E_ [] = { TO_UNICODE ('>'), + TO_UNICODE (0) } ; -//--- Unicode string for '$>=$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__3E__3D_ = { +//--- Unicode string for '$_3E__3D_$' +static const utf32 kUnicodeString_gtl_5F_scanner__3E__3D_ [] = { TO_UNICODE ('>'), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$>>$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__3E__3E_ = { +//--- Unicode string for '$_3E__3E_$' +static const utf32 kUnicodeString_gtl_5F_scanner__3E__3E_ [] = { TO_UNICODE ('>'), TO_UNICODE ('>'), + TO_UNICODE (0) } ; -//--- Unicode string for '$>>=$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__3E__3E__3D_ = { +//--- Unicode string for '$_3E__3E__3D_$' +static const utf32 kUnicodeString_gtl_5F_scanner__3E__3E__3D_ [] = { TO_UNICODE ('>'), TO_UNICODE ('>'), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$?$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__3F_ = { +//--- Unicode string for '$_3F_$' +static const utf32 kUnicodeString_gtl_5F_scanner__3F_ [] = { TO_UNICODE ('\?'), + TO_UNICODE (0) } ; -//--- Unicode string for '$@$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__40_ = { +//--- Unicode string for '$_40_$' +static const utf32 kUnicodeString_gtl_5F_scanner__40_ [] = { TO_UNICODE ('@'), + TO_UNICODE (0) } ; -//--- Unicode string for '$@!$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__40__21_ = { +//--- Unicode string for '$_40__21_$' +static const utf32 kUnicodeString_gtl_5F_scanner__40__21_ [] = { TO_UNICODE ('@'), TO_UNICODE ('!'), + TO_UNICODE (0) } ; -//--- Unicode string for '$@($' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__40__28_ = { +//--- Unicode string for '$_40__28_$' +static const utf32 kUnicodeString_gtl_5F_scanner__40__28_ [] = { TO_UNICODE ('@'), TO_UNICODE ('('), + TO_UNICODE (0) } ; -//--- Unicode string for '$@?$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__40__3F_ = { +//--- Unicode string for '$_40__3F_$' +static const utf32 kUnicodeString_gtl_5F_scanner__40__3F_ [] = { TO_UNICODE ('@'), TO_UNICODE ('\?'), + TO_UNICODE (0) } ; -//--- Unicode string for '$@[$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__40__5B_ = { +//--- Unicode string for '$_40__5B_$' +static const utf32 kUnicodeString_gtl_5F_scanner__40__5B_ [] = { TO_UNICODE ('@'), TO_UNICODE ('['), + TO_UNICODE (0) } ; -//--- Unicode string for '$@{$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__40__7B_ = { +//--- Unicode string for '$_40__7B_$' +static const utf32 kUnicodeString_gtl_5F_scanner__40__7B_ [] = { TO_UNICODE ('@'), TO_UNICODE ('{'), + TO_UNICODE (0) } ; -//--- Unicode string for '$[$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__5B_ = { +//--- Unicode string for '$_5B_$' +static const utf32 kUnicodeString_gtl_5F_scanner__5B_ [] = { TO_UNICODE ('['), + TO_UNICODE (0) } ; -//--- Unicode string for '$[!$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__5B__21_ = { +//--- Unicode string for '$_5B__21_$' +static const utf32 kUnicodeString_gtl_5F_scanner__5B__21_ [] = { TO_UNICODE ('['), TO_UNICODE ('!'), + TO_UNICODE (0) } ; -//--- Unicode string for '$\\$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__5C_ = { +//--- Unicode string for '$_5C_$' +static const utf32 kUnicodeString_gtl_5F_scanner__5C_ [] = { TO_UNICODE ('\\'), + TO_UNICODE (0) } ; -//--- Unicode string for '$\\%$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__5C__25_ = { +//--- Unicode string for '$_5C__25_$' +static const utf32 kUnicodeString_gtl_5F_scanner__5C__25_ [] = { TO_UNICODE ('\\'), TO_UNICODE ('%'), + TO_UNICODE (0) } ; -//--- Unicode string for '$\\\\$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__5C__5C_ = { +//--- Unicode string for '$_5C__5C_$' +static const utf32 kUnicodeString_gtl_5F_scanner__5C__5C_ [] = { TO_UNICODE ('\\'), TO_UNICODE ('\\'), + TO_UNICODE (0) } ; -//--- Unicode string for '$\\n$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__5C_n = { +//--- Unicode string for '$_5C_n$' +static const utf32 kUnicodeString_gtl_5F_scanner__5C_n [] = { TO_UNICODE ('\\'), TO_UNICODE ('n'), + TO_UNICODE (0) } ; -//--- Unicode string for '$]$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__5D_ = { +//--- Unicode string for '$_5D_$' +static const utf32 kUnicodeString_gtl_5F_scanner__5D_ [] = { TO_UNICODE (']'), + TO_UNICODE (0) } ; -//--- Unicode string for '$^$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__5E_ = { +//--- Unicode string for '$_5E_$' +static const utf32 kUnicodeString_gtl_5F_scanner__5E_ [] = { TO_UNICODE ('^'), + TO_UNICODE (0) } ; -//--- Unicode string for '$^=$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__5E__3D_ = { +//--- Unicode string for '$_5E__3D_$' +static const utf32 kUnicodeString_gtl_5F_scanner__5E__3D_ [] = { TO_UNICODE ('^'), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$__VARS__$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__5F__5F_VARS_5F__5F_ = { +//--- Unicode string for '$_5F__5F_VARS_5F__5F_$' +static const utf32 kUnicodeString_gtl_5F_scanner__5F__5F_VARS_5F__5F_ [] = { TO_UNICODE ('_'), TO_UNICODE ('_'), TO_UNICODE ('V'), @@ -6157,29 +5748,32 @@ static const std::initializer_list kUnicodeString_gtl_5F_scanner__5F__5F TO_UNICODE ('S'), TO_UNICODE ('_'), TO_UNICODE ('_'), + TO_UNICODE (0) } ; //--- Unicode string for '$after$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_after = { +static const utf32 kUnicodeString_gtl_5F_scanner_after [] = { TO_UNICODE ('a'), TO_UNICODE ('f'), TO_UNICODE ('t'), TO_UNICODE ('e'), TO_UNICODE ('r'), + TO_UNICODE (0) } ; //--- Unicode string for '$before$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_before = { +static const utf32 kUnicodeString_gtl_5F_scanner_before [] = { TO_UNICODE ('b'), TO_UNICODE ('e'), TO_UNICODE ('f'), TO_UNICODE ('o'), TO_UNICODE ('r'), TO_UNICODE ('e'), + TO_UNICODE (0) } ; //--- Unicode string for '$between$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_between = { +static const utf32 kUnicodeString_gtl_5F_scanner_between [] = { TO_UNICODE ('b'), TO_UNICODE ('e'), TO_UNICODE ('t'), @@ -6187,25 +5781,28 @@ static const std::initializer_list kUnicodeString_gtl_5F_scanner_between TO_UNICODE ('e'), TO_UNICODE ('e'), TO_UNICODE ('n'), + TO_UNICODE (0) } ; //--- Unicode string for '$break$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_break = { +static const utf32 kUnicodeString_gtl_5F_scanner_break [] = { TO_UNICODE ('b'), TO_UNICODE ('r'), TO_UNICODE ('e'), TO_UNICODE ('a'), TO_UNICODE ('k'), + TO_UNICODE (0) } ; //--- Unicode string for '$by$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_by = { +static const utf32 kUnicodeString_gtl_5F_scanner_by [] = { TO_UNICODE ('b'), TO_UNICODE ('y'), + TO_UNICODE (0) } ; //--- Unicode string for '$default$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_default = { +static const utf32 kUnicodeString_gtl_5F_scanner_default [] = { TO_UNICODE ('d'), TO_UNICODE ('e'), TO_UNICODE ('f'), @@ -6213,10 +5810,11 @@ static const std::initializer_list kUnicodeString_gtl_5F_scanner_default TO_UNICODE ('u'), TO_UNICODE ('l'), TO_UNICODE ('t'), + TO_UNICODE (0) } ; //--- Unicode string for '$display$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_display = { +static const utf32 kUnicodeString_gtl_5F_scanner_display [] = { TO_UNICODE ('d'), TO_UNICODE ('i'), TO_UNICODE ('s'), @@ -6224,41 +5822,46 @@ static const std::initializer_list kUnicodeString_gtl_5F_scanner_display TO_UNICODE ('l'), TO_UNICODE ('a'), TO_UNICODE ('y'), + TO_UNICODE (0) } ; //--- Unicode string for '$do$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_do = { +static const utf32 kUnicodeString_gtl_5F_scanner_do [] = { TO_UNICODE ('d'), TO_UNICODE ('o'), + TO_UNICODE (0) } ; //--- Unicode string for '$down$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_down = { +static const utf32 kUnicodeString_gtl_5F_scanner_down [] = { TO_UNICODE ('d'), TO_UNICODE ('o'), TO_UNICODE ('w'), TO_UNICODE ('n'), + TO_UNICODE (0) } ; //--- Unicode string for '$else$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_else = { +static const utf32 kUnicodeString_gtl_5F_scanner_else [] = { TO_UNICODE ('e'), TO_UNICODE ('l'), TO_UNICODE ('s'), TO_UNICODE ('e'), + TO_UNICODE (0) } ; //--- Unicode string for '$elsif$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_elsif = { +static const utf32 kUnicodeString_gtl_5F_scanner_elsif [] = { TO_UNICODE ('e'), TO_UNICODE ('l'), TO_UNICODE ('s'), TO_UNICODE ('i'), TO_UNICODE ('f'), + TO_UNICODE (0) } ; //--- Unicode string for '$emptylist$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_emptylist = { +static const utf32 kUnicodeString_gtl_5F_scanner_emptylist [] = { TO_UNICODE ('e'), TO_UNICODE ('m'), TO_UNICODE ('p'), @@ -6268,10 +5871,11 @@ static const std::initializer_list kUnicodeString_gtl_5F_scanner_emptyli TO_UNICODE ('i'), TO_UNICODE ('s'), TO_UNICODE ('t'), + TO_UNICODE (0) } ; //--- Unicode string for '$emptymap$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_emptymap = { +static const utf32 kUnicodeString_gtl_5F_scanner_emptymap [] = { TO_UNICODE ('e'), TO_UNICODE ('m'), TO_UNICODE ('p'), @@ -6280,26 +5884,29 @@ static const std::initializer_list kUnicodeString_gtl_5F_scanner_emptyma TO_UNICODE ('m'), TO_UNICODE ('a'), TO_UNICODE ('p'), + TO_UNICODE (0) } ; //--- Unicode string for '$end$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_end = { +static const utf32 kUnicodeString_gtl_5F_scanner_end [] = { TO_UNICODE ('e'), TO_UNICODE ('n'), TO_UNICODE ('d'), + TO_UNICODE (0) } ; //--- Unicode string for '$error$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_error = { +static const utf32 kUnicodeString_gtl_5F_scanner_error [] = { TO_UNICODE ('e'), TO_UNICODE ('r'), TO_UNICODE ('r'), TO_UNICODE ('o'), TO_UNICODE ('r'), + TO_UNICODE (0) } ; //--- Unicode string for '$executable$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_executable = { +static const utf32 kUnicodeString_gtl_5F_scanner_executable [] = { TO_UNICODE ('e'), TO_UNICODE ('x'), TO_UNICODE ('e'), @@ -6310,36 +5917,40 @@ static const std::initializer_list kUnicodeString_gtl_5F_scanner_executa TO_UNICODE ('b'), TO_UNICODE ('l'), TO_UNICODE ('e'), + TO_UNICODE (0) } ; //--- Unicode string for '$exists$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_exists = { +static const utf32 kUnicodeString_gtl_5F_scanner_exists [] = { TO_UNICODE ('e'), TO_UNICODE ('x'), TO_UNICODE ('i'), TO_UNICODE ('s'), TO_UNICODE ('t'), TO_UNICODE ('s'), + TO_UNICODE (0) } ; //--- Unicode string for '$false$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_false = { +static const utf32 kUnicodeString_gtl_5F_scanner_false [] = { TO_UNICODE ('f'), TO_UNICODE ('a'), TO_UNICODE ('l'), TO_UNICODE ('s'), TO_UNICODE ('e'), + TO_UNICODE (0) } ; //--- Unicode string for '$for$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_for = { +static const utf32 kUnicodeString_gtl_5F_scanner_for [] = { TO_UNICODE ('f'), TO_UNICODE ('o'), TO_UNICODE ('r'), + TO_UNICODE (0) } ; //--- Unicode string for '$foreach$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_foreach = { +static const utf32 kUnicodeString_gtl_5F_scanner_foreach [] = { TO_UNICODE ('f'), TO_UNICODE ('o'), TO_UNICODE ('r'), @@ -6347,82 +5958,92 @@ static const std::initializer_list kUnicodeString_gtl_5F_scanner_foreach TO_UNICODE ('a'), TO_UNICODE ('c'), TO_UNICODE ('h'), + TO_UNICODE (0) } ; //--- Unicode string for '$from$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_from = { +static const utf32 kUnicodeString_gtl_5F_scanner_from [] = { TO_UNICODE ('f'), TO_UNICODE ('r'), TO_UNICODE ('o'), TO_UNICODE ('m'), + TO_UNICODE (0) } ; //--- Unicode string for '$func$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_func = { +static const utf32 kUnicodeString_gtl_5F_scanner_func [] = { TO_UNICODE ('f'), TO_UNICODE ('u'), TO_UNICODE ('n'), TO_UNICODE ('c'), + TO_UNICODE (0) } ; //--- Unicode string for '$getter$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_getter = { +static const utf32 kUnicodeString_gtl_5F_scanner_getter [] = { TO_UNICODE ('g'), TO_UNICODE ('e'), TO_UNICODE ('t'), TO_UNICODE ('t'), TO_UNICODE ('e'), TO_UNICODE ('r'), + TO_UNICODE (0) } ; //--- Unicode string for '$here$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_here = { +static const utf32 kUnicodeString_gtl_5F_scanner_here [] = { TO_UNICODE ('h'), TO_UNICODE ('e'), TO_UNICODE ('r'), TO_UNICODE ('e'), + TO_UNICODE (0) } ; //--- Unicode string for '$if$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_if = { +static const utf32 kUnicodeString_gtl_5F_scanner_if [] = { TO_UNICODE ('i'), TO_UNICODE ('f'), + TO_UNICODE (0) } ; //--- Unicode string for '$import$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_import = { +static const utf32 kUnicodeString_gtl_5F_scanner_import [] = { TO_UNICODE ('i'), TO_UNICODE ('m'), TO_UNICODE ('p'), TO_UNICODE ('o'), TO_UNICODE ('r'), TO_UNICODE ('t'), + TO_UNICODE (0) } ; //--- Unicode string for '$in$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_in = { +static const utf32 kUnicodeString_gtl_5F_scanner_in [] = { TO_UNICODE ('i'), TO_UNICODE ('n'), + TO_UNICODE (0) } ; //--- Unicode string for '$input$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_input = { +static const utf32 kUnicodeString_gtl_5F_scanner_input [] = { TO_UNICODE ('i'), TO_UNICODE ('n'), TO_UNICODE ('p'), TO_UNICODE ('u'), TO_UNICODE ('t'), + TO_UNICODE (0) } ; //--- Unicode string for '$let$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_let = { +static const utf32 kUnicodeString_gtl_5F_scanner_let [] = { TO_UNICODE ('l'), TO_UNICODE ('e'), TO_UNICODE ('t'), + TO_UNICODE (0) } ; //--- Unicode string for '$libraries$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_libraries = { +static const utf32 kUnicodeString_gtl_5F_scanner_libraries [] = { TO_UNICODE ('l'), TO_UNICODE ('i'), TO_UNICODE ('b'), @@ -6432,80 +6053,90 @@ static const std::initializer_list kUnicodeString_gtl_5F_scanner_librari TO_UNICODE ('i'), TO_UNICODE ('e'), TO_UNICODE ('s'), + TO_UNICODE (0) } ; //--- Unicode string for '$listof$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_listof = { +static const utf32 kUnicodeString_gtl_5F_scanner_listof [] = { TO_UNICODE ('l'), TO_UNICODE ('i'), TO_UNICODE ('s'), TO_UNICODE ('t'), TO_UNICODE ('o'), TO_UNICODE ('f'), + TO_UNICODE (0) } ; //--- Unicode string for '$loop$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_loop = { +static const utf32 kUnicodeString_gtl_5F_scanner_loop [] = { TO_UNICODE ('l'), TO_UNICODE ('o'), TO_UNICODE ('o'), TO_UNICODE ('p'), + TO_UNICODE (0) } ; //--- Unicode string for '$mapof$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_mapof = { +static const utf32 kUnicodeString_gtl_5F_scanner_mapof [] = { TO_UNICODE ('m'), TO_UNICODE ('a'), TO_UNICODE ('p'), TO_UNICODE ('o'), TO_UNICODE ('f'), + TO_UNICODE (0) } ; //--- Unicode string for '$mod$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_mod = { +static const utf32 kUnicodeString_gtl_5F_scanner_mod [] = { TO_UNICODE ('m'), TO_UNICODE ('o'), TO_UNICODE ('d'), + TO_UNICODE (0) } ; -//--- Unicode string for '$mod=$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_mod_3D_ = { +//--- Unicode string for '$mod_3D_$' +static const utf32 kUnicodeString_gtl_5F_scanner_mod_3D_ [] = { TO_UNICODE ('m'), TO_UNICODE ('o'), TO_UNICODE ('d'), TO_UNICODE ('='), + TO_UNICODE (0) } ; //--- Unicode string for '$no$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_no = { +static const utf32 kUnicodeString_gtl_5F_scanner_no [] = { TO_UNICODE ('n'), TO_UNICODE ('o'), + TO_UNICODE (0) } ; //--- Unicode string for '$not$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_not = { +static const utf32 kUnicodeString_gtl_5F_scanner_not [] = { TO_UNICODE ('n'), TO_UNICODE ('o'), TO_UNICODE ('t'), + TO_UNICODE (0) } ; //--- Unicode string for '$or$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_or = { +static const utf32 kUnicodeString_gtl_5F_scanner_or [] = { TO_UNICODE ('o'), TO_UNICODE ('r'), + TO_UNICODE (0) } ; //--- Unicode string for '$print$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_print = { +static const utf32 kUnicodeString_gtl_5F_scanner_print [] = { TO_UNICODE ('p'), TO_UNICODE ('r'), TO_UNICODE ('i'), TO_UNICODE ('n'), TO_UNICODE ('t'), + TO_UNICODE (0) } ; //--- Unicode string for '$println$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_println = { +static const utf32 kUnicodeString_gtl_5F_scanner_println [] = { TO_UNICODE ('p'), TO_UNICODE ('r'), TO_UNICODE ('i'), @@ -6513,61 +6144,68 @@ static const std::initializer_list kUnicodeString_gtl_5F_scanner_println TO_UNICODE ('t'), TO_UNICODE ('l'), TO_UNICODE ('n'), + TO_UNICODE (0) } ; //--- Unicode string for '$repeat$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_repeat = { +static const utf32 kUnicodeString_gtl_5F_scanner_repeat [] = { TO_UNICODE ('r'), TO_UNICODE ('e'), TO_UNICODE ('p'), TO_UNICODE ('e'), TO_UNICODE ('a'), TO_UNICODE ('t'), + TO_UNICODE (0) } ; //--- Unicode string for '$seed$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_seed = { +static const utf32 kUnicodeString_gtl_5F_scanner_seed [] = { TO_UNICODE ('s'), TO_UNICODE ('e'), TO_UNICODE ('e'), TO_UNICODE ('d'), + TO_UNICODE (0) } ; //--- Unicode string for '$setter$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_setter = { +static const utf32 kUnicodeString_gtl_5F_scanner_setter [] = { TO_UNICODE ('s'), TO_UNICODE ('e'), TO_UNICODE ('t'), TO_UNICODE ('t'), TO_UNICODE ('e'), TO_UNICODE ('r'), + TO_UNICODE (0) } ; //--- Unicode string for '$sort$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_sort = { +static const utf32 kUnicodeString_gtl_5F_scanner_sort [] = { TO_UNICODE ('s'), TO_UNICODE ('o'), TO_UNICODE ('r'), TO_UNICODE ('t'), + TO_UNICODE (0) } ; //--- Unicode string for '$step$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_step = { +static const utf32 kUnicodeString_gtl_5F_scanner_step [] = { TO_UNICODE ('s'), TO_UNICODE ('t'), TO_UNICODE ('e'), TO_UNICODE ('p'), + TO_UNICODE (0) } ; //--- Unicode string for '$tab$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_tab = { +static const utf32 kUnicodeString_gtl_5F_scanner_tab [] = { TO_UNICODE ('t'), TO_UNICODE ('a'), TO_UNICODE ('b'), + TO_UNICODE (0) } ; //--- Unicode string for '$template$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_template = { +static const utf32 kUnicodeString_gtl_5F_scanner_template [] = { TO_UNICODE ('t'), TO_UNICODE ('e'), TO_UNICODE ('m'), @@ -6576,57 +6214,64 @@ static const std::initializer_list kUnicodeString_gtl_5F_scanner_templat TO_UNICODE ('a'), TO_UNICODE ('t'), TO_UNICODE ('e'), + TO_UNICODE (0) } ; //--- Unicode string for '$then$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_then = { +static const utf32 kUnicodeString_gtl_5F_scanner_then [] = { TO_UNICODE ('t'), TO_UNICODE ('h'), TO_UNICODE ('e'), TO_UNICODE ('n'), + TO_UNICODE (0) } ; //--- Unicode string for '$to$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_to = { +static const utf32 kUnicodeString_gtl_5F_scanner_to [] = { TO_UNICODE ('t'), TO_UNICODE ('o'), + TO_UNICODE (0) } ; //--- Unicode string for '$true$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_true = { +static const utf32 kUnicodeString_gtl_5F_scanner_true [] = { TO_UNICODE ('t'), TO_UNICODE ('r'), TO_UNICODE ('u'), TO_UNICODE ('e'), + TO_UNICODE (0) } ; //--- Unicode string for '$typeof$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_typeof = { +static const utf32 kUnicodeString_gtl_5F_scanner_typeof [] = { TO_UNICODE ('t'), TO_UNICODE ('y'), TO_UNICODE ('p'), TO_UNICODE ('e'), TO_UNICODE ('o'), TO_UNICODE ('f'), + TO_UNICODE (0) } ; //--- Unicode string for '$unlet$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_unlet = { +static const utf32 kUnicodeString_gtl_5F_scanner_unlet [] = { TO_UNICODE ('u'), TO_UNICODE ('n'), TO_UNICODE ('l'), TO_UNICODE ('e'), TO_UNICODE ('t'), + TO_UNICODE (0) } ; //--- Unicode string for '$up$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_up = { +static const utf32 kUnicodeString_gtl_5F_scanner_up [] = { TO_UNICODE ('u'), TO_UNICODE ('p'), + TO_UNICODE (0) } ; //--- Unicode string for '$variables$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_variables = { +static const utf32 kUnicodeString_gtl_5F_scanner_variables [] = { TO_UNICODE ('v'), TO_UNICODE ('a'), TO_UNICODE ('r'), @@ -6636,10 +6281,11 @@ static const std::initializer_list kUnicodeString_gtl_5F_scanner_variabl TO_UNICODE ('l'), TO_UNICODE ('e'), TO_UNICODE ('s'), + TO_UNICODE (0) } ; //--- Unicode string for '$warning$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_warning = { +static const utf32 kUnicodeString_gtl_5F_scanner_warning [] = { TO_UNICODE ('w'), TO_UNICODE ('a'), TO_UNICODE ('r'), @@ -6647,790 +6293,799 @@ static const std::initializer_list kUnicodeString_gtl_5F_scanner_warning TO_UNICODE ('i'), TO_UNICODE ('n'), TO_UNICODE ('g'), + TO_UNICODE (0) } ; //--- Unicode string for '$while$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_while = { +static const utf32 kUnicodeString_gtl_5F_scanner_while [] = { TO_UNICODE ('w'), TO_UNICODE ('h'), TO_UNICODE ('i'), TO_UNICODE ('l'), TO_UNICODE ('e'), + TO_UNICODE (0) } ; //--- Unicode string for '$write$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_write = { +static const utf32 kUnicodeString_gtl_5F_scanner_write [] = { TO_UNICODE ('w'), TO_UNICODE ('r'), TO_UNICODE ('i'), TO_UNICODE ('t'), TO_UNICODE ('e'), + TO_UNICODE (0) } ; //--- Unicode string for '$yes$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner_yes = { +static const utf32 kUnicodeString_gtl_5F_scanner_yes [] = { TO_UNICODE ('y'), TO_UNICODE ('e'), TO_UNICODE ('s'), + TO_UNICODE (0) } ; -//--- Unicode string for '${$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__7B_ = { +//--- Unicode string for '$_7B_$' +static const utf32 kUnicodeString_gtl_5F_scanner__7B_ [] = { TO_UNICODE ('{'), + TO_UNICODE (0) } ; -//--- Unicode string for '$|$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__7C_ = { +//--- Unicode string for '$_7C_$' +static const utf32 kUnicodeString_gtl_5F_scanner__7C_ [] = { TO_UNICODE ('|'), + TO_UNICODE (0) } ; -//--- Unicode string for '$|=$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__7C__3D_ = { +//--- Unicode string for '$_7C__3D_$' +static const utf32 kUnicodeString_gtl_5F_scanner__7C__3D_ [] = { TO_UNICODE ('|'), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$}$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__7D_ = { +//--- Unicode string for '$_7D_$' +static const utf32 kUnicodeString_gtl_5F_scanner__7D_ [] = { TO_UNICODE ('}'), + TO_UNICODE (0) } ; -//--- Unicode string for '$~$' -static const std::initializer_list kUnicodeString_gtl_5F_scanner__7E_ = { +//--- Unicode string for '$_7E_$' +static const utf32 kUnicodeString_gtl_5F_scanner__7E_ [] = { TO_UNICODE ('~'), + TO_UNICODE (0) } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Key words table 'galgasDelimitorsList' -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static const int32_t ktable_size_gtl_5F_scanner_galgasDelimitorsList = 46 ; static const C_unicode_lexique_table_entry ktable_for_gtl_5F_scanner_galgasDelimitorsList [ktable_size_gtl_5F_scanner_galgasDelimitorsList] = { - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__21_, Lexique_gtl_5F_scanner::kToken__21_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__26_, Lexique_gtl_5F_scanner::kToken__26_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__28_, Lexique_gtl_5F_scanner::kToken__28_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__29_, Lexique_gtl_5F_scanner::kToken__29_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__2A_, Lexique_gtl_5F_scanner::kToken__2A_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__2B_, Lexique_gtl_5F_scanner::kToken__2B_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__2C_, Lexique_gtl_5F_scanner::kToken__2C_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__2F_, Lexique_gtl_5F_scanner::kToken__2F_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3A_, Lexique_gtl_5F_scanner::kToken__3A_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3C_, Lexique_gtl_5F_scanner::kToken__3C_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3E_, Lexique_gtl_5F_scanner::kToken__3E_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3F_, Lexique_gtl_5F_scanner::kToken__3F_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__40_, Lexique_gtl_5F_scanner::kToken__40_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__5B_, Lexique_gtl_5F_scanner::kToken__5B_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__5D_, Lexique_gtl_5F_scanner::kToken__5D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__5E_, Lexique_gtl_5F_scanner::kToken__5E_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__7B_, Lexique_gtl_5F_scanner::kToken__7B_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__7C_, Lexique_gtl_5F_scanner::kToken__7C_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__7D_, Lexique_gtl_5F_scanner::kToken__7D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__7E_, Lexique_gtl_5F_scanner::kToken__7E_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__21__3D_, Lexique_gtl_5F_scanner::kToken__21__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__26__3D_, Lexique_gtl_5F_scanner::kToken__26__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__2A__3D_, Lexique_gtl_5F_scanner::kToken__2A__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__2B__3D_, Lexique_gtl_5F_scanner::kToken__2B__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__2D__3D_, Lexique_gtl_5F_scanner::kToken__2D__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__2D__3E_, Lexique_gtl_5F_scanner::kToken__2D__3E_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__2F__3D_, Lexique_gtl_5F_scanner::kToken__2F__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3A__3A_, Lexique_gtl_5F_scanner::kToken__3A__3A_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3A__3D_, Lexique_gtl_5F_scanner::kToken__3A__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3C__2D_, Lexique_gtl_5F_scanner::kToken__3C__2D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3C__3C_, Lexique_gtl_5F_scanner::kToken__3C__3C_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3C__3D_, Lexique_gtl_5F_scanner::kToken__3C__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3D__3D_, Lexique_gtl_5F_scanner::kToken__3D__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3E__3D_, Lexique_gtl_5F_scanner::kToken__3E__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3E__3E_, Lexique_gtl_5F_scanner::kToken__3E__3E_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__40__21_, Lexique_gtl_5F_scanner::kToken__40__21_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__40__28_, Lexique_gtl_5F_scanner::kToken__40__28_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__40__3F_, Lexique_gtl_5F_scanner::kToken__40__3F_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__40__5B_, Lexique_gtl_5F_scanner::kToken__40__5B_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__40__7B_, Lexique_gtl_5F_scanner::kToken__40__7B_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__5B__21_, Lexique_gtl_5F_scanner::kToken__5B__21_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__5E__3D_, Lexique_gtl_5F_scanner::kToken__5E__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__7C__3D_, Lexique_gtl_5F_scanner::kToken__7C__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3C__3C__3D_, Lexique_gtl_5F_scanner::kToken__3C__3C__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3E__3E__3D_, Lexique_gtl_5F_scanner::kToken__3E__3E__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_mod_3D_, Lexique_gtl_5F_scanner::kToken_mod_3D_) -} ; - -int32_t Lexique_gtl_5F_scanner::search_into_galgasDelimitorsList (const String & inSearchedString) { + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__21_, 1, C_Lexique_gtl_5F_scanner::kToken__21_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__26_, 1, C_Lexique_gtl_5F_scanner::kToken__26_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__28_, 1, C_Lexique_gtl_5F_scanner::kToken__28_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__29_, 1, C_Lexique_gtl_5F_scanner::kToken__29_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__2A_, 1, C_Lexique_gtl_5F_scanner::kToken__2A_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__2B_, 1, C_Lexique_gtl_5F_scanner::kToken__2B_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__2C_, 1, C_Lexique_gtl_5F_scanner::kToken__2C_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__2F_, 1, C_Lexique_gtl_5F_scanner::kToken__2F_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3A_, 1, C_Lexique_gtl_5F_scanner::kToken__3A_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3C_, 1, C_Lexique_gtl_5F_scanner::kToken__3C_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3E_, 1, C_Lexique_gtl_5F_scanner::kToken__3E_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3F_, 1, C_Lexique_gtl_5F_scanner::kToken__3F_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__40_, 1, C_Lexique_gtl_5F_scanner::kToken__40_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__5B_, 1, C_Lexique_gtl_5F_scanner::kToken__5B_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__5D_, 1, C_Lexique_gtl_5F_scanner::kToken__5D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__5E_, 1, C_Lexique_gtl_5F_scanner::kToken__5E_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__7B_, 1, C_Lexique_gtl_5F_scanner::kToken__7B_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__7C_, 1, C_Lexique_gtl_5F_scanner::kToken__7C_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__7D_, 1, C_Lexique_gtl_5F_scanner::kToken__7D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__7E_, 1, C_Lexique_gtl_5F_scanner::kToken__7E_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__21__3D_, 2, C_Lexique_gtl_5F_scanner::kToken__21__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__26__3D_, 2, C_Lexique_gtl_5F_scanner::kToken__26__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__2A__3D_, 2, C_Lexique_gtl_5F_scanner::kToken__2A__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__2B__3D_, 2, C_Lexique_gtl_5F_scanner::kToken__2B__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__2D__3D_, 2, C_Lexique_gtl_5F_scanner::kToken__2D__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__2D__3E_, 2, C_Lexique_gtl_5F_scanner::kToken__2D__3E_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__2F__3D_, 2, C_Lexique_gtl_5F_scanner::kToken__2F__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3A__3A_, 2, C_Lexique_gtl_5F_scanner::kToken__3A__3A_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3A__3D_, 2, C_Lexique_gtl_5F_scanner::kToken__3A__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3C__2D_, 2, C_Lexique_gtl_5F_scanner::kToken__3C__2D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3C__3C_, 2, C_Lexique_gtl_5F_scanner::kToken__3C__3C_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3C__3D_, 2, C_Lexique_gtl_5F_scanner::kToken__3C__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3D__3D_, 2, C_Lexique_gtl_5F_scanner::kToken__3D__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3E__3D_, 2, C_Lexique_gtl_5F_scanner::kToken__3E__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3E__3E_, 2, C_Lexique_gtl_5F_scanner::kToken__3E__3E_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__40__21_, 2, C_Lexique_gtl_5F_scanner::kToken__40__21_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__40__28_, 2, C_Lexique_gtl_5F_scanner::kToken__40__28_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__40__3F_, 2, C_Lexique_gtl_5F_scanner::kToken__40__3F_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__40__5B_, 2, C_Lexique_gtl_5F_scanner::kToken__40__5B_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__40__7B_, 2, C_Lexique_gtl_5F_scanner::kToken__40__7B_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__5B__21_, 2, C_Lexique_gtl_5F_scanner::kToken__5B__21_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__5E__3D_, 2, C_Lexique_gtl_5F_scanner::kToken__5E__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__7C__3D_, 2, C_Lexique_gtl_5F_scanner::kToken__7C__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3C__3C__3D_, 3, C_Lexique_gtl_5F_scanner::kToken__3C__3C__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__3E__3E__3D_, 3, C_Lexique_gtl_5F_scanner::kToken__3E__3E__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_mod_3D_, 4, C_Lexique_gtl_5F_scanner::kToken_mod_3D_) +} ; + +int32_t C_Lexique_gtl_5F_scanner::search_into_galgasDelimitorsList (const C_String & inSearchedString) { return searchInList (inSearchedString, ktable_for_gtl_5F_scanner_galgasDelimitorsList, ktable_size_gtl_5F_scanner_galgasDelimitorsList) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Key words table 'goilTemplateKeyWordList' -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static const int32_t ktable_size_gtl_5F_scanner_goilTemplateKeyWordList = 58 ; static const C_unicode_lexique_table_entry ktable_for_gtl_5F_scanner_goilTemplateKeyWordList [ktable_size_gtl_5F_scanner_goilTemplateKeyWordList] = { - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_by, Lexique_gtl_5F_scanner::kToken_by), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_do, Lexique_gtl_5F_scanner::kToken_do), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_if, Lexique_gtl_5F_scanner::kToken_if), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_in, Lexique_gtl_5F_scanner::kToken_in), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_no, Lexique_gtl_5F_scanner::kToken_no), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_or, Lexique_gtl_5F_scanner::kToken_or), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_to, Lexique_gtl_5F_scanner::kToken_to), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_up, Lexique_gtl_5F_scanner::kToken_up), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_end, Lexique_gtl_5F_scanner::kToken_end), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_for, Lexique_gtl_5F_scanner::kToken_for), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_let, Lexique_gtl_5F_scanner::kToken_let), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_mod, Lexique_gtl_5F_scanner::kToken_mod), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_not, Lexique_gtl_5F_scanner::kToken_not), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_tab, Lexique_gtl_5F_scanner::kToken_tab), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_yes, Lexique_gtl_5F_scanner::kToken_yes), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_down, Lexique_gtl_5F_scanner::kToken_down), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_else, Lexique_gtl_5F_scanner::kToken_else), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_from, Lexique_gtl_5F_scanner::kToken_from), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_func, Lexique_gtl_5F_scanner::kToken_func), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_here, Lexique_gtl_5F_scanner::kToken_here), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_loop, Lexique_gtl_5F_scanner::kToken_loop), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_seed, Lexique_gtl_5F_scanner::kToken_seed), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_sort, Lexique_gtl_5F_scanner::kToken_sort), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_step, Lexique_gtl_5F_scanner::kToken_step), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_then, Lexique_gtl_5F_scanner::kToken_then), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_true, Lexique_gtl_5F_scanner::kToken_true), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_after, Lexique_gtl_5F_scanner::kToken_after), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_break, Lexique_gtl_5F_scanner::kToken_break), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_elsif, Lexique_gtl_5F_scanner::kToken_elsif), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_error, Lexique_gtl_5F_scanner::kToken_error), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_false, Lexique_gtl_5F_scanner::kToken_false), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_input, Lexique_gtl_5F_scanner::kToken_input), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_mapof, Lexique_gtl_5F_scanner::kToken_mapof), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_print, Lexique_gtl_5F_scanner::kToken_print), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_unlet, Lexique_gtl_5F_scanner::kToken_unlet), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_while, Lexique_gtl_5F_scanner::kToken_while), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_write, Lexique_gtl_5F_scanner::kToken_write), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_before, Lexique_gtl_5F_scanner::kToken_before), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_exists, Lexique_gtl_5F_scanner::kToken_exists), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_getter, Lexique_gtl_5F_scanner::kToken_getter), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_import, Lexique_gtl_5F_scanner::kToken_import), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_listof, Lexique_gtl_5F_scanner::kToken_listof), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_repeat, Lexique_gtl_5F_scanner::kToken_repeat), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_setter, Lexique_gtl_5F_scanner::kToken_setter), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_typeof, Lexique_gtl_5F_scanner::kToken_typeof), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_between, Lexique_gtl_5F_scanner::kToken_between), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_default, Lexique_gtl_5F_scanner::kToken_default), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_display, Lexique_gtl_5F_scanner::kToken_display), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_foreach, Lexique_gtl_5F_scanner::kToken_foreach), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_println, Lexique_gtl_5F_scanner::kToken_println), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_warning, Lexique_gtl_5F_scanner::kToken_warning), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__5F__5F_VARS_5F__5F_, Lexique_gtl_5F_scanner::kToken__5F__5F_VARS_5F__5F_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_emptymap, Lexique_gtl_5F_scanner::kToken_emptymap), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_template, Lexique_gtl_5F_scanner::kToken_template), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_emptylist, Lexique_gtl_5F_scanner::kToken_emptylist), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_libraries, Lexique_gtl_5F_scanner::kToken_libraries), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_variables, Lexique_gtl_5F_scanner::kToken_variables), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_executable, Lexique_gtl_5F_scanner::kToken_executable) -} ; - -int32_t Lexique_gtl_5F_scanner::search_into_goilTemplateKeyWordList (const String & inSearchedString) { + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_by, 2, C_Lexique_gtl_5F_scanner::kToken_by), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_do, 2, C_Lexique_gtl_5F_scanner::kToken_do), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_if, 2, C_Lexique_gtl_5F_scanner::kToken_if), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_in, 2, C_Lexique_gtl_5F_scanner::kToken_in), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_no, 2, C_Lexique_gtl_5F_scanner::kToken_no), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_or, 2, C_Lexique_gtl_5F_scanner::kToken_or), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_to, 2, C_Lexique_gtl_5F_scanner::kToken_to), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_up, 2, C_Lexique_gtl_5F_scanner::kToken_up), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_end, 3, C_Lexique_gtl_5F_scanner::kToken_end), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_for, 3, C_Lexique_gtl_5F_scanner::kToken_for), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_let, 3, C_Lexique_gtl_5F_scanner::kToken_let), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_mod, 3, C_Lexique_gtl_5F_scanner::kToken_mod), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_not, 3, C_Lexique_gtl_5F_scanner::kToken_not), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_tab, 3, C_Lexique_gtl_5F_scanner::kToken_tab), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_yes, 3, C_Lexique_gtl_5F_scanner::kToken_yes), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_down, 4, C_Lexique_gtl_5F_scanner::kToken_down), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_else, 4, C_Lexique_gtl_5F_scanner::kToken_else), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_from, 4, C_Lexique_gtl_5F_scanner::kToken_from), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_func, 4, C_Lexique_gtl_5F_scanner::kToken_func), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_here, 4, C_Lexique_gtl_5F_scanner::kToken_here), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_loop, 4, C_Lexique_gtl_5F_scanner::kToken_loop), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_seed, 4, C_Lexique_gtl_5F_scanner::kToken_seed), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_sort, 4, C_Lexique_gtl_5F_scanner::kToken_sort), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_step, 4, C_Lexique_gtl_5F_scanner::kToken_step), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_then, 4, C_Lexique_gtl_5F_scanner::kToken_then), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_true, 4, C_Lexique_gtl_5F_scanner::kToken_true), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_after, 5, C_Lexique_gtl_5F_scanner::kToken_after), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_break, 5, C_Lexique_gtl_5F_scanner::kToken_break), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_elsif, 5, C_Lexique_gtl_5F_scanner::kToken_elsif), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_error, 5, C_Lexique_gtl_5F_scanner::kToken_error), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_false, 5, C_Lexique_gtl_5F_scanner::kToken_false), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_input, 5, C_Lexique_gtl_5F_scanner::kToken_input), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_mapof, 5, C_Lexique_gtl_5F_scanner::kToken_mapof), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_print, 5, C_Lexique_gtl_5F_scanner::kToken_print), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_unlet, 5, C_Lexique_gtl_5F_scanner::kToken_unlet), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_while, 5, C_Lexique_gtl_5F_scanner::kToken_while), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_write, 5, C_Lexique_gtl_5F_scanner::kToken_write), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_before, 6, C_Lexique_gtl_5F_scanner::kToken_before), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_exists, 6, C_Lexique_gtl_5F_scanner::kToken_exists), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_getter, 6, C_Lexique_gtl_5F_scanner::kToken_getter), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_import, 6, C_Lexique_gtl_5F_scanner::kToken_import), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_listof, 6, C_Lexique_gtl_5F_scanner::kToken_listof), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_repeat, 6, C_Lexique_gtl_5F_scanner::kToken_repeat), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_setter, 6, C_Lexique_gtl_5F_scanner::kToken_setter), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_typeof, 6, C_Lexique_gtl_5F_scanner::kToken_typeof), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_between, 7, C_Lexique_gtl_5F_scanner::kToken_between), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_default, 7, C_Lexique_gtl_5F_scanner::kToken_default), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_display, 7, C_Lexique_gtl_5F_scanner::kToken_display), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_foreach, 7, C_Lexique_gtl_5F_scanner::kToken_foreach), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_println, 7, C_Lexique_gtl_5F_scanner::kToken_println), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_warning, 7, C_Lexique_gtl_5F_scanner::kToken_warning), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner__5F__5F_VARS_5F__5F_, 8, C_Lexique_gtl_5F_scanner::kToken__5F__5F_VARS_5F__5F_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_emptymap, 8, C_Lexique_gtl_5F_scanner::kToken_emptymap), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_template, 8, C_Lexique_gtl_5F_scanner::kToken_template), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_emptylist, 9, C_Lexique_gtl_5F_scanner::kToken_emptylist), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_libraries, 9, C_Lexique_gtl_5F_scanner::kToken_libraries), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_variables, 9, C_Lexique_gtl_5F_scanner::kToken_variables), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_scanner_executable, 10, C_Lexique_gtl_5F_scanner::kToken_executable) +} ; + +int32_t C_Lexique_gtl_5F_scanner::search_into_goilTemplateKeyWordList (const C_String & inSearchedString) { return searchInList (inSearchedString, ktable_for_gtl_5F_scanner_goilTemplateKeyWordList, ktable_size_gtl_5F_scanner_goilTemplateKeyWordList) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // getCurrentTokenString -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String Lexique_gtl_5F_scanner::getCurrentTokenString (const cToken * inTokenPtr) const { +C_String C_Lexique_gtl_5F_scanner::getCurrentTokenString (const cToken * inTokenPtr) const { const cTokenFor_gtl_5F_scanner * ptr = (const cTokenFor_gtl_5F_scanner *) inTokenPtr ; - String s ; + C_String s ; if (ptr == nullptr) { - s.appendCString ("$$") ; + s.appendCString("$$") ; }else{ switch (ptr->mTokenCode) { case kToken_: - s.appendCString ("$$") ; + s.appendCString("$$") ; break ; case kToken_identifier: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("identifier") ; - s.appendChar (TO_UNICODE ('$')) ; - s.appendChar (TO_UNICODE (' ')) ; - s.appendStringAsCLiteralStringConstant (ptr->mLexicalAttribute_tokenString) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; + s.appendCLiteralStringConstant (ptr->mLexicalAttribute_tokenString) ; break ; case kToken_literal_5F_enum: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("literal_enum") ; - s.appendChar (TO_UNICODE ('$')) ; - s.appendChar (TO_UNICODE (' ')) ; - s.appendStringAsCLiteralStringConstant (ptr->mLexicalAttribute_tokenString) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; + s.appendCLiteralStringConstant (ptr->mLexicalAttribute_tokenString) ; break ; case kToken_literal_5F_double: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("literal_double") ; - s.appendChar (TO_UNICODE ('$')) ; - s.appendChar (TO_UNICODE (' ')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; s.appendDouble (ptr->mLexicalAttribute_floatValue) ; break ; case kToken_signed_5F_literal_5F_integer_5F_bigint: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("signed_literal_integer_bigint") ; - s.appendChar (TO_UNICODE ('$')) ; - s.appendChar (TO_UNICODE (' ')) ; - s.appendStringAsCLiteralStringConstant (ptr->mLexicalAttribute_intValue.decimalString ()) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; + s.appendCLiteralStringConstant (ptr->mLexicalAttribute_intValue.decimalString ()) ; break ; case kToken__2D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("-") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2E_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString (".") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2E__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString (".=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2E__2E__2E_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("...") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_literal_5F_char: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("literal_char") ; - s.appendChar (TO_UNICODE ('$')) ; - s.appendChar (TO_UNICODE (' ')) ; - s.appendChar (ptr->mLexicalAttribute_charValue) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; + s.appendUnicodeCharacter (ptr->mLexicalAttribute_charValue COMMA_HERE) ; break ; case kToken_string: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("string") ; - s.appendChar (TO_UNICODE ('$')) ; - s.appendChar (TO_UNICODE (' ')) ; - s.appendStringAsCLiteralStringConstant (ptr->mLexicalAttribute_a_5F_string) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; + s.appendCLiteralStringConstant (ptr->mLexicalAttribute_a_5F_string) ; break ; case kToken_comment: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("comment") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_after: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("after") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_before: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("before") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_between: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("between") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_by: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("by") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_default: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("default") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_display: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("display") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_do: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("do") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_down: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("down") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_else: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("else") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_elsif: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("elsif") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_emptylist: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("emptylist") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_emptymap: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("emptymap") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_end: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("end") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_error: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("error") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_exists: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("exists") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_false: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("false") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_for: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("for") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_foreach: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("foreach") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_from: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("from") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_func: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("func") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_here: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("here") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_if: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("if") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_in: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("in") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_import: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("import") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_listof: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("listof") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_let: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("let") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_loop: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("loop") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_mapof: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("mapof") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_mod: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("mod") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_no: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("no") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_not: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("not") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_or: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("or") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_print: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("print") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_println: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("println") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_seed: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("seed") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_repeat: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("repeat") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_sort: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("sort") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_step: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("step") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_tab: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("tab") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_template: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("template") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_then: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("then") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_to: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("to") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_true: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("true") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_typeof: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("typeof") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_up: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("up") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_yes: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("yes") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_warning: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("warning") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_while: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("while") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_write: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("write") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_executable: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("executable") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_variables: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("variables") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_getter: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("getter") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_unlet: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("unlet") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_setter: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("setter") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_libraries: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("libraries") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_input: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("input") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_break: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("break") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__5F__5F_VARS_5F__5F_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("__VARS__") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2A_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("*") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__7C_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("|") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2C_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString (",") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2B_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("+") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3A__3A_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("::") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3E_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString (">") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3A_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString (":") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__28_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("(") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__29_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString (")") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2D__3E_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("->") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3F_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("\?") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3D__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("==") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__21_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("!") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3A__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString (":=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__5B_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("[") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__5D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("]") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2B__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("+=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2D__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("-=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2F_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("/") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__21__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("!=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3E__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString (">=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__26_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("&") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3C__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("<=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__7B_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("{") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__7D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("}") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3C_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("<") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__5E_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("^") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3E__3E_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString (">>") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__7E_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("~") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3C__2D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("<-") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3C__3C_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("<<") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__40_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("@") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2A__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("*=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2F__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("/=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__26__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("&=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__7C__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("|=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3C__3C__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("<<=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3E__3E__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString (">>=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_mod_3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("mod=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__5E__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("^=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__40__5B_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("@[") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__40__28_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("@(") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__40__7B_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("@{") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__5B__21_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("[!") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__40__21_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("@!") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__40__3F_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("@\?") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; default: break ; @@ -7439,17 +7094,17 @@ String Lexique_gtl_5F_scanner::getCurrentTokenString (const cToken * inTokenPtr) return s ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Template Delimiters -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static const cTemplateDelimiter gtl_5F_scanner_kTemplateDefinitionArray [1] = { cTemplateDelimiter (kUnicodeString_gtl_5F_scanner__25_, 1, kUnicodeString_gtl_5F_scanner__25_, 1, nullptr, true) } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Template Replacements -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static const cTemplateDelimiter gtl_5F_scanner_kTemplateReplacementArray [3] = { cTemplateDelimiter (kUnicodeString_gtl_5F_scanner__5C__25_, 2, kUnicodeString_gtl_5F_scanner__25_, 1, nullptr, true), @@ -7457,9 +7112,9 @@ static const cTemplateDelimiter gtl_5F_scanner_kTemplateReplacementArray [3] = { cTemplateDelimiter (kUnicodeString_gtl_5F_scanner__5C__5C_, 2, kUnicodeString_gtl_5F_scanner__5C_, 1, nullptr, true) } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Terminal Symbols as end of script in template mark -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static const bool gtl_5F_scanner_kEndOfScriptInTemplateArray [115] = { false /* identifier */, @@ -7579,19 +7234,19 @@ static const bool gtl_5F_scanner_kEndOfScriptInTemplateArray [115] = { false /* @? */ } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // INTERNAL PARSE LEXICAL TOKEN -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void Lexique_gtl_5F_scanner::internalParseLexicalToken (cTokenFor_gtl_5F_scanner & token) { +void C_Lexique_gtl_5F_scanner::internalParseLexicalToken (cTokenFor_gtl_5F_scanner & token) { bool loop = true ; - token.mLexicalAttribute_a_5F_string.removeAllKeepingCapacity () ; + token.mLexicalAttribute_a_5F_string.setLengthToZero () ; token.mLexicalAttribute_charValue = TO_UNICODE (0) ; token.mLexicalAttribute_floatValue = 0.0 ; - token.mLexicalAttribute_functionContent.removeAllKeepingCapacity () ; - token.mLexicalAttribute_identifierString.removeAllKeepingCapacity () ; - token.mLexicalAttribute_intValue = BigSigned () ; - token.mLexicalAttribute_tokenString.removeAllKeepingCapacity () ; + token.mLexicalAttribute_functionContent.setLengthToZero () ; + token.mLexicalAttribute_identifierString.setLengthToZero () ; + token.mLexicalAttribute_intValue.setToZero () ; + token.mLexicalAttribute_tokenString.setLengthToZero () ; token.mLexicalAttribute_uint_33__32_value = 0 ; mTokenStartLocation = mCurrentLocation ; try{ @@ -7623,142 +7278,142 @@ void Lexique_gtl_5F_scanner::internalParseLexicalToken (cTokenFor_gtl_5F_scanner loop = true ; token.mTokenCode = kToken_literal_5F_enum ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner_mod_3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner_mod_3D_, 4, true)) { token.mTokenCode = kToken_mod_3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3E__3E__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3E__3E__3D_, 3, true)) { token.mTokenCode = kToken__3E__3E__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3C__3C__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3C__3C__3D_, 3, true)) { token.mTokenCode = kToken__3C__3C__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__7C__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__7C__3D_, 2, true)) { token.mTokenCode = kToken__7C__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__5E__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__5E__3D_, 2, true)) { token.mTokenCode = kToken__5E__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__5B__21_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__5B__21_, 2, true)) { token.mTokenCode = kToken__5B__21_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__40__7B_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__40__7B_, 2, true)) { token.mTokenCode = kToken__40__7B_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__40__5B_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__40__5B_, 2, true)) { token.mTokenCode = kToken__40__5B_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__40__3F_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__40__3F_, 2, true)) { token.mTokenCode = kToken__40__3F_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__40__28_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__40__28_, 2, true)) { token.mTokenCode = kToken__40__28_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__40__21_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__40__21_, 2, true)) { token.mTokenCode = kToken__40__21_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3E__3E_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3E__3E_, 2, true)) { token.mTokenCode = kToken__3E__3E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3E__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3E__3D_, 2, true)) { token.mTokenCode = kToken__3E__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3D__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3D__3D_, 2, true)) { token.mTokenCode = kToken__3D__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3C__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3C__3D_, 2, true)) { token.mTokenCode = kToken__3C__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3C__3C_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3C__3C_, 2, true)) { token.mTokenCode = kToken__3C__3C_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3C__2D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3C__2D_, 2, true)) { token.mTokenCode = kToken__3C__2D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3A__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3A__3D_, 2, true)) { token.mTokenCode = kToken__3A__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3A__3A_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3A__3A_, 2, true)) { token.mTokenCode = kToken__3A__3A_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2F__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2F__3D_, 2, true)) { token.mTokenCode = kToken__2F__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2D__3E_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2D__3E_, 2, true)) { token.mTokenCode = kToken__2D__3E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2D__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2D__3D_, 2, true)) { token.mTokenCode = kToken__2D__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2B__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2B__3D_, 2, true)) { token.mTokenCode = kToken__2B__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2A__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2A__3D_, 2, true)) { token.mTokenCode = kToken__2A__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__26__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__26__3D_, 2, true)) { token.mTokenCode = kToken__26__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__21__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__21__3D_, 2, true)) { token.mTokenCode = kToken__21__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__7E_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__7E_, 1, true)) { token.mTokenCode = kToken__7E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__7D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__7D_, 1, true)) { token.mTokenCode = kToken__7D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__7C_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__7C_, 1, true)) { token.mTokenCode = kToken__7C_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__7B_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__7B_, 1, true)) { token.mTokenCode = kToken__7B_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__5E_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__5E_, 1, true)) { token.mTokenCode = kToken__5E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__5D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__5D_, 1, true)) { token.mTokenCode = kToken__5D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__5B_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__5B_, 1, true)) { token.mTokenCode = kToken__5B_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__40_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__40_, 1, true)) { token.mTokenCode = kToken__40_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3F_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3F_, 1, true)) { token.mTokenCode = kToken__3F_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3E_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3E_, 1, true)) { token.mTokenCode = kToken__3E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3C_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3C_, 1, true)) { token.mTokenCode = kToken__3C_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3A_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3A_, 1, true)) { token.mTokenCode = kToken__3A_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2F_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2F_, 1, true)) { token.mTokenCode = kToken__2F_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2C_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2C_, 1, true)) { token.mTokenCode = kToken__2C_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2B_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2B_, 1, true)) { token.mTokenCode = kToken__2B_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2A_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2A_, 1, true)) { token.mTokenCode = kToken__2A_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__29_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__29_, 1, true)) { token.mTokenCode = kToken__29_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__28_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__28_, 1, true)) { token.mTokenCode = kToken__28_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__26_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__26_, 1, true)) { token.mTokenCode = kToken__26_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__21_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__21_, 1, true)) { token.mTokenCode = kToken__21_ ; enterToken (token) ; }else if (testForInputUTF32Char (TO_UNICODE ('-'))) { @@ -7797,7 +7452,7 @@ void Lexique_gtl_5F_scanner::internalParseLexicalToken (cTokenFor_gtl_5F_scanner token.mTokenCode = kToken__2D_ ; enterToken (token) ; } - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__30_x, true) || testForInputUTF32String (kUnicodeString_gtl_5F_scanner__30_X, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__30_x, 2, true) || testForInputUTF32String (kUnicodeString_gtl_5F_scanner__30_X, 2, true)) { do { if (testForInputUTF32CharRange (TO_UNICODE ('0'), TO_UNICODE ('9')) || testForInputUTF32CharRange (TO_UNICODE ('a'), TO_UNICODE ('f')) || testForInputUTF32CharRange (TO_UNICODE ('A'), TO_UNICODE ('F'))) { ::scanner_routine_enterCharacterIntoString (*this, token.mLexicalAttribute_tokenString, previousChar ()) ; @@ -7857,10 +7512,10 @@ void Lexique_gtl_5F_scanner::internalParseLexicalToken (cTokenFor_gtl_5F_scanner token.mTokenCode = kToken_literal_5F_double ; enterToken (token) ; }else{ - if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2E__2E_, true)) { + if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2E__2E_, 2, true)) { token.mTokenCode = kToken__2E__2E__2E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3D_, 1, true)) { token.mTokenCode = kToken__2E__3D_ ; enterToken (token) ; }else{ @@ -7952,7 +7607,7 @@ void Lexique_gtl_5F_scanner::internalParseLexicalToken (cTokenFor_gtl_5F_scanner } }else if (testForInputUTF32Char (TO_UNICODE ('&'))) { do { - if (notTestForInputUTF32String (kUnicodeString_gtl_5F_scanner__3B_, gLexicalMessage_gtl_5F_scanner_incorrectHTMLescapeSequence COMMA_LINE_AND_SOURCE_FILE)) { + if (notTestForInputUTF32String (kUnicodeString_gtl_5F_scanner__3B_, 1, gLexicalMessage_gtl_5F_scanner_incorrectHTMLescapeSequence COMMA_LINE_AND_SOURCE_FILE)) { ::scanner_routine_enterCharacterIntoString (*this, token.mLexicalAttribute_tokenString, previousChar ()) ; }else{ loop = false ; @@ -7997,7 +7652,7 @@ void Lexique_gtl_5F_scanner::internalParseLexicalToken (cTokenFor_gtl_5F_scanner ::scanner_routine_enterCharacterIntoString (*this, token.mLexicalAttribute_a_5F_string, TO_UNICODE ('\?')) ; }else if (testForInputUTF32Char (TO_UNICODE ('&'))) { do { - if (notTestForInputUTF32String (kUnicodeString_gtl_5F_scanner__3B_, gLexicalMessage_gtl_5F_scanner_incorrectHTMLescapeSequence COMMA_LINE_AND_SOURCE_FILE)) { + if (notTestForInputUTF32String (kUnicodeString_gtl_5F_scanner__3B_, 1, gLexicalMessage_gtl_5F_scanner_incorrectHTMLescapeSequence COMMA_LINE_AND_SOURCE_FILE)) { ::scanner_routine_enterCharacterIntoString (*this, token.mLexicalAttribute_identifierString, previousChar ()) ; }else{ loop = false ; @@ -8111,11 +7766,11 @@ void Lexique_gtl_5F_scanner::internalParseLexicalToken (cTokenFor_gtl_5F_scanner } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // P A R S E L E X I C A L T O K E N -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool Lexique_gtl_5F_scanner::parseLexicalToken (void) { +bool C_Lexique_gtl_5F_scanner::parseLexicalToken (void) { cTokenFor_gtl_5F_scanner token ; token.mTokenCode = -1 ; while ((token.mTokenCode < 0) && (UNICODE_VALUE (mCurrentChar) != '\0')) { @@ -8123,7 +7778,8 @@ bool Lexique_gtl_5F_scanner::parseLexicalToken (void) { && (gtl_5F_scanner_kTemplateDefinitionArray [mMatchedTemplateDelimiterIndex].mEndStringLength > 0) && (UNICODE_VALUE (mCurrentChar) != '\0')) { const bool foundEndDelimitor = testForInputUTF32String (gtl_5F_scanner_kTemplateDefinitionArray [mMatchedTemplateDelimiterIndex].mEndString, - true) ; + gtl_5F_scanner_kTemplateDefinitionArray [mMatchedTemplateDelimiterIndex].mEndStringLength, + true) ; if (foundEndDelimitor) { mMatchedTemplateDelimiterIndex = -1 ; } @@ -8134,13 +7790,14 @@ bool Lexique_gtl_5F_scanner::parseLexicalToken (void) { replacementIndex = findTemplateDelimiterIndex (gtl_5F_scanner_kTemplateReplacementArray, 3) ; if (replacementIndex >= 0) { if (gtl_5F_scanner_kTemplateReplacementArray [replacementIndex].mReplacementFunction == nullptr) { - token.mTemplateStringBeforeToken.appendString (gtl_5F_scanner_kTemplateReplacementArray [replacementIndex].mEndString) ; + token.mTemplateStringBeforeToken << gtl_5F_scanner_kTemplateReplacementArray [replacementIndex].mEndString ; }else{ - String s ; + C_String s ; while (notTestForInputUTF32String (gtl_5F_scanner_kTemplateReplacementArray [replacementIndex].mEndString, - kEndOfSourceLexicalErrorMessage + gtl_5F_scanner_kTemplateReplacementArray [replacementIndex].mEndStringLength, + kEndOfSourceLexicalErrorMessage COMMA_HERE)) { - s.appendChar (previousChar ()) ; + s.appendUnicodeCharacter (previousChar () COMMA_HERE) ; } gtl_5F_scanner_kTemplateReplacementArray [replacementIndex].mReplacementFunction (*this, s, token.mTemplateStringBeforeToken) ; } @@ -8148,7 +7805,7 @@ bool Lexique_gtl_5F_scanner::parseLexicalToken (void) { } mMatchedTemplateDelimiterIndex = findTemplateDelimiterIndex (gtl_5F_scanner_kTemplateDefinitionArray, 1) ; if (mMatchedTemplateDelimiterIndex < 0) { - token.mTemplateStringBeforeToken.appendChar (mCurrentChar) ; + token.mTemplateStringBeforeToken.appendUnicodeCharacter (mCurrentChar COMMA_HERE) ; advance () ; } } @@ -8167,14 +7824,15 @@ bool Lexique_gtl_5F_scanner::parseLexicalToken (void) { return token.mTokenCode > 0 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // E N T E R T O K E N -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void Lexique_gtl_5F_scanner::enterToken (cTokenFor_gtl_5F_scanner & ioToken) { +void C_Lexique_gtl_5F_scanner::enterToken (cTokenFor_gtl_5F_scanner & ioToken) { cTokenFor_gtl_5F_scanner * ptr = nullptr ; macroMyNew (ptr, cTokenFor_gtl_5F_scanner ()) ; ptr->mTokenCode = ioToken.mTokenCode ; + // ptr->mIsOptional = ioToken.mIsOptional ; ptr->mStartLocation = mTokenStartLocation ; ptr->mEndLocation = mTokenEndLocation ; ptr->mTemplateStringBeforeToken = ioToken.mTemplateStringBeforeToken ; @@ -8190,69 +7848,69 @@ void Lexique_gtl_5F_scanner::enterToken (cTokenFor_gtl_5F_scanner & ioToken) { enterTokenFromPointer (ptr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // A T T R I B U T E A C C E S S -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String Lexique_gtl_5F_scanner::attributeValue_a_5F_string (void) const { +C_String C_Lexique_gtl_5F_scanner::attributeValue_a_5F_string (void) const { cTokenFor_gtl_5F_scanner * ptr = (cTokenFor_gtl_5F_scanner *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_a_5F_string ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -utf32 Lexique_gtl_5F_scanner::attributeValue_charValue (void) const { +utf32 C_Lexique_gtl_5F_scanner::attributeValue_charValue (void) const { cTokenFor_gtl_5F_scanner * ptr = (cTokenFor_gtl_5F_scanner *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_charValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -double Lexique_gtl_5F_scanner::attributeValue_floatValue (void) const { +double C_Lexique_gtl_5F_scanner::attributeValue_floatValue (void) const { cTokenFor_gtl_5F_scanner * ptr = (cTokenFor_gtl_5F_scanner *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_floatValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String Lexique_gtl_5F_scanner::attributeValue_functionContent (void) const { +C_String C_Lexique_gtl_5F_scanner::attributeValue_functionContent (void) const { cTokenFor_gtl_5F_scanner * ptr = (cTokenFor_gtl_5F_scanner *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_functionContent ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String Lexique_gtl_5F_scanner::attributeValue_identifierString (void) const { +C_String C_Lexique_gtl_5F_scanner::attributeValue_identifierString (void) const { cTokenFor_gtl_5F_scanner * ptr = (cTokenFor_gtl_5F_scanner *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_identifierString ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -BigSigned Lexique_gtl_5F_scanner::attributeValue_intValue (void) const { +C_BigInt C_Lexique_gtl_5F_scanner::attributeValue_intValue (void) const { cTokenFor_gtl_5F_scanner * ptr = (cTokenFor_gtl_5F_scanner *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_intValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String Lexique_gtl_5F_scanner::attributeValue_tokenString (void) const { +C_String C_Lexique_gtl_5F_scanner::attributeValue_tokenString (void) const { cTokenFor_gtl_5F_scanner * ptr = (cTokenFor_gtl_5F_scanner *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_tokenString ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -uint32_t Lexique_gtl_5F_scanner::attributeValue_uint_33__32_value (void) const { +uint32_t C_Lexique_gtl_5F_scanner::attributeValue_uint_33__32_value (void) const { cTokenFor_gtl_5F_scanner * ptr = (cTokenFor_gtl_5F_scanner *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_uint_33__32_value ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // A S S I G N F R O M A T T R I B U T E -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring Lexique_gtl_5F_scanner::synthetizedAttribute_a_5F_string (void) const { +GALGAS_lstring C_Lexique_gtl_5F_scanner::synthetizedAttribute_a_5F_string (void) const { cTokenFor_gtl_5F_scanner * ptr = (cTokenFor_gtl_5F_scanner *) currentTokenPtr (HERE) ; macroValidSharedObject (ptr, cTokenFor_gtl_5F_scanner) ; GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; @@ -8261,9 +7919,9 @@ GALGAS_lstring Lexique_gtl_5F_scanner::synthetizedAttribute_a_5F_string (void) c return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lchar Lexique_gtl_5F_scanner::synthetizedAttribute_charValue (void) const { +GALGAS_lchar C_Lexique_gtl_5F_scanner::synthetizedAttribute_charValue (void) const { cTokenFor_gtl_5F_scanner * ptr = (cTokenFor_gtl_5F_scanner *) currentTokenPtr (HERE) ; macroValidSharedObject (ptr, cTokenFor_gtl_5F_scanner) ; GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; @@ -8272,9 +7930,9 @@ GALGAS_lchar Lexique_gtl_5F_scanner::synthetizedAttribute_charValue (void) const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_ldouble Lexique_gtl_5F_scanner::synthetizedAttribute_floatValue (void) const { +GALGAS_ldouble C_Lexique_gtl_5F_scanner::synthetizedAttribute_floatValue (void) const { cTokenFor_gtl_5F_scanner * ptr = (cTokenFor_gtl_5F_scanner *) currentTokenPtr (HERE) ; macroValidSharedObject (ptr, cTokenFor_gtl_5F_scanner) ; GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; @@ -8283,9 +7941,9 @@ GALGAS_ldouble Lexique_gtl_5F_scanner::synthetizedAttribute_floatValue (void) co return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring Lexique_gtl_5F_scanner::synthetizedAttribute_functionContent (void) const { +GALGAS_lstring C_Lexique_gtl_5F_scanner::synthetizedAttribute_functionContent (void) const { cTokenFor_gtl_5F_scanner * ptr = (cTokenFor_gtl_5F_scanner *) currentTokenPtr (HERE) ; macroValidSharedObject (ptr, cTokenFor_gtl_5F_scanner) ; GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; @@ -8294,9 +7952,9 @@ GALGAS_lstring Lexique_gtl_5F_scanner::synthetizedAttribute_functionContent (voi return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring Lexique_gtl_5F_scanner::synthetizedAttribute_identifierString (void) const { +GALGAS_lstring C_Lexique_gtl_5F_scanner::synthetizedAttribute_identifierString (void) const { cTokenFor_gtl_5F_scanner * ptr = (cTokenFor_gtl_5F_scanner *) currentTokenPtr (HERE) ; macroValidSharedObject (ptr, cTokenFor_gtl_5F_scanner) ; GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; @@ -8305,9 +7963,9 @@ GALGAS_lstring Lexique_gtl_5F_scanner::synthetizedAttribute_identifierString (vo return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lbigint Lexique_gtl_5F_scanner::synthetizedAttribute_intValue (void) const { +GALGAS_lbigint C_Lexique_gtl_5F_scanner::synthetizedAttribute_intValue (void) const { cTokenFor_gtl_5F_scanner * ptr = (cTokenFor_gtl_5F_scanner *) currentTokenPtr (HERE) ; macroValidSharedObject (ptr, cTokenFor_gtl_5F_scanner) ; GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; @@ -8316,9 +7974,9 @@ GALGAS_lbigint Lexique_gtl_5F_scanner::synthetizedAttribute_intValue (void) cons return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring Lexique_gtl_5F_scanner::synthetizedAttribute_tokenString (void) const { +GALGAS_lstring C_Lexique_gtl_5F_scanner::synthetizedAttribute_tokenString (void) const { cTokenFor_gtl_5F_scanner * ptr = (cTokenFor_gtl_5F_scanner *) currentTokenPtr (HERE) ; macroValidSharedObject (ptr, cTokenFor_gtl_5F_scanner) ; GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; @@ -8327,9 +7985,9 @@ GALGAS_lstring Lexique_gtl_5F_scanner::synthetizedAttribute_tokenString (void) c return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_luint Lexique_gtl_5F_scanner::synthetizedAttribute_uint_33__32_value (void) const { +GALGAS_luint C_Lexique_gtl_5F_scanner::synthetizedAttribute_uint_33__32_value (void) const { cTokenFor_gtl_5F_scanner * ptr = (cTokenFor_gtl_5F_scanner *) currentTokenPtr (HERE) ; macroValidSharedObject (ptr, cTokenFor_gtl_5F_scanner) ; GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; @@ -8338,142 +7996,142 @@ GALGAS_luint Lexique_gtl_5F_scanner::synthetizedAttribute_uint_33__32_value (voi return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // I N T R O S P E C T I O N -//-------------------------------------------------------------------------------------------------- - -GALGAS_stringlist Lexique_gtl_5F_scanner::symbols (LOCATION_ARGS) { - GALGAS_stringlist result = GALGAS_stringlist::class_func_emptyList (THERE) ; - result.addAssign_operation (GALGAS_string ("identifier") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("literal_enum") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("literal_double") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("signed_literal_integer_bigint") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("-") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string (".") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string (".=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("...") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("literal_char") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("string") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("comment") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("after") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("before") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("between") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("by") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("default") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("display") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("do") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("down") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("else") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("elsif") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("emptylist") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("emptymap") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("end") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("error") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("exists") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("false") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("for") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("foreach") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("from") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("func") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("here") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("if") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("in") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("import") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("listof") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("let") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("loop") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("mapof") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("mod") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("no") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("not") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("or") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("print") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("println") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("seed") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("repeat") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("sort") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("step") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("tab") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("template") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("then") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("to") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("true") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("typeof") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("up") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("yes") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("warning") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("while") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("write") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("executable") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("variables") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("getter") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("unlet") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("setter") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("libraries") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("input") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("break") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("__VARS__") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("*") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("|") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string (",") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("+") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("::") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string (">") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string (":") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("(") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string (")") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("->") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("\?") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("==") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("!") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string (":=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("[") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("]") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("+=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("-=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("/") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("!=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string (">=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("&") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("<=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("{") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("}") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("<") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("^") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string (">>") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("~") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("<-") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("<<") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("@") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("*=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("/=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("&=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("|=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("<<=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string (">>=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("mod=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("^=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("@[") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("@(") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("@{") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("[!") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("@!") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("@\?") COMMA_HERE) ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -static void getKeywordLists_gtl_5F_scanner (TC_UniqueArray & ioList) { +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_stringlist C_Lexique_gtl_5F_scanner::symbols (LOCATION_ARGS) { + GALGAS_stringlist result = GALGAS_stringlist::constructor_emptyList (THERE) ; + result.addAssign_operation (GALGAS_string ("identifier") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("literal_enum") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("literal_double") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("signed_literal_integer_bigint") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("-") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string (".") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string (".=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("...") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("literal_char") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("string") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("comment") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("after") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("before") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("between") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("by") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("default") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("display") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("do") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("down") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("else") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("elsif") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("emptylist") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("emptymap") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("end") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("error") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("exists") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("false") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("for") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("foreach") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("from") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("func") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("here") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("if") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("in") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("import") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("listof") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("let") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("loop") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("mapof") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("mod") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("no") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("not") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("or") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("print") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("println") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("seed") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("repeat") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("sort") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("step") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("tab") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("template") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("then") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("to") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("true") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("typeof") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("up") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("yes") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("warning") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("while") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("write") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("executable") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("variables") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("getter") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("unlet") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("setter") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("libraries") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("input") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("break") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("__VARS__") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("*") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("|") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string (",") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("+") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("::") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string (">") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string (":") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("(") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string (")") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("->") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("\?") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("==") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("!") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string (":=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("[") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("]") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("+=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("-=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("/") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("!=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string (">=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("&") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("<=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("{") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("}") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("<") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("^") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string (">>") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("~") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("<-") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("<<") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("@") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("*=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("/=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("&=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("|=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("<<=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string (">>=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("mod=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("^=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("@[") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("@(") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("@{") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("[!") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("@!") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("@\?") COMMA_THERE) ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +static void getKeywordLists_gtl_5F_scanner (TC_UniqueArray & ioList) { ioList.appendObject ("gtl_scanner:galgasDelimitorsList") ; ioList.appendObject ("gtl_scanner:goilTemplateKeyWordList") ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static void getKeywordsForIdentifier_gtl_5F_scanner (const String & inIdentifier, +static void getKeywordsForIdentifier_gtl_5F_scanner (const C_String & inIdentifier, bool & ioFound, - TC_UniqueArray & ioList) { + TC_UniqueArray & ioList) { if (inIdentifier == "gtl_scanner:galgasDelimitorsList") { ioFound = true ; ioList.appendObject ("!") ; @@ -8588,17 +8246,17 @@ static void getKeywordsForIdentifier_gtl_5F_scanner (const String & inIdentifier } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static cLexiqueIntrospection lexiqueIntrospection_gtl_5F_scanner __attribute__ ((used)) __attribute__ ((unused)) (getKeywordLists_gtl_5F_scanner, getKeywordsForIdentifier_gtl_5F_scanner) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // S T Y L E I N D E X F O R T E R M I N A L -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -uint32_t Lexique_gtl_5F_scanner::styleIndexForTerminal (const int32_t inTerminalIndex) const { +uint32_t C_Lexique_gtl_5F_scanner::styleIndexForTerminal (const int32_t inTerminalIndex) const { static const uint32_t kTerminalSymbolStyles [116] = {0, 0 /* gtl_scanner_1_identifier */, 0 /* gtl_scanner_1_literal_5F_enum */, @@ -8719,12 +8377,12 @@ uint32_t Lexique_gtl_5F_scanner::styleIndexForTerminal (const int32_t inTerminal return (inTerminalIndex >= 0) ? kTerminalSymbolStyles [inTerminalIndex] : 0 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // S T Y L E N A M E F O R S T Y L E I N D E X -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String Lexique_gtl_5F_scanner::styleNameForIndex (const uint32_t inStyleIndex) const { - String result ; +C_String C_Lexique_gtl_5F_scanner::styleNameForIndex (const uint32_t inStyleIndex) const { + C_String result ; if (inStyleIndex < 9) { static const char * kStyleArray [9] = { "", @@ -8742,16 +8400,16 @@ String Lexique_gtl_5F_scanner::styleNameForIndex (const uint32_t inStyleIndex) c return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Class for element of '@gtlArgumentList' list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cCollectionElement_gtlArgumentList : public cCollectionElement { public: GALGAS_gtlArgumentList_2D_element mObject ; -//--- Class functions +//--- Constructors public: cCollectionElement_gtlArgumentList (const GALGAS_bool & in_typed, const GALGAS_type & in_type, const GALGAS_lstring & in_name @@ -8768,10 +8426,10 @@ class cCollectionElement_gtlArgumentList : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_gtlArgumentList::cCollectionElement_gtlArgumentList (const GALGAS_bool & in_typed, const GALGAS_type & in_type, @@ -8781,20 +8439,20 @@ cCollectionElement (THERE), mObject (in_typed, in_type, in_name) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_gtlArgumentList::cCollectionElement_gtlArgumentList (const GALGAS_gtlArgumentList_2D_element & inElement COMMA_LOCATION_ARGS) : cCollectionElement (THERE), mObject (inElement.mProperty_typed, inElement.mProperty_type, inElement.mProperty_name) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cCollectionElement_gtlArgumentList::isValid (void) const { return true ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement * cCollectionElement_gtlArgumentList::copy (void) { cCollectionElement * result = nullptr ; @@ -8802,24 +8460,24 @@ cCollectionElement * cCollectionElement_gtlArgumentList::copy (void) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cCollectionElement_gtlArgumentList::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("typed" ":") ; +void cCollectionElement_gtlArgumentList::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "typed" ":" ; mObject.mProperty_typed.description (ioString, inIndentation) ; - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("type" ":") ; + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "type" ":" ; mObject.mProperty_type.description (ioString, inIndentation) ; - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("name" ":") ; + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "name" ":" ; mObject.mProperty_name.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_gtlArgumentList::compare (const cCollectionElement * inOperand) const { cCollectionElement_gtlArgumentList * operand = (cCollectionElement_gtlArgumentList *) inOperand ; @@ -8827,30 +8485,30 @@ typeComparisonResult cCollectionElement_gtlArgumentList::compare (const cCollect return mObject.objectCompare (operand->mObject) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlArgumentList::GALGAS_gtlArgumentList (void) : AC_GALGAS_list () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlArgumentList::GALGAS_gtlArgumentList (const capCollectionElementArray & inSharedArray) : AC_GALGAS_list (inSharedArray) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlArgumentList GALGAS_gtlArgumentList::class_func_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_gtlArgumentList (capCollectionElementArray ()) ; +GALGAS_gtlArgumentList GALGAS_gtlArgumentList::constructor_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_gtlArgumentList (capCollectionElementArray ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlArgumentList GALGAS_gtlArgumentList::class_func_listWithValue (const GALGAS_bool & inOperand0, - const GALGAS_type & inOperand1, - const GALGAS_lstring & inOperand2 - COMMA_LOCATION_ARGS) { +GALGAS_gtlArgumentList GALGAS_gtlArgumentList::constructor_listWithValue (const GALGAS_bool & inOperand0, + const GALGAS_type & inOperand1, + const GALGAS_lstring & inOperand2 + COMMA_LOCATION_ARGS) { GALGAS_gtlArgumentList result ; if (inOperand0.isValid () && inOperand1.isValid () && inOperand2.isValid ()) { result = GALGAS_gtlArgumentList (capCollectionElementArray ()) ; @@ -8861,7 +8519,7 @@ GALGAS_gtlArgumentList GALGAS_gtlArgumentList::class_func_listWithValue (const G return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlArgumentList::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_bool & in_typed, @@ -8876,7 +8534,7 @@ void GALGAS_gtlArgumentList::makeAttributesFromObjects (capCollectionElement & o macroDetachSharedObject (p) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlArgumentList::addAssign_operation (const GALGAS_bool & inOperand0, const GALGAS_type & inOperand1, @@ -8892,12 +8550,12 @@ void GALGAS_gtlArgumentList::addAssign_operation (const GALGAS_bool & inOperand0 } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlArgumentList::setter_append (const GALGAS_bool inOperand0, const GALGAS_type inOperand1, const GALGAS_lstring inOperand2, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -8909,13 +8567,13 @@ void GALGAS_gtlArgumentList::setter_append (const GALGAS_bool inOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlArgumentList::setter_insertAtIndex (const GALGAS_bool inOperand0, const GALGAS_type inOperand1, const GALGAS_lstring inOperand2, const GALGAS_uint inInsertionIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid () && inOperand1.isValid () && inOperand2.isValid ()) { @@ -8931,13 +8589,13 @@ void GALGAS_gtlArgumentList::setter_insertAtIndex (const GALGAS_bool inOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlArgumentList::setter_removeAtIndex (GALGAS_bool & outOperand0, GALGAS_type & outOperand1, GALGAS_lstring & outOperand2, const GALGAS_uint inRemoveIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -8968,12 +8626,12 @@ void GALGAS_gtlArgumentList::setter_removeAtIndex (GALGAS_bool & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlArgumentList::setter_popFirst (GALGAS_bool & outOperand0, GALGAS_type & outOperand1, GALGAS_lstring & outOperand2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -8990,12 +8648,12 @@ void GALGAS_gtlArgumentList::setter_popFirst (GALGAS_bool & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlArgumentList::setter_popLast (GALGAS_bool & outOperand0, GALGAS_type & outOperand1, GALGAS_lstring & outOperand2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -9012,12 +8670,12 @@ void GALGAS_gtlArgumentList::setter_popLast (GALGAS_bool & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlArgumentList::method_first (GALGAS_bool & outOperand0, GALGAS_type & outOperand1, GALGAS_lstring & outOperand2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -9034,12 +8692,12 @@ void GALGAS_gtlArgumentList::method_first (GALGAS_bool & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlArgumentList::method_last (GALGAS_bool & outOperand0, GALGAS_type & outOperand1, GALGAS_lstring & outOperand2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -9056,10 +8714,10 @@ void GALGAS_gtlArgumentList::method_last (GALGAS_bool & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlArgumentList GALGAS_gtlArgumentList::add_operation (const GALGAS_gtlArgumentList & inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_gtlArgumentList result ; if (isValid () && inOperand.isValid ()) { @@ -9069,49 +8727,49 @@ GALGAS_gtlArgumentList GALGAS_gtlArgumentList::add_operation (const GALGAS_gtlAr return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlArgumentList GALGAS_gtlArgumentList::getter_subListWithRange (const GALGAS_range & inRange, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlArgumentList result = GALGAS_gtlArgumentList::class_func_emptyList (THERE) ; + GALGAS_gtlArgumentList result = GALGAS_gtlArgumentList::constructor_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlArgumentList GALGAS_gtlArgumentList::getter_subListFromIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlArgumentList result = GALGAS_gtlArgumentList::class_func_emptyList (THERE) ; + GALGAS_gtlArgumentList result = GALGAS_gtlArgumentList::constructor_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlArgumentList GALGAS_gtlArgumentList::getter_subListToIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlArgumentList result = GALGAS_gtlArgumentList::class_func_emptyList (THERE) ; + GALGAS_gtlArgumentList result = GALGAS_gtlArgumentList::constructor_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlArgumentList::plusAssign_operation (const GALGAS_gtlArgumentList inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlArgumentList::setter_setTypedAtIndex (GALGAS_bool inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_gtlArgumentList * p = (cCollectionElement_gtlArgumentList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -9121,10 +8779,10 @@ void GALGAS_gtlArgumentList::setter_setTypedAtIndex (GALGAS_bool inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_gtlArgumentList::getter_typedAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_gtlArgumentList * p = (cCollectionElement_gtlArgumentList *) attributes.ptr () ; @@ -9136,11 +8794,11 @@ GALGAS_bool GALGAS_gtlArgumentList::getter_typedAtIndex (const GALGAS_uint & inI return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlArgumentList::setter_setTypeAtIndex (GALGAS_type inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_gtlArgumentList * p = (cCollectionElement_gtlArgumentList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -9150,10 +8808,10 @@ void GALGAS_gtlArgumentList::setter_setTypeAtIndex (GALGAS_type inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_type GALGAS_gtlArgumentList::getter_typeAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_gtlArgumentList * p = (cCollectionElement_gtlArgumentList *) attributes.ptr () ; @@ -9165,11 +8823,11 @@ GALGAS_type GALGAS_gtlArgumentList::getter_typeAtIndex (const GALGAS_uint & inIn return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlArgumentList::setter_setNameAtIndex (GALGAS_lstring inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_gtlArgumentList * p = (cCollectionElement_gtlArgumentList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -9179,10 +8837,10 @@ void GALGAS_gtlArgumentList::setter_setNameAtIndex (GALGAS_lstring inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lstring GALGAS_gtlArgumentList::getter_nameAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_gtlArgumentList * p = (cCollectionElement_gtlArgumentList *) attributes.ptr () ; @@ -9196,7 +8854,7 @@ GALGAS_lstring GALGAS_gtlArgumentList::getter_nameAtIndex (const GALGAS_uint & i -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_gtlArgumentList::cEnumerator_gtlArgumentList (const GALGAS_gtlArgumentList & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -9204,7 +8862,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlArgumentList_2D_element cEnumerator_gtlArgumentList::current (LOCATION_ARGS) const { const cCollectionElement_gtlArgumentList * p = (const cCollectionElement_gtlArgumentList *) currentObjectPtr (THERE) ; @@ -9213,7 +8871,7 @@ GALGAS_gtlArgumentList_2D_element cEnumerator_gtlArgumentList::current (LOCATION } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool cEnumerator_gtlArgumentList::current_typed (LOCATION_ARGS) const { const cCollectionElement_gtlArgumentList * p = (const cCollectionElement_gtlArgumentList *) currentObjectPtr (THERE) ; @@ -9221,7 +8879,7 @@ GALGAS_bool cEnumerator_gtlArgumentList::current_typed (LOCATION_ARGS) const { return p->mObject.mProperty_typed ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_type cEnumerator_gtlArgumentList::current_type (LOCATION_ARGS) const { const cCollectionElement_gtlArgumentList * p = (const cCollectionElement_gtlArgumentList *) currentObjectPtr (THERE) ; @@ -9229,7 +8887,7 @@ GALGAS_type cEnumerator_gtlArgumentList::current_type (LOCATION_ARGS) const { return p->mObject.mProperty_type ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lstring cEnumerator_gtlArgumentList::current_name (LOCATION_ARGS) const { const cCollectionElement_gtlArgumentList * p = (const cCollectionElement_gtlArgumentList *) currentObjectPtr (THERE) ; @@ -9240,22 +8898,23 @@ GALGAS_lstring cEnumerator_gtlArgumentList::current_name (LOCATION_ARGS) const { -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlArgumentList generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlArgumentList ("gtlArgumentList", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlArgumentList ("gtlArgumentList", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlArgumentList::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlArgumentList ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlArgumentList::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -9265,10 +8924,10 @@ AC_GALGAS_root * GALGAS_gtlArgumentList::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlArgumentList GALGAS_gtlArgumentList::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlArgumentList result ; const GALGAS_gtlArgumentList * p = (const GALGAS_gtlArgumentList *) inObject.embeddedObject () ; @@ -9282,7 +8941,7 @@ GALGAS_gtlArgumentList GALGAS_gtlArgumentList::extractObject (const GALGAS_objec return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cMapElement_gtlProcMap::cMapElement_gtlProcMap (const GALGAS_lstring & inKey, const GALGAS_gtlProcedure & in_procedure @@ -9291,13 +8950,13 @@ cMapElement (inKey COMMA_THERE), mProperty_procedure (in_procedure) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cMapElement_gtlProcMap::isValid (void) const { return mProperty_lkey.isValid () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cMapElement * cMapElement_gtlProcMap::copy (void) { cMapElement * result = nullptr ; @@ -9305,16 +8964,16 @@ cMapElement * cMapElement_gtlProcMap::copy (void) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cMapElement_gtlProcMap::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("procedure" ":") ; +void cMapElement_gtlProcMap::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "procedure" ":" ; mProperty_procedure.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cMapElement_gtlProcMap::compare (const cCollectionElement * inOperand) const { cMapElement_gtlProcMap * operand = (cMapElement_gtlProcMap *) inOperand ; @@ -9325,56 +8984,56 @@ typeComparisonResult cMapElement_gtlProcMap::compare (const cCollectionElement * return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlProcMap::GALGAS_gtlProcMap (void) : -AC_GALGAS_map () { +AC_GALGAS_map (true) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlProcMap::GALGAS_gtlProcMap (const GALGAS_gtlProcMap & inSource) : AC_GALGAS_map (inSource) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlProcMap & GALGAS_gtlProcMap::operator = (const GALGAS_gtlProcMap & inSource) { * ((AC_GALGAS_map *) this) = inSource ; return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlProcMap GALGAS_gtlProcMap::class_func_emptyMap (LOCATION_ARGS) { +GALGAS_gtlProcMap GALGAS_gtlProcMap::constructor_emptyMap (LOCATION_ARGS) { GALGAS_gtlProcMap result ; result.makeNewEmptyMap (THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlProcMap GALGAS_gtlProcMap::class_func_mapWithMapToOverride (const GALGAS_gtlProcMap & inMapToOverride - COMMA_LOCATION_ARGS) { +GALGAS_gtlProcMap GALGAS_gtlProcMap::constructor_mapWithMapToOverride (const GALGAS_gtlProcMap & inMapToOverride + COMMA_LOCATION_ARGS) { GALGAS_gtlProcMap result ; result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlProcMap GALGAS_gtlProcMap::getter_overriddenMap (Compiler * inCompiler +GALGAS_gtlProcMap GALGAS_gtlProcMap::getter_overriddenMap (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_gtlProcMap result ; getOverridenMap (result, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlProcMap::addAssign_operation (const GALGAS_lstring & inKey, const GALGAS_gtlProcedure & inArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlProcMap * p = nullptr ; macroMyNew (p, cMapElement_gtlProcMap (inKey, inArgument0 COMMA_HERE)) ; @@ -9386,10 +9045,10 @@ void GALGAS_gtlProcMap::addAssign_operation (const GALGAS_lstring & inKey, performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlProcMap GALGAS_gtlProcMap::add_operation (const GALGAS_gtlProcMap & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_gtlProcMap result = *this ; cEnumerator_gtlProcMap enumerator (inOperand, kENUMERATION_UP) ; @@ -9400,11 +9059,11 @@ GALGAS_gtlProcMap GALGAS_gtlProcMap::add_operation (const GALGAS_gtlProcMap & in return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlProcMap::setter_put (GALGAS_lstring inKey, GALGAS_gtlProcedure inArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlProcMap * p = nullptr ; macroMyNew (p, cMapElement_gtlProcMap (inKey, inArgument0 COMMA_HERE)) ; @@ -9416,15 +9075,15 @@ void GALGAS_gtlProcMap::setter_put (GALGAS_lstring inKey, performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const char * kSearchErrorMessage_gtlProcMap_get = "there is no procedure named '%K'" ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlProcMap::method_get (GALGAS_lstring inKey, GALGAS_gtlProcedure & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cMapElement_gtlProcMap * p = (const cMapElement_gtlProcMap *) performSearch (inKey, inCompiler, @@ -9438,10 +9097,10 @@ void GALGAS_gtlProcMap::method_get (GALGAS_lstring inKey, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlProcedure GALGAS_gtlProcMap::getter_procedureForKey (const GALGAS_string & inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; const cMapElement_gtlProcMap * p = (const cMapElement_gtlProcMap *) attributes ; @@ -9453,11 +9112,11 @@ GALGAS_gtlProcedure GALGAS_gtlProcMap::getter_procedureForKey (const GALGAS_stri return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlProcMap::setter_setProcedureForKey (GALGAS_gtlProcedure inAttributeValue, GALGAS_string inKey, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; cMapElement_gtlProcMap * p = (cMapElement_gtlProcMap *) attributes ; @@ -9467,9 +9126,9 @@ void GALGAS_gtlProcMap::setter_setProcedureForKey (GALGAS_gtlProcedure inAttribu } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement_gtlProcMap * GALGAS_gtlProcMap::readWriteAccessForWithInstruction (Compiler * inCompiler, +cMapElement_gtlProcMap * GALGAS_gtlProcMap::readWriteAccessForWithInstruction (C_Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) { cMapElement_gtlProcMap * result = (cMapElement_gtlProcMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; @@ -9477,7 +9136,7 @@ cMapElement_gtlProcMap * GALGAS_gtlProcMap::readWriteAccessForWithInstruction (C return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_gtlProcMap::cEnumerator_gtlProcMap (const GALGAS_gtlProcMap & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -9485,7 +9144,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlProcMap_2D_element cEnumerator_gtlProcMap::current (LOCATION_ARGS) const { const cMapElement_gtlProcMap * p = (const cMapElement_gtlProcMap *) currentObjectPtr (THERE) ; @@ -9493,7 +9152,7 @@ GALGAS_gtlProcMap_2D_element cEnumerator_gtlProcMap::current (LOCATION_ARGS) con return GALGAS_gtlProcMap_2D_element (p->mProperty_lkey, p->mProperty_procedure) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lstring cEnumerator_gtlProcMap::current_lkey (LOCATION_ARGS) const { const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; @@ -9501,7 +9160,7 @@ GALGAS_lstring cEnumerator_gtlProcMap::current_lkey (LOCATION_ARGS) const { return p->mProperty_lkey ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlProcedure cEnumerator_gtlProcMap::current_procedure (LOCATION_ARGS) const { const cMapElement_gtlProcMap * p = (const cMapElement_gtlProcMap *) currentObjectPtr (THERE) ; @@ -9509,7 +9168,7 @@ GALGAS_gtlProcedure cEnumerator_gtlProcMap::current_procedure (LOCATION_ARGS) co return p->mProperty_procedure ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool GALGAS_gtlProcMap::optional_searchKey (const GALGAS_string & inKey, GALGAS_gtlProcedure & outArgument0) const { @@ -9524,22 +9183,23 @@ bool GALGAS_gtlProcMap::optional_searchKey (const GALGAS_string & inKey, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlProcMap generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlProcMap ("gtlProcMap", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlProcMap ("gtlProcMap", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlProcMap::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlProcMap ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlProcMap::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -9549,10 +9209,10 @@ AC_GALGAS_root * GALGAS_gtlProcMap::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlProcMap GALGAS_gtlProcMap::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlProcMap result ; const GALGAS_gtlProcMap * p = (const GALGAS_gtlProcMap *) inObject.embeddedObject () ; @@ -9571,25 +9231,25 @@ GALGAS_gtlProcMap GALGAS_gtlProcMap::extractObject (const GALGAS_object & inObje //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_expression_i0_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument nt_gtl_5F_relation_5F_term_ (outArgument_expression, inCompiler) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { switch (select_gtl_5F_expression_5F_parser_0 (inCompiler)) { case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__7C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 39)) ; - GALGAS_location var_opLocation_1096 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 39)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__7C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 39)) ; + GALGAS_location var_opLocation_1096 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 39)) ; GALGAS_gtlExpression var_rightSon_1159 ; nt_gtl_5F_relation_5F_term_ (var_rightSon_1159, inCompiler) ; - outArgument_expression = GALGAS_gtlOrExpression::class_func_new (var_opLocation_1096, outArgument_expression, var_rightSon_1159 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 41)) ; + outArgument_expression = GALGAS_gtlOrExpression::constructor_new (var_opLocation_1096, outArgument_expression, var_rightSon_1159 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 41)) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 43)) ; - GALGAS_location var_opLocation_1276 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 43)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 43)) ; + GALGAS_location var_opLocation_1276 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 43)) ; GALGAS_gtlExpression var_rightSon_1339 ; nt_gtl_5F_relation_5F_term_ (var_rightSon_1339, inCompiler) ; - outArgument_expression = GALGAS_gtlXorExpression::class_func_new (var_opLocation_1276, outArgument_expression, var_rightSon_1339 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 45)) ; + outArgument_expression = GALGAS_gtlXorExpression::constructor_new (var_opLocation_1276, outArgument_expression, var_rightSon_1339 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 45)) ; } break ; default: repeatFlag_0 = false ; @@ -9600,17 +9260,17 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_expression_i0_parse (Lexique_gtl_5F_scanner * inCompiler) { +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_expression_i0_parse (C_Lexique_gtl_5F_scanner * inCompiler) { nt_gtl_5F_relation_5F_term_parse (inCompiler) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { switch (select_gtl_5F_expression_5F_parser_0 (inCompiler)) { case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__7C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 39)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__7C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 39)) ; nt_gtl_5F_relation_5F_term_parse (inCompiler) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 43)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 43)) ; nt_gtl_5F_relation_5F_term_parse (inCompiler) ; } break ; default: @@ -9623,17 +9283,17 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_expression_i0_indexing (Lexique_gtl_5F_scanner * inCompiler) { +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_expression_i0_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { nt_gtl_5F_relation_5F_term_indexing (inCompiler) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { switch (select_gtl_5F_expression_5F_parser_0 (inCompiler)) { case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__7C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 39)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__7C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 39)) ; nt_gtl_5F_relation_5F_term_indexing (inCompiler) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 43)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 43)) ; nt_gtl_5F_relation_5F_term_indexing (inCompiler) ; } break ; default: @@ -9646,17 +9306,17 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_relation_5F_term_i1_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument nt_gtl_5F_relation_5F_factor_ (outArgument_expression, inCompiler) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { if (select_gtl_5F_expression_5F_parser_1 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__26_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 59)) ; - GALGAS_location var_opLocation_1811 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 59)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__26_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 59)) ; + GALGAS_location var_opLocation_1811 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 59)) ; GALGAS_gtlExpression var_rightSon_1876 ; nt_gtl_5F_relation_5F_factor_ (var_rightSon_1876, inCompiler) ; - outArgument_expression = GALGAS_gtlAndExpression::class_func_new (var_opLocation_1811, outArgument_expression, var_rightSon_1876 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 61)) ; + outArgument_expression = GALGAS_gtlAndExpression::constructor_new (var_opLocation_1811, outArgument_expression, var_rightSon_1876 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 61)) ; }else{ repeatFlag_0 = false ; } @@ -9665,12 +9325,12 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_relation_5F_term_i1_parse (Lexique_gtl_5F_scanner * inCompiler) { +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_relation_5F_term_i1_parse (C_Lexique_gtl_5F_scanner * inCompiler) { nt_gtl_5F_relation_5F_factor_parse (inCompiler) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { if (select_gtl_5F_expression_5F_parser_1 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__26_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 59)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__26_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 59)) ; nt_gtl_5F_relation_5F_factor_parse (inCompiler) ; }else{ repeatFlag_0 = false ; @@ -9681,12 +9341,12 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_relation_5F_term_i1_indexing (Lexique_gtl_5F_scanner * inCompiler) { +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_relation_5F_term_i1_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { nt_gtl_5F_relation_5F_factor_indexing (inCompiler) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { if (select_gtl_5F_expression_5F_parser_1 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__26_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 59)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__26_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 59)) ; nt_gtl_5F_relation_5F_factor_indexing (inCompiler) ; }else{ repeatFlag_0 = false ; @@ -9697,53 +9357,53 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_relation_5F_factor_i2_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument nt_gtl_5F_simple_5F_expression_ (outArgument_expression, inCompiler) ; switch (select_gtl_5F_expression_5F_parser_2 (inCompiler)) { case 1: { } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3D__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 75)) ; - GALGAS_location var_opLocation_2350 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 75)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3D__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 75)) ; + GALGAS_location var_opLocation_2350 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 75)) ; GALGAS_gtlExpression var_rightSon_2417 ; nt_gtl_5F_simple_5F_expression_ (var_rightSon_2417, inCompiler) ; - outArgument_expression = GALGAS_gtlEqualExpression::class_func_new (var_opLocation_2350, outArgument_expression, var_rightSon_2417 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 77)) ; + outArgument_expression = GALGAS_gtlEqualExpression::constructor_new (var_opLocation_2350, outArgument_expression, var_rightSon_2417 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 77)) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__21__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 81)) ; - GALGAS_location var_opLocation_2545 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 81)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__21__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 81)) ; + GALGAS_location var_opLocation_2545 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 81)) ; GALGAS_gtlExpression var_rightSon_2612 ; nt_gtl_5F_simple_5F_expression_ (var_rightSon_2612, inCompiler) ; - outArgument_expression = GALGAS_gtlNotEqualExpression::class_func_new (var_opLocation_2545, outArgument_expression, var_rightSon_2612 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 83)) ; + outArgument_expression = GALGAS_gtlNotEqualExpression::constructor_new (var_opLocation_2545, outArgument_expression, var_rightSon_2612 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 83)) ; } break ; case 4: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3C__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 87)) ; - GALGAS_location var_opLocation_2743 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 87)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3C__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 87)) ; + GALGAS_location var_opLocation_2743 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 87)) ; GALGAS_gtlExpression var_rightSon_2810 ; nt_gtl_5F_simple_5F_expression_ (var_rightSon_2810, inCompiler) ; - outArgument_expression = GALGAS_gtlLowerOrEqualExpression::class_func_new (var_opLocation_2743, outArgument_expression, var_rightSon_2810 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 89)) ; + outArgument_expression = GALGAS_gtlLowerOrEqualExpression::constructor_new (var_opLocation_2743, outArgument_expression, var_rightSon_2810 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 89)) ; } break ; case 5: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3E__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 93)) ; - GALGAS_location var_opLocation_2945 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 93)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3E__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 93)) ; + GALGAS_location var_opLocation_2945 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 93)) ; GALGAS_gtlExpression var_rightSon_3012 ; nt_gtl_5F_simple_5F_expression_ (var_rightSon_3012, inCompiler) ; - outArgument_expression = GALGAS_gtlGreaterOrEqualExpression::class_func_new (var_opLocation_2945, outArgument_expression, var_rightSon_3012 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 95)) ; + outArgument_expression = GALGAS_gtlGreaterOrEqualExpression::constructor_new (var_opLocation_2945, outArgument_expression, var_rightSon_3012 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 95)) ; } break ; case 6: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 99)) ; - GALGAS_location var_opLocation_3148 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 99)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 99)) ; + GALGAS_location var_opLocation_3148 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 99)) ; GALGAS_gtlExpression var_rightSon_3215 ; nt_gtl_5F_simple_5F_expression_ (var_rightSon_3215, inCompiler) ; - outArgument_expression = GALGAS_gtlGreaterThanExpression::class_func_new (var_opLocation_3148, outArgument_expression, var_rightSon_3215 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 101)) ; + outArgument_expression = GALGAS_gtlGreaterThanExpression::constructor_new (var_opLocation_3148, outArgument_expression, var_rightSon_3215 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 101)) ; } break ; case 7: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 105)) ; - GALGAS_location var_opLocation_3348 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 105)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 105)) ; + GALGAS_location var_opLocation_3348 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 105)) ; GALGAS_gtlExpression var_rightSon_3415 ; nt_gtl_5F_simple_5F_expression_ (var_rightSon_3415, inCompiler) ; - outArgument_expression = GALGAS_gtlLowerThanExpression::class_func_new (var_opLocation_3348, outArgument_expression, var_rightSon_3415 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 107)) ; + outArgument_expression = GALGAS_gtlLowerThanExpression::constructor_new (var_opLocation_3348, outArgument_expression, var_rightSon_3415 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 107)) ; } break ; default: break ; @@ -9752,33 +9412,33 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_relation_5F_factor_i2_parse (Lexique_gtl_5F_scanner * inCompiler) { +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_relation_5F_factor_i2_parse (C_Lexique_gtl_5F_scanner * inCompiler) { nt_gtl_5F_simple_5F_expression_parse (inCompiler) ; switch (select_gtl_5F_expression_5F_parser_2 (inCompiler)) { case 1: { } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3D__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 75)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3D__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 75)) ; nt_gtl_5F_simple_5F_expression_parse (inCompiler) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__21__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 81)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__21__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 81)) ; nt_gtl_5F_simple_5F_expression_parse (inCompiler) ; } break ; case 4: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3C__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 87)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3C__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 87)) ; nt_gtl_5F_simple_5F_expression_parse (inCompiler) ; } break ; case 5: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3E__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 93)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3E__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 93)) ; nt_gtl_5F_simple_5F_expression_parse (inCompiler) ; } break ; case 6: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 99)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 99)) ; nt_gtl_5F_simple_5F_expression_parse (inCompiler) ; } break ; case 7: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 105)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 105)) ; nt_gtl_5F_simple_5F_expression_parse (inCompiler) ; } break ; default: @@ -9789,33 +9449,33 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_relation_5F_factor_i2_indexing (Lexique_gtl_5F_scanner * inCompiler) { +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_relation_5F_factor_i2_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { nt_gtl_5F_simple_5F_expression_indexing (inCompiler) ; switch (select_gtl_5F_expression_5F_parser_2 (inCompiler)) { case 1: { } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3D__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 75)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3D__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 75)) ; nt_gtl_5F_simple_5F_expression_indexing (inCompiler) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__21__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 81)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__21__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 81)) ; nt_gtl_5F_simple_5F_expression_indexing (inCompiler) ; } break ; case 4: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3C__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 87)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3C__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 87)) ; nt_gtl_5F_simple_5F_expression_indexing (inCompiler) ; } break ; case 5: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3E__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 93)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3E__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 93)) ; nt_gtl_5F_simple_5F_expression_indexing (inCompiler) ; } break ; case 6: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 99)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 99)) ; nt_gtl_5F_simple_5F_expression_indexing (inCompiler) ; } break ; case 7: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 105)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 105)) ; nt_gtl_5F_simple_5F_expression_indexing (inCompiler) ; } break ; default: @@ -9826,36 +9486,36 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_simple_5F_expression_i3_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument nt_gtl_5F_term_ (outArgument_expression, inCompiler) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { switch (select_gtl_5F_expression_5F_parser_3 (inCompiler)) { case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3C__3C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 123)) ; - GALGAS_location var_opLocation_3898 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 123)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3C__3C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 123)) ; + GALGAS_location var_opLocation_3898 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 123)) ; GALGAS_gtlExpression var_rightSon_3952 ; nt_gtl_5F_term_ (var_rightSon_3952, inCompiler) ; - outArgument_expression = GALGAS_gtlShiftLeftExpression::class_func_new (var_opLocation_3898, outArgument_expression, var_rightSon_3952 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 125)) ; + outArgument_expression = GALGAS_gtlShiftLeftExpression::constructor_new (var_opLocation_3898, outArgument_expression, var_rightSon_3952 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 125)) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3E__3E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 129)) ; - GALGAS_location var_opLocation_4088 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 129)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3E__3E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 129)) ; + GALGAS_location var_opLocation_4088 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 129)) ; GALGAS_gtlExpression var_rightSon_4142 ; nt_gtl_5F_term_ (var_rightSon_4142, inCompiler) ; - outArgument_expression = GALGAS_gtlShiftRightExpression::class_func_new (var_opLocation_4088, outArgument_expression, var_rightSon_4142 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 131)) ; + outArgument_expression = GALGAS_gtlShiftRightExpression::constructor_new (var_opLocation_4088, outArgument_expression, var_rightSon_4142 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 131)) ; } break ; case 4: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 135)) ; - GALGAS_location var_opLocation_4278 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 135)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 135)) ; + GALGAS_location var_opLocation_4278 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 135)) ; GALGAS_gtlExpression var_rightSon_4332 ; nt_gtl_5F_term_ (var_rightSon_4332, inCompiler) ; - outArgument_expression = GALGAS_gtlAddExpression::class_func_new (var_opLocation_4278, outArgument_expression, var_rightSon_4332 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 137)) ; + outArgument_expression = GALGAS_gtlAddExpression::constructor_new (var_opLocation_4278, outArgument_expression, var_rightSon_4332 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 137)) ; } break ; case 5: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 141)) ; - GALGAS_location var_opLocation_4461 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 141)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 141)) ; + GALGAS_location var_opLocation_4461 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 141)) ; enumGalgasBool test_1 = kBoolTrue ; if (kBoolTrue == test_1) { test_1 = GALGAS_bool (gOption_gtl_5F_options_warnDeprecated.readProperty_value ()).boolEnum () ; @@ -9867,14 +9527,14 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 } GALGAS_gtlExpression var_rightSon_4655 ; nt_gtl_5F_term_ (var_rightSon_4655, inCompiler) ; - outArgument_expression = GALGAS_gtlAddExpression::class_func_new (var_opLocation_4461, outArgument_expression, var_rightSon_4655 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 146)) ; + outArgument_expression = GALGAS_gtlAddExpression::constructor_new (var_opLocation_4461, outArgument_expression, var_rightSon_4655 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 146)) ; } break ; case 6: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 150)) ; - GALGAS_location var_opLocation_4784 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 150)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 150)) ; + GALGAS_location var_opLocation_4784 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 150)) ; GALGAS_gtlExpression var_rightSon_4838 ; nt_gtl_5F_term_ (var_rightSon_4838, inCompiler) ; - outArgument_expression = GALGAS_gtlSubstractExpression::class_func_new (var_opLocation_4784, outArgument_expression, var_rightSon_4838 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 152)) ; + outArgument_expression = GALGAS_gtlSubstractExpression::constructor_new (var_opLocation_4784, outArgument_expression, var_rightSon_4838 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 152)) ; } break ; default: repeatFlag_0 = false ; @@ -9885,29 +9545,29 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_simple_5F_expression_i3_parse (Lexique_gtl_5F_scanner * inCompiler) { +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_simple_5F_expression_i3_parse (C_Lexique_gtl_5F_scanner * inCompiler) { nt_gtl_5F_term_parse (inCompiler) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { switch (select_gtl_5F_expression_5F_parser_3 (inCompiler)) { case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3C__3C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 123)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3C__3C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 123)) ; nt_gtl_5F_term_parse (inCompiler) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3E__3E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 129)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3E__3E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 129)) ; nt_gtl_5F_term_parse (inCompiler) ; } break ; case 4: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 135)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 135)) ; nt_gtl_5F_term_parse (inCompiler) ; } break ; case 5: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 141)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 141)) ; nt_gtl_5F_term_parse (inCompiler) ; } break ; case 6: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 150)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 150)) ; nt_gtl_5F_term_parse (inCompiler) ; } break ; default: @@ -9920,29 +9580,29 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_simple_5F_expression_i3_indexing (Lexique_gtl_5F_scanner * inCompiler) { +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_simple_5F_expression_i3_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { nt_gtl_5F_term_indexing (inCompiler) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { switch (select_gtl_5F_expression_5F_parser_3 (inCompiler)) { case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3C__3C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 123)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3C__3C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 123)) ; nt_gtl_5F_term_indexing (inCompiler) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3E__3E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 129)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3E__3E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 129)) ; nt_gtl_5F_term_indexing (inCompiler) ; } break ; case 4: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 135)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 135)) ; nt_gtl_5F_term_indexing (inCompiler) ; } break ; case 5: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 141)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 141)) ; nt_gtl_5F_term_indexing (inCompiler) ; } break ; case 6: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 150)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 150)) ; nt_gtl_5F_term_indexing (inCompiler) ; } break ; default: @@ -9955,32 +9615,32 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_term_i4_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument nt_gtl_5F_factor_ (outArgument_expression, inCompiler) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { switch (select_gtl_5F_expression_5F_parser_4 (inCompiler)) { case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 168)) ; - GALGAS_location var_opLocation_5309 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 168)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 168)) ; + GALGAS_location var_opLocation_5309 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 168)) ; GALGAS_gtlExpression var_rightSon_5365 ; nt_gtl_5F_factor_ (var_rightSon_5365, inCompiler) ; - outArgument_expression = GALGAS_gtlMultiplyExpression::class_func_new (var_opLocation_5309, outArgument_expression, var_rightSon_5365 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 170)) ; + outArgument_expression = GALGAS_gtlMultiplyExpression::constructor_new (var_opLocation_5309, outArgument_expression, var_rightSon_5365 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 170)) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 174)) ; - GALGAS_location var_opLocation_5499 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 174)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 174)) ; + GALGAS_location var_opLocation_5499 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 174)) ; GALGAS_gtlExpression var_rightSon_5555 ; nt_gtl_5F_factor_ (var_rightSon_5555, inCompiler) ; - outArgument_expression = GALGAS_gtlDivideExpression::class_func_new (var_opLocation_5499, outArgument_expression, var_rightSon_5555 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 176)) ; + outArgument_expression = GALGAS_gtlDivideExpression::constructor_new (var_opLocation_5499, outArgument_expression, var_rightSon_5555 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 176)) ; } break ; case 4: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_mod COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 180)) ; - GALGAS_location var_opLocation_5689 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 180)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_mod COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 180)) ; + GALGAS_location var_opLocation_5689 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 180)) ; GALGAS_gtlExpression var_rightSon_5745 ; nt_gtl_5F_factor_ (var_rightSon_5745, inCompiler) ; - outArgument_expression = GALGAS_gtlModulusExpression::class_func_new (var_opLocation_5689, outArgument_expression, var_rightSon_5745 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 182)) ; + outArgument_expression = GALGAS_gtlModulusExpression::constructor_new (var_opLocation_5689, outArgument_expression, var_rightSon_5745 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 182)) ; } break ; default: repeatFlag_0 = false ; @@ -9991,21 +9651,21 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_term_i4_parse (Lexique_gtl_5F_scanner * inCompiler) { +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_term_i4_parse (C_Lexique_gtl_5F_scanner * inCompiler) { nt_gtl_5F_factor_parse (inCompiler) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { switch (select_gtl_5F_expression_5F_parser_4 (inCompiler)) { case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 168)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 168)) ; nt_gtl_5F_factor_parse (inCompiler) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 174)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 174)) ; nt_gtl_5F_factor_parse (inCompiler) ; } break ; case 4: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_mod COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 180)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_mod COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 180)) ; nt_gtl_5F_factor_parse (inCompiler) ; } break ; default: @@ -10018,21 +9678,21 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_term_i4_indexing (Lexique_gtl_5F_scanner * inCompiler) { +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_term_i4_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { nt_gtl_5F_factor_indexing (inCompiler) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { switch (select_gtl_5F_expression_5F_parser_4 (inCompiler)) { case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 168)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 168)) ; nt_gtl_5F_factor_indexing (inCompiler) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 174)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 174)) ; nt_gtl_5F_factor_indexing (inCompiler) ; } break ; case 4: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_mod COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 180)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_mod COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 180)) ; nt_gtl_5F_factor_indexing (inCompiler) ; } break ; default: @@ -10045,288 +9705,288 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i5_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 195)) ; - GALGAS_location var_opLocation_6169 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 195)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 195)) ; + GALGAS_location var_opLocation_6169 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 195)) ; GALGAS_gtlExpression var_factorExpression_6227 ; nt_gtl_5F_expression_ (var_factorExpression_6227, inCompiler) ; - outArgument_expression = GALGAS_gtlParenthesizedExpression::class_func_new (var_opLocation_6169, var_factorExpression_6227 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 197)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 201)) ; + outArgument_expression = GALGAS_gtlParenthesizedExpression::constructor_new (var_opLocation_6169, var_factorExpression_6227 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 197)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 201)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i5_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 195)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i5_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 195)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 201)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 201)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i5_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 195)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i5_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 195)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 201)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 201)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i6_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 211)) ; - GALGAS_location var_opLocation_6661 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 211)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 211)) ; + GALGAS_location var_opLocation_6661 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 211)) ; GALGAS_gtlExpression var_notExpression_6715 ; nt_gtl_5F_factor_ (var_notExpression_6715, inCompiler) ; - outArgument_expression = GALGAS_gtlNotExpression::class_func_new (var_opLocation_6661, var_notExpression_6715 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 213)) ; + outArgument_expression = GALGAS_gtlNotExpression::constructor_new (var_opLocation_6661, var_notExpression_6715 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 213)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i6_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 211)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i6_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 211)) ; nt_gtl_5F_factor_parse (inCompiler) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i6_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 211)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i6_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 211)) ; nt_gtl_5F_factor_indexing (inCompiler) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i7_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__7E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 223)) ; - GALGAS_location var_opLocation_7115 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 223)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__7E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 223)) ; + GALGAS_location var_opLocation_7115 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 223)) ; GALGAS_gtlExpression var_notExpression_7169 ; nt_gtl_5F_factor_ (var_notExpression_7169, inCompiler) ; - outArgument_expression = GALGAS_gtlNotExpression::class_func_new (var_opLocation_7115, var_notExpression_7169 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 225)) ; + outArgument_expression = GALGAS_gtlNotExpression::constructor_new (var_opLocation_7115, var_notExpression_7169 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 225)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i7_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__7E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 223)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i7_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__7E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 223)) ; nt_gtl_5F_factor_parse (inCompiler) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i7_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__7E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 223)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i7_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__7E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 223)) ; nt_gtl_5F_factor_indexing (inCompiler) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i8_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 235)) ; - GALGAS_location var_opLocation_7569 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 235)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 235)) ; + GALGAS_location var_opLocation_7569 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 235)) ; GALGAS_gtlExpression var_minusExpression_7623 ; nt_gtl_5F_factor_ (var_minusExpression_7623, inCompiler) ; - outArgument_expression = GALGAS_gtlMinusExpression::class_func_new (var_opLocation_7569, var_minusExpression_7623 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 237)) ; + outArgument_expression = GALGAS_gtlMinusExpression::constructor_new (var_opLocation_7569, var_minusExpression_7623 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 237)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i8_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 235)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i8_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 235)) ; nt_gtl_5F_factor_parse (inCompiler) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i8_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 235)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i8_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 235)) ; nt_gtl_5F_factor_indexing (inCompiler) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i9_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 247)) ; - GALGAS_location var_opLocation_8029 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 247)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 247)) ; + GALGAS_location var_opLocation_8029 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 247)) ; GALGAS_gtlExpression var_plusExpression_8083 ; nt_gtl_5F_factor_ (var_plusExpression_8083, inCompiler) ; - outArgument_expression = GALGAS_gtlPlusExpression::class_func_new (var_opLocation_8029, var_plusExpression_8083 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 249)) ; + outArgument_expression = GALGAS_gtlPlusExpression::constructor_new (var_opLocation_8029, var_plusExpression_8083 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 249)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i9_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 247)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i9_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 247)) ; nt_gtl_5F_factor_parse (inCompiler) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i9_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 247)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i9_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 247)) ; nt_gtl_5F_factor_indexing (inCompiler) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i10_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_yes COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 259)) ; - GALGAS_location var_opLocation_8488 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 259)) ; - outArgument_expression = GALGAS_gtlTerminal::class_func_new (var_opLocation_8488, GALGAS_gtlBool::class_func_new (var_opLocation_8488, function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 261)), GALGAS_bool (true) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 261)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 260)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_yes COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 259)) ; + GALGAS_location var_opLocation_8488 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 259)) ; + outArgument_expression = GALGAS_gtlTerminal::constructor_new (var_opLocation_8488, GALGAS_gtlBool::constructor_new (var_opLocation_8488, function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 261)), GALGAS_bool (true) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 261)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 260)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i10_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_yes COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 259)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i10_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_yes COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 259)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i10_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_yes COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 259)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i10_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_yes COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 259)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i11_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_no COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 272)) ; - outArgument_expression = GALGAS_gtlTerminal::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 274)), GALGAS_gtlBool::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 274)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 274)), GALGAS_bool (false) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 274)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 273)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_no COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 272)) ; + outArgument_expression = GALGAS_gtlTerminal::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 274)), GALGAS_gtlBool::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 274)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 274)), GALGAS_bool (false) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 274)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 273)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i11_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_no COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 272)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i11_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_no COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 272)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i11_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_no COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 272)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i11_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_no COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 272)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i12_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument GALGAS_lbigint var_literalInteger_9355 = inCompiler->synthetizedAttribute_intValue () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 285)) ; - outArgument_expression = GALGAS_gtlTerminal::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 287)), GALGAS_gtlInt::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 287)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 287)), var_literalInteger_9355.readProperty_bigint () COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 287)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 286)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 285)) ; + outArgument_expression = GALGAS_gtlTerminal::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 287)), GALGAS_gtlInt::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 287)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 287)), var_literalInteger_9355.readProperty_bigint () COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 287)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 286)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i12_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 285)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i12_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 285)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i12_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 285)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i12_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 285)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i13_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument GALGAS_ldouble var_literalFloat_9812 = inCompiler->synthetizedAttribute_floatValue () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_literal_5F_double COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 298)) ; - outArgument_expression = GALGAS_gtlTerminal::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 300)), GALGAS_gtlFloat::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 300)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 300)), var_literalFloat_9812.readProperty_double () COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 300)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 299)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_literal_5F_double COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 298)) ; + outArgument_expression = GALGAS_gtlTerminal::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 300)), GALGAS_gtlFloat::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 300)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 300)), var_literalFloat_9812.readProperty_double () COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 300)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 299)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i13_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_literal_5F_double COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 298)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i13_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_literal_5F_double COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 298)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i13_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_literal_5F_double COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 298)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i13_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_literal_5F_double COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 298)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i14_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument GALGAS_lstring var_literalString_10259 = inCompiler->synthetizedAttribute_a_5F_string () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 311)) ; - outArgument_expression = GALGAS_gtlTerminal::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 313)), GALGAS_gtlString::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 313)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 313)), var_literalString_10259.readProperty_string () COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 313)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 312)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 311)) ; + outArgument_expression = GALGAS_gtlTerminal::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 313)), GALGAS_gtlString::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 313)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 313)), var_literalString_10259.readProperty_string () COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 313)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 312)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i14_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 311)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i14_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 311)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i14_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 311)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i14_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 311)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i15_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument GALGAS_lchar var_literalChar_10711 = inCompiler->synthetizedAttribute_charValue () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_literal_5F_char COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 324)) ; - outArgument_expression = GALGAS_gtlTerminal::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 326)), GALGAS_gtlChar::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 326)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 326)), var_literalChar_10711.readProperty_char () COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 326)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 325)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_literal_5F_char COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 324)) ; + outArgument_expression = GALGAS_gtlTerminal::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 326)), GALGAS_gtlChar::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 326)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 326)), var_literalChar_10711.readProperty_char () COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 326)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 325)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i15_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_literal_5F_char COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 324)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i15_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_literal_5F_char COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 324)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i15_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_literal_5F_char COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 324)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i15_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_literal_5F_char COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 324)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i16_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 338)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 338)) ; GALGAS_gtlExpression var_target_11254 ; nt_gtl_5F_expression_ (var_target_11254, inCompiler) ; GALGAS_lstring var_getterName_11290 = inCompiler->synthetizedAttribute_tokenString () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 340)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 340)) ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { test_0 = GALGAS_bool (gOption_gtl_5F_options_warnDeprecated.readProperty_value ()).boolEnum () ; @@ -10342,19 +10002,19 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 } } } - GALGAS_gtlExpressionList var_argumentList_11569 = GALGAS_gtlExpressionList::class_func_emptyList (SOURCE_FILE ("gtl_expression_parser.galgas", 347)) ; + GALGAS_gtlExpressionList var_argumentList_11569 = GALGAS_gtlExpressionList::constructor_emptyList (SOURCE_FILE ("gtl_expression_parser.galgas", 347)) ; switch (select_gtl_5F_expression_5F_parser_5 (inCompiler)) { case 1: { } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 350)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 350)) ; bool repeatFlag_3 = true ; while (repeatFlag_3) { GALGAS_gtlExpression var_argument_11671 ; nt_gtl_5F_expression_ (var_argument_11671, inCompiler) ; var_argumentList_11569.addAssign_operation (var_argument_11671 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 353)) ; if (select_gtl_5F_expression_5F_parser_6 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 355)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 355)) ; }else{ repeatFlag_3 = false ; } @@ -10363,26 +10023,26 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 358)) ; - outArgument_expression = GALGAS_gtlGetterCallExpression::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 360)), var_target_11254, var_getterName_11290, var_argumentList_11569 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 359)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 358)) ; + outArgument_expression = GALGAS_gtlGetterCallExpression::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 360)), var_target_11254, var_getterName_11290, var_argumentList_11569 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 359)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i16_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 338)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i16_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 338)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 340)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 340)) ; switch (select_gtl_5F_expression_5F_parser_5 (inCompiler)) { case 1: { } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 350)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 350)) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { nt_gtl_5F_expression_parse (inCompiler) ; if (select_gtl_5F_expression_5F_parser_6 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 355)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 355)) ; }else{ repeatFlag_0 = false ; } @@ -10391,26 +10051,26 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 358)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 358)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i16_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 338)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i16_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 338)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 340)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 340)) ; switch (select_gtl_5F_expression_5F_parser_5 (inCompiler)) { case 1: { } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 350)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 350)) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { nt_gtl_5F_expression_indexing (inCompiler) ; if (select_gtl_5F_expression_5F_parser_6 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 355)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 355)) ; }else{ repeatFlag_0 = false ; } @@ -10419,19 +10079,19 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 358)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 358)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i17_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument GALGAS_gtlVarPath var_path_12027 ; nt_gtl_5F_variable_ (var_path_12027, inCompiler) ; switch (select_gtl_5F_expression_5F_parser_7 (inCompiler)) { case 1: { - outArgument_expression = GALGAS_gtlVarRef::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 374)), var_path_12027 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 374)) ; + outArgument_expression = GALGAS_gtlVarRef::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 374)), var_path_12027 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 374)) ; } break ; case 2: { enumGalgasBool test_0 = kBoolTrue ; @@ -10439,11 +10099,11 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 test_0 = GALGAS_bool (kIsStrictSup, var_path_12027.getter_count (SOURCE_FILE ("gtl_expression_parser.galgas", 376)).objectCompare (GALGAS_uint (uint32_t (1U)))).boolEnum () ; if (kBoolTrue == test_0) { TC_Array fixItArray1 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 377)), GALGAS_string ("illegal function name"), fixItArray1 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 377)) ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 377)), GALGAS_string ("illegal function name"), fixItArray1 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 377)) ; } } - GALGAS_gtlExpressionList var_functionArguments_12200 = GALGAS_gtlExpressionList::class_func_emptyList (SOURCE_FILE ("gtl_expression_parser.galgas", 379)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 380)) ; + GALGAS_gtlExpressionList var_functionArguments_12200 = GALGAS_gtlExpressionList::constructor_emptyList (SOURCE_FILE ("gtl_expression_parser.galgas", 379)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 380)) ; switch (select_gtl_5F_expression_5F_parser_8 (inCompiler)) { case 1: { bool repeatFlag_2 = true ; @@ -10452,7 +10112,7 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 nt_gtl_5F_expression_ (var_expression_12308, inCompiler) ; var_functionArguments_12200.addAssign_operation (var_expression_12308 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 384)) ; if (select_gtl_5F_expression_5F_parser_9 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 386)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 386)) ; }else{ repeatFlag_2 = false ; } @@ -10463,9 +10123,9 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 389)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 389)) ; GALGAS_lstring var_functionName_12430 = extensionGetter_pathAsFunctionName (var_path_12027, inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 390)) ; - outArgument_expression = GALGAS_gtlFunctionCallExpression::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 392)), var_functionName_12430, var_functionArguments_12200 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 391)) ; + outArgument_expression = GALGAS_gtlFunctionCallExpression::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 392)), var_functionName_12430, var_functionArguments_12200 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 391)) ; } break ; default: break ; @@ -10474,20 +10134,20 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i17_parse (Lexique_gtl_5F_scanner * inCompiler) { +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i17_parse (C_Lexique_gtl_5F_scanner * inCompiler) { nt_gtl_5F_variable_parse (inCompiler) ; switch (select_gtl_5F_expression_5F_parser_7 (inCompiler)) { case 1: { } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 380)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 380)) ; switch (select_gtl_5F_expression_5F_parser_8 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { nt_gtl_5F_expression_parse (inCompiler) ; if (select_gtl_5F_expression_5F_parser_9 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 386)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 386)) ; }else{ repeatFlag_0 = false ; } @@ -10498,7 +10158,7 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 389)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 389)) ; } break ; default: break ; @@ -10508,20 +10168,20 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i17_indexing (Lexique_gtl_5F_scanner * inCompiler) { +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i17_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { nt_gtl_5F_variable_indexing (inCompiler) ; switch (select_gtl_5F_expression_5F_parser_7 (inCompiler)) { case 1: { } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 380)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 380)) ; switch (select_gtl_5F_expression_5F_parser_8 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { nt_gtl_5F_expression_indexing (inCompiler) ; if (select_gtl_5F_expression_5F_parser_9 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 386)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 386)) ; }else{ repeatFlag_0 = false ; } @@ -10532,7 +10192,7 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 389)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 389)) ; } break ; default: break ; @@ -10542,22 +10202,22 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i18_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_exists COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 404)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_exists COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 404)) ; GALGAS_gtlVarPath var_path_12770 ; nt_gtl_5F_variable_ (var_path_12770, inCompiler) ; switch (select_gtl_5F_expression_5F_parser_10 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_default COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 406)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 407)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_default COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 406)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 407)) ; GALGAS_gtlExpression var_defaultExpression_12847 ; nt_gtl_5F_expression_ (var_defaultExpression_12847, inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 409)) ; - outArgument_expression = GALGAS_gtlExistsDefaultExpression::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 411)), var_path_12770, var_defaultExpression_12847 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 410)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 409)) ; + outArgument_expression = GALGAS_gtlExistsDefaultExpression::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 411)), var_path_12770, var_defaultExpression_12847 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 410)) ; } break ; case 2: { - outArgument_expression = GALGAS_gtlExistsExpression::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 414)), var_path_12770 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 414)) ; + outArgument_expression = GALGAS_gtlExistsExpression::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 414)), var_path_12770 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 414)) ; } break ; default: break ; @@ -10566,15 +10226,15 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i18_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_exists COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 404)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i18_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_exists COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 404)) ; nt_gtl_5F_variable_parse (inCompiler) ; switch (select_gtl_5F_expression_5F_parser_10 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_default COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 406)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 407)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_default COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 406)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 407)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 409)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 409)) ; } break ; case 2: { } break ; @@ -10586,15 +10246,15 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i18_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_exists COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 404)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i18_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_exists COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 404)) ; nt_gtl_5F_variable_indexing (inCompiler) ; switch (select_gtl_5F_expression_5F_parser_10 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_default COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 406)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 407)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_default COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 406)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 407)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 409)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 409)) ; } break ; case 2: { } break ; @@ -10606,111 +10266,111 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i19_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_typeof COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 423)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_typeof COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 423)) ; GALGAS_gtlVarPath var_path_13217 ; nt_gtl_5F_variable_ (var_path_13217, inCompiler) ; - outArgument_expression = GALGAS_gtlTypeOfExpression::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 424)), var_path_13217 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 424)) ; + outArgument_expression = GALGAS_gtlTypeOfExpression::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 424)), var_path_13217 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 424)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i19_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_typeof COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 423)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i19_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_typeof COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 423)) ; nt_gtl_5F_variable_parse (inCompiler) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i19_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_typeof COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 423)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i19_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_typeof COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 423)) ; nt_gtl_5F_variable_indexing (inCompiler) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i20_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_true COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 432)) ; - outArgument_expression = GALGAS_gtlTerminal::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 434)), GALGAS_gtlBool::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 436)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 437)), GALGAS_bool (true) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 435)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 433)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_true COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 432)) ; + outArgument_expression = GALGAS_gtlTerminal::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 434)), GALGAS_gtlBool::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 436)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 437)), GALGAS_bool (true) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 435)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 433)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i20_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_true COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 432)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i20_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_true COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 432)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i20_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_true COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 432)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i20_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_true COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 432)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i21_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_false COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 448)) ; - outArgument_expression = GALGAS_gtlTerminal::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 450)), GALGAS_gtlBool::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 452)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 453)), GALGAS_bool (false) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 451)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 449)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_false COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 448)) ; + outArgument_expression = GALGAS_gtlTerminal::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 450)), GALGAS_gtlBool::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 452)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 453)), GALGAS_bool (false) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 451)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 449)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i21_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_false COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 448)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i21_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_false COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 448)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i21_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_false COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 448)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i21_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_false COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 448)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i22_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument GALGAS_lstring var_enumValue_13978 = inCompiler->synthetizedAttribute_tokenString () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_literal_5F_enum COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 464)) ; - outArgument_expression = GALGAS_gtlTerminal::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 466)), GALGAS_gtlEnum::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 468)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 469)), var_enumValue_13978.readProperty_string () COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 467)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 465)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_literal_5F_enum COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 464)) ; + outArgument_expression = GALGAS_gtlTerminal::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 466)), GALGAS_gtlEnum::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 468)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 469)), var_enumValue_13978.readProperty_string () COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 467)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 465)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i22_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_literal_5F_enum COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 464)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i22_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_literal_5F_enum COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 464)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i22_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_literal_5F_enum COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 464)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i22_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_literal_5F_enum COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 464)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i23_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__40_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 480)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__40_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 480)) ; GALGAS_lstring var_typeName_14285 = inCompiler->synthetizedAttribute_tokenString () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 480)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 480)) ; GALGAS_string var_name_14308 = var_typeName_14285.readProperty_string () ; GALGAS_gtlType var_type_14348 ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { test_0 = GALGAS_bool (kIsEqual, var_name_14308.objectCompare (GALGAS_string ("int"))).boolEnum () ; if (kBoolTrue == test_0) { - var_type_14348 = GALGAS_gtlType::class_func_new (var_typeName_14285.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 484)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlInt) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 484)) ; + var_type_14348 = GALGAS_gtlType::constructor_new (var_typeName_14285.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 484)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlInt) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 484)) ; } } if (kBoolFalse == test_0) { @@ -10718,7 +10378,7 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 if (kBoolTrue == test_1) { test_1 = GALGAS_bool (kIsEqual, var_name_14308.objectCompare (GALGAS_string ("float"))).boolEnum () ; if (kBoolTrue == test_1) { - var_type_14348 = GALGAS_gtlType::class_func_new (var_typeName_14285.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 486)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlFloat) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 486)) ; + var_type_14348 = GALGAS_gtlType::constructor_new (var_typeName_14285.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 486)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlFloat) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 486)) ; } } if (kBoolFalse == test_1) { @@ -10726,7 +10386,7 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 if (kBoolTrue == test_2) { test_2 = GALGAS_bool (kIsEqual, var_name_14308.objectCompare (GALGAS_string ("string"))).boolEnum () ; if (kBoolTrue == test_2) { - var_type_14348 = GALGAS_gtlType::class_func_new (var_typeName_14285.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 488)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlString) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 488)) ; + var_type_14348 = GALGAS_gtlType::constructor_new (var_typeName_14285.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 488)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlString) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 488)) ; } } if (kBoolFalse == test_2) { @@ -10734,7 +10394,7 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 if (kBoolTrue == test_3) { test_3 = GALGAS_bool (kIsEqual, var_name_14308.objectCompare (GALGAS_string ("bool"))).boolEnum () ; if (kBoolTrue == test_3) { - var_type_14348 = GALGAS_gtlType::class_func_new (var_typeName_14285.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 490)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlBool) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 490)) ; + var_type_14348 = GALGAS_gtlType::constructor_new (var_typeName_14285.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 490)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlBool) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 490)) ; } } if (kBoolFalse == test_3) { @@ -10742,7 +10402,7 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 if (kBoolTrue == test_4) { test_4 = GALGAS_bool (kIsEqual, var_name_14308.objectCompare (GALGAS_string ("struct"))).boolEnum () ; if (kBoolTrue == test_4) { - var_type_14348 = GALGAS_gtlType::class_func_new (var_typeName_14285.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 492)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlStruct) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 492)) ; + var_type_14348 = GALGAS_gtlType::constructor_new (var_typeName_14285.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 492)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlStruct) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 492)) ; } } if (kBoolFalse == test_4) { @@ -10750,7 +10410,7 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 if (kBoolTrue == test_5) { test_5 = GALGAS_bool (kIsEqual, var_name_14308.objectCompare (GALGAS_string ("list"))).boolEnum () ; if (kBoolTrue == test_5) { - var_type_14348 = GALGAS_gtlType::class_func_new (var_typeName_14285.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 494)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlList) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 494)) ; + var_type_14348 = GALGAS_gtlType::constructor_new (var_typeName_14285.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 494)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlList) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 494)) ; } } if (kBoolFalse == test_5) { @@ -10758,7 +10418,7 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 if (kBoolTrue == test_6) { test_6 = GALGAS_bool (kIsEqual, var_name_14308.objectCompare (GALGAS_string ("map"))).boolEnum () ; if (kBoolTrue == test_6) { - var_type_14348 = GALGAS_gtlType::class_func_new (var_typeName_14285.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 496)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlMap) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 496)) ; + var_type_14348 = GALGAS_gtlType::constructor_new (var_typeName_14285.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 496)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlMap) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 496)) ; } } if (kBoolFalse == test_6) { @@ -10766,7 +10426,7 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 if (kBoolTrue == test_7) { test_7 = GALGAS_bool (kIsEqual, var_name_14308.objectCompare (GALGAS_string ("enum"))).boolEnum () ; if (kBoolTrue == test_7) { - var_type_14348 = GALGAS_gtlType::class_func_new (var_typeName_14285.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 498)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlEnum) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 498)) ; + var_type_14348 = GALGAS_gtlType::constructor_new (var_typeName_14285.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 498)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlEnum) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 498)) ; } } if (kBoolFalse == test_7) { @@ -10774,7 +10434,7 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 if (kBoolTrue == test_8) { test_8 = GALGAS_bool (kIsEqual, var_name_14308.objectCompare (GALGAS_string ("type"))).boolEnum () ; if (kBoolTrue == test_8) { - var_type_14348 = GALGAS_gtlType::class_func_new (var_typeName_14285.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 500)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlType) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 500)) ; + var_type_14348 = GALGAS_gtlType::constructor_new (var_typeName_14285.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 500)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlType) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 500)) ; } } if (kBoolFalse == test_8) { @@ -10782,7 +10442,7 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 if (kBoolTrue == test_9) { test_9 = GALGAS_bool (kIsEqual, var_name_14308.objectCompare (GALGAS_string ("set"))).boolEnum () ; if (kBoolTrue == test_9) { - var_type_14348 = GALGAS_gtlType::class_func_new (var_typeName_14285.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 502)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlSet) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 502)) ; + var_type_14348 = GALGAS_gtlType::constructor_new (var_typeName_14285.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 502)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlSet) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 502)) ; } } if (kBoolFalse == test_9) { @@ -10790,7 +10450,7 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 if (kBoolTrue == test_10) { test_10 = GALGAS_bool (kIsEqual, var_name_14308.objectCompare (GALGAS_string ("char"))).boolEnum () ; if (kBoolTrue == test_10) { - var_type_14348 = GALGAS_gtlType::class_func_new (var_typeName_14285.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 504)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlChar) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 504)) ; + var_type_14348 = GALGAS_gtlType::constructor_new (var_typeName_14285.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 504)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlChar) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 504)) ; } } if (kBoolFalse == test_10) { @@ -10798,12 +10458,12 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 if (kBoolTrue == test_11) { test_11 = GALGAS_bool (kIsEqual, var_name_14308.objectCompare (GALGAS_string ("unconstructed"))).boolEnum () ; if (kBoolTrue == test_11) { - var_type_14348 = GALGAS_gtlType::class_func_new (var_typeName_14285.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 506)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlUnconstructed) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 506)) ; + var_type_14348 = GALGAS_gtlType::constructor_new (var_typeName_14285.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 506)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlUnconstructed) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 506)) ; } } if (kBoolFalse == test_11) { TC_Array fixItArray12 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 507)), var_name_14308.add_operation (GALGAS_string (" does not name a type"), inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 507)), fixItArray12 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 507)) ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 507)), var_name_14308.add_operation (GALGAS_string (" does not name a type"), inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 507)), fixItArray12 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 507)) ; var_type_14348.drop () ; // Release error dropped variable } } @@ -10817,104 +10477,104 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 } } } - outArgument_expression = GALGAS_gtlTerminal::class_func_new (var_typeName_14285.readProperty_location (), var_type_14348 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 509)) ; + outArgument_expression = GALGAS_gtlTerminal::constructor_new (var_typeName_14285.readProperty_location (), var_type_14348 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 509)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i23_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__40_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 480)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 480)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i23_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__40_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 480)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 480)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i23_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__40_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 480)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 480)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i23_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__40_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 480)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 480)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i24_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_emptylist COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 517)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_emptylist COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 517)) ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { test_0 = GALGAS_bool (gOption_gtl_5F_options_warnDeprecated.readProperty_value ()).boolEnum () ; if (kBoolTrue == test_0) { TC_Array fixItArray1 ; appendFixItActions (fixItArray1, kFixItReplace, GALGAS_string ("@( )")) ; - inCompiler->emitSemanticWarning (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 519)), GALGAS_string ("emptylist is deprecated"), fixItArray1 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 519)) ; + inCompiler->emitSemanticWarning (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 519)), GALGAS_string ("emptylist is deprecated"), fixItArray1 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 519)) ; } } - outArgument_expression = GALGAS_gtlTerminal::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 522)), GALGAS_gtlList::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 524)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 525)), GALGAS_list::class_func_emptyList (SOURCE_FILE ("gtl_expression_parser.galgas", 526)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 523)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 521)) ; + outArgument_expression = GALGAS_gtlTerminal::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 522)), GALGAS_gtlList::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 524)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 525)), GALGAS_list::constructor_emptyList (SOURCE_FILE ("gtl_expression_parser.galgas", 526)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 523)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 521)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i24_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_emptylist COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 517)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i24_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_emptylist COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 517)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i24_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_emptylist COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 517)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i24_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_emptylist COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 517)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i25_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_emptymap COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 536)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_emptymap COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 536)) ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { test_0 = GALGAS_bool (gOption_gtl_5F_options_warnDeprecated.readProperty_value ()).boolEnum () ; if (kBoolTrue == test_0) { TC_Array fixItArray1 ; appendFixItActions (fixItArray1, kFixItReplace, GALGAS_string ("@[ ]")) ; - inCompiler->emitSemanticWarning (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 538)), GALGAS_string ("emptymap is deprecated"), fixItArray1 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 538)) ; + inCompiler->emitSemanticWarning (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 538)), GALGAS_string ("emptymap is deprecated"), fixItArray1 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 538)) ; } } - outArgument_expression = GALGAS_gtlTerminal::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 541)), GALGAS_gtlMap::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 543)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 544)), GALGAS_gtlVarMap::class_func_emptyMap (SOURCE_FILE ("gtl_expression_parser.galgas", 545)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 542)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 540)) ; + outArgument_expression = GALGAS_gtlTerminal::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 541)), GALGAS_gtlMap::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 543)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 544)), GALGAS_gtlVarMap::constructor_emptyMap (SOURCE_FILE ("gtl_expression_parser.galgas", 545)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 542)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 540)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i25_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_emptymap COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 536)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i25_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_emptymap COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 536)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i25_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_emptymap COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 536)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i25_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_emptymap COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 536)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i26_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_mapof COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 555)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_mapof COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 555)) ; GALGAS_gtlExpression var_data_16667 ; nt_gtl_5F_expression_ (var_data_16667, inCompiler) ; switch (select_gtl_5F_expression_5F_parser_11 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_by COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 558)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_by COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 558)) ; GALGAS_lstring var_key_16721 = inCompiler->synthetizedAttribute_tokenString () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 559)) ; - outArgument_expression = GALGAS_gtlMapOfListExpression::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 561)), var_data_16667, var_key_16721 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 560)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 559)) ; + outArgument_expression = GALGAS_gtlMapOfListExpression::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 561)), var_data_16667, var_key_16721 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 560)) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 566)) ; - outArgument_expression = GALGAS_gtlMapOfStructExpression::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 568)), var_data_16667 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 567)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 566)) ; + outArgument_expression = GALGAS_gtlMapOfStructExpression::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 568)), var_data_16667 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 567)) ; } break ; default: break ; @@ -10923,16 +10583,16 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i26_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_mapof COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 555)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i26_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_mapof COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 555)) ; nt_gtl_5F_expression_parse (inCompiler) ; switch (select_gtl_5F_expression_5F_parser_11 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_by COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 558)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 559)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_by COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 558)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 559)) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 566)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 566)) ; } break ; default: break ; @@ -10942,16 +10602,16 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i26_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_mapof COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 555)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i26_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_mapof COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 555)) ; nt_gtl_5F_expression_indexing (inCompiler) ; switch (select_gtl_5F_expression_5F_parser_11 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_by COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 558)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 559)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_by COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 558)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 559)) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 566)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 566)) ; } break ; default: break ; @@ -10961,39 +10621,39 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i27_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_listof COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 579)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_listof COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 579)) ; GALGAS_gtlExpression var_data_17100 ; nt_gtl_5F_expression_ (var_data_17100, inCompiler) ; - outArgument_expression = GALGAS_gtlListOfExpression::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 581)), var_data_17100 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 581)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 582)) ; + outArgument_expression = GALGAS_gtlListOfExpression::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 581)), var_data_17100 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 581)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 582)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i27_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_listof COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 579)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i27_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_listof COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 579)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 582)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 582)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i27_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_listof COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 579)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i27_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_listof COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 579)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 582)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 582)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i28_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__40__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 590)) ; - GALGAS_gtlExpressionList var_expressionList_17332 = GALGAS_gtlExpressionList::class_func_emptyList (SOURCE_FILE ("gtl_expression_parser.galgas", 591)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__40__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 590)) ; + GALGAS_gtlExpressionList var_expressionList_17332 = GALGAS_gtlExpressionList::constructor_emptyList (SOURCE_FILE ("gtl_expression_parser.galgas", 591)) ; switch (select_gtl_5F_expression_5F_parser_12 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; @@ -11002,7 +10662,7 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 nt_gtl_5F_expression_ (var_listItem_17423, inCompiler) ; var_expressionList_17332.addAssign_operation (var_listItem_17423 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 595)) ; if (select_gtl_5F_expression_5F_parser_13 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 596)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 596)) ; }else{ repeatFlag_0 = false ; } @@ -11013,21 +10673,21 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 600)) ; - outArgument_expression = GALGAS_gtlLiteralListExpression::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 601)), var_expressionList_17332 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 601)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 600)) ; + outArgument_expression = GALGAS_gtlLiteralListExpression::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 601)), var_expressionList_17332 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 601)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i28_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__40__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 590)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i28_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__40__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 590)) ; switch (select_gtl_5F_expression_5F_parser_12 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { nt_gtl_5F_expression_parse (inCompiler) ; if (select_gtl_5F_expression_5F_parser_13 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 596)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 596)) ; }else{ repeatFlag_0 = false ; } @@ -11038,21 +10698,21 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 600)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 600)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i28_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__40__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 590)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i28_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__40__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 590)) ; switch (select_gtl_5F_expression_5F_parser_12 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { nt_gtl_5F_expression_indexing (inCompiler) ; if (select_gtl_5F_expression_5F_parser_13 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 596)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 596)) ; }else{ repeatFlag_0 = false ; } @@ -11063,30 +10723,30 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 600)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 600)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i29_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__40__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 609)) ; - GALGAS_gtlExpressionMap var_expressionMap_17738 = GALGAS_gtlExpressionMap::class_func_emptyMap (SOURCE_FILE ("gtl_expression_parser.galgas", 610)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__40__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 609)) ; + GALGAS_gtlExpressionMap var_expressionMap_17738 = GALGAS_gtlExpressionMap::constructor_emptyMap (SOURCE_FILE ("gtl_expression_parser.galgas", 610)) ; switch (select_gtl_5F_expression_5F_parser_14 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { GALGAS_lstring var_key_17814 = inCompiler->synthetizedAttribute_a_5F_string () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 613)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 614)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 613)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 614)) ; GALGAS_gtlExpression var_mapItem_17871 ; nt_gtl_5F_expression_ (var_mapItem_17871, inCompiler) ; { var_expressionMap_17738.setter_put (var_key_17814, var_mapItem_17871, inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 616)) ; } if (select_gtl_5F_expression_5F_parser_15 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 617)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 617)) ; }else{ repeatFlag_0 = false ; } @@ -11097,23 +10757,23 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 621)) ; - outArgument_expression = GALGAS_gtlLiteralMapExpression::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 622)), var_expressionMap_17738 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 622)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 621)) ; + outArgument_expression = GALGAS_gtlLiteralMapExpression::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 622)), var_expressionMap_17738 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 622)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i29_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__40__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 609)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i29_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__40__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 609)) ; switch (select_gtl_5F_expression_5F_parser_14 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 613)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 614)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 613)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 614)) ; nt_gtl_5F_expression_parse (inCompiler) ; if (select_gtl_5F_expression_5F_parser_15 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 617)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 617)) ; }else{ repeatFlag_0 = false ; } @@ -11124,23 +10784,23 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 621)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 621)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i29_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__40__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 609)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i29_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__40__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 609)) ; switch (select_gtl_5F_expression_5F_parser_14 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 613)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 614)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 613)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 614)) ; nt_gtl_5F_expression_indexing (inCompiler) ; if (select_gtl_5F_expression_5F_parser_15 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 617)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 617)) ; }else{ repeatFlag_0 = false ; } @@ -11151,30 +10811,30 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 621)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 621)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i30_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__40__7B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 630)) ; - GALGAS_gtlExpressionMap var_expressionMap_18191 = GALGAS_gtlExpressionMap::class_func_emptyMap (SOURCE_FILE ("gtl_expression_parser.galgas", 631)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__40__7B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 630)) ; + GALGAS_gtlExpressionMap var_expressionMap_18191 = GALGAS_gtlExpressionMap::constructor_emptyMap (SOURCE_FILE ("gtl_expression_parser.galgas", 631)) ; switch (select_gtl_5F_expression_5F_parser_16 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { GALGAS_lstring var_fieldName_18270 = inCompiler->synthetizedAttribute_tokenString () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 634)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 635)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 634)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 635)) ; GALGAS_gtlExpression var_structField_18333 ; nt_gtl_5F_expression_ (var_structField_18333, inCompiler) ; { var_expressionMap_18191.setter_put (var_fieldName_18270, var_structField_18333, inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 637)) ; } if (select_gtl_5F_expression_5F_parser_17 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 638)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 638)) ; }else{ repeatFlag_0 = false ; } @@ -11185,23 +10845,23 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__7D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 642)) ; - outArgument_expression = GALGAS_gtlLiteralStructExpression::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 643)), var_expressionMap_18191 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 643)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__7D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 642)) ; + outArgument_expression = GALGAS_gtlLiteralStructExpression::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 643)), var_expressionMap_18191 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 643)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i30_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__40__7B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 630)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i30_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__40__7B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 630)) ; switch (select_gtl_5F_expression_5F_parser_16 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 634)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 635)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 634)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 635)) ; nt_gtl_5F_expression_parse (inCompiler) ; if (select_gtl_5F_expression_5F_parser_17 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 638)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 638)) ; }else{ repeatFlag_0 = false ; } @@ -11212,23 +10872,23 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__7D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 642)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__7D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 642)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i30_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__40__7B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 630)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i30_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__40__7B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 630)) ; switch (select_gtl_5F_expression_5F_parser_16 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 634)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 635)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 634)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 635)) ; nt_gtl_5F_expression_indexing (inCompiler) ; if (select_gtl_5F_expression_5F_parser_17 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 638)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 638)) ; }else{ repeatFlag_0 = false ; } @@ -11239,16 +10899,16 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__7D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 642)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__7D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 642)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i31_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__40__21_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 651)) ; - GALGAS_gtlExpressionList var_expressionList_18671 = GALGAS_gtlExpressionList::class_func_emptyList (SOURCE_FILE ("gtl_expression_parser.galgas", 652)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__40__21_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 651)) ; + GALGAS_gtlExpressionList var_expressionList_18671 = GALGAS_gtlExpressionList::constructor_emptyList (SOURCE_FILE ("gtl_expression_parser.galgas", 652)) ; switch (select_gtl_5F_expression_5F_parser_18 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; @@ -11257,7 +10917,7 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 nt_gtl_5F_expression_ (var_setElement_18762, inCompiler) ; var_expressionList_18671.addAssign_operation (var_setElement_18762 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 656)) ; if (select_gtl_5F_expression_5F_parser_19 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 657)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 657)) ; }else{ repeatFlag_0 = false ; } @@ -11268,21 +10928,21 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__21_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 661)) ; - outArgument_expression = GALGAS_gtlLiteralSetExpression::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 662)), var_expressionList_18671 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 662)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__21_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 661)) ; + outArgument_expression = GALGAS_gtlLiteralSetExpression::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 662)), var_expressionList_18671 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 662)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i31_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__40__21_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 651)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i31_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__40__21_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 651)) ; switch (select_gtl_5F_expression_5F_parser_18 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { nt_gtl_5F_expression_parse (inCompiler) ; if (select_gtl_5F_expression_5F_parser_19 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 657)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 657)) ; }else{ repeatFlag_0 = false ; } @@ -11293,21 +10953,21 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__21_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 661)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__21_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 661)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i31_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__40__21_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 651)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i31_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__40__21_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 651)) ; switch (select_gtl_5F_expression_5F_parser_18 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { nt_gtl_5F_expression_indexing (inCompiler) ; if (select_gtl_5F_expression_5F_parser_19 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 657)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 657)) ; }else{ repeatFlag_0 = false ; } @@ -11318,92 +10978,92 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__21_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 661)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__21_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 661)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i32_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__40__3F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 670)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__40__3F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 670)) ; GALGAS_gtlExpression var_exp_19099 ; nt_gtl_5F_expression_ (var_exp_19099, inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 672)) ; - outArgument_expression = GALGAS_gtlTerminal::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 673)), GALGAS_gtlExpr::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 673)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 673)), var_exp_19099 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 673)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 673)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 672)) ; + outArgument_expression = GALGAS_gtlTerminal::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 673)), GALGAS_gtlExpr::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 673)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 673)), var_exp_19099 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 673)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 673)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i32_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__40__3F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 670)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i32_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__40__3F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 670)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 672)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 672)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i32_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__40__3F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 670)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i32_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__40__3F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 670)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 672)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 672)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i33_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5F__5F_VARS_5F__5F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 681)) ; - outArgument_expression = GALGAS_gtlAllVarsRef::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 682)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 682)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5F__5F_VARS_5F__5F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 681)) ; + outArgument_expression = GALGAS_gtlAllVarsRef::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 682)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 682)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i33_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5F__5F_VARS_5F__5F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 681)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i33_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5F__5F_VARS_5F__5F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 681)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i33_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5F__5F_VARS_5F__5F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 681)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i33_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5F__5F_VARS_5F__5F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 681)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_variable_i34_ (GALGAS_gtlVarPath & outArgument_path, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_path.drop () ; // Release 'out' argument - outArgument_path = GALGAS_gtlVarPath::class_func_emptyList (SOURCE_FILE ("gtl_expression_parser.galgas", 690)) ; + outArgument_path = GALGAS_gtlVarPath::constructor_emptyList (SOURCE_FILE ("gtl_expression_parser.galgas", 690)) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { GALGAS_lstring var_variableName_19577 = inCompiler->synthetizedAttribute_tokenString () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 692)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 692)) ; switch (select_gtl_5F_expression_5F_parser_21 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 694)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 694)) ; GALGAS_gtlExpression var_expression_19654 ; nt_gtl_5F_expression_ (var_expression_19654, inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 696)) ; - outArgument_path.addAssign_operation (GALGAS_gtlVarItemCollection::class_func_new (var_variableName_19577, var_expression_19654 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 697)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 697)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 696)) ; + outArgument_path.addAssign_operation (GALGAS_gtlVarItemCollection::constructor_new (var_variableName_19577, var_expression_19654 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 697)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 697)) ; switch (select_gtl_5F_expression_5F_parser_22 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 699)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 699)) ; GALGAS_gtlExpression var_expression_19816 ; nt_gtl_5F_expression_ (var_expression_19816, inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 701)) ; - outArgument_path.addAssign_operation (GALGAS_gtlVarItemSubCollection::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 702)), var_expression_19816 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 702)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 702)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 701)) ; + outArgument_path.addAssign_operation (GALGAS_gtlVarItemSubCollection::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 702)), var_expression_19816 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 702)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 702)) ; bool repeatFlag_1 = true ; while (repeatFlag_1) { if (select_gtl_5F_expression_5F_parser_23 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 705)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 705)) ; GALGAS_gtlExpression var_expression_19998 ; nt_gtl_5F_expression_ (var_expression_19998, inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 707)) ; - outArgument_path.addAssign_operation (GALGAS_gtlVarItemSubCollection::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 708)), var_expression_19998 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 708)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 708)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 707)) ; + outArgument_path.addAssign_operation (GALGAS_gtlVarItemSubCollection::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 708)), var_expression_19998 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 708)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 708)) ; }else{ repeatFlag_1 = false ; } @@ -11416,13 +11076,13 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 } } break ; case 2: { - outArgument_path.addAssign_operation (GALGAS_gtlVarItemField::class_func_new (var_variableName_19577 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 713)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 713)) ; + outArgument_path.addAssign_operation (GALGAS_gtlVarItemField::constructor_new (var_variableName_19577 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 713)) COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 713)) ; } break ; default: break ; } if (select_gtl_5F_expression_5F_parser_20 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3A__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 716)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3A__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 716)) ; }else{ repeatFlag_0 = false ; } @@ -11431,26 +11091,26 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_variable_i34_parse (Lexique_gtl_5F_scanner * inCompiler) { +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_variable_i34_parse (C_Lexique_gtl_5F_scanner * inCompiler) { bool repeatFlag_0 = true ; while (repeatFlag_0) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 692)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 692)) ; switch (select_gtl_5F_expression_5F_parser_21 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 694)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 694)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 696)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 696)) ; switch (select_gtl_5F_expression_5F_parser_22 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 699)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 699)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 701)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 701)) ; bool repeatFlag_1 = true ; while (repeatFlag_1) { if (select_gtl_5F_expression_5F_parser_23 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 705)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 705)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 707)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 707)) ; }else{ repeatFlag_1 = false ; } @@ -11468,7 +11128,7 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 break ; } if (select_gtl_5F_expression_5F_parser_20 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3A__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 716)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3A__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 716)) ; }else{ repeatFlag_0 = false ; } @@ -11478,26 +11138,26 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_variable_i34_indexing (Lexique_gtl_5F_scanner * inCompiler) { +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_variable_i34_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { bool repeatFlag_0 = true ; while (repeatFlag_0) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 692)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 692)) ; switch (select_gtl_5F_expression_5F_parser_21 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 694)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 694)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 696)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 696)) ; switch (select_gtl_5F_expression_5F_parser_22 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 699)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 699)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 701)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 701)) ; bool repeatFlag_1 = true ; while (repeatFlag_1) { if (select_gtl_5F_expression_5F_parser_23 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 705)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 705)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 707)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 707)) ; }else{ repeatFlag_1 = false ; } @@ -11515,7 +11175,7 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 break ; } if (select_gtl_5F_expression_5F_parser_20 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3A__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 716)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3A__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 716)) ; }else{ repeatFlag_0 = false ; } @@ -11526,13 +11186,13 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_variable_5F_or_5F_here_i35_ (GALGAS_gtlVarPath & outArgument_path, GALGAS_bool & outArgument_hereInstead, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_path.drop () ; // Release 'out' argument outArgument_hereInstead.drop () ; // Release 'out' argument switch (select_gtl_5F_expression_5F_parser_24 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_here COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 727)) ; - outArgument_path = GALGAS_gtlVarPath::class_func_emptyList (SOURCE_FILE ("gtl_expression_parser.galgas", 727)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_here COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 727)) ; + outArgument_path = GALGAS_gtlVarPath::constructor_emptyList (SOURCE_FILE ("gtl_expression_parser.galgas", 727)) ; outArgument_hereInstead = GALGAS_bool (true) ; } break ; case 2: { @@ -11546,10 +11206,10 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_variable_5F_or_5F_here_i35_parse (Lexique_gtl_5F_scanner * inCompiler) { +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_variable_5F_or_5F_here_i35_parse (C_Lexique_gtl_5F_scanner * inCompiler) { switch (select_gtl_5F_expression_5F_parser_24 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_here COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 727)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_here COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 727)) ; } break ; case 2: { nt_gtl_5F_variable_parse (inCompiler) ; @@ -11562,10 +11222,10 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_variable_5F_or_5F_here_i35_indexing (Lexique_gtl_5F_scanner * inCompiler) { +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_variable_5F_or_5F_here_i35_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { switch (select_gtl_5F_expression_5F_parser_24 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_here COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 727)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_here COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 727)) ; } break ; case 2: { nt_gtl_5F_variable_indexing (inCompiler) ; @@ -11578,22 +11238,22 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_argument_5F_list_i36_ (GALGAS_gtlArgumentList & outArgument_arguments, - Lexique_gtl_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_scanner * inCompiler) { outArgument_arguments.drop () ; // Release 'out' argument - outArgument_arguments = GALGAS_gtlArgumentList::class_func_emptyList (SOURCE_FILE ("gtl_expression_parser.galgas", 739)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 740)) ; + outArgument_arguments = GALGAS_gtlArgumentList::constructor_emptyList (SOURCE_FILE ("gtl_expression_parser.galgas", 739)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 740)) ; switch (select_gtl_5F_expression_5F_parser_25 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { GALGAS_lstring var_argumentName_20720 = inCompiler->synthetizedAttribute_tokenString () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 743)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 743)) ; switch (select_gtl_5F_expression_5F_parser_27 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 745)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__40_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 745)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 745)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__40_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 745)) ; GALGAS_lstring var_typeName_20793 = inCompiler->synthetizedAttribute_tokenString () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 745)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 745)) ; outArgument_arguments.addAssign_operation (GALGAS_bool (true), extensionGetter_gtlType (var_typeName_20793, inCompiler COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 746)), var_argumentName_20720 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 746)) ; } break ; case 2: { @@ -11603,7 +11263,7 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 break ; } if (select_gtl_5F_expression_5F_parser_26 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 750)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 750)) ; }else{ repeatFlag_0 = false ; } @@ -11614,23 +11274,23 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 753)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 753)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_argument_5F_list_i36_parse (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 740)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_argument_5F_list_i36_parse (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 740)) ; switch (select_gtl_5F_expression_5F_parser_25 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 743)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 743)) ; switch (select_gtl_5F_expression_5F_parser_27 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 745)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__40_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 745)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 745)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 745)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__40_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 745)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 745)) ; } break ; case 2: { } break ; @@ -11638,7 +11298,7 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 break ; } if (select_gtl_5F_expression_5F_parser_26 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 750)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 750)) ; }else{ repeatFlag_0 = false ; } @@ -11649,24 +11309,24 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 753)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 753)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_argument_5F_list_i36_indexing (Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 740)) ; +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_argument_5F_list_i36_indexing (C_Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 740)) ; switch (select_gtl_5F_expression_5F_parser_25 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 743)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 743)) ; switch (select_gtl_5F_expression_5F_parser_27 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 745)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__40_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 745)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 745)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 745)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__40_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 745)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 745)) ; } break ; case 2: { } break ; @@ -11674,7 +11334,7 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 break ; } if (select_gtl_5F_expression_5F_parser_26 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 750)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 750)) ; }else{ repeatFlag_0 = false ; } @@ -11685,12 +11345,12 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 753)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 753)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @@ -11710,19 +11370,19 @@ typeComparisonResult GALGAS_gtlInstruction::objectCompare (const GALGAS_gtlInstr return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstruction::GALGAS_gtlInstruction (void) : AC_GALGAS_value_class () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstruction::GALGAS_gtlInstruction (const cPtr_gtlInstruction * inSourcePtr) : AC_GALGAS_value_class (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_location GALGAS_gtlInstruction::readProperty_where (void) const { if (nullptr == mObjectPtr) { @@ -11734,13 +11394,13 @@ GALGAS_location GALGAS_gtlInstruction::readProperty_where (void) const { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_location cPtr_gtlInstruction::getter_where (UNUSED_LOCATION_ARGS) const { return mProperty_where ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_gtlInstruction::readProperty_signature (void) const { if (nullptr == mObjectPtr) { @@ -11752,13 +11412,13 @@ GALGAS_string GALGAS_gtlInstruction::readProperty_signature (void) const { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string cPtr_gtlInstruction::getter_signature (UNUSED_LOCATION_ARGS) const { return mProperty_signature ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlInstruction::setter_setWhere (GALGAS_location inValue COMMA_LOCATION_ARGS) { @@ -11770,14 +11430,14 @@ void GALGAS_gtlInstruction::setter_setWhere (GALGAS_location inValue } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlInstruction::setter_setWhere (GALGAS_location inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_where = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlInstruction::setter_setSignature (GALGAS_string inValue COMMA_LOCATION_ARGS) { @@ -11789,16 +11449,16 @@ void GALGAS_gtlInstruction::setter_setSignature (GALGAS_string inValue } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlInstruction::setter_setSignature (GALGAS_string inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_signature = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlInstruction::cPtr_gtlInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature @@ -11809,22 +11469,23 @@ mProperty_signature (in_signature) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlInstruction ("gtlInstruction", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlInstruction ("gtlInstruction", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -11834,10 +11495,10 @@ AC_GALGAS_root * GALGAS_gtlInstruction::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstruction GALGAS_gtlInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlInstruction result ; const GALGAS_gtlInstruction * p = (const GALGAS_gtlInstruction *) inObject.embeddedObject () ; @@ -11851,13 +11512,13 @@ GALGAS_gtlInstruction GALGAS_gtlInstruction::extractObject (const GALGAS_object return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@gtlInstruction location' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_location cPtr_gtlInstruction::getter_location (Compiler */* inCompiler */ +GALGAS_location cPtr_gtlInstruction::getter_location (C_Compiler */* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_location result_result ; // Returned variable result_result = this->mProperty_where ; @@ -11867,10 +11528,10 @@ GALGAS_location cPtr_gtlInstruction::getter_location (Compiler */* inCompiler */ -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_location callExtensionGetter_location (const cPtr_gtlInstruction * inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_location result ; if (nullptr != inObject) { @@ -11879,18 +11540,18 @@ GALGAS_location callExtensionGetter_location (const cPtr_gtlInstruction * inObje return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension method '@gtlInstruction execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionMethod_execute (cPtr_gtlInstruction * inObject, GALGAS_gtlContext & io_context, GALGAS_gtlData & io_vars, GALGAS_library & io_lib, GALGAS_string & io_outputString, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { //--- Drop output arguments //--- Find method @@ -11899,18 +11560,18 @@ void callExtensionMethod_execute (cPtr_gtlInstruction * inObject, inObject->method_execute (io_context, io_vars, io_lib, io_outputString, inCompiler COMMA_THERE) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension method '@gtlInstructionList execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void extensionMethod_execute (const GALGAS_gtlInstructionList inObject, GALGAS_gtlContext & ioArgument_context, GALGAS_gtlData & ioArgument_vars, GALGAS_library & ioArgument_lib, GALGAS_string & ioArgument_outputString, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { @@ -11922,12 +11583,12 @@ void extensionMethod_execute (const GALGAS_gtlInstructionList inObject, cPtr_gtlContext * ptr_1570 = (cPtr_gtlContext *) ioArgument_context.ptr () ; callExtensionSetter_pushInstructionList ((cPtr_gtlContext *) ptr_1570, temp_1, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 61)) ; } - GALGAS_uint var_lastErrorCount_1615 = GALGAS_uint::class_func_errorCount (SOURCE_FILE ("gtl_instructions.galgas", 62)) ; + GALGAS_uint var_lastErrorCount_1615 = GALGAS_uint::constructor_errorCount (SOURCE_FILE ("gtl_instructions.galgas", 62)) ; const GALGAS_gtlInstructionList temp_2 = inObject ; cEnumerator_gtlInstructionList enumerator_1652 (temp_2, kENUMERATION_UP) ; GALGAS_uint index_1648 ((uint32_t) 0) ; while (enumerator_1652.hasCurrentObject ()) { - GALGAS_bool var_errorCountIncreased_1690 = GALGAS_bool (kIsStrictSup, GALGAS_uint::class_func_errorCount (SOURCE_FILE ("gtl_instructions.galgas", 64)).substract_operation (var_lastErrorCount_1615, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 64)).objectCompare (GALGAS_uint (uint32_t (0U)))) ; + GALGAS_bool var_errorCountIncreased_1690 = GALGAS_bool (kIsStrictSup, GALGAS_uint::constructor_errorCount (SOURCE_FILE ("gtl_instructions.galgas", 64)).substract_operation (var_lastErrorCount_1615, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 64)).objectCompare (GALGAS_uint (uint32_t (0U)))) ; enumGalgasBool test_3 = kBoolTrue ; if (kBoolTrue == test_3) { test_3 = callExtensionGetter_breakOnNext ((const cPtr_gtlContext *) ioArgument_context.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 65)).operator_or (callExtensionGetter_breakOn ((const cPtr_gtlContext *) ioArgument_context.ptr (), enumerator_1652.current_instruction (HERE), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 65)) COMMA_SOURCE_FILE ("gtl_instructions.galgas", 65)).operator_or (callExtensionGetter_watchOn ((const cPtr_gtlContext *) ioArgument_context.ptr (), ioArgument_context, ioArgument_vars, ioArgument_lib, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 66)) COMMA_SOURCE_FILE ("gtl_instructions.galgas", 65)).operator_or (var_errorCountIncreased_1690 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 66)).boolEnum () ; @@ -11962,8 +11623,8 @@ void extensionMethod_execute (const GALGAS_gtlInstructionList inObject, cPtr_gtlContext * ptr_2148 = (cPtr_gtlContext *) ioArgument_context.ptr () ; callExtensionSetter_setLoopOnCommand ((cPtr_gtlContext *) ptr_2148, GALGAS_bool (true), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 72)) ; } - if (GALGAS_uint::class_func_max (SOURCE_FILE ("gtl_instructions.galgas", 73)).isValid ()) { - uint32_t variant_2188 = GALGAS_uint::class_func_max (SOURCE_FILE ("gtl_instructions.galgas", 73)).uintValue () ; + if (GALGAS_uint::constructor_max (SOURCE_FILE ("gtl_instructions.galgas", 73)).isValid ()) { + uint32_t variant_2188 = GALGAS_uint::constructor_max (SOURCE_FILE ("gtl_instructions.galgas", 73)).uintValue () ; bool loop_2188 = true ; while (loop_2188) { inCompiler->printMessage (callExtensionGetter_promptStyle ((const cPtr_gtlContext *) ioArgument_context.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 74)).add_operation (GALGAS_string ("gtl> "), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 74)).add_operation (function_endc (inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 74)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 74)) COMMA_SOURCE_FILE ("gtl_instructions.galgas", 74)) ; @@ -11974,12 +11635,12 @@ void extensionMethod_execute (const GALGAS_gtlInstructionList inObject, callExtensionSetter_getCommand ((cPtr_gtlContext *) ptr_2277, var_input_2309, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 75)) ; } GALGAS_gtlInstruction var_command_2346 ; - GALGAS_uint var_currentErrorCount_2374 = GALGAS_uint::class_func_errorCount (SOURCE_FILE ("gtl_instructions.galgas", 77)) ; + GALGAS_uint var_currentErrorCount_2374 = GALGAS_uint::constructor_errorCount (SOURCE_FILE ("gtl_instructions.galgas", 77)) ; enumGalgasBool test_4 = kBoolTrue ; if (kBoolTrue == test_4) { test_4 = GALGAS_bool (kIsEqual, var_input_2309.getter_stringByTrimmingWhiteSpaces (SOURCE_FILE ("gtl_instructions.galgas", 78)).objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; if (kBoolTrue == test_4) { - var_command_2346 = GALGAS_gtlStepInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 79)), GALGAS_string::makeEmptyString () COMMA_SOURCE_FILE ("gtl_instructions.galgas", 79)) ; + var_command_2346 = GALGAS_gtlStepInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 79)), GALGAS_string::makeEmptyString () COMMA_SOURCE_FILE ("gtl_instructions.galgas", 79)) ; } } if (kBoolFalse == test_4) { @@ -11988,7 +11649,7 @@ void extensionMethod_execute (const GALGAS_gtlInstructionList inObject, } enumGalgasBool test_5 = kBoolTrue ; if (kBoolTrue == test_5) { - test_5 = GALGAS_bool (kIsEqual, GALGAS_uint::class_func_errorCount (SOURCE_FILE ("gtl_instructions.galgas", 84)).objectCompare (var_currentErrorCount_2374)).boolEnum () ; + test_5 = GALGAS_bool (kIsEqual, GALGAS_uint::constructor_errorCount (SOURCE_FILE ("gtl_instructions.galgas", 84)).objectCompare (var_currentErrorCount_2374)).boolEnum () ; if (kBoolTrue == test_5) { enumGalgasBool test_6 = kBoolTrue ; if (kBoolTrue == test_6) { @@ -12026,7 +11687,7 @@ void extensionMethod_execute (const GALGAS_gtlInstructionList inObject, } } } - var_lastErrorCount_1615 = GALGAS_uint::class_func_errorCount (SOURCE_FILE ("gtl_instructions.galgas", 96)) ; + var_lastErrorCount_1615 = GALGAS_uint::constructor_errorCount (SOURCE_FILE ("gtl_instructions.galgas", 96)) ; callExtensionMethod_execute ((cPtr_gtlInstruction *) enumerator_1652.current_instruction (HERE).ptr (), ioArgument_context, ioArgument_vars, ioArgument_lib, ioArgument_outputString, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 97)) ; enumerator_1652.gotoNextObject () ; index_1648.increment_operation (inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 63)) ; @@ -12044,12 +11705,12 @@ void extensionMethod_execute (const GALGAS_gtlInstructionList inObject, while (enumerator_3269.hasCurrentObject ()) { enumGalgasBool test_8 = kBoolTrue ; if (kBoolTrue == test_8) { - test_8 = GALGAS_bool (kIsEqual, GALGAS_uint::class_func_errorCount (SOURCE_FILE ("gtl_instructions.galgas", 102)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + test_8 = GALGAS_bool (kIsEqual, GALGAS_uint::constructor_errorCount (SOURCE_FILE ("gtl_instructions.galgas", 102)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; if (kBoolTrue == test_8) { callExtensionMethod_execute ((cPtr_gtlInstruction *) enumerator_3269.current_instruction (HERE).ptr (), ioArgument_context, ioArgument_vars, ioArgument_lib, ioArgument_outputString, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 103)) ; enumGalgasBool test_9 = kBoolTrue ; if (kBoolTrue == test_9) { - test_9 = GALGAS_bool (kIsNotEqual, GALGAS_uint::class_func_errorCount (SOURCE_FILE ("gtl_instructions.galgas", 104)).objectCompare (GALGAS_uint (uint32_t (0U)))).operator_and (ioArgument_context.readProperty_propagateError () COMMA_SOURCE_FILE ("gtl_instructions.galgas", 104)).boolEnum () ; + test_9 = GALGAS_bool (kIsNotEqual, GALGAS_uint::constructor_errorCount (SOURCE_FILE ("gtl_instructions.galgas", 104)).objectCompare (GALGAS_uint (uint32_t (0U)))).operator_and (ioArgument_context.readProperty_propagateError () COMMA_SOURCE_FILE ("gtl_instructions.galgas", 104)).boolEnum () ; if (kBoolTrue == test_9) { TC_Array fixItArray10 ; inCompiler->emitSemanticError (callExtensionGetter_location ((const cPtr_gtlInstruction *) enumerator_3269.current_instruction (HERE).ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 105)), GALGAS_string ("runtime error"), fixItArray10 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 105)) ; @@ -12063,9 +11724,9 @@ void extensionMethod_execute (const GALGAS_gtlInstructionList inObject, } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlLetUnconstructedInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -12083,7 +11744,7 @@ typeComparisonResult cPtr_gtlLetUnconstructedInstruction::dynamicObjectCompare ( return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlLetUnconstructedInstruction::objectCompare (const GALGAS_gtlLetUnconstructedInstruction & inOperand) const { @@ -12102,24 +11763,33 @@ typeComparisonResult GALGAS_gtlLetUnconstructedInstruction::objectCompare (const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlLetUnconstructedInstruction::GALGAS_gtlLetUnconstructedInstruction (void) : GALGAS_gtlInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlLetUnconstructedInstruction GALGAS_gtlLetUnconstructedInstruction::constructor_default (LOCATION_ARGS) { + return GALGAS_gtlLetUnconstructedInstruction::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_string::constructor_default (HERE), + GALGAS_gtlVarPath::constructor_emptyList (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlLetUnconstructedInstruction::GALGAS_gtlLetUnconstructedInstruction (const cPtr_gtlLetUnconstructedInstruction * inSourcePtr) : GALGAS_gtlInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlLetUnconstructedInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlLetUnconstructedInstruction GALGAS_gtlLetUnconstructedInstruction::class_func_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_gtlVarPath & inAttribute_lValue - COMMA_LOCATION_ARGS) { +GALGAS_gtlLetUnconstructedInstruction GALGAS_gtlLetUnconstructedInstruction::constructor_new (const GALGAS_location & inAttribute_where, + const GALGAS_string & inAttribute_signature, + const GALGAS_gtlVarPath & inAttribute_lValue + COMMA_LOCATION_ARGS) { GALGAS_gtlLetUnconstructedInstruction result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_lValue.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlLetUnconstructedInstruction (inAttribute_where, inAttribute_signature, inAttribute_lValue COMMA_THERE)) ; @@ -12127,7 +11797,7 @@ GALGAS_gtlLetUnconstructedInstruction GALGAS_gtlLetUnconstructedInstruction::cla return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarPath GALGAS_gtlLetUnconstructedInstruction::readProperty_lValue (void) const { if (nullptr == mObjectPtr) { @@ -12139,13 +11809,13 @@ GALGAS_gtlVarPath GALGAS_gtlLetUnconstructedInstruction::readProperty_lValue (vo } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarPath cPtr_gtlLetUnconstructedInstruction::getter_lValue (UNUSED_LOCATION_ARGS) const { return mProperty_lValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlLetUnconstructedInstruction::setter_setLValue (GALGAS_gtlVarPath inValue COMMA_LOCATION_ARGS) { @@ -12157,16 +11827,16 @@ void GALGAS_gtlLetUnconstructedInstruction::setter_setLValue (GALGAS_gtlVarPath } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlLetUnconstructedInstruction::setter_setLValue (GALGAS_gtlVarPath inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_lValue = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlLetUnconstructedInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlLetUnconstructedInstruction::cPtr_gtlLetUnconstructedInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature, @@ -12176,24 +11846,24 @@ cPtr_gtlInstruction (in_where, in_signature COMMA_THERE), mProperty_lValue (in_lValue) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlLetUnconstructedInstruction::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlLetUnconstructedInstruction ; } -void cPtr_gtlLetUnconstructedInstruction::description (String & ioString, +void cPtr_gtlLetUnconstructedInstruction::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlLetUnconstructedInstruction:") ; + ioString << "[@gtlLetUnconstructedInstruction:" ; mProperty_where.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_lValue.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlLetUnconstructedInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -12202,22 +11872,23 @@ acPtr_class * cPtr_gtlLetUnconstructedInstruction::duplicate (LOCATION_ARGS) con } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlLetUnconstructedInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlLetUnconstructedInstruction ("gtlLetUnconstructedInstruction", - & kTypeDescriptor_GALGAS_gtlInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlLetUnconstructedInstruction ("gtlLetUnconstructedInstruction", + & kTypeDescriptor_GALGAS_gtlInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlLetUnconstructedInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlLetUnconstructedInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlLetUnconstructedInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -12227,10 +11898,10 @@ AC_GALGAS_root * GALGAS_gtlLetUnconstructedInstruction::clonedObject (void) cons return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlLetUnconstructedInstruction GALGAS_gtlLetUnconstructedInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlLetUnconstructedInstruction result ; const GALGAS_gtlLetUnconstructedInstruction * p = (const GALGAS_gtlLetUnconstructedInstruction *) inObject.embeddedObject () ; @@ -12244,9 +11915,9 @@ GALGAS_gtlLetUnconstructedInstruction GALGAS_gtlLetUnconstructedInstruction::ext return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlUnletInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -12264,7 +11935,7 @@ typeComparisonResult cPtr_gtlUnletInstruction::dynamicObjectCompare (const acPtr return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlUnletInstruction::objectCompare (const GALGAS_gtlUnletInstruction & inOperand) const { @@ -12283,24 +11954,33 @@ typeComparisonResult GALGAS_gtlUnletInstruction::objectCompare (const GALGAS_gtl return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlUnletInstruction::GALGAS_gtlUnletInstruction (void) : GALGAS_gtlLetUnconstructedInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlUnletInstruction GALGAS_gtlUnletInstruction::constructor_default (LOCATION_ARGS) { + return GALGAS_gtlUnletInstruction::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_string::constructor_default (HERE), + GALGAS_gtlVarPath::constructor_emptyList (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlUnletInstruction::GALGAS_gtlUnletInstruction (const cPtr_gtlUnletInstruction * inSourcePtr) : GALGAS_gtlLetUnconstructedInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlUnletInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlUnletInstruction GALGAS_gtlUnletInstruction::class_func_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_gtlVarPath & inAttribute_lValue - COMMA_LOCATION_ARGS) { +GALGAS_gtlUnletInstruction GALGAS_gtlUnletInstruction::constructor_new (const GALGAS_location & inAttribute_where, + const GALGAS_string & inAttribute_signature, + const GALGAS_gtlVarPath & inAttribute_lValue + COMMA_LOCATION_ARGS) { GALGAS_gtlUnletInstruction result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_lValue.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlUnletInstruction (inAttribute_where, inAttribute_signature, inAttribute_lValue COMMA_THERE)) ; @@ -12308,9 +11988,9 @@ GALGAS_gtlUnletInstruction GALGAS_gtlUnletInstruction::class_func_new (const GAL return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlUnletInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlUnletInstruction::cPtr_gtlUnletInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature, @@ -12319,24 +11999,24 @@ cPtr_gtlUnletInstruction::cPtr_gtlUnletInstruction (const GALGAS_location & in_w cPtr_gtlLetUnconstructedInstruction (in_where, in_signature, in_lValue COMMA_THERE) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlUnletInstruction::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlUnletInstruction ; } -void cPtr_gtlUnletInstruction::description (String & ioString, +void cPtr_gtlUnletInstruction::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlUnletInstruction:") ; + ioString << "[@gtlUnletInstruction:" ; mProperty_where.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_lValue.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlUnletInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -12345,22 +12025,23 @@ acPtr_class * cPtr_gtlUnletInstruction::duplicate (LOCATION_ARGS) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlUnletInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlUnletInstruction ("gtlUnletInstruction", - & kTypeDescriptor_GALGAS_gtlLetUnconstructedInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlUnletInstruction ("gtlUnletInstruction", + & kTypeDescriptor_GALGAS_gtlLetUnconstructedInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlUnletInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlUnletInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlUnletInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -12370,10 +12051,10 @@ AC_GALGAS_root * GALGAS_gtlUnletInstruction::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlUnletInstruction GALGAS_gtlUnletInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlUnletInstruction result ; const GALGAS_gtlUnletInstruction * p = (const GALGAS_gtlUnletInstruction *) inObject.embeddedObject () ; @@ -12387,9 +12068,9 @@ GALGAS_gtlUnletInstruction GALGAS_gtlUnletInstruction::extractObject (const GALG return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlTemplateStringInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -12407,7 +12088,7 @@ typeComparisonResult cPtr_gtlTemplateStringInstruction::dynamicObjectCompare (co return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlTemplateStringInstruction::objectCompare (const GALGAS_gtlTemplateStringInstruction & inOperand) const { @@ -12426,24 +12107,33 @@ typeComparisonResult GALGAS_gtlTemplateStringInstruction::objectCompare (const G return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlTemplateStringInstruction::GALGAS_gtlTemplateStringInstruction (void) : GALGAS_gtlInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlTemplateStringInstruction GALGAS_gtlTemplateStringInstruction::constructor_default (LOCATION_ARGS) { + return GALGAS_gtlTemplateStringInstruction::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_string::constructor_default (HERE), + GALGAS_string::constructor_default (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlTemplateStringInstruction::GALGAS_gtlTemplateStringInstruction (const cPtr_gtlTemplateStringInstruction * inSourcePtr) : GALGAS_gtlInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlTemplateStringInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlTemplateStringInstruction GALGAS_gtlTemplateStringInstruction::class_func_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_string & inAttribute_value - COMMA_LOCATION_ARGS) { +GALGAS_gtlTemplateStringInstruction GALGAS_gtlTemplateStringInstruction::constructor_new (const GALGAS_location & inAttribute_where, + const GALGAS_string & inAttribute_signature, + const GALGAS_string & inAttribute_value + COMMA_LOCATION_ARGS) { GALGAS_gtlTemplateStringInstruction result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_value.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlTemplateStringInstruction (inAttribute_where, inAttribute_signature, inAttribute_value COMMA_THERE)) ; @@ -12451,7 +12141,7 @@ GALGAS_gtlTemplateStringInstruction GALGAS_gtlTemplateStringInstruction::class_f return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_gtlTemplateStringInstruction::readProperty_value (void) const { if (nullptr == mObjectPtr) { @@ -12463,13 +12153,13 @@ GALGAS_string GALGAS_gtlTemplateStringInstruction::readProperty_value (void) con } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string cPtr_gtlTemplateStringInstruction::getter_value (UNUSED_LOCATION_ARGS) const { return mProperty_value ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlTemplateStringInstruction::setter_setValue (GALGAS_string inValue COMMA_LOCATION_ARGS) { @@ -12481,16 +12171,16 @@ void GALGAS_gtlTemplateStringInstruction::setter_setValue (GALGAS_string inValue } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlTemplateStringInstruction::setter_setValue (GALGAS_string inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_value = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlTemplateStringInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlTemplateStringInstruction::cPtr_gtlTemplateStringInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature, @@ -12500,24 +12190,24 @@ cPtr_gtlInstruction (in_where, in_signature COMMA_THERE), mProperty_value (in_value) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlTemplateStringInstruction::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlTemplateStringInstruction ; } -void cPtr_gtlTemplateStringInstruction::description (String & ioString, +void cPtr_gtlTemplateStringInstruction::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlTemplateStringInstruction:") ; + ioString << "[@gtlTemplateStringInstruction:" ; mProperty_where.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_value.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlTemplateStringInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -12526,22 +12216,23 @@ acPtr_class * cPtr_gtlTemplateStringInstruction::duplicate (LOCATION_ARGS) const } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlTemplateStringInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlTemplateStringInstruction ("gtlTemplateStringInstruction", - & kTypeDescriptor_GALGAS_gtlInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlTemplateStringInstruction ("gtlTemplateStringInstruction", + & kTypeDescriptor_GALGAS_gtlInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlTemplateStringInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlTemplateStringInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlTemplateStringInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -12551,10 +12242,10 @@ AC_GALGAS_root * GALGAS_gtlTemplateStringInstruction::clonedObject (void) const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlTemplateStringInstruction GALGAS_gtlTemplateStringInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlTemplateStringInstruction result ; const GALGAS_gtlTemplateStringInstruction * p = (const GALGAS_gtlTemplateStringInstruction *) inObject.embeddedObject () ; @@ -12568,9 +12259,9 @@ GALGAS_gtlTemplateStringInstruction GALGAS_gtlTemplateStringInstruction::extract return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlGetColumnInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -12588,7 +12279,7 @@ typeComparisonResult cPtr_gtlGetColumnInstruction::dynamicObjectCompare (const a return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlGetColumnInstruction::objectCompare (const GALGAS_gtlGetColumnInstruction & inOperand) const { @@ -12607,24 +12298,33 @@ typeComparisonResult GALGAS_gtlGetColumnInstruction::objectCompare (const GALGAS return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlGetColumnInstruction::GALGAS_gtlGetColumnInstruction (void) : GALGAS_gtlInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlGetColumnInstruction GALGAS_gtlGetColumnInstruction::constructor_default (LOCATION_ARGS) { + return GALGAS_gtlGetColumnInstruction::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_string::constructor_default (HERE), + GALGAS_gtlVarPath::constructor_emptyList (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlGetColumnInstruction::GALGAS_gtlGetColumnInstruction (const cPtr_gtlGetColumnInstruction * inSourcePtr) : GALGAS_gtlInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlGetColumnInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlGetColumnInstruction GALGAS_gtlGetColumnInstruction::class_func_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_gtlVarPath & inAttribute_destVariable - COMMA_LOCATION_ARGS) { +GALGAS_gtlGetColumnInstruction GALGAS_gtlGetColumnInstruction::constructor_new (const GALGAS_location & inAttribute_where, + const GALGAS_string & inAttribute_signature, + const GALGAS_gtlVarPath & inAttribute_destVariable + COMMA_LOCATION_ARGS) { GALGAS_gtlGetColumnInstruction result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_destVariable.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlGetColumnInstruction (inAttribute_where, inAttribute_signature, inAttribute_destVariable COMMA_THERE)) ; @@ -12632,7 +12332,7 @@ GALGAS_gtlGetColumnInstruction GALGAS_gtlGetColumnInstruction::class_func_new (c return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarPath GALGAS_gtlGetColumnInstruction::readProperty_destVariable (void) const { if (nullptr == mObjectPtr) { @@ -12644,13 +12344,13 @@ GALGAS_gtlVarPath GALGAS_gtlGetColumnInstruction::readProperty_destVariable (voi } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarPath cPtr_gtlGetColumnInstruction::getter_destVariable (UNUSED_LOCATION_ARGS) const { return mProperty_destVariable ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlGetColumnInstruction::setter_setDestVariable (GALGAS_gtlVarPath inValue COMMA_LOCATION_ARGS) { @@ -12662,16 +12362,16 @@ void GALGAS_gtlGetColumnInstruction::setter_setDestVariable (GALGAS_gtlVarPath i } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlGetColumnInstruction::setter_setDestVariable (GALGAS_gtlVarPath inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_destVariable = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlGetColumnInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlGetColumnInstruction::cPtr_gtlGetColumnInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature, @@ -12681,24 +12381,24 @@ cPtr_gtlInstruction (in_where, in_signature COMMA_THERE), mProperty_destVariable (in_destVariable) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlGetColumnInstruction::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlGetColumnInstruction ; } -void cPtr_gtlGetColumnInstruction::description (String & ioString, +void cPtr_gtlGetColumnInstruction::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlGetColumnInstruction:") ; + ioString << "[@gtlGetColumnInstruction:" ; mProperty_where.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_destVariable.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlGetColumnInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -12707,22 +12407,23 @@ acPtr_class * cPtr_gtlGetColumnInstruction::duplicate (LOCATION_ARGS) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlGetColumnInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlGetColumnInstruction ("gtlGetColumnInstruction", - & kTypeDescriptor_GALGAS_gtlInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlGetColumnInstruction ("gtlGetColumnInstruction", + & kTypeDescriptor_GALGAS_gtlInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlGetColumnInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlGetColumnInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlGetColumnInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -12732,10 +12433,10 @@ AC_GALGAS_root * GALGAS_gtlGetColumnInstruction::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlGetColumnInstruction GALGAS_gtlGetColumnInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlGetColumnInstruction result ; const GALGAS_gtlGetColumnInstruction * p = (const GALGAS_gtlGetColumnInstruction *) inObject.embeddedObject () ; @@ -12749,16 +12450,16 @@ GALGAS_gtlGetColumnInstruction GALGAS_gtlGetColumnInstruction::extractObject (co return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Class for element of '@gtlThenElsifStatementList' list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cCollectionElement_gtlThenElsifStatementList : public cCollectionElement { public: GALGAS_gtlThenElsifStatementList_2D_element mObject ; -//--- Class functions +//--- Constructors public: cCollectionElement_gtlThenElsifStatementList (const GALGAS_gtlExpression & in_condition, const GALGAS_gtlInstructionList & in_instructionList COMMA_LOCATION_ARGS) ; @@ -12774,10 +12475,10 @@ class cCollectionElement_gtlThenElsifStatementList : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_gtlThenElsifStatementList::cCollectionElement_gtlThenElsifStatementList (const GALGAS_gtlExpression & in_condition, const GALGAS_gtlInstructionList & in_instructionList @@ -12786,20 +12487,20 @@ cCollectionElement (THERE), mObject (in_condition, in_instructionList) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_gtlThenElsifStatementList::cCollectionElement_gtlThenElsifStatementList (const GALGAS_gtlThenElsifStatementList_2D_element & inElement COMMA_LOCATION_ARGS) : cCollectionElement (THERE), mObject (inElement.mProperty_condition, inElement.mProperty_instructionList) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cCollectionElement_gtlThenElsifStatementList::isValid (void) const { return true ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement * cCollectionElement_gtlThenElsifStatementList::copy (void) { cCollectionElement * result = nullptr ; @@ -12807,20 +12508,20 @@ cCollectionElement * cCollectionElement_gtlThenElsifStatementList::copy (void) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cCollectionElement_gtlThenElsifStatementList::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("condition" ":") ; +void cCollectionElement_gtlThenElsifStatementList::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "condition" ":" ; mObject.mProperty_condition.description (ioString, inIndentation) ; - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("instructionList" ":") ; + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "instructionList" ":" ; mObject.mProperty_instructionList.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_gtlThenElsifStatementList::compare (const cCollectionElement * inOperand) const { cCollectionElement_gtlThenElsifStatementList * operand = (cCollectionElement_gtlThenElsifStatementList *) inOperand ; @@ -12828,29 +12529,29 @@ typeComparisonResult cCollectionElement_gtlThenElsifStatementList::compare (cons return mObject.objectCompare (operand->mObject) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlThenElsifStatementList::GALGAS_gtlThenElsifStatementList (void) : AC_GALGAS_list () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlThenElsifStatementList::GALGAS_gtlThenElsifStatementList (const capCollectionElementArray & inSharedArray) : AC_GALGAS_list (inSharedArray) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlThenElsifStatementList GALGAS_gtlThenElsifStatementList::class_func_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_gtlThenElsifStatementList (capCollectionElementArray ()) ; +GALGAS_gtlThenElsifStatementList GALGAS_gtlThenElsifStatementList::constructor_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_gtlThenElsifStatementList (capCollectionElementArray ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlThenElsifStatementList GALGAS_gtlThenElsifStatementList::class_func_listWithValue (const GALGAS_gtlExpression & inOperand0, - const GALGAS_gtlInstructionList & inOperand1 - COMMA_LOCATION_ARGS) { +GALGAS_gtlThenElsifStatementList GALGAS_gtlThenElsifStatementList::constructor_listWithValue (const GALGAS_gtlExpression & inOperand0, + const GALGAS_gtlInstructionList & inOperand1 + COMMA_LOCATION_ARGS) { GALGAS_gtlThenElsifStatementList result ; if (inOperand0.isValid () && inOperand1.isValid ()) { result = GALGAS_gtlThenElsifStatementList (capCollectionElementArray ()) ; @@ -12861,7 +12562,7 @@ GALGAS_gtlThenElsifStatementList GALGAS_gtlThenElsifStatementList::class_func_li return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlThenElsifStatementList::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_gtlExpression & in_condition, @@ -12874,7 +12575,7 @@ void GALGAS_gtlThenElsifStatementList::makeAttributesFromObjects (capCollectionE macroDetachSharedObject (p) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlThenElsifStatementList::addAssign_operation (const GALGAS_gtlExpression & inOperand0, const GALGAS_gtlInstructionList & inOperand1 @@ -12889,11 +12590,11 @@ void GALGAS_gtlThenElsifStatementList::addAssign_operation (const GALGAS_gtlExpr } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlThenElsifStatementList::setter_append (const GALGAS_gtlExpression inOperand0, const GALGAS_gtlInstructionList inOperand1, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -12905,12 +12606,12 @@ void GALGAS_gtlThenElsifStatementList::setter_append (const GALGAS_gtlExpression } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlThenElsifStatementList::setter_insertAtIndex (const GALGAS_gtlExpression inOperand0, const GALGAS_gtlInstructionList inOperand1, const GALGAS_uint inInsertionIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid () && inOperand1.isValid ()) { @@ -12926,12 +12627,12 @@ void GALGAS_gtlThenElsifStatementList::setter_insertAtIndex (const GALGAS_gtlExp } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlThenElsifStatementList::setter_removeAtIndex (GALGAS_gtlExpression & outOperand0, GALGAS_gtlInstructionList & outOperand1, const GALGAS_uint inRemoveIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -12958,11 +12659,11 @@ void GALGAS_gtlThenElsifStatementList::setter_removeAtIndex (GALGAS_gtlExpressio } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlThenElsifStatementList::setter_popFirst (GALGAS_gtlExpression & outOperand0, GALGAS_gtlInstructionList & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -12977,11 +12678,11 @@ void GALGAS_gtlThenElsifStatementList::setter_popFirst (GALGAS_gtlExpression & o } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlThenElsifStatementList::setter_popLast (GALGAS_gtlExpression & outOperand0, GALGAS_gtlInstructionList & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -12996,11 +12697,11 @@ void GALGAS_gtlThenElsifStatementList::setter_popLast (GALGAS_gtlExpression & ou } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlThenElsifStatementList::method_first (GALGAS_gtlExpression & outOperand0, GALGAS_gtlInstructionList & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -13015,11 +12716,11 @@ void GALGAS_gtlThenElsifStatementList::method_first (GALGAS_gtlExpression & outO } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlThenElsifStatementList::method_last (GALGAS_gtlExpression & outOperand0, GALGAS_gtlInstructionList & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -13034,10 +12735,10 @@ void GALGAS_gtlThenElsifStatementList::method_last (GALGAS_gtlExpression & outOp } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlThenElsifStatementList GALGAS_gtlThenElsifStatementList::add_operation (const GALGAS_gtlThenElsifStatementList & inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_gtlThenElsifStatementList result ; if (isValid () && inOperand.isValid ()) { @@ -13047,49 +12748,49 @@ GALGAS_gtlThenElsifStatementList GALGAS_gtlThenElsifStatementList::add_operation return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlThenElsifStatementList GALGAS_gtlThenElsifStatementList::getter_subListWithRange (const GALGAS_range & inRange, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlThenElsifStatementList result = GALGAS_gtlThenElsifStatementList::class_func_emptyList (THERE) ; + GALGAS_gtlThenElsifStatementList result = GALGAS_gtlThenElsifStatementList::constructor_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlThenElsifStatementList GALGAS_gtlThenElsifStatementList::getter_subListFromIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlThenElsifStatementList result = GALGAS_gtlThenElsifStatementList::class_func_emptyList (THERE) ; + GALGAS_gtlThenElsifStatementList result = GALGAS_gtlThenElsifStatementList::constructor_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlThenElsifStatementList GALGAS_gtlThenElsifStatementList::getter_subListToIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlThenElsifStatementList result = GALGAS_gtlThenElsifStatementList::class_func_emptyList (THERE) ; + GALGAS_gtlThenElsifStatementList result = GALGAS_gtlThenElsifStatementList::constructor_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlThenElsifStatementList::plusAssign_operation (const GALGAS_gtlThenElsifStatementList inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlThenElsifStatementList::setter_setConditionAtIndex (GALGAS_gtlExpression inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_gtlThenElsifStatementList * p = (cCollectionElement_gtlThenElsifStatementList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -13099,10 +12800,10 @@ void GALGAS_gtlThenElsifStatementList::setter_setConditionAtIndex (GALGAS_gtlExp } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlExpression GALGAS_gtlThenElsifStatementList::getter_conditionAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_gtlThenElsifStatementList * p = (cCollectionElement_gtlThenElsifStatementList *) attributes.ptr () ; @@ -13114,11 +12815,11 @@ GALGAS_gtlExpression GALGAS_gtlThenElsifStatementList::getter_conditionAtIndex ( return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlThenElsifStatementList::setter_setInstructionListAtIndex (GALGAS_gtlInstructionList inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_gtlThenElsifStatementList * p = (cCollectionElement_gtlThenElsifStatementList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -13128,10 +12829,10 @@ void GALGAS_gtlThenElsifStatementList::setter_setInstructionListAtIndex (GALGAS_ } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionList GALGAS_gtlThenElsifStatementList::getter_instructionListAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_gtlThenElsifStatementList * p = (cCollectionElement_gtlThenElsifStatementList *) attributes.ptr () ; @@ -13145,7 +12846,7 @@ GALGAS_gtlInstructionList GALGAS_gtlThenElsifStatementList::getter_instructionLi -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_gtlThenElsifStatementList::cEnumerator_gtlThenElsifStatementList (const GALGAS_gtlThenElsifStatementList & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -13153,7 +12854,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlThenElsifStatementList_2D_element cEnumerator_gtlThenElsifStatementList::current (LOCATION_ARGS) const { const cCollectionElement_gtlThenElsifStatementList * p = (const cCollectionElement_gtlThenElsifStatementList *) currentObjectPtr (THERE) ; @@ -13162,7 +12863,7 @@ GALGAS_gtlThenElsifStatementList_2D_element cEnumerator_gtlThenElsifStatementLis } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlExpression cEnumerator_gtlThenElsifStatementList::current_condition (LOCATION_ARGS) const { const cCollectionElement_gtlThenElsifStatementList * p = (const cCollectionElement_gtlThenElsifStatementList *) currentObjectPtr (THERE) ; @@ -13170,7 +12871,7 @@ GALGAS_gtlExpression cEnumerator_gtlThenElsifStatementList::current_condition (L return p->mObject.mProperty_condition ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionList cEnumerator_gtlThenElsifStatementList::current_instructionList (LOCATION_ARGS) const { const cCollectionElement_gtlThenElsifStatementList * p = (const cCollectionElement_gtlThenElsifStatementList *) currentObjectPtr (THERE) ; @@ -13181,22 +12882,23 @@ GALGAS_gtlInstructionList cEnumerator_gtlThenElsifStatementList::current_instruc -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlThenElsifStatementList generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlThenElsifStatementList ("gtlThenElsifStatementList", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlThenElsifStatementList ("gtlThenElsifStatementList", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlThenElsifStatementList::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlThenElsifStatementList ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlThenElsifStatementList::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -13206,10 +12908,10 @@ AC_GALGAS_root * GALGAS_gtlThenElsifStatementList::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlThenElsifStatementList GALGAS_gtlThenElsifStatementList::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlThenElsifStatementList result ; const GALGAS_gtlThenElsifStatementList * p = (const GALGAS_gtlThenElsifStatementList *) inObject.embeddedObject () ; @@ -13223,9 +12925,9 @@ GALGAS_gtlThenElsifStatementList GALGAS_gtlThenElsifStatementList::extractObject return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlIfStatementInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -13246,7 +12948,7 @@ typeComparisonResult cPtr_gtlIfStatementInstruction::dynamicObjectCompare (const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlIfStatementInstruction::objectCompare (const GALGAS_gtlIfStatementInstruction & inOperand) const { @@ -13265,25 +12967,35 @@ typeComparisonResult GALGAS_gtlIfStatementInstruction::objectCompare (const GALG return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlIfStatementInstruction::GALGAS_gtlIfStatementInstruction (void) : GALGAS_gtlInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlIfStatementInstruction GALGAS_gtlIfStatementInstruction::constructor_default (LOCATION_ARGS) { + return GALGAS_gtlIfStatementInstruction::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_string::constructor_default (HERE), + GALGAS_gtlThenElsifStatementList::constructor_emptyList (HERE), + GALGAS_gtlInstructionList::constructor_emptyList (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlIfStatementInstruction::GALGAS_gtlIfStatementInstruction (const cPtr_gtlIfStatementInstruction * inSourcePtr) : GALGAS_gtlInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlIfStatementInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlIfStatementInstruction GALGAS_gtlIfStatementInstruction::class_func_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_gtlThenElsifStatementList & inAttribute_thenElsifList, - const GALGAS_gtlInstructionList & inAttribute_elseList - COMMA_LOCATION_ARGS) { +GALGAS_gtlIfStatementInstruction GALGAS_gtlIfStatementInstruction::constructor_new (const GALGAS_location & inAttribute_where, + const GALGAS_string & inAttribute_signature, + const GALGAS_gtlThenElsifStatementList & inAttribute_thenElsifList, + const GALGAS_gtlInstructionList & inAttribute_elseList + COMMA_LOCATION_ARGS) { GALGAS_gtlIfStatementInstruction result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_thenElsifList.isValid () && inAttribute_elseList.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlIfStatementInstruction (inAttribute_where, inAttribute_signature, inAttribute_thenElsifList, inAttribute_elseList COMMA_THERE)) ; @@ -13291,7 +13003,7 @@ GALGAS_gtlIfStatementInstruction GALGAS_gtlIfStatementInstruction::class_func_ne return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlThenElsifStatementList GALGAS_gtlIfStatementInstruction::readProperty_thenElsifList (void) const { if (nullptr == mObjectPtr) { @@ -13303,13 +13015,13 @@ GALGAS_gtlThenElsifStatementList GALGAS_gtlIfStatementInstruction::readProperty_ } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlThenElsifStatementList cPtr_gtlIfStatementInstruction::getter_thenElsifList (UNUSED_LOCATION_ARGS) const { return mProperty_thenElsifList ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionList GALGAS_gtlIfStatementInstruction::readProperty_elseList (void) const { if (nullptr == mObjectPtr) { @@ -13321,13 +13033,13 @@ GALGAS_gtlInstructionList GALGAS_gtlIfStatementInstruction::readProperty_elseLis } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionList cPtr_gtlIfStatementInstruction::getter_elseList (UNUSED_LOCATION_ARGS) const { return mProperty_elseList ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlIfStatementInstruction::setter_setThenElsifList (GALGAS_gtlThenElsifStatementList inValue COMMA_LOCATION_ARGS) { @@ -13339,14 +13051,14 @@ void GALGAS_gtlIfStatementInstruction::setter_setThenElsifList (GALGAS_gtlThenEl } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlIfStatementInstruction::setter_setThenElsifList (GALGAS_gtlThenElsifStatementList inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_thenElsifList = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlIfStatementInstruction::setter_setElseList (GALGAS_gtlInstructionList inValue COMMA_LOCATION_ARGS) { @@ -13358,16 +13070,16 @@ void GALGAS_gtlIfStatementInstruction::setter_setElseList (GALGAS_gtlInstruction } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlIfStatementInstruction::setter_setElseList (GALGAS_gtlInstructionList inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_elseList = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlIfStatementInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlIfStatementInstruction::cPtr_gtlIfStatementInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature, @@ -13379,26 +13091,26 @@ mProperty_thenElsifList (in_thenElsifList), mProperty_elseList (in_elseList) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlIfStatementInstruction::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlIfStatementInstruction ; } -void cPtr_gtlIfStatementInstruction::description (String & ioString, +void cPtr_gtlIfStatementInstruction::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlIfStatementInstruction:") ; + ioString << "[@gtlIfStatementInstruction:" ; mProperty_where.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_thenElsifList.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_elseList.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlIfStatementInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -13407,22 +13119,23 @@ acPtr_class * cPtr_gtlIfStatementInstruction::duplicate (LOCATION_ARGS) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlIfStatementInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlIfStatementInstruction ("gtlIfStatementInstruction", - & kTypeDescriptor_GALGAS_gtlInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlIfStatementInstruction ("gtlIfStatementInstruction", + & kTypeDescriptor_GALGAS_gtlInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlIfStatementInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlIfStatementInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlIfStatementInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -13432,10 +13145,10 @@ AC_GALGAS_root * GALGAS_gtlIfStatementInstruction::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlIfStatementInstruction GALGAS_gtlIfStatementInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlIfStatementInstruction result ; const GALGAS_gtlIfStatementInstruction * p = (const GALGAS_gtlIfStatementInstruction *) inObject.embeddedObject () ; @@ -13449,9 +13162,9 @@ GALGAS_gtlIfStatementInstruction GALGAS_gtlIfStatementInstruction::extractObject return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlDisplayStatementInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -13469,7 +13182,7 @@ typeComparisonResult cPtr_gtlDisplayStatementInstruction::dynamicObjectCompare ( return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlDisplayStatementInstruction::objectCompare (const GALGAS_gtlDisplayStatementInstruction & inOperand) const { @@ -13488,24 +13201,33 @@ typeComparisonResult GALGAS_gtlDisplayStatementInstruction::objectCompare (const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlDisplayStatementInstruction::GALGAS_gtlDisplayStatementInstruction (void) : GALGAS_gtlInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlDisplayStatementInstruction GALGAS_gtlDisplayStatementInstruction::constructor_default (LOCATION_ARGS) { + return GALGAS_gtlDisplayStatementInstruction::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_string::constructor_default (HERE), + GALGAS_gtlVarPath::constructor_emptyList (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlDisplayStatementInstruction::GALGAS_gtlDisplayStatementInstruction (const cPtr_gtlDisplayStatementInstruction * inSourcePtr) : GALGAS_gtlInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlDisplayStatementInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlDisplayStatementInstruction GALGAS_gtlDisplayStatementInstruction::class_func_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_gtlVarPath & inAttribute_variablePath - COMMA_LOCATION_ARGS) { +GALGAS_gtlDisplayStatementInstruction GALGAS_gtlDisplayStatementInstruction::constructor_new (const GALGAS_location & inAttribute_where, + const GALGAS_string & inAttribute_signature, + const GALGAS_gtlVarPath & inAttribute_variablePath + COMMA_LOCATION_ARGS) { GALGAS_gtlDisplayStatementInstruction result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_variablePath.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlDisplayStatementInstruction (inAttribute_where, inAttribute_signature, inAttribute_variablePath COMMA_THERE)) ; @@ -13513,7 +13235,7 @@ GALGAS_gtlDisplayStatementInstruction GALGAS_gtlDisplayStatementInstruction::cla return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarPath GALGAS_gtlDisplayStatementInstruction::readProperty_variablePath (void) const { if (nullptr == mObjectPtr) { @@ -13525,13 +13247,13 @@ GALGAS_gtlVarPath GALGAS_gtlDisplayStatementInstruction::readProperty_variablePa } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarPath cPtr_gtlDisplayStatementInstruction::getter_variablePath (UNUSED_LOCATION_ARGS) const { return mProperty_variablePath ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlDisplayStatementInstruction::setter_setVariablePath (GALGAS_gtlVarPath inValue COMMA_LOCATION_ARGS) { @@ -13543,16 +13265,16 @@ void GALGAS_gtlDisplayStatementInstruction::setter_setVariablePath (GALGAS_gtlVa } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlDisplayStatementInstruction::setter_setVariablePath (GALGAS_gtlVarPath inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_variablePath = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlDisplayStatementInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlDisplayStatementInstruction::cPtr_gtlDisplayStatementInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature, @@ -13562,24 +13284,24 @@ cPtr_gtlInstruction (in_where, in_signature COMMA_THERE), mProperty_variablePath (in_variablePath) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlDisplayStatementInstruction::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlDisplayStatementInstruction ; } -void cPtr_gtlDisplayStatementInstruction::description (String & ioString, +void cPtr_gtlDisplayStatementInstruction::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlDisplayStatementInstruction:") ; + ioString << "[@gtlDisplayStatementInstruction:" ; mProperty_where.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_variablePath.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlDisplayStatementInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -13588,22 +13310,23 @@ acPtr_class * cPtr_gtlDisplayStatementInstruction::duplicate (LOCATION_ARGS) con } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlDisplayStatementInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlDisplayStatementInstruction ("gtlDisplayStatementInstruction", - & kTypeDescriptor_GALGAS_gtlInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlDisplayStatementInstruction ("gtlDisplayStatementInstruction", + & kTypeDescriptor_GALGAS_gtlInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlDisplayStatementInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlDisplayStatementInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlDisplayStatementInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -13613,10 +13336,10 @@ AC_GALGAS_root * GALGAS_gtlDisplayStatementInstruction::clonedObject (void) cons return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlDisplayStatementInstruction GALGAS_gtlDisplayStatementInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlDisplayStatementInstruction result ; const GALGAS_gtlDisplayStatementInstruction * p = (const GALGAS_gtlDisplayStatementInstruction *) inObject.embeddedObject () ; @@ -13630,16 +13353,16 @@ GALGAS_gtlDisplayStatementInstruction GALGAS_gtlDisplayStatementInstruction::ext return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Class for element of '@sortingKeyList' list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cCollectionElement_sortingKeyList : public cCollectionElement { public: GALGAS_sortingKeyList_2D_element mObject ; -//--- Class functions +//--- Constructors public: cCollectionElement_sortingKeyList (const GALGAS_lstring & in_key, const GALGAS_lsint & in_order COMMA_LOCATION_ARGS) ; @@ -13655,10 +13378,10 @@ class cCollectionElement_sortingKeyList : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_sortingKeyList::cCollectionElement_sortingKeyList (const GALGAS_lstring & in_key, const GALGAS_lsint & in_order @@ -13667,20 +13390,20 @@ cCollectionElement (THERE), mObject (in_key, in_order) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_sortingKeyList::cCollectionElement_sortingKeyList (const GALGAS_sortingKeyList_2D_element & inElement COMMA_LOCATION_ARGS) : cCollectionElement (THERE), mObject (inElement.mProperty_key, inElement.mProperty_order) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cCollectionElement_sortingKeyList::isValid (void) const { return true ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement * cCollectionElement_sortingKeyList::copy (void) { cCollectionElement * result = nullptr ; @@ -13688,20 +13411,20 @@ cCollectionElement * cCollectionElement_sortingKeyList::copy (void) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cCollectionElement_sortingKeyList::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("key" ":") ; +void cCollectionElement_sortingKeyList::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "key" ":" ; mObject.mProperty_key.description (ioString, inIndentation) ; - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("order" ":") ; + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "order" ":" ; mObject.mProperty_order.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_sortingKeyList::compare (const cCollectionElement * inOperand) const { cCollectionElement_sortingKeyList * operand = (cCollectionElement_sortingKeyList *) inOperand ; @@ -13709,29 +13432,29 @@ typeComparisonResult cCollectionElement_sortingKeyList::compare (const cCollecti return mObject.objectCompare (operand->mObject) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sortingKeyList::GALGAS_sortingKeyList (void) : AC_GALGAS_list () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sortingKeyList::GALGAS_sortingKeyList (const capCollectionElementArray & inSharedArray) : AC_GALGAS_list (inSharedArray) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_sortingKeyList GALGAS_sortingKeyList::class_func_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_sortingKeyList (capCollectionElementArray ()) ; +GALGAS_sortingKeyList GALGAS_sortingKeyList::constructor_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_sortingKeyList (capCollectionElementArray ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_sortingKeyList GALGAS_sortingKeyList::class_func_listWithValue (const GALGAS_lstring & inOperand0, - const GALGAS_lsint & inOperand1 - COMMA_LOCATION_ARGS) { +GALGAS_sortingKeyList GALGAS_sortingKeyList::constructor_listWithValue (const GALGAS_lstring & inOperand0, + const GALGAS_lsint & inOperand1 + COMMA_LOCATION_ARGS) { GALGAS_sortingKeyList result ; if (inOperand0.isValid () && inOperand1.isValid ()) { result = GALGAS_sortingKeyList (capCollectionElementArray ()) ; @@ -13742,7 +13465,7 @@ GALGAS_sortingKeyList GALGAS_sortingKeyList::class_func_listWithValue (const GAL return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sortingKeyList::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_lstring & in_key, @@ -13755,7 +13478,7 @@ void GALGAS_sortingKeyList::makeAttributesFromObjects (capCollectionElement & ou macroDetachSharedObject (p) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sortingKeyList::addAssign_operation (const GALGAS_lstring & inOperand0, const GALGAS_lsint & inOperand1 @@ -13770,11 +13493,11 @@ void GALGAS_sortingKeyList::addAssign_operation (const GALGAS_lstring & inOperan } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sortingKeyList::setter_append (const GALGAS_lstring inOperand0, const GALGAS_lsint inOperand1, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -13786,12 +13509,12 @@ void GALGAS_sortingKeyList::setter_append (const GALGAS_lstring inOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sortingKeyList::setter_insertAtIndex (const GALGAS_lstring inOperand0, const GALGAS_lsint inOperand1, const GALGAS_uint inInsertionIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid () && inOperand1.isValid ()) { @@ -13807,12 +13530,12 @@ void GALGAS_sortingKeyList::setter_insertAtIndex (const GALGAS_lstring inOperand } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sortingKeyList::setter_removeAtIndex (GALGAS_lstring & outOperand0, GALGAS_lsint & outOperand1, const GALGAS_uint inRemoveIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -13839,11 +13562,11 @@ void GALGAS_sortingKeyList::setter_removeAtIndex (GALGAS_lstring & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sortingKeyList::setter_popFirst (GALGAS_lstring & outOperand0, GALGAS_lsint & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -13858,11 +13581,11 @@ void GALGAS_sortingKeyList::setter_popFirst (GALGAS_lstring & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sortingKeyList::setter_popLast (GALGAS_lstring & outOperand0, GALGAS_lsint & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -13877,11 +13600,11 @@ void GALGAS_sortingKeyList::setter_popLast (GALGAS_lstring & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sortingKeyList::method_first (GALGAS_lstring & outOperand0, GALGAS_lsint & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -13896,11 +13619,11 @@ void GALGAS_sortingKeyList::method_first (GALGAS_lstring & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sortingKeyList::method_last (GALGAS_lstring & outOperand0, GALGAS_lsint & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -13915,10 +13638,10 @@ void GALGAS_sortingKeyList::method_last (GALGAS_lstring & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sortingKeyList GALGAS_sortingKeyList::add_operation (const GALGAS_sortingKeyList & inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_sortingKeyList result ; if (isValid () && inOperand.isValid ()) { @@ -13928,49 +13651,49 @@ GALGAS_sortingKeyList GALGAS_sortingKeyList::add_operation (const GALGAS_sorting return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sortingKeyList GALGAS_sortingKeyList::getter_subListWithRange (const GALGAS_range & inRange, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_sortingKeyList result = GALGAS_sortingKeyList::class_func_emptyList (THERE) ; + GALGAS_sortingKeyList result = GALGAS_sortingKeyList::constructor_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sortingKeyList GALGAS_sortingKeyList::getter_subListFromIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_sortingKeyList result = GALGAS_sortingKeyList::class_func_emptyList (THERE) ; + GALGAS_sortingKeyList result = GALGAS_sortingKeyList::constructor_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sortingKeyList GALGAS_sortingKeyList::getter_subListToIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_sortingKeyList result = GALGAS_sortingKeyList::class_func_emptyList (THERE) ; + GALGAS_sortingKeyList result = GALGAS_sortingKeyList::constructor_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sortingKeyList::plusAssign_operation (const GALGAS_sortingKeyList inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sortingKeyList::setter_setKeyAtIndex (GALGAS_lstring inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_sortingKeyList * p = (cCollectionElement_sortingKeyList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -13980,10 +13703,10 @@ void GALGAS_sortingKeyList::setter_setKeyAtIndex (GALGAS_lstring inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lstring GALGAS_sortingKeyList::getter_keyAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_sortingKeyList * p = (cCollectionElement_sortingKeyList *) attributes.ptr () ; @@ -13995,11 +13718,11 @@ GALGAS_lstring GALGAS_sortingKeyList::getter_keyAtIndex (const GALGAS_uint & inI return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sortingKeyList::setter_setOrderAtIndex (GALGAS_lsint inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_sortingKeyList * p = (cCollectionElement_sortingKeyList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -14009,10 +13732,10 @@ void GALGAS_sortingKeyList::setter_setOrderAtIndex (GALGAS_lsint inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lsint GALGAS_sortingKeyList::getter_orderAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_sortingKeyList * p = (cCollectionElement_sortingKeyList *) attributes.ptr () ; @@ -14026,7 +13749,7 @@ GALGAS_lsint GALGAS_sortingKeyList::getter_orderAtIndex (const GALGAS_uint & inI -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_sortingKeyList::cEnumerator_sortingKeyList (const GALGAS_sortingKeyList & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -14034,7 +13757,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sortingKeyList_2D_element cEnumerator_sortingKeyList::current (LOCATION_ARGS) const { const cCollectionElement_sortingKeyList * p = (const cCollectionElement_sortingKeyList *) currentObjectPtr (THERE) ; @@ -14043,7 +13766,7 @@ GALGAS_sortingKeyList_2D_element cEnumerator_sortingKeyList::current (LOCATION_A } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lstring cEnumerator_sortingKeyList::current_key (LOCATION_ARGS) const { const cCollectionElement_sortingKeyList * p = (const cCollectionElement_sortingKeyList *) currentObjectPtr (THERE) ; @@ -14051,7 +13774,7 @@ GALGAS_lstring cEnumerator_sortingKeyList::current_key (LOCATION_ARGS) const { return p->mObject.mProperty_key ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lsint cEnumerator_sortingKeyList::current_order (LOCATION_ARGS) const { const cCollectionElement_sortingKeyList * p = (const cCollectionElement_sortingKeyList *) currentObjectPtr (THERE) ; @@ -14062,22 +13785,23 @@ GALGAS_lsint cEnumerator_sortingKeyList::current_order (LOCATION_ARGS) const { -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @sortingKeyList generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_sortingKeyList ("sortingKeyList", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_sortingKeyList ("sortingKeyList", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_sortingKeyList::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_sortingKeyList ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_sortingKeyList::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -14087,10 +13811,10 @@ AC_GALGAS_root * GALGAS_sortingKeyList::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sortingKeyList GALGAS_sortingKeyList::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_sortingKeyList result ; const GALGAS_sortingKeyList * p = (const GALGAS_sortingKeyList *) inObject.embeddedObject () ; @@ -14104,9 +13828,9 @@ GALGAS_sortingKeyList GALGAS_sortingKeyList::extractObject (const GALGAS_object return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @@ -14126,19 +13850,19 @@ typeComparisonResult GALGAS_gtlAbstractSortInstruction::objectCompare (const GAL return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlAbstractSortInstruction::GALGAS_gtlAbstractSortInstruction (void) : GALGAS_gtlInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlAbstractSortInstruction::GALGAS_gtlAbstractSortInstruction (const cPtr_gtlAbstractSortInstruction * inSourcePtr) : GALGAS_gtlInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlAbstractSortInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarPath GALGAS_gtlAbstractSortInstruction::readProperty_variablePath (void) const { if (nullptr == mObjectPtr) { @@ -14150,13 +13874,13 @@ GALGAS_gtlVarPath GALGAS_gtlAbstractSortInstruction::readProperty_variablePath ( } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVarPath cPtr_gtlAbstractSortInstruction::getter_variablePath (UNUSED_LOCATION_ARGS) const { return mProperty_variablePath ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlAbstractSortInstruction::setter_setVariablePath (GALGAS_gtlVarPath inValue COMMA_LOCATION_ARGS) { @@ -14168,16 +13892,16 @@ void GALGAS_gtlAbstractSortInstruction::setter_setVariablePath (GALGAS_gtlVarPat } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlAbstractSortInstruction::setter_setVariablePath (GALGAS_gtlVarPath inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_variablePath = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlAbstractSortInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlAbstractSortInstruction::cPtr_gtlAbstractSortInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature, @@ -14188,22 +13912,23 @@ mProperty_variablePath (in_variablePath) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlAbstractSortInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlAbstractSortInstruction ("gtlAbstractSortInstruction", - & kTypeDescriptor_GALGAS_gtlInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlAbstractSortInstruction ("gtlAbstractSortInstruction", + & kTypeDescriptor_GALGAS_gtlInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlAbstractSortInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlAbstractSortInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlAbstractSortInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -14213,10 +13938,10 @@ AC_GALGAS_root * GALGAS_gtlAbstractSortInstruction::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlAbstractSortInstruction GALGAS_gtlAbstractSortInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlAbstractSortInstruction result ; const GALGAS_gtlAbstractSortInstruction * p = (const GALGAS_gtlAbstractSortInstruction *) inObject.embeddedObject () ; @@ -14230,16 +13955,16 @@ GALGAS_gtlAbstractSortInstruction GALGAS_gtlAbstractSortInstruction::extractObje return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension getter '@gtlAbstractSortInstruction compare' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint callExtensionGetter_compare (const cPtr_gtlAbstractSortInstruction * inObject, const GALGAS_gtlData in_s_31_, const GALGAS_gtlData in_s_32_, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_sint result ; if (nullptr != inObject) { @@ -14248,16 +13973,16 @@ GALGAS_sint callExtensionGetter_compare (const cPtr_gtlAbstractSortInstruction * return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension method '@gtlAbstractSortInstruction swap' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlAbstractSortInstruction::method_swap (GALGAS_list & ioArgument_aList, const GALGAS_uint constinArgument_index_31_, const GALGAS_uint constinArgument_index_32_, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_gtlData var_temp_29516 = ioArgument_aList.getter_valueAtIndex (constinArgument_index_31_, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 978)) ; { @@ -14268,30 +13993,30 @@ void cPtr_gtlAbstractSortInstruction::method_swap (GALGAS_list & ioArgument_aLis } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionMethod_swap (cPtr_gtlAbstractSortInstruction * inObject, GALGAS_list & io_aList, const GALGAS_uint constin_index_31_, const GALGAS_uint constin_index_32_, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (nullptr != inObject) { macroValidSharedObject (inObject, cPtr_gtlAbstractSortInstruction) ; inObject->method_swap (io_aList, constin_index_31_, constin_index_32_, inCompiler COMMA_THERE) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension method '@gtlAbstractSortInstruction partition' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlAbstractSortInstruction::method_partition (GALGAS_list & ioArgument_aList, const GALGAS_uint constinArgument_min, const GALGAS_uint constinArgument_max, GALGAS_uint & ioArgument_pivotIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_gtlData var_pivot_29802 = ioArgument_aList.getter_valueAtIndex (ioArgument_pivotIndex, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 989)) ; const GALGAS_gtlAbstractSortInstruction temp_0 = this ; @@ -14331,30 +14056,30 @@ void cPtr_gtlAbstractSortInstruction::method_partition (GALGAS_list & ioArgument ioArgument_pivotIndex = var_storeIndex_29890 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionMethod_partition (cPtr_gtlAbstractSortInstruction * inObject, GALGAS_list & io_aList, const GALGAS_uint constin_min, const GALGAS_uint constin_max, GALGAS_uint & io_pivotIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (nullptr != inObject) { macroValidSharedObject (inObject, cPtr_gtlAbstractSortInstruction) ; inObject->method_partition (io_aList, constin_min, constin_max, io_pivotIndex, inCompiler COMMA_THERE) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension method '@gtlAbstractSortInstruction sort' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlAbstractSortInstruction::method_sort (GALGAS_list & ioArgument_aList, const GALGAS_uint constinArgument_min, const GALGAS_uint constinArgument_max, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { @@ -14371,22 +14096,22 @@ void cPtr_gtlAbstractSortInstruction::method_sort (GALGAS_list & ioArgument_aLis } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionMethod_sort (cPtr_gtlAbstractSortInstruction * inObject, GALGAS_list & io_aList, const GALGAS_uint constin_min, const GALGAS_uint constin_max, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (nullptr != inObject) { macroValidSharedObject (inObject, cPtr_gtlAbstractSortInstruction) ; inObject->method_sort (io_aList, constin_min, constin_max, inCompiler COMMA_THERE) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlSortStatementStructInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -14407,7 +14132,7 @@ typeComparisonResult cPtr_gtlSortStatementStructInstruction::dynamicObjectCompar return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlSortStatementStructInstruction::objectCompare (const GALGAS_gtlSortStatementStructInstruction & inOperand) const { @@ -14426,25 +14151,35 @@ typeComparisonResult GALGAS_gtlSortStatementStructInstruction::objectCompare (co return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlSortStatementStructInstruction::GALGAS_gtlSortStatementStructInstruction (void) : GALGAS_gtlAbstractSortInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlSortStatementStructInstruction GALGAS_gtlSortStatementStructInstruction::constructor_default (LOCATION_ARGS) { + return GALGAS_gtlSortStatementStructInstruction::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_string::constructor_default (HERE), + GALGAS_gtlVarPath::constructor_emptyList (HERE), + GALGAS_sortingKeyList::constructor_emptyList (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlSortStatementStructInstruction::GALGAS_gtlSortStatementStructInstruction (const cPtr_gtlSortStatementStructInstruction * inSourcePtr) : GALGAS_gtlAbstractSortInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlSortStatementStructInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlSortStatementStructInstruction GALGAS_gtlSortStatementStructInstruction::class_func_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_gtlVarPath & inAttribute_variablePath, - const GALGAS_sortingKeyList & inAttribute_sortingKey - COMMA_LOCATION_ARGS) { +GALGAS_gtlSortStatementStructInstruction GALGAS_gtlSortStatementStructInstruction::constructor_new (const GALGAS_location & inAttribute_where, + const GALGAS_string & inAttribute_signature, + const GALGAS_gtlVarPath & inAttribute_variablePath, + const GALGAS_sortingKeyList & inAttribute_sortingKey + COMMA_LOCATION_ARGS) { GALGAS_gtlSortStatementStructInstruction result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_variablePath.isValid () && inAttribute_sortingKey.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlSortStatementStructInstruction (inAttribute_where, inAttribute_signature, inAttribute_variablePath, inAttribute_sortingKey COMMA_THERE)) ; @@ -14452,7 +14187,7 @@ GALGAS_gtlSortStatementStructInstruction GALGAS_gtlSortStatementStructInstructio return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sortingKeyList GALGAS_gtlSortStatementStructInstruction::readProperty_sortingKey (void) const { if (nullptr == mObjectPtr) { @@ -14464,13 +14199,13 @@ GALGAS_sortingKeyList GALGAS_gtlSortStatementStructInstruction::readProperty_sor } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sortingKeyList cPtr_gtlSortStatementStructInstruction::getter_sortingKey (UNUSED_LOCATION_ARGS) const { return mProperty_sortingKey ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlSortStatementStructInstruction::setter_setSortingKey (GALGAS_sortingKeyList inValue COMMA_LOCATION_ARGS) { @@ -14482,16 +14217,16 @@ void GALGAS_gtlSortStatementStructInstruction::setter_setSortingKey (GALGAS_sort } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlSortStatementStructInstruction::setter_setSortingKey (GALGAS_sortingKeyList inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_sortingKey = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlSortStatementStructInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlSortStatementStructInstruction::cPtr_gtlSortStatementStructInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature, @@ -14502,26 +14237,26 @@ cPtr_gtlAbstractSortInstruction (in_where, in_signature, in_variablePath COMMA_T mProperty_sortingKey (in_sortingKey) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlSortStatementStructInstruction::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlSortStatementStructInstruction ; } -void cPtr_gtlSortStatementStructInstruction::description (String & ioString, +void cPtr_gtlSortStatementStructInstruction::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlSortStatementStructInstruction:") ; + ioString << "[@gtlSortStatementStructInstruction:" ; mProperty_where.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_variablePath.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_sortingKey.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlSortStatementStructInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -14530,22 +14265,23 @@ acPtr_class * cPtr_gtlSortStatementStructInstruction::duplicate (LOCATION_ARGS) } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlSortStatementStructInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlSortStatementStructInstruction ("gtlSortStatementStructInstruction", - & kTypeDescriptor_GALGAS_gtlAbstractSortInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlSortStatementStructInstruction ("gtlSortStatementStructInstruction", + & kTypeDescriptor_GALGAS_gtlAbstractSortInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlSortStatementStructInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlSortStatementStructInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlSortStatementStructInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -14555,10 +14291,10 @@ AC_GALGAS_root * GALGAS_gtlSortStatementStructInstruction::clonedObject (void) c return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlSortStatementStructInstruction GALGAS_gtlSortStatementStructInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlSortStatementStructInstruction result ; const GALGAS_gtlSortStatementStructInstruction * p = (const GALGAS_gtlSortStatementStructInstruction *) inObject.embeddedObject () ; @@ -14572,16 +14308,16 @@ GALGAS_gtlSortStatementStructInstruction GALGAS_gtlSortStatementStructInstructio return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@gtlSortStatementStructInstruction compareElements' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint cPtr_gtlSortStatementStructInstruction::getter_compareElements (const GALGAS_gtlData constinArgument_s_31_, const GALGAS_gtlData constinArgument_s_32_, GALGAS_sortingKeyList inArgument_keyList, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_sint result_result ; // Returned variable enumGalgasBool test_0 = kBoolTrue ; @@ -14625,7 +14361,7 @@ GALGAS_sint cPtr_gtlSortStatementStructInstruction::getter_compareElements (cons var_s_32_Struct_31857.readProperty_value ().method_get (var_field_31927, var_s_32_Field_32063, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1070)) ; enumGalgasBool test_5 = kBoolTrue ; if (kBoolTrue == test_5) { - test_5 = callExtensionGetter_bool ((const cPtr_gtlData *) callExtensionGetter_ltOp ((const cPtr_gtlData *) var_s_31_Field_32003.ptr (), var_s_32_Field_32063, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1071)).ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1071)).boolEnum () ; + test_5 = callExtensionGetter_bool ((const cPtr_gtlData *) callExtensionGetter_ltOp ((const cPtr_gtlData *) var_s_31_Field_32003.ptr (), var_s_32_Field_32063, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1071)).ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1078)).boolEnum () ; if (kBoolTrue == test_5) { result_result = GALGAS_bigint ("-1", inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1072)).multiply_operation (var_order_31945.readProperty_sint ().getter_bigint (SOURCE_FILE ("gtl_instructions.galgas", 1072)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1072)).getter_sint (inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1072)) ; } @@ -14633,7 +14369,7 @@ GALGAS_sint cPtr_gtlSortStatementStructInstruction::getter_compareElements (cons if (kBoolFalse == test_5) { enumGalgasBool test_6 = kBoolTrue ; if (kBoolTrue == test_6) { - test_6 = callExtensionGetter_bool ((const cPtr_gtlData *) callExtensionGetter_gtOp ((const cPtr_gtlData *) var_s_31_Field_32003.ptr (), var_s_32_Field_32063, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1074)).ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1074)).boolEnum () ; + test_6 = callExtensionGetter_bool ((const cPtr_gtlData *) callExtensionGetter_gtOp ((const cPtr_gtlData *) var_s_31_Field_32003.ptr (), var_s_32_Field_32063, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1074)).ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1077)).boolEnum () ; if (kBoolTrue == test_6) { result_result = GALGAS_bigint ("1", inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1075)).multiply_operation (var_order_31945.readProperty_sint ().getter_bigint (SOURCE_FILE ("gtl_instructions.galgas", 1075)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1075)).getter_sint (inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1075)) ; } @@ -14668,13 +14404,13 @@ GALGAS_sint cPtr_gtlSortStatementStructInstruction::getter_compareElements (cons -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint callExtensionGetter_compareElements (const cPtr_gtlSortStatementStructInstruction * inObject, const GALGAS_gtlData in_s_31_, const GALGAS_gtlData in_s_32_, GALGAS_sortingKeyList in_keyList, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_sint result ; if (nullptr != inObject) { @@ -14683,9 +14419,9 @@ GALGAS_sint callExtensionGetter_compareElements (const cPtr_gtlSortStatementStru return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlVariablesInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -14703,7 +14439,7 @@ typeComparisonResult cPtr_gtlVariablesInstruction::dynamicObjectCompare (const a return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlVariablesInstruction::objectCompare (const GALGAS_gtlVariablesInstruction & inOperand) const { @@ -14722,24 +14458,33 @@ typeComparisonResult GALGAS_gtlVariablesInstruction::objectCompare (const GALGAS return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVariablesInstruction::GALGAS_gtlVariablesInstruction (void) : GALGAS_gtlInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlVariablesInstruction GALGAS_gtlVariablesInstruction::constructor_default (LOCATION_ARGS) { + return GALGAS_gtlVariablesInstruction::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_string::constructor_default (HERE), + GALGAS_bool::constructor_default (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVariablesInstruction::GALGAS_gtlVariablesInstruction (const cPtr_gtlVariablesInstruction * inSourcePtr) : GALGAS_gtlInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlVariablesInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlVariablesInstruction GALGAS_gtlVariablesInstruction::class_func_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_bool & inAttribute_shortDisplay - COMMA_LOCATION_ARGS) { +GALGAS_gtlVariablesInstruction GALGAS_gtlVariablesInstruction::constructor_new (const GALGAS_location & inAttribute_where, + const GALGAS_string & inAttribute_signature, + const GALGAS_bool & inAttribute_shortDisplay + COMMA_LOCATION_ARGS) { GALGAS_gtlVariablesInstruction result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_shortDisplay.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlVariablesInstruction (inAttribute_where, inAttribute_signature, inAttribute_shortDisplay COMMA_THERE)) ; @@ -14747,7 +14492,7 @@ GALGAS_gtlVariablesInstruction GALGAS_gtlVariablesInstruction::class_func_new (c return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_gtlVariablesInstruction::readProperty_shortDisplay (void) const { if (nullptr == mObjectPtr) { @@ -14759,13 +14504,13 @@ GALGAS_bool GALGAS_gtlVariablesInstruction::readProperty_shortDisplay (void) con } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool cPtr_gtlVariablesInstruction::getter_shortDisplay (UNUSED_LOCATION_ARGS) const { return mProperty_shortDisplay ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlVariablesInstruction::setter_setShortDisplay (GALGAS_bool inValue COMMA_LOCATION_ARGS) { @@ -14777,16 +14522,16 @@ void GALGAS_gtlVariablesInstruction::setter_setShortDisplay (GALGAS_bool inValue } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlVariablesInstruction::setter_setShortDisplay (GALGAS_bool inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_shortDisplay = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlVariablesInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlVariablesInstruction::cPtr_gtlVariablesInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature, @@ -14796,24 +14541,24 @@ cPtr_gtlInstruction (in_where, in_signature COMMA_THERE), mProperty_shortDisplay (in_shortDisplay) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlVariablesInstruction::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlVariablesInstruction ; } -void cPtr_gtlVariablesInstruction::description (String & ioString, +void cPtr_gtlVariablesInstruction::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlVariablesInstruction:") ; + ioString << "[@gtlVariablesInstruction:" ; mProperty_where.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_shortDisplay.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlVariablesInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -14822,22 +14567,23 @@ acPtr_class * cPtr_gtlVariablesInstruction::duplicate (LOCATION_ARGS) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlVariablesInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlVariablesInstruction ("gtlVariablesInstruction", - & kTypeDescriptor_GALGAS_gtlInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlVariablesInstruction ("gtlVariablesInstruction", + & kTypeDescriptor_GALGAS_gtlInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlVariablesInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlVariablesInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlVariablesInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -14847,10 +14593,10 @@ AC_GALGAS_root * GALGAS_gtlVariablesInstruction::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlVariablesInstruction GALGAS_gtlVariablesInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlVariablesInstruction result ; const GALGAS_gtlVariablesInstruction * p = (const GALGAS_gtlVariablesInstruction *) inObject.embeddedObject () ; @@ -14864,14 +14610,14 @@ GALGAS_gtlVariablesInstruction GALGAS_gtlVariablesInstruction::extractObject (co return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension method '@gtlVariablesInstruction displayShort' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlVariablesInstruction::method_displayShort (const GALGAS_gtlData constinArgument_vars, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { if (constinArgument_vars.isValid ()) { if (constinArgument_vars.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_gtlStruct) { @@ -14890,29 +14636,29 @@ void cPtr_gtlVariablesInstruction::method_displayShort (const GALGAS_gtlData con } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionMethod_displayShort (cPtr_gtlVariablesInstruction * inObject, const GALGAS_gtlData constin_vars, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (nullptr != inObject) { macroValidSharedObject (inObject, cPtr_gtlVariablesInstruction) ; inObject->method_displayShort (constin_vars, inCompiler COMMA_THERE) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension method '@gtlVariablesInstruction displayLong' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlVariablesInstruction::method_displayLong (const GALGAS_gtlData constinArgument_vars, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string var_delimitor_34647 = GALGAS_string::class_func_stringWithSequenceOfCharacters (GALGAS_char (TO_UNICODE (61)), GALGAS_uint (uint32_t (79U)) COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1169)).add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1169)) ; - GALGAS_string var_varDelim_34730 = GALGAS_string::class_func_stringWithSequenceOfCharacters (GALGAS_char (TO_UNICODE (45)), GALGAS_uint (uint32_t (79U)) COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1170)).add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1170)) ; - GALGAS_string var_separator_34813 = GALGAS_string::class_func_stringWithSequenceOfCharacters (GALGAS_char (TO_UNICODE (61)), GALGAS_uint (uint32_t (17U)) COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1171)) ; + GALGAS_string var_delimitor_34647 = GALGAS_string::constructor_stringWithSequenceOfCharacters (GALGAS_char (TO_UNICODE (61)), GALGAS_uint (uint32_t (79U)) COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1169)).add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1169)) ; + GALGAS_string var_varDelim_34730 = GALGAS_string::constructor_stringWithSequenceOfCharacters (GALGAS_char (TO_UNICODE (45)), GALGAS_uint (uint32_t (79U)) COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1170)).add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1170)) ; + GALGAS_string var_separator_34813 = GALGAS_string::constructor_stringWithSequenceOfCharacters (GALGAS_char (TO_UNICODE (61)), GALGAS_uint (uint32_t (17U)) COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1171)) ; inCompiler->printMessage (var_separator_34813.add_operation (GALGAS_string (" Variables "), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1172)).add_operation (var_separator_34813, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1172)).add_operation (GALGAS_string ("= Displayed from "), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1173)).add_operation (var_separator_34813, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1173)).add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1174)) COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1172)) ; inCompiler->printMessage (this->mProperty_where.getter_endLocationString (inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1175)).add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1175)) COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1175)) ; inCompiler->printMessage (var_delimitor_34647 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1176)) ; @@ -14936,20 +14682,20 @@ void cPtr_gtlVariablesInstruction::method_displayLong (const GALGAS_gtlData cons inCompiler->printMessage (var_delimitor_34647 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1188)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionMethod_displayLong (cPtr_gtlVariablesInstruction * inObject, const GALGAS_gtlData constin_vars, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (nullptr != inObject) { macroValidSharedObject (inObject, cPtr_gtlVariablesInstruction) ; inObject->method_displayLong (constin_vars, inCompiler COMMA_THERE) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlLibrariesInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -14964,7 +14710,7 @@ typeComparisonResult cPtr_gtlLibrariesInstruction::dynamicObjectCompare (const a return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlLibrariesInstruction::objectCompare (const GALGAS_gtlLibrariesInstruction & inOperand) const { @@ -14983,23 +14729,31 @@ typeComparisonResult GALGAS_gtlLibrariesInstruction::objectCompare (const GALGAS return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlLibrariesInstruction::GALGAS_gtlLibrariesInstruction (void) : GALGAS_gtlInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlLibrariesInstruction GALGAS_gtlLibrariesInstruction::constructor_default (LOCATION_ARGS) { + return GALGAS_gtlLibrariesInstruction::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_string::constructor_default (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlLibrariesInstruction::GALGAS_gtlLibrariesInstruction (const cPtr_gtlLibrariesInstruction * inSourcePtr) : GALGAS_gtlInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlLibrariesInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlLibrariesInstruction GALGAS_gtlLibrariesInstruction::class_func_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature - COMMA_LOCATION_ARGS) { +GALGAS_gtlLibrariesInstruction GALGAS_gtlLibrariesInstruction::constructor_new (const GALGAS_location & inAttribute_where, + const GALGAS_string & inAttribute_signature + COMMA_LOCATION_ARGS) { GALGAS_gtlLibrariesInstruction result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlLibrariesInstruction (inAttribute_where, inAttribute_signature COMMA_THERE)) ; @@ -15007,9 +14761,9 @@ GALGAS_gtlLibrariesInstruction GALGAS_gtlLibrariesInstruction::class_func_new (c return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlLibrariesInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlLibrariesInstruction::cPtr_gtlLibrariesInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature @@ -15017,22 +14771,22 @@ cPtr_gtlLibrariesInstruction::cPtr_gtlLibrariesInstruction (const GALGAS_locatio cPtr_gtlInstruction (in_where, in_signature COMMA_THERE) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlLibrariesInstruction::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlLibrariesInstruction ; } -void cPtr_gtlLibrariesInstruction::description (String & ioString, +void cPtr_gtlLibrariesInstruction::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlLibrariesInstruction:") ; + ioString << "[@gtlLibrariesInstruction:" ; mProperty_where.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlLibrariesInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -15041,22 +14795,23 @@ acPtr_class * cPtr_gtlLibrariesInstruction::duplicate (LOCATION_ARGS) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlLibrariesInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlLibrariesInstruction ("gtlLibrariesInstruction", - & kTypeDescriptor_GALGAS_gtlInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlLibrariesInstruction ("gtlLibrariesInstruction", + & kTypeDescriptor_GALGAS_gtlInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlLibrariesInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlLibrariesInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlLibrariesInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -15066,10 +14821,10 @@ AC_GALGAS_root * GALGAS_gtlLibrariesInstruction::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlLibrariesInstruction GALGAS_gtlLibrariesInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlLibrariesInstruction result ; const GALGAS_gtlLibrariesInstruction * p = (const GALGAS_gtlLibrariesInstruction *) inObject.embeddedObject () ; @@ -15083,9 +14838,9 @@ GALGAS_gtlLibrariesInstruction GALGAS_gtlLibrariesInstruction::extractObject (co return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlInputStatementInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -15103,7 +14858,7 @@ typeComparisonResult cPtr_gtlInputStatementInstruction::dynamicObjectCompare (co return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlInputStatementInstruction::objectCompare (const GALGAS_gtlInputStatementInstruction & inOperand) const { @@ -15122,24 +14877,33 @@ typeComparisonResult GALGAS_gtlInputStatementInstruction::objectCompare (const G return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInputStatementInstruction::GALGAS_gtlInputStatementInstruction (void) : GALGAS_gtlInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlInputStatementInstruction GALGAS_gtlInputStatementInstruction::constructor_default (LOCATION_ARGS) { + return GALGAS_gtlInputStatementInstruction::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_string::constructor_default (HERE), + GALGAS_gtlArgumentList::constructor_emptyList (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInputStatementInstruction::GALGAS_gtlInputStatementInstruction (const cPtr_gtlInputStatementInstruction * inSourcePtr) : GALGAS_gtlInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlInputStatementInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlInputStatementInstruction GALGAS_gtlInputStatementInstruction::class_func_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_gtlArgumentList & inAttribute_formalArguments - COMMA_LOCATION_ARGS) { +GALGAS_gtlInputStatementInstruction GALGAS_gtlInputStatementInstruction::constructor_new (const GALGAS_location & inAttribute_where, + const GALGAS_string & inAttribute_signature, + const GALGAS_gtlArgumentList & inAttribute_formalArguments + COMMA_LOCATION_ARGS) { GALGAS_gtlInputStatementInstruction result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_formalArguments.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlInputStatementInstruction (inAttribute_where, inAttribute_signature, inAttribute_formalArguments COMMA_THERE)) ; @@ -15147,7 +14911,7 @@ GALGAS_gtlInputStatementInstruction GALGAS_gtlInputStatementInstruction::class_f return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlArgumentList GALGAS_gtlInputStatementInstruction::readProperty_formalArguments (void) const { if (nullptr == mObjectPtr) { @@ -15159,13 +14923,13 @@ GALGAS_gtlArgumentList GALGAS_gtlInputStatementInstruction::readProperty_formalA } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlArgumentList cPtr_gtlInputStatementInstruction::getter_formalArguments (UNUSED_LOCATION_ARGS) const { return mProperty_formalArguments ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlInputStatementInstruction::setter_setFormalArguments (GALGAS_gtlArgumentList inValue COMMA_LOCATION_ARGS) { @@ -15177,16 +14941,16 @@ void GALGAS_gtlInputStatementInstruction::setter_setFormalArguments (GALGAS_gtlA } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlInputStatementInstruction::setter_setFormalArguments (GALGAS_gtlArgumentList inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_formalArguments = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlInputStatementInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlInputStatementInstruction::cPtr_gtlInputStatementInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature, @@ -15196,24 +14960,24 @@ cPtr_gtlInstruction (in_where, in_signature COMMA_THERE), mProperty_formalArguments (in_formalArguments) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlInputStatementInstruction::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlInputStatementInstruction ; } -void cPtr_gtlInputStatementInstruction::description (String & ioString, +void cPtr_gtlInputStatementInstruction::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlInputStatementInstruction:") ; + ioString << "[@gtlInputStatementInstruction:" ; mProperty_where.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_formalArguments.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlInputStatementInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -15222,22 +14986,23 @@ acPtr_class * cPtr_gtlInputStatementInstruction::duplicate (LOCATION_ARGS) const } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlInputStatementInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlInputStatementInstruction ("gtlInputStatementInstruction", - & kTypeDescriptor_GALGAS_gtlInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlInputStatementInstruction ("gtlInputStatementInstruction", + & kTypeDescriptor_GALGAS_gtlInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlInputStatementInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlInputStatementInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlInputStatementInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -15247,10 +15012,10 @@ AC_GALGAS_root * GALGAS_gtlInputStatementInstruction::clonedObject (void) const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInputStatementInstruction GALGAS_gtlInputStatementInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlInputStatementInstruction result ; const GALGAS_gtlInputStatementInstruction * p = (const GALGAS_gtlInputStatementInstruction *) inObject.embeddedObject () ; @@ -15264,17 +15029,17 @@ GALGAS_gtlInputStatementInstruction GALGAS_gtlInputStatementInstruction::extract return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension method '@string loadCommandFile' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void extensionMethod_loadCommandFile (const GALGAS_string inObject, GALGAS_gtlContext & ioArgument_context, GALGAS_gtlData & ioArgument_vars, GALGAS_library & ioArgument_lib, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { @@ -15284,7 +15049,7 @@ void extensionMethod_loadCommandFile (const GALGAS_string inObject, const GALGAS_string temp_2 = inObject ; inCompiler->printMessage (GALGAS_string ("loading file ").add_operation (temp_2, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 71)).add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 71)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 71)) ; const GALGAS_string temp_3 = inObject ; - GALGAS_stringlist var_commands_2684 = GALGAS_string::class_func_stringWithContentsOfFile (temp_3, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 72)).getter_componentsSeparatedByString (GALGAS_string ("\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 73)) ; + GALGAS_stringlist var_commands_2684 = GALGAS_string::constructor_stringWithContentsOfFile (temp_3, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 72)).getter_componentsSeparatedByString (GALGAS_string ("\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 73)) ; GALGAS_string var_whatInFile_2792 = GALGAS_string::makeEmptyString () ; cEnumerator_stringlist enumerator_2817 (var_commands_2684, kENUMERATION_UP) ; while (enumerator_2817.hasCurrentObject ()) { @@ -15325,16 +15090,16 @@ void extensionMethod_loadCommandFile (const GALGAS_string inObject, } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Class for element of '@gtlBreakpointList' list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cCollectionElement_gtlBreakpointList : public cCollectionElement { public: GALGAS_gtlBreakpointList_2D_element mObject ; -//--- Class functions +//--- Constructors public: cCollectionElement_gtlBreakpointList (const GALGAS_gtlBreakpoint & in_breakpoint COMMA_LOCATION_ARGS) ; public: cCollectionElement_gtlBreakpointList (const GALGAS_gtlBreakpointList_2D_element & inElement COMMA_LOCATION_ARGS) ; @@ -15349,10 +15114,10 @@ class cCollectionElement_gtlBreakpointList : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_gtlBreakpointList::cCollectionElement_gtlBreakpointList (const GALGAS_gtlBreakpoint & in_breakpoint COMMA_LOCATION_ARGS) : @@ -15360,20 +15125,20 @@ cCollectionElement (THERE), mObject (in_breakpoint) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_gtlBreakpointList::cCollectionElement_gtlBreakpointList (const GALGAS_gtlBreakpointList_2D_element & inElement COMMA_LOCATION_ARGS) : cCollectionElement (THERE), mObject (inElement.mProperty_breakpoint) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cCollectionElement_gtlBreakpointList::isValid (void) const { return true ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement * cCollectionElement_gtlBreakpointList::copy (void) { cCollectionElement * result = nullptr ; @@ -15381,16 +15146,16 @@ cCollectionElement * cCollectionElement_gtlBreakpointList::copy (void) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cCollectionElement_gtlBreakpointList::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("breakpoint" ":") ; +void cCollectionElement_gtlBreakpointList::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "breakpoint" ":" ; mObject.mProperty_breakpoint.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_gtlBreakpointList::compare (const cCollectionElement * inOperand) const { cCollectionElement_gtlBreakpointList * operand = (cCollectionElement_gtlBreakpointList *) inOperand ; @@ -15398,28 +15163,28 @@ typeComparisonResult cCollectionElement_gtlBreakpointList::compare (const cColle return mObject.objectCompare (operand->mObject) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointList::GALGAS_gtlBreakpointList (void) : AC_GALGAS_list () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointList::GALGAS_gtlBreakpointList (const capCollectionElementArray & inSharedArray) : AC_GALGAS_list (inSharedArray) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlBreakpointList GALGAS_gtlBreakpointList::class_func_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_gtlBreakpointList (capCollectionElementArray ()) ; +GALGAS_gtlBreakpointList GALGAS_gtlBreakpointList::constructor_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_gtlBreakpointList (capCollectionElementArray ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlBreakpointList GALGAS_gtlBreakpointList::class_func_listWithValue (const GALGAS_gtlBreakpoint & inOperand0 - COMMA_LOCATION_ARGS) { +GALGAS_gtlBreakpointList GALGAS_gtlBreakpointList::constructor_listWithValue (const GALGAS_gtlBreakpoint & inOperand0 + COMMA_LOCATION_ARGS) { GALGAS_gtlBreakpointList result ; if (inOperand0.isValid ()) { result = GALGAS_gtlBreakpointList (capCollectionElementArray ()) ; @@ -15430,7 +15195,7 @@ GALGAS_gtlBreakpointList GALGAS_gtlBreakpointList::class_func_listWithValue (con return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpointList::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_gtlBreakpoint & in_breakpoint @@ -15441,7 +15206,7 @@ void GALGAS_gtlBreakpointList::makeAttributesFromObjects (capCollectionElement & macroDetachSharedObject (p) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpointList::addAssign_operation (const GALGAS_gtlBreakpoint & inOperand0 COMMA_LOCATION_ARGS) { @@ -15455,10 +15220,10 @@ void GALGAS_gtlBreakpointList::addAssign_operation (const GALGAS_gtlBreakpoint & } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpointList::setter_append (const GALGAS_gtlBreakpoint inOperand0, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -15470,11 +15235,11 @@ void GALGAS_gtlBreakpointList::setter_append (const GALGAS_gtlBreakpoint inOpera } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpointList::setter_insertAtIndex (const GALGAS_gtlBreakpoint inOperand0, const GALGAS_uint inInsertionIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid ()) { @@ -15490,11 +15255,11 @@ void GALGAS_gtlBreakpointList::setter_insertAtIndex (const GALGAS_gtlBreakpoint } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpointList::setter_removeAtIndex (GALGAS_gtlBreakpoint & outOperand0, const GALGAS_uint inRemoveIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -15517,10 +15282,10 @@ void GALGAS_gtlBreakpointList::setter_removeAtIndex (GALGAS_gtlBreakpoint & outO } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpointList::setter_popFirst (GALGAS_gtlBreakpoint & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -15533,10 +15298,10 @@ void GALGAS_gtlBreakpointList::setter_popFirst (GALGAS_gtlBreakpoint & outOperan } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpointList::setter_popLast (GALGAS_gtlBreakpoint & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -15549,10 +15314,10 @@ void GALGAS_gtlBreakpointList::setter_popLast (GALGAS_gtlBreakpoint & outOperand } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpointList::method_first (GALGAS_gtlBreakpoint & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -15565,10 +15330,10 @@ void GALGAS_gtlBreakpointList::method_first (GALGAS_gtlBreakpoint & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpointList::method_last (GALGAS_gtlBreakpoint & outOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -15581,10 +15346,10 @@ void GALGAS_gtlBreakpointList::method_last (GALGAS_gtlBreakpoint & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointList GALGAS_gtlBreakpointList::add_operation (const GALGAS_gtlBreakpointList & inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_gtlBreakpointList result ; if (isValid () && inOperand.isValid ()) { @@ -15594,49 +15359,49 @@ GALGAS_gtlBreakpointList GALGAS_gtlBreakpointList::add_operation (const GALGAS_g return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointList GALGAS_gtlBreakpointList::getter_subListWithRange (const GALGAS_range & inRange, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlBreakpointList result = GALGAS_gtlBreakpointList::class_func_emptyList (THERE) ; + GALGAS_gtlBreakpointList result = GALGAS_gtlBreakpointList::constructor_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointList GALGAS_gtlBreakpointList::getter_subListFromIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlBreakpointList result = GALGAS_gtlBreakpointList::class_func_emptyList (THERE) ; + GALGAS_gtlBreakpointList result = GALGAS_gtlBreakpointList::constructor_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointList GALGAS_gtlBreakpointList::getter_subListToIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlBreakpointList result = GALGAS_gtlBreakpointList::class_func_emptyList (THERE) ; + GALGAS_gtlBreakpointList result = GALGAS_gtlBreakpointList::constructor_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpointList::plusAssign_operation (const GALGAS_gtlBreakpointList inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpointList::setter_setBreakpointAtIndex (GALGAS_gtlBreakpoint inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_gtlBreakpointList * p = (cCollectionElement_gtlBreakpointList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -15646,10 +15411,10 @@ void GALGAS_gtlBreakpointList::setter_setBreakpointAtIndex (GALGAS_gtlBreakpoint } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpoint GALGAS_gtlBreakpointList::getter_breakpointAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_gtlBreakpointList * p = (cCollectionElement_gtlBreakpointList *) attributes.ptr () ; @@ -15663,7 +15428,7 @@ GALGAS_gtlBreakpoint GALGAS_gtlBreakpointList::getter_breakpointAtIndex (const G -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_gtlBreakpointList::cEnumerator_gtlBreakpointList (const GALGAS_gtlBreakpointList & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -15671,7 +15436,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointList_2D_element cEnumerator_gtlBreakpointList::current (LOCATION_ARGS) const { const cCollectionElement_gtlBreakpointList * p = (const cCollectionElement_gtlBreakpointList *) currentObjectPtr (THERE) ; @@ -15680,7 +15445,7 @@ GALGAS_gtlBreakpointList_2D_element cEnumerator_gtlBreakpointList::current (LOCA } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpoint cEnumerator_gtlBreakpointList::current_breakpoint (LOCATION_ARGS) const { const cCollectionElement_gtlBreakpointList * p = (const cCollectionElement_gtlBreakpointList *) currentObjectPtr (THERE) ; @@ -15691,22 +15456,23 @@ GALGAS_gtlBreakpoint cEnumerator_gtlBreakpointList::current_breakpoint (LOCATION -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlBreakpointList generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlBreakpointList ("gtlBreakpointList", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlBreakpointList ("gtlBreakpointList", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlBreakpointList::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlBreakpointList ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlBreakpointList::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -15716,10 +15482,10 @@ AC_GALGAS_root * GALGAS_gtlBreakpointList::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointList GALGAS_gtlBreakpointList::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlBreakpointList result ; const GALGAS_gtlBreakpointList * p = (const GALGAS_gtlBreakpointList *) inObject.embeddedObject () ; @@ -15733,16 +15499,16 @@ GALGAS_gtlBreakpointList GALGAS_gtlBreakpointList::extractObject (const GALGAS_o return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Class for element of '@gtlInstructionListContextStack' list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cCollectionElement_gtlInstructionListContextStack : public cCollectionElement { public: GALGAS_gtlInstructionListContextStack_2D_element mObject ; -//--- Class functions +//--- Constructors public: cCollectionElement_gtlInstructionListContextStack (const GALGAS_uint & in_nextInstructionIndex, const GALGAS_gtlInstructionList & in_instructionList COMMA_LOCATION_ARGS) ; @@ -15758,10 +15524,10 @@ class cCollectionElement_gtlInstructionListContextStack : public cCollectionElem public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_gtlInstructionListContextStack::cCollectionElement_gtlInstructionListContextStack (const GALGAS_uint & in_nextInstructionIndex, const GALGAS_gtlInstructionList & in_instructionList @@ -15770,20 +15536,20 @@ cCollectionElement (THERE), mObject (in_nextInstructionIndex, in_instructionList) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_gtlInstructionListContextStack::cCollectionElement_gtlInstructionListContextStack (const GALGAS_gtlInstructionListContextStack_2D_element & inElement COMMA_LOCATION_ARGS) : cCollectionElement (THERE), mObject (inElement.mProperty_nextInstructionIndex, inElement.mProperty_instructionList) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cCollectionElement_gtlInstructionListContextStack::isValid (void) const { return true ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement * cCollectionElement_gtlInstructionListContextStack::copy (void) { cCollectionElement * result = nullptr ; @@ -15791,20 +15557,20 @@ cCollectionElement * cCollectionElement_gtlInstructionListContextStack::copy (vo return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cCollectionElement_gtlInstructionListContextStack::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("nextInstructionIndex" ":") ; +void cCollectionElement_gtlInstructionListContextStack::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "nextInstructionIndex" ":" ; mObject.mProperty_nextInstructionIndex.description (ioString, inIndentation) ; - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("instructionList" ":") ; + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "instructionList" ":" ; mObject.mProperty_instructionList.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_gtlInstructionListContextStack::compare (const cCollectionElement * inOperand) const { cCollectionElement_gtlInstructionListContextStack * operand = (cCollectionElement_gtlInstructionListContextStack *) inOperand ; @@ -15812,29 +15578,29 @@ typeComparisonResult cCollectionElement_gtlInstructionListContextStack::compare return mObject.objectCompare (operand->mObject) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionListContextStack::GALGAS_gtlInstructionListContextStack (void) : AC_GALGAS_list () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionListContextStack::GALGAS_gtlInstructionListContextStack (const capCollectionElementArray & inSharedArray) : AC_GALGAS_list (inSharedArray) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlInstructionListContextStack GALGAS_gtlInstructionListContextStack::class_func_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_gtlInstructionListContextStack (capCollectionElementArray ()) ; +GALGAS_gtlInstructionListContextStack GALGAS_gtlInstructionListContextStack::constructor_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_gtlInstructionListContextStack (capCollectionElementArray ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlInstructionListContextStack GALGAS_gtlInstructionListContextStack::class_func_listWithValue (const GALGAS_uint & inOperand0, - const GALGAS_gtlInstructionList & inOperand1 - COMMA_LOCATION_ARGS) { +GALGAS_gtlInstructionListContextStack GALGAS_gtlInstructionListContextStack::constructor_listWithValue (const GALGAS_uint & inOperand0, + const GALGAS_gtlInstructionList & inOperand1 + COMMA_LOCATION_ARGS) { GALGAS_gtlInstructionListContextStack result ; if (inOperand0.isValid () && inOperand1.isValid ()) { result = GALGAS_gtlInstructionListContextStack (capCollectionElementArray ()) ; @@ -15845,7 +15611,7 @@ GALGAS_gtlInstructionListContextStack GALGAS_gtlInstructionListContextStack::cla return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionListContextStack::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_uint & in_nextInstructionIndex, @@ -15858,7 +15624,7 @@ void GALGAS_gtlInstructionListContextStack::makeAttributesFromObjects (capCollec macroDetachSharedObject (p) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionListContextStack::addAssign_operation (const GALGAS_uint & inOperand0, const GALGAS_gtlInstructionList & inOperand1 @@ -15873,11 +15639,11 @@ void GALGAS_gtlInstructionListContextStack::addAssign_operation (const GALGAS_ui } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionListContextStack::setter_append (const GALGAS_uint inOperand0, const GALGAS_gtlInstructionList inOperand1, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -15889,12 +15655,12 @@ void GALGAS_gtlInstructionListContextStack::setter_append (const GALGAS_uint inO } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionListContextStack::setter_insertAtIndex (const GALGAS_uint inOperand0, const GALGAS_gtlInstructionList inOperand1, const GALGAS_uint inInsertionIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid () && inOperand1.isValid ()) { @@ -15910,12 +15676,12 @@ void GALGAS_gtlInstructionListContextStack::setter_insertAtIndex (const GALGAS_u } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionListContextStack::setter_removeAtIndex (GALGAS_uint & outOperand0, GALGAS_gtlInstructionList & outOperand1, const GALGAS_uint inRemoveIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -15942,11 +15708,11 @@ void GALGAS_gtlInstructionListContextStack::setter_removeAtIndex (GALGAS_uint & } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionListContextStack::setter_popFirst (GALGAS_uint & outOperand0, GALGAS_gtlInstructionList & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -15961,11 +15727,11 @@ void GALGAS_gtlInstructionListContextStack::setter_popFirst (GALGAS_uint & outOp } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionListContextStack::setter_popLast (GALGAS_uint & outOperand0, GALGAS_gtlInstructionList & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -15980,11 +15746,11 @@ void GALGAS_gtlInstructionListContextStack::setter_popLast (GALGAS_uint & outOpe } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionListContextStack::method_first (GALGAS_uint & outOperand0, GALGAS_gtlInstructionList & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -15999,11 +15765,11 @@ void GALGAS_gtlInstructionListContextStack::method_first (GALGAS_uint & outOpera } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionListContextStack::method_last (GALGAS_uint & outOperand0, GALGAS_gtlInstructionList & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -16018,10 +15784,10 @@ void GALGAS_gtlInstructionListContextStack::method_last (GALGAS_uint & outOperan } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionListContextStack GALGAS_gtlInstructionListContextStack::add_operation (const GALGAS_gtlInstructionListContextStack & inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_gtlInstructionListContextStack result ; if (isValid () && inOperand.isValid ()) { @@ -16031,49 +15797,49 @@ GALGAS_gtlInstructionListContextStack GALGAS_gtlInstructionListContextStack::add return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionListContextStack GALGAS_gtlInstructionListContextStack::getter_subListWithRange (const GALGAS_range & inRange, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlInstructionListContextStack result = GALGAS_gtlInstructionListContextStack::class_func_emptyList (THERE) ; + GALGAS_gtlInstructionListContextStack result = GALGAS_gtlInstructionListContextStack::constructor_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionListContextStack GALGAS_gtlInstructionListContextStack::getter_subListFromIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlInstructionListContextStack result = GALGAS_gtlInstructionListContextStack::class_func_emptyList (THERE) ; + GALGAS_gtlInstructionListContextStack result = GALGAS_gtlInstructionListContextStack::constructor_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionListContextStack GALGAS_gtlInstructionListContextStack::getter_subListToIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlInstructionListContextStack result = GALGAS_gtlInstructionListContextStack::class_func_emptyList (THERE) ; + GALGAS_gtlInstructionListContextStack result = GALGAS_gtlInstructionListContextStack::constructor_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionListContextStack::plusAssign_operation (const GALGAS_gtlInstructionListContextStack inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionListContextStack::setter_setNextInstructionIndexAtIndex (GALGAS_uint inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_gtlInstructionListContextStack * p = (cCollectionElement_gtlInstructionListContextStack *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -16083,10 +15849,10 @@ void GALGAS_gtlInstructionListContextStack::setter_setNextInstructionIndexAtInde } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_gtlInstructionListContextStack::getter_nextInstructionIndexAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_gtlInstructionListContextStack * p = (cCollectionElement_gtlInstructionListContextStack *) attributes.ptr () ; @@ -16098,11 +15864,11 @@ GALGAS_uint GALGAS_gtlInstructionListContextStack::getter_nextInstructionIndexAt return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionListContextStack::setter_setInstructionListAtIndex (GALGAS_gtlInstructionList inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_gtlInstructionListContextStack * p = (cCollectionElement_gtlInstructionListContextStack *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -16112,10 +15878,10 @@ void GALGAS_gtlInstructionListContextStack::setter_setInstructionListAtIndex (GA } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionList GALGAS_gtlInstructionListContextStack::getter_instructionListAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_gtlInstructionListContextStack * p = (cCollectionElement_gtlInstructionListContextStack *) attributes.ptr () ; @@ -16129,7 +15895,7 @@ GALGAS_gtlInstructionList GALGAS_gtlInstructionListContextStack::getter_instruct -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_gtlInstructionListContextStack::cEnumerator_gtlInstructionListContextStack (const GALGAS_gtlInstructionListContextStack & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -16137,7 +15903,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionListContextStack_2D_element cEnumerator_gtlInstructionListContextStack::current (LOCATION_ARGS) const { const cCollectionElement_gtlInstructionListContextStack * p = (const cCollectionElement_gtlInstructionListContextStack *) currentObjectPtr (THERE) ; @@ -16146,7 +15912,7 @@ GALGAS_gtlInstructionListContextStack_2D_element cEnumerator_gtlInstructionListC } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint cEnumerator_gtlInstructionListContextStack::current_nextInstructionIndex (LOCATION_ARGS) const { const cCollectionElement_gtlInstructionListContextStack * p = (const cCollectionElement_gtlInstructionListContextStack *) currentObjectPtr (THERE) ; @@ -16154,7 +15920,7 @@ GALGAS_uint cEnumerator_gtlInstructionListContextStack::current_nextInstructionI return p->mObject.mProperty_nextInstructionIndex ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionList cEnumerator_gtlInstructionListContextStack::current_instructionList (LOCATION_ARGS) const { const cCollectionElement_gtlInstructionListContextStack * p = (const cCollectionElement_gtlInstructionListContextStack *) currentObjectPtr (THERE) ; @@ -16165,22 +15931,23 @@ GALGAS_gtlInstructionList cEnumerator_gtlInstructionListContextStack::current_in -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlInstructionListContextStack generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlInstructionListContextStack ("gtlInstructionListContextStack", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlInstructionListContextStack ("gtlInstructionListContextStack", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlInstructionListContextStack::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlInstructionListContextStack ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlInstructionListContextStack::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -16190,10 +15957,10 @@ AC_GALGAS_root * GALGAS_gtlInstructionListContextStack::clonedObject (void) cons return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionListContextStack GALGAS_gtlInstructionListContextStack::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlInstructionListContextStack result ; const GALGAS_gtlInstructionListContextStack * p = (const GALGAS_gtlInstructionListContextStack *) inObject.embeddedObject () ; diff --git a/goil/build/output/all-declarations-0.h b/goil/build/output/all-declarations-0.h index e6782f947..73c62e446 100644 --- a/goil/build/output/all-declarations-0.h +++ b/goil/build/output/all-declarations-0.h @@ -1,253 +1,17 @@ #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- -// -// Phase 1: @2lstringlist list -// -//-------------------------------------------------------------------------------------------------- - -class GALGAS__32_lstringlist : public AC_GALGAS_list { -//--------------------------------- Default constructor - public: GALGAS__32_lstringlist (void) ; - -//--------------------------------- List constructor used by listmap - public: GALGAS__32_lstringlist (const capCollectionElementArray & inSharedArray) ; - -//--------------------------------- Element constructor - public: static void makeAttributesFromObjects (capCollectionElement & outAttributes, - const class GALGAS_lstring & in_mValue_30_, - const class GALGAS_lstring & in_mValue_31_ - COMMA_LOCATION_ARGS) ; - -//-- Start of type generic part - -//--------------------------------- Object cloning - protected: virtual AC_GALGAS_root * clonedObject (void) const override ; - -//--------------------------------- Object extraction - public: static GALGAS__32_lstringlist extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//--------------------------------- GALGAS class functions - public: static class GALGAS__32_lstringlist class_func_emptyList (LOCATION_ARGS) ; - - public: static class GALGAS__32_lstringlist class_func_listWithValue (const class GALGAS_lstring & inOperand0, - const class GALGAS_lstring & inOperand1 - COMMA_LOCATION_ARGS) ; - -//--------------------------------- += operator (with expression) - public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS__32_lstringlist inOperand, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//--------------------------------- += operator (with list of field expressions) - public: VIRTUAL_IN_DEBUG void addAssign_operation (const class GALGAS_lstring & inOperand0, - const class GALGAS_lstring & inOperand1 - COMMA_LOCATION_ARGS) ; -//--------------------------------- + operator - public: VIRTUAL_IN_DEBUG GALGAS__32_lstringlist add_operation (const GALGAS__32_lstringlist & inOperand, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const ; - - -//--------------------------------- Setters - public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_lstring constinArgument0, - class GALGAS_lstring constinArgument1, - Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - - public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_lstring constinArgument0, - class GALGAS_lstring constinArgument1, - class GALGAS_uint constinArgument2, - Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - - public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_lstring & outArgument0, - class GALGAS_lstring & outArgument1, - Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - - public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_lstring & outArgument0, - class GALGAS_lstring & outArgument1, - Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - - public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_lstring & outArgument0, - class GALGAS_lstring & outArgument1, - class GALGAS_uint constinArgument2, - Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - - public: VIRTUAL_IN_DEBUG void setter_setMValue_30_AtIndex (class GALGAS_lstring constinArgument0, - class GALGAS_uint constinArgument1, - Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - - public: VIRTUAL_IN_DEBUG void setter_setMValue_31_AtIndex (class GALGAS_lstring constinArgument0, - class GALGAS_uint constinArgument1, - Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - - -//--------------------------------- Instance Methods - public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_lstring & outArgument0, - class GALGAS_lstring & outArgument1, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const ; - - public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_lstring & outArgument0, - class GALGAS_lstring & outArgument1, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const ; - -//--------------------------------- Class Methods - -//--------------------------------- Getters - public: VIRTUAL_IN_DEBUG class GALGAS_lstring getter_mValue_30_AtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const ; - - public: VIRTUAL_IN_DEBUG class GALGAS_lstring getter_mValue_31_AtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const ; - - public: VIRTUAL_IN_DEBUG class GALGAS__32_lstringlist getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const ; - - public: VIRTUAL_IN_DEBUG class GALGAS__32_lstringlist getter_subListToIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const ; - - public: VIRTUAL_IN_DEBUG class GALGAS__32_lstringlist getter_subListWithRange (const class GALGAS_range & constinOperand0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const ; - - -//--------------------------------- Optional Methods - -//--------------------------------- Introspection - public: VIRTUAL_IN_DEBUG const C_galgas_type_descriptor * staticTypeDescriptor (void) const override ; -//--------------------------------- Friend - - friend class cEnumerator__32_lstringlist ; - -} ; // End of GALGAS__32_lstringlist class - -//-------------------------------------------------------------------------------------------------- -// Enumerator declaration -//-------------------------------------------------------------------------------------------------- - -class cEnumerator__32_lstringlist : public cGenericAbstractEnumerator { - public: cEnumerator__32_lstringlist (const GALGAS__32_lstringlist & inEnumeratedObject, - const typeEnumerationOrder inOrder) ; - -//--- Current element access - public: class GALGAS_lstring current_mValue_30_ (LOCATION_ARGS) const ; - public: class GALGAS_lstring current_mValue_31_ (LOCATION_ARGS) const ; -//--- Current element access - public: class GALGAS__32_lstringlist_2D_element current (LOCATION_ARGS) const ; -} ; - -//-------------------------------------------------------------------------------------------------- - -extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS__32_lstringlist ; - -//-------------------------------------------------------------------------------------------------- -// -// Phase 1: @_32_lstringlist_2D_element struct -// -//-------------------------------------------------------------------------------------------------- - -class GALGAS__32_lstringlist_2D_element : public AC_GALGAS_root { -//--------------------------------- Properties - public: GALGAS_lstring mProperty_mValue_30_ ; - public: inline GALGAS_lstring readProperty_mValue_30_ (void) const { - return mProperty_mValue_30_ ; - } - - public: GALGAS_lstring mProperty_mValue_31_ ; - public: inline GALGAS_lstring readProperty_mValue_31_ (void) const { - return mProperty_mValue_31_ ; - } - -//--------------------------------- Accessors - public: VIRTUAL_IN_DEBUG bool isValid (void) const override ; - public: VIRTUAL_IN_DEBUG void drop (void) override ; - -//--------------------------------- Default constructor - public: GALGAS__32_lstringlist_2D_element (void) ; - -//--------------------------------- Property setters - public: inline void setter_setMValue_30_ (const GALGAS_lstring & inValue COMMA_UNUSED_LOCATION_ARGS) { - mProperty_mValue_30_ = inValue ; - } - - public: inline void setter_setMValue_31_ (const GALGAS_lstring & inValue COMMA_UNUSED_LOCATION_ARGS) { - mProperty_mValue_31_ = inValue ; - } - -//--------------------------------- Virtual destructor (in debug mode) - public: virtual ~ GALGAS__32_lstringlist_2D_element (void) ; - -//--------------------------------- Native constructor - public: GALGAS__32_lstringlist_2D_element (const GALGAS_lstring & in_mValue_30_, - const GALGAS_lstring & in_mValue_31_) ; - -//-- Start of type generic part - -//--------------------------------- Object cloning - protected: virtual AC_GALGAS_root * clonedObject (void) const override ; - -//--------------------------------- Object extraction - public: static GALGAS__32_lstringlist_2D_element extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//--------------------------------- GALGAS class functions - public: static class GALGAS__32_lstringlist_2D_element class_func_new (const class GALGAS_lstring & inOperand0, - const class GALGAS_lstring & inOperand1, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; -//--------------------------------- Comparison - public: typeComparisonResult objectCompare (const GALGAS__32_lstringlist_2D_element & inOperand) const ; - -//--------------------------------- Setters - -//--------------------------------- Instance Methods -//--------------------------------- Class Methods - -//--------------------------------- Getters - -//--------------------------------- Optional Methods - -//--------------------------------- Introspection - public: VIRTUAL_IN_DEBUG const C_galgas_type_descriptor * staticTypeDescriptor (void) const override ; - -} ; // End of GALGAS__32_lstringlist_2D_element class - - -//-------------------------------------------------------------------------------------------------- - -extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS__32_lstringlist_2D_element ; - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlDataList list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlDataList : public AC_GALGAS_list { //--------------------------------- Default constructor @@ -261,25 +25,25 @@ class GALGAS_gtlDataList : public AC_GALGAS_list { const class GALGAS_gtlData & in_data COMMA_LOCATION_ARGS) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlDataList extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlDataList class_func_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlDataList constructor_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_gtlDataList class_func_listWithValue (const class GALGAS_gtlData & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlDataList constructor_listWithValue (const class GALGAS_gtlData & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_gtlDataList inOperand, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -287,65 +51,65 @@ class GALGAS_gtlDataList : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlDataList add_operation (const GALGAS_gtlDataList & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_gtlData constinArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_gtlData constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_gtlData & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_gtlData & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_gtlData & outArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setDataAtIndex (class GALGAS_gtlData constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_gtlData & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_gtlData & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_gtlData getter_dataAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlDataList getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlDataList getter_subListToIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlDataList getter_subListWithRange (const class GALGAS_range & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -359,9 +123,9 @@ class GALGAS_gtlDataList : public AC_GALGAS_list { } ; // End of GALGAS_gtlDataList class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Enumerator declaration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cEnumerator_gtlDataList : public cGenericAbstractEnumerator { public: cEnumerator_gtlDataList (const GALGAS_gtlDataList & inEnumeratedObject, @@ -373,15 +137,15 @@ class cEnumerator_gtlDataList : public cGenericAbstractEnumerator { public: class GALGAS_gtlDataList_2D_element current (LOCATION_ARGS) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlDataList ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlData value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlData : public AC_GALGAS_value_class { //--------------------------------- Default constructor @@ -400,14 +164,14 @@ class GALGAS_gtlData : public AC_GALGAS_value_class { public: class GALGAS_lstring readProperty_meta (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlData extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison @@ -434,167 +198,167 @@ class GALGAS_gtlData : public AC_GALGAS_value_class { } ; // End of GALGAS_gtlData class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlData ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlData class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlData : public acPtr_class { //--- Extension getter addOp public: virtual class GALGAS_gtlData getter_addOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const = 0 ; + public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - Compiler * COMMA_LOCATION_ARGS) const = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const = 0 ; + public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const = 0 ; + public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter hasItemAtIndex public: virtual class GALGAS_bool getter_hasItemAtIndex (const class GALGAS_gtlInt index, - Compiler * COMMA_LOCATION_ARGS) const ; + C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter hasMapItem public: virtual class GALGAS_bool getter_hasMapItem (const class GALGAS_lstring name, - Compiler * COMMA_LOCATION_ARGS) const ; + C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter hasStructField public: virtual class GALGAS_bool getter_hasStructField (const class GALGAS_lstring name, - Compiler * COMMA_LOCATION_ARGS) const ; + C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const = 0 ; + public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter location - public: virtual class GALGAS_location getter_location (Compiler * COMMA_LOCATION_ARGS) const ; + public: virtual class GALGAS_location getter_location (C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const = 0 ; + public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const = 0 ; + public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const = 0 ; + public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter overriddenMap - public: virtual class GALGAS_gtlStruct getter_overriddenMap (Compiler * COMMA_LOCATION_ARGS) const ; + public: virtual class GALGAS_gtlStruct getter_overriddenMap (C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter overrideMap - public: virtual class GALGAS_gtlStruct getter_overrideMap (Compiler * COMMA_LOCATION_ARGS) const ; + public: virtual class GALGAS_gtlStruct getter_overrideMap (C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter performGetter public: virtual class GALGAS_gtlData getter_performGetter (const class GALGAS_lstring methodName, const class GALGAS_gtlDataList arguments, const class GALGAS_gtlContext context, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const = 0 ; + public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter resultField public: virtual class GALGAS_gtlData getter_resultField (const class GALGAS_lstring name, - Compiler * COMMA_LOCATION_ARGS) const ; + C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const = 0 ; + public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const = 0 ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - Compiler * COMMA_LOCATION_ARGS) = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) = 0 ; //--- Extension method itemAtIndex public: virtual void method_itemAtIndex (class GALGAS_gtlData & result, const class GALGAS_gtlInt index, - Compiler * COMMA_LOCATION_ARGS) ; + C_Compiler * COMMA_LOCATION_ARGS) ; //--- Extension method mapItem public: virtual void method_mapItem (const class GALGAS_lstring name, class GALGAS_gtlData & result, - Compiler * COMMA_LOCATION_ARGS) ; + C_Compiler * COMMA_LOCATION_ARGS) ; //--- Extension method structField public: virtual void method_structField (const class GALGAS_lstring name, class GALGAS_gtlData & result, class GALGAS_bool & found, - Compiler * COMMA_LOCATION_ARGS) ; + C_Compiler * COMMA_LOCATION_ARGS) ; //--- Properties @@ -612,7 +376,7 @@ class cPtr_gtlData : public acPtr_class { public: VIRTUAL_IN_DEBUG GALGAS_lstring getter_meta (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setMeta (GALGAS_lstring inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override = 0 ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override = 0 ; @@ -621,11 +385,11 @@ class cPtr_gtlData : public acPtr_class { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlDataList_2D_element struct // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlDataList_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -652,24 +416,23 @@ class GALGAS_gtlDataList_2D_element : public AC_GALGAS_root { //--------------------------------- Native constructor public: GALGAS_gtlDataList_2D_element (const GALGAS_gtlData & in_data) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlDataList_2D_element extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlDataList_2D_element class_func_new (const class GALGAS_gtlData & inOperand0, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlDataList_2D_element constructor_new (const class GALGAS_gtlData & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlDataList_2D_element & inOperand) const ; @@ -688,38 +451,38 @@ class GALGAS_gtlDataList_2D_element : public AC_GALGAS_root { } ; // End of GALGAS_gtlDataList_2D_element class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlDataList_2D_element ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@string stringByAppendingPath' (as function) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string extensionGetter_stringByAppendingPath (const class GALGAS_string & inObject, const class GALGAS_string & constinArgument0, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlVarMap map // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cMapElement_gtlVarMap ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const char * kSearchErrorMessage_gtlVarMap_get ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const char * kSearchErrorMessage_gtlVarMap_getResult ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlVarMap : public AC_GALGAS_map { //--------------------------------- Default constructor @@ -729,69 +492,69 @@ class GALGAS_gtlVarMap : public AC_GALGAS_map { public: GALGAS_gtlVarMap (const GALGAS_gtlVarMap & inSource) ; public: GALGAS_gtlVarMap & operator = (const GALGAS_gtlVarMap & inSource) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlVarMap extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlVarMap class_func_emptyMap (LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlVarMap constructor_emptyMap (LOCATION_ARGS) ; - public: static class GALGAS_gtlVarMap class_func_mapWithMapToOverride (const class GALGAS_gtlVarMap & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlVarMap constructor_mapWithMapToOverride (const class GALGAS_gtlVarMap & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) public: VIRTUAL_IN_DEBUG void addAssign_operation (const class GALGAS_lstring & inOperand0, const class GALGAS_gtlData & inOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlVarMap add_operation (const GALGAS_gtlVarMap & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_del (class GALGAS_lstring constinArgument0, class GALGAS_gtlData & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_put (class GALGAS_lstring constinArgument0, class GALGAS_gtlData constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setValueForKey (class GALGAS_gtlData constinArgument0, class GALGAS_string constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_get (class GALGAS_lstring constinArgument0, class GALGAS_gtlData & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_getResult (class GALGAS_lstring constinArgument0, class GALGAS_gtlData & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters - public: VIRTUAL_IN_DEBUG class GALGAS_gtlVarMap getter_overriddenMap (Compiler * inCompiler + public: VIRTUAL_IN_DEBUG class GALGAS_gtlVarMap getter_overriddenMap (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlData getter_valueForKey (const class GALGAS_string & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -802,7 +565,7 @@ class GALGAS_gtlVarMap : public AC_GALGAS_map { //--------------------------------- Introspection public: VIRTUAL_IN_DEBUG const C_galgas_type_descriptor * staticTypeDescriptor (void) const override ; - public: VIRTUAL_IN_DEBUG cMapElement_gtlVarMap * readWriteAccessForWithInstruction (Compiler * inCompiler, + public: VIRTUAL_IN_DEBUG cMapElement_gtlVarMap * readWriteAccessForWithInstruction (C_Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) ; @@ -812,9 +575,9 @@ class GALGAS_gtlVarMap : public AC_GALGAS_map { } ; // End of GALGAS_gtlVarMap class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Enumerator declaration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cEnumerator_gtlVarMap : public cGenericAbstractEnumerator { public: cEnumerator_gtlVarMap (const GALGAS_gtlVarMap & inEnumeratedObject, @@ -827,15 +590,15 @@ class cEnumerator_gtlVarMap : public cGenericAbstractEnumerator { public: class GALGAS_gtlVarMap_2D_element current (LOCATION_ARGS) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlVarMap ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: class for element of '@gtlVarMap' map // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cMapElement_gtlVarMap : public cMapElement { //--- Map attributes @@ -856,14 +619,14 @@ class cMapElement_gtlVarMap : public cMapElement { public: virtual cMapElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlVarMap_2D_element struct // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlVarMap_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -900,25 +663,24 @@ class GALGAS_gtlVarMap_2D_element : public AC_GALGAS_root { public: GALGAS_gtlVarMap_2D_element (const GALGAS_lstring & in_lkey, const GALGAS_gtlData & in_value) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlVarMap_2D_element extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlVarMap_2D_element class_func_new (const class GALGAS_lstring & inOperand0, - const class GALGAS_gtlData & inOperand1, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlVarMap_2D_element constructor_new (const class GALGAS_lstring & inOperand0, + const class GALGAS_gtlData & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlVarMap_2D_element & inOperand) const ; @@ -937,48 +699,48 @@ class GALGAS_gtlVarMap_2D_element : public AC_GALGAS_root { } ; // End of GALGAS_gtlVarMap_2D_element class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlVarMap_2D_element ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension setter '@gtlVarMap replaceOrCreate' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void extensionSetter_replaceOrCreate (class GALGAS_gtlVarMap & ioObject, const class GALGAS_lstring constin_key, const class GALGAS_gtlData constin_data, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension setter '@gtlVarMap replaceOrCreateAtLevel' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void extensionSetter_replaceOrCreateAtLevel (class GALGAS_gtlVarMap & ioObject, const class GALGAS_lstring constin_key, const class GALGAS_gtlData constin_data, const class GALGAS_uint constin_level, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlExpressionMap map // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cMapElement_gtlExpressionMap ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const char * kSearchErrorMessage_gtlExpressionMap_get ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlExpressionMap : public AC_GALGAS_map { //--------------------------------- Default constructor @@ -988,64 +750,64 @@ class GALGAS_gtlExpressionMap : public AC_GALGAS_map { public: GALGAS_gtlExpressionMap (const GALGAS_gtlExpressionMap & inSource) ; public: GALGAS_gtlExpressionMap & operator = (const GALGAS_gtlExpressionMap & inSource) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlExpressionMap extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlExpressionMap class_func_emptyMap (LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlExpressionMap constructor_emptyMap (LOCATION_ARGS) ; - public: static class GALGAS_gtlExpressionMap class_func_mapWithMapToOverride (const class GALGAS_gtlExpressionMap & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlExpressionMap constructor_mapWithMapToOverride (const class GALGAS_gtlExpressionMap & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) public: VIRTUAL_IN_DEBUG void addAssign_operation (const class GALGAS_lstring & inOperand0, const class GALGAS_gtlExpression & inOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlExpressionMap add_operation (const GALGAS_gtlExpressionMap & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_del (class GALGAS_lstring constinArgument0, class GALGAS_gtlExpression & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_put (class GALGAS_lstring constinArgument0, class GALGAS_gtlExpression constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setExpressionForKey (class GALGAS_gtlExpression constinArgument0, class GALGAS_string constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_get (class GALGAS_lstring constinArgument0, class GALGAS_gtlExpression & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_gtlExpression getter_expressionForKey (const class GALGAS_string & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; - public: VIRTUAL_IN_DEBUG class GALGAS_gtlExpressionMap getter_overriddenMap (Compiler * inCompiler + public: VIRTUAL_IN_DEBUG class GALGAS_gtlExpressionMap getter_overriddenMap (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -1056,7 +818,7 @@ class GALGAS_gtlExpressionMap : public AC_GALGAS_map { //--------------------------------- Introspection public: VIRTUAL_IN_DEBUG const C_galgas_type_descriptor * staticTypeDescriptor (void) const override ; - public: VIRTUAL_IN_DEBUG cMapElement_gtlExpressionMap * readWriteAccessForWithInstruction (Compiler * inCompiler, + public: VIRTUAL_IN_DEBUG cMapElement_gtlExpressionMap * readWriteAccessForWithInstruction (C_Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) ; @@ -1066,9 +828,9 @@ class GALGAS_gtlExpressionMap : public AC_GALGAS_map { } ; // End of GALGAS_gtlExpressionMap class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Enumerator declaration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cEnumerator_gtlExpressionMap : public cGenericAbstractEnumerator { public: cEnumerator_gtlExpressionMap (const GALGAS_gtlExpressionMap & inEnumeratedObject, @@ -1081,15 +843,15 @@ class cEnumerator_gtlExpressionMap : public cGenericAbstractEnumerator { public: class GALGAS_gtlExpressionMap_2D_element current (LOCATION_ARGS) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlExpressionMap ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlExpression : public AC_GALGAS_value_class { //--------------------------------- Default constructor @@ -1106,14 +868,14 @@ class GALGAS_gtlExpression : public AC_GALGAS_value_class { //--------------------------------- Property read access public: class GALGAS_location readProperty_where (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison @@ -1137,15 +899,15 @@ class GALGAS_gtlExpression : public AC_GALGAS_value_class { } ; // End of GALGAS_gtlExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: class for element of '@gtlExpressionMap' map // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cMapElement_gtlExpressionMap : public cMapElement { //--- Map attributes @@ -1166,14 +928,14 @@ class cMapElement_gtlExpressionMap : public cMapElement { public: virtual cMapElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlExpressionMap_2D_element struct // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlExpressionMap_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -1210,25 +972,24 @@ class GALGAS_gtlExpressionMap_2D_element : public AC_GALGAS_root { public: GALGAS_gtlExpressionMap_2D_element (const GALGAS_lstring & in_lkey, const GALGAS_gtlExpression & in_expression) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlExpressionMap_2D_element extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlExpressionMap_2D_element class_func_new (const class GALGAS_lstring & inOperand0, - const class GALGAS_gtlExpression & inOperand1, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlExpressionMap_2D_element constructor_new (const class GALGAS_lstring & inOperand0, + const class GALGAS_gtlExpression & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlExpressionMap_2D_element & inOperand) const ; @@ -1247,15 +1008,15 @@ class GALGAS_gtlExpressionMap_2D_element : public AC_GALGAS_root { } ; // End of GALGAS_gtlExpressionMap_2D_element class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlExpressionMap_2D_element ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlInstructionList list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlInstructionList : public AC_GALGAS_list { //--------------------------------- Default constructor @@ -1269,25 +1030,25 @@ class GALGAS_gtlInstructionList : public AC_GALGAS_list { const class GALGAS_gtlInstruction & in_instruction COMMA_LOCATION_ARGS) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlInstructionList extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlInstructionList class_func_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlInstructionList constructor_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_gtlInstructionList class_func_listWithValue (const class GALGAS_gtlInstruction & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlInstructionList constructor_listWithValue (const class GALGAS_gtlInstruction & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_gtlInstructionList inOperand, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -1295,65 +1056,65 @@ class GALGAS_gtlInstructionList : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlInstructionList add_operation (const GALGAS_gtlInstructionList & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_gtlInstruction constinArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_gtlInstruction constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_gtlInstruction & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_gtlInstruction & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_gtlInstruction & outArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setInstructionAtIndex (class GALGAS_gtlInstruction constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_gtlInstruction & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_gtlInstruction & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_gtlInstruction getter_instructionAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlInstructionList getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlInstructionList getter_subListToIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlInstructionList getter_subListWithRange (const class GALGAS_range & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -1367,9 +1128,9 @@ class GALGAS_gtlInstructionList : public AC_GALGAS_list { } ; // End of GALGAS_gtlInstructionList class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Enumerator declaration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cEnumerator_gtlInstructionList : public cGenericAbstractEnumerator { public: cEnumerator_gtlInstructionList (const GALGAS_gtlInstructionList & inEnumeratedObject, @@ -1381,15 +1142,15 @@ class cEnumerator_gtlInstructionList : public cGenericAbstractEnumerator { public: class GALGAS_gtlInstructionList_2D_element current (LOCATION_ARGS) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlInstructionList ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlInstruction : public AC_GALGAS_value_class { //--------------------------------- Default constructor @@ -1408,14 +1169,14 @@ class GALGAS_gtlInstruction : public AC_GALGAS_value_class { public: class GALGAS_string readProperty_signature (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison @@ -1442,43 +1203,43 @@ class GALGAS_gtlInstruction : public AC_GALGAS_value_class { } ; // End of GALGAS_gtlInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlInstruction : public acPtr_class { //--- Extension getter location - public: virtual class GALGAS_location getter_location (Compiler * COMMA_LOCATION_ARGS) const ; + public: virtual class GALGAS_location getter_location (C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter mayExecuteWithoutError public: virtual class GALGAS_bool getter_mayExecuteWithoutError (const class GALGAS_gtlContext exeContext, const class GALGAS_gtlData context, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const ; + C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter shortLocation - public: virtual class GALGAS_string getter_shortLocation (Compiler * COMMA_LOCATION_ARGS) const ; + public: virtual class GALGAS_string getter_shortLocation (C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) = 0 ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) = 0 ; //--- Extension method displayWithLocation public: virtual void method_displayWithLocation (const class GALGAS_debuggerContext context, - Compiler * COMMA_LOCATION_ARGS) ; + C_Compiler * COMMA_LOCATION_ARGS) ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) = 0 ; //--- Properties @@ -1496,7 +1257,7 @@ class cPtr_gtlInstruction : public acPtr_class { public: VIRTUAL_IN_DEBUG GALGAS_string getter_signature (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setSignature (GALGAS_string inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override = 0 ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override = 0 ; @@ -1505,11 +1266,11 @@ class cPtr_gtlInstruction : public acPtr_class { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlInstructionList_2D_element struct // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlInstructionList_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -1536,24 +1297,23 @@ class GALGAS_gtlInstructionList_2D_element : public AC_GALGAS_root { //--------------------------------- Native constructor public: GALGAS_gtlInstructionList_2D_element (const GALGAS_gtlInstruction & in_instruction) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlInstructionList_2D_element extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlInstructionList_2D_element class_func_new (const class GALGAS_gtlInstruction & inOperand0, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlInstructionList_2D_element constructor_new (const class GALGAS_gtlInstruction & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlInstructionList_2D_element & inOperand) const ; @@ -1572,23 +1332,23 @@ class GALGAS_gtlInstructionList_2D_element : public AC_GALGAS_root { } ; // End of GALGAS_gtlInstructionList_2D_element class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlInstructionList_2D_element ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlTemplateMap map // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cMapElement_gtlTemplateMap ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const char * kSearchErrorMessage_gtlTemplateMap_get ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlTemplateMap : public AC_GALGAS_map { //--------------------------------- Default constructor @@ -1598,59 +1358,59 @@ class GALGAS_gtlTemplateMap : public AC_GALGAS_map { public: GALGAS_gtlTemplateMap (const GALGAS_gtlTemplateMap & inSource) ; public: GALGAS_gtlTemplateMap & operator = (const GALGAS_gtlTemplateMap & inSource) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlTemplateMap extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlTemplateMap class_func_emptyMap (LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlTemplateMap constructor_emptyMap (LOCATION_ARGS) ; - public: static class GALGAS_gtlTemplateMap class_func_mapWithMapToOverride (const class GALGAS_gtlTemplateMap & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlTemplateMap constructor_mapWithMapToOverride (const class GALGAS_gtlTemplateMap & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) public: VIRTUAL_IN_DEBUG void addAssign_operation (const class GALGAS_lstring & inOperand0, const class GALGAS_gtlTemplate & inOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlTemplateMap add_operation (const GALGAS_gtlTemplateMap & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_put (class GALGAS_lstring constinArgument0, class GALGAS_gtlTemplate constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setATemplateForKey (class GALGAS_gtlTemplate constinArgument0, class GALGAS_string constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_get (class GALGAS_lstring constinArgument0, class GALGAS_gtlTemplate & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_gtlTemplate getter_aTemplateForKey (const class GALGAS_string & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; - public: VIRTUAL_IN_DEBUG class GALGAS_gtlTemplateMap getter_overriddenMap (Compiler * inCompiler + public: VIRTUAL_IN_DEBUG class GALGAS_gtlTemplateMap getter_overriddenMap (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -1661,7 +1421,7 @@ class GALGAS_gtlTemplateMap : public AC_GALGAS_map { //--------------------------------- Introspection public: VIRTUAL_IN_DEBUG const C_galgas_type_descriptor * staticTypeDescriptor (void) const override ; - public: VIRTUAL_IN_DEBUG cMapElement_gtlTemplateMap * readWriteAccessForWithInstruction (Compiler * inCompiler, + public: VIRTUAL_IN_DEBUG cMapElement_gtlTemplateMap * readWriteAccessForWithInstruction (C_Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) ; @@ -1671,9 +1431,9 @@ class GALGAS_gtlTemplateMap : public AC_GALGAS_map { } ; // End of GALGAS_gtlTemplateMap class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Enumerator declaration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cEnumerator_gtlTemplateMap : public cGenericAbstractEnumerator { public: cEnumerator_gtlTemplateMap (const GALGAS_gtlTemplateMap & inEnumeratedObject, @@ -1686,20 +1446,23 @@ class cEnumerator_gtlTemplateMap : public cGenericAbstractEnumerator { public: class GALGAS_gtlTemplateMap_2D_element current (LOCATION_ARGS) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlTemplateMap ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlTemplate value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlTemplate : public AC_GALGAS_value_class { //--------------------------------- Default constructor public: GALGAS_gtlTemplate (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlTemplate constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlTemplate * ptr (void) const { return (const cPtr_gtlTemplate *) mObjectPtr ; @@ -1713,20 +1476,20 @@ class GALGAS_gtlTemplate : public AC_GALGAS_value_class { public: class GALGAS_gtlInstructionList readProperty_program (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlTemplate extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlTemplate class_func_new (const class GALGAS_string & inOperand0, - const class GALGAS_gtlInstructionList & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlTemplate constructor_new (const class GALGAS_string & inOperand0, + const class GALGAS_gtlInstructionList & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlTemplate & inOperand) const ; @@ -1752,15 +1515,15 @@ class GALGAS_gtlTemplate : public AC_GALGAS_value_class { } ; // End of GALGAS_gtlTemplate class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlTemplate ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: class for element of '@gtlTemplateMap' map // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cMapElement_gtlTemplateMap : public cMapElement { //--- Map attributes @@ -1781,14 +1544,14 @@ class cMapElement_gtlTemplateMap : public cMapElement { public: virtual cMapElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlTemplateMap_2D_element struct // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlTemplateMap_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -1806,6 +1569,9 @@ class GALGAS_gtlTemplateMap_2D_element : public AC_GALGAS_root { public: VIRTUAL_IN_DEBUG bool isValid (void) const override ; public: VIRTUAL_IN_DEBUG void drop (void) override ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlTemplateMap_2D_element constructor_default (LOCATION_ARGS) ; + //--------------------------------- Default constructor public: GALGAS_gtlTemplateMap_2D_element (void) ; @@ -1825,25 +1591,24 @@ class GALGAS_gtlTemplateMap_2D_element : public AC_GALGAS_root { public: GALGAS_gtlTemplateMap_2D_element (const GALGAS_lstring & in_lkey, const GALGAS_gtlTemplate & in_aTemplate) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlTemplateMap_2D_element extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlTemplateMap_2D_element class_func_new (const class GALGAS_lstring & inOperand0, - const class GALGAS_gtlTemplate & inOperand1, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlTemplateMap_2D_element constructor_new (const class GALGAS_lstring & inOperand0, + const class GALGAS_gtlTemplate & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlTemplateMap_2D_element & inOperand) const ; @@ -1862,15 +1627,15 @@ class GALGAS_gtlTemplateMap_2D_element : public AC_GALGAS_root { } ; // End of GALGAS_gtlTemplateMap_2D_element class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlTemplateMap_2D_element ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension setter '@gtlTemplateMap getTemplate' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void extensionSetter_getTemplate (class GALGAS_gtlTemplateMap & ioObject, const class GALGAS_gtlContext constin_context, @@ -1879,19 +1644,22 @@ void extensionSetter_getTemplate (class GALGAS_gtlTemplateMap & ioObject, class GALGAS_library & io_lib, class GALGAS_bool & out_found, class GALGAS_gtlTemplate & out_result, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @debugCommandInput value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_debugCommandInput : public AC_GALGAS_value_class { //--------------------------------- Default constructor public: GALGAS_debugCommandInput (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_debugCommandInput constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_debugCommandInput * ptr (void) const { return (const cPtr_debugCommandInput *) mObjectPtr ; @@ -1903,19 +1671,19 @@ class GALGAS_debugCommandInput : public AC_GALGAS_value_class { //--------------------------------- Property read access public: class GALGAS_stringlist readProperty_history (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_debugCommandInput extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_debugCommandInput class_func_new (const class GALGAS_stringlist & inOperand0 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_debugCommandInput constructor_new (const class GALGAS_stringlist & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_debugCommandInput & inOperand) const ; @@ -1938,20 +1706,20 @@ class GALGAS_debugCommandInput : public AC_GALGAS_value_class { } ; // End of GALGAS_debugCommandInput class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_debugCommandInput ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @debugCommandInput class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_debugCommandInput : public acPtr_class { //--- Extension method listHistory - public: virtual void method_listHistory (Compiler * COMMA_LOCATION_ARGS) ; + public: virtual void method_listHistory (C_Compiler * COMMA_LOCATION_ARGS) ; //--- Properties @@ -1968,7 +1736,7 @@ class cPtr_debugCommandInput : public acPtr_class { public: VIRTUAL_IN_DEBUG GALGAS_stringlist getter_history (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setHistory (GALGAS_stringlist inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -1977,16 +1745,19 @@ class cPtr_debugCommandInput : public acPtr_class { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @debuggerContext value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_debuggerContext : public AC_GALGAS_value_class { //--------------------------------- Default constructor public: GALGAS_debuggerContext (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_debuggerContext constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_debuggerContext * ptr (void) const { return (const cPtr_debuggerContext *) mObjectPtr ; @@ -2034,37 +1805,37 @@ class GALGAS_debuggerContext : public AC_GALGAS_value_class { public: class GALGAS_debugCommandInput readProperty_commandInput (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_debuggerContext extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_debuggerContext class_func_new (const class GALGAS_bool & inOperand0, - const class GALGAS_bool & inOperand1, - const class GALGAS_bool & inOperand2, - const class GALGAS_string & inOperand3, - const class GALGAS_string & inOperand4, - const class GALGAS_string & inOperand5, - const class GALGAS_string & inOperand6, - const class GALGAS_string & inOperand7, - const class GALGAS_string & inOperand8, - const class GALGAS_string & inOperand9, - const class GALGAS_string & inOperand10, - const class GALGAS_bool & inOperand11, - const class GALGAS_gtlInstructionList & inOperand12, - const class GALGAS_gtlBreakpointList & inOperand13, - const class GALGAS_gtlExpressionList & inOperand14, - const class GALGAS_uint & inOperand15, - const class GALGAS_gtlInstructionList & inOperand16, - const class GALGAS_gtlInstructionListContextStack & inOperand17, - const class GALGAS_debugCommandInput & inOperand18 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_debuggerContext constructor_new (const class GALGAS_bool & inOperand0, + const class GALGAS_bool & inOperand1, + const class GALGAS_bool & inOperand2, + const class GALGAS_string & inOperand3, + const class GALGAS_string & inOperand4, + const class GALGAS_string & inOperand5, + const class GALGAS_string & inOperand6, + const class GALGAS_string & inOperand7, + const class GALGAS_string & inOperand8, + const class GALGAS_string & inOperand9, + const class GALGAS_string & inOperand10, + const class GALGAS_bool & inOperand11, + const class GALGAS_gtlInstructionList & inOperand12, + const class GALGAS_gtlBreakpointList & inOperand13, + const class GALGAS_gtlExpressionList & inOperand14, + const class GALGAS_uint & inOperand15, + const class GALGAS_gtlInstructionList & inOperand16, + const class GALGAS_gtlInstructionListContextStack & inOperand17, + const class GALGAS_debugCommandInput & inOperand18 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_debuggerContext & inOperand) const ; @@ -2141,15 +1912,15 @@ class GALGAS_debuggerContext : public AC_GALGAS_value_class { } ; // End of GALGAS_debuggerContext class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_debuggerContext ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlBreakpointList list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlBreakpointList : public AC_GALGAS_list { //--------------------------------- Default constructor @@ -2163,25 +1934,25 @@ class GALGAS_gtlBreakpointList : public AC_GALGAS_list { const class GALGAS_gtlBreakpoint & in_breakpoint COMMA_LOCATION_ARGS) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlBreakpointList extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlBreakpointList class_func_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlBreakpointList constructor_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_gtlBreakpointList class_func_listWithValue (const class GALGAS_gtlBreakpoint & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlBreakpointList constructor_listWithValue (const class GALGAS_gtlBreakpoint & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_gtlBreakpointList inOperand, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -2189,65 +1960,65 @@ class GALGAS_gtlBreakpointList : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlBreakpointList add_operation (const GALGAS_gtlBreakpointList & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_gtlBreakpoint constinArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_gtlBreakpoint constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_gtlBreakpoint & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_gtlBreakpoint & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_gtlBreakpoint & outArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setBreakpointAtIndex (class GALGAS_gtlBreakpoint constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_gtlBreakpoint & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_gtlBreakpoint & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_gtlBreakpoint getter_breakpointAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlBreakpointList getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlBreakpointList getter_subListToIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlBreakpointList getter_subListWithRange (const class GALGAS_range & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -2261,9 +2032,9 @@ class GALGAS_gtlBreakpointList : public AC_GALGAS_list { } ; // End of GALGAS_gtlBreakpointList class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Enumerator declaration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cEnumerator_gtlBreakpointList : public cGenericAbstractEnumerator { public: cEnumerator_gtlBreakpointList (const GALGAS_gtlBreakpointList & inEnumeratedObject, @@ -2275,15 +2046,15 @@ class cEnumerator_gtlBreakpointList : public cGenericAbstractEnumerator { public: class GALGAS_gtlBreakpointList_2D_element current (LOCATION_ARGS) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlBreakpointList ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlExpressionList list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlExpressionList : public AC_GALGAS_list { //--------------------------------- Default constructor @@ -2297,25 +2068,25 @@ class GALGAS_gtlExpressionList : public AC_GALGAS_list { const class GALGAS_gtlExpression & in_expression COMMA_LOCATION_ARGS) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlExpressionList extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlExpressionList class_func_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlExpressionList constructor_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_gtlExpressionList class_func_listWithValue (const class GALGAS_gtlExpression & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlExpressionList constructor_listWithValue (const class GALGAS_gtlExpression & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_gtlExpressionList inOperand, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -2323,65 +2094,65 @@ class GALGAS_gtlExpressionList : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlExpressionList add_operation (const GALGAS_gtlExpressionList & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_gtlExpression constinArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_gtlExpression constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_gtlExpression & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_gtlExpression & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_gtlExpression & outArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setExpressionAtIndex (class GALGAS_gtlExpression constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_gtlExpression & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_gtlExpression & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_gtlExpression getter_expressionAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlExpressionList getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlExpressionList getter_subListToIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlExpressionList getter_subListWithRange (const class GALGAS_range & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -2395,9 +2166,9 @@ class GALGAS_gtlExpressionList : public AC_GALGAS_list { } ; // End of GALGAS_gtlExpressionList class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Enumerator declaration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cEnumerator_gtlExpressionList : public cGenericAbstractEnumerator { public: cEnumerator_gtlExpressionList (const GALGAS_gtlExpressionList & inEnumeratedObject, @@ -2409,15 +2180,15 @@ class cEnumerator_gtlExpressionList : public cGenericAbstractEnumerator { public: class GALGAS_gtlExpressionList_2D_element current (LOCATION_ARGS) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlExpressionList ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlInstructionListContextStack list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlInstructionListContextStack : public AC_GALGAS_list { //--------------------------------- Default constructor @@ -2432,26 +2203,26 @@ class GALGAS_gtlInstructionListContextStack : public AC_GALGAS_list { const class GALGAS_gtlInstructionList & in_instructionList COMMA_LOCATION_ARGS) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlInstructionListContextStack extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlInstructionListContextStack class_func_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlInstructionListContextStack constructor_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_gtlInstructionListContextStack class_func_listWithValue (const class GALGAS_uint & inOperand0, - const class GALGAS_gtlInstructionList & inOperand1 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlInstructionListContextStack constructor_listWithValue (const class GALGAS_uint & inOperand0, + const class GALGAS_gtlInstructionList & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_gtlInstructionListContextStack inOperand, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -2460,81 +2231,81 @@ class GALGAS_gtlInstructionListContextStack : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlInstructionListContextStack add_operation (const GALGAS_gtlInstructionListContextStack & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_uint constinArgument0, class GALGAS_gtlInstructionList constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_uint constinArgument0, class GALGAS_gtlInstructionList constinArgument1, class GALGAS_uint constinArgument2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_uint & outArgument0, class GALGAS_gtlInstructionList & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_uint & outArgument0, class GALGAS_gtlInstructionList & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_uint & outArgument0, class GALGAS_gtlInstructionList & outArgument1, class GALGAS_uint constinArgument2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setInstructionListAtIndex (class GALGAS_gtlInstructionList constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setNextInstructionIndexAtIndex (class GALGAS_uint constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_uint & outArgument0, class GALGAS_gtlInstructionList & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_uint & outArgument0, class GALGAS_gtlInstructionList & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_gtlInstructionList getter_instructionListAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_uint getter_nextInstructionIndexAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlInstructionListContextStack getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlInstructionListContextStack getter_subListToIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlInstructionListContextStack getter_subListWithRange (const class GALGAS_range & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -2548,9 +2319,9 @@ class GALGAS_gtlInstructionListContextStack : public AC_GALGAS_list { } ; // End of GALGAS_gtlInstructionListContextStack class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Enumerator declaration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cEnumerator_gtlInstructionListContextStack : public cGenericAbstractEnumerator { public: cEnumerator_gtlInstructionListContextStack (const GALGAS_gtlInstructionListContextStack & inEnumeratedObject, @@ -2563,40 +2334,40 @@ class cEnumerator_gtlInstructionListContextStack : public cGenericAbstractEnumer public: class GALGAS_gtlInstructionListContextStack_2D_element current (LOCATION_ARGS) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlInstructionListContextStack ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @debuggerContext class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_debuggerContext : public acPtr_class { //--- Extension getter breakOn public: virtual class GALGAS_bool getter_breakOn (const class GALGAS_gtlInstruction instruction, - Compiler * COMMA_LOCATION_ARGS) const ; + C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter watchOn public: virtual class GALGAS_bool getter_watchOn (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const ; + C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension method hereWeAre public: virtual void method_hereWeAre (const class GALGAS_uint window, - Compiler * COMMA_LOCATION_ARGS) ; + C_Compiler * COMMA_LOCATION_ARGS) ; //--- Extension method listBreakpoints - public: virtual void method_listBreakpoints (Compiler * COMMA_LOCATION_ARGS) ; + public: virtual void method_listBreakpoints (C_Compiler * COMMA_LOCATION_ARGS) ; //--- Extension method listStepDoInstructions - public: virtual void method_listStepDoInstructions (Compiler * COMMA_LOCATION_ARGS) ; + public: virtual void method_listStepDoInstructions (C_Compiler * COMMA_LOCATION_ARGS) ; //--- Extension method listWatchpoints - public: virtual void method_listWatchpoints (Compiler * COMMA_LOCATION_ARGS) ; + public: virtual void method_listWatchpoints (C_Compiler * COMMA_LOCATION_ARGS) ; //--- Properties @@ -2685,7 +2456,7 @@ class cPtr_debuggerContext : public acPtr_class { public: VIRTUAL_IN_DEBUG GALGAS_debugCommandInput getter_commandInput (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setCommandInput (GALGAS_debugCommandInput inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -2694,16 +2465,19 @@ class cPtr_debuggerContext : public acPtr_class { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlContext value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlContext : public AC_GALGAS_value_class { //--------------------------------- Default constructor public: GALGAS_gtlContext (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlContext constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlContext * ptr (void) const { return (const cPtr_gtlContext *) mObjectPtr ; @@ -2731,27 +2505,27 @@ class GALGAS_gtlContext : public AC_GALGAS_value_class { public: class GALGAS_debuggerContext readProperty_debuggerContext (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlContext extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlContext class_func_new (const class GALGAS_lstring & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_string & inOperand2, - const class GALGAS_string & inOperand3, - const class GALGAS_string & inOperand4, - const class GALGAS_stringlist & inOperand5, - const class GALGAS_gtlDataList & inOperand6, - const class GALGAS_bool & inOperand7, - const class GALGAS_debuggerContext & inOperand8 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlContext constructor_new (const class GALGAS_lstring & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_string & inOperand2, + const class GALGAS_string & inOperand3, + const class GALGAS_string & inOperand4, + const class GALGAS_stringlist & inOperand5, + const class GALGAS_gtlDataList & inOperand6, + const class GALGAS_bool & inOperand7, + const class GALGAS_debuggerContext & inOperand8 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlContext & inOperand) const ; @@ -2798,65 +2572,65 @@ class GALGAS_gtlContext : public AC_GALGAS_value_class { } ; // End of GALGAS_gtlContext class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlContext ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlContext class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlContext : public acPtr_class { //--- Extension getter breakOn public: virtual class GALGAS_bool getter_breakOn (const class GALGAS_gtlInstruction instruction, - Compiler * COMMA_LOCATION_ARGS) const ; + C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter breakOnNext - public: virtual class GALGAS_bool getter_breakOnNext (Compiler * COMMA_LOCATION_ARGS) const ; + public: virtual class GALGAS_bool getter_breakOnNext (C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter debugActive - public: virtual class GALGAS_bool getter_debugActive (Compiler * COMMA_LOCATION_ARGS) const ; + public: virtual class GALGAS_bool getter_debugActive (C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter fullPrefix public: virtual class GALGAS_lstring getter_fullPrefix (const class GALGAS_gtlData vars, - Compiler * COMMA_LOCATION_ARGS) const ; + C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter fullTemplateFileName public: virtual class GALGAS_lstring getter_fullTemplateFileName (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_lstring simpleName, - Compiler * COMMA_LOCATION_ARGS) const ; + C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter loopOnCommand - public: virtual class GALGAS_bool getter_loopOnCommand (Compiler * COMMA_LOCATION_ARGS) const ; + public: virtual class GALGAS_bool getter_loopOnCommand (C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter outputStyle - public: virtual class GALGAS_string getter_outputStyle (Compiler * COMMA_LOCATION_ARGS) const ; + public: virtual class GALGAS_string getter_outputStyle (C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter promptStyle - public: virtual class GALGAS_string getter_promptStyle (Compiler * COMMA_LOCATION_ARGS) const ; + public: virtual class GALGAS_string getter_promptStyle (C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter watchOn public: virtual class GALGAS_bool getter_watchOn (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const ; + C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension method hereWeAre public: virtual void method_hereWeAre (const class GALGAS_uint window, - Compiler * COMMA_LOCATION_ARGS) ; + C_Compiler * COMMA_LOCATION_ARGS) ; //--- Extension method listBreakpoints - public: virtual void method_listBreakpoints (Compiler * COMMA_LOCATION_ARGS) ; + public: virtual void method_listBreakpoints (C_Compiler * COMMA_LOCATION_ARGS) ; //--- Extension method listStepDoInstructions - public: virtual void method_listStepDoInstructions (Compiler * COMMA_LOCATION_ARGS) ; + public: virtual void method_listStepDoInstructions (C_Compiler * COMMA_LOCATION_ARGS) ; //--- Extension method listWatchpoints - public: virtual void method_listWatchpoints (Compiler * COMMA_LOCATION_ARGS) ; + public: virtual void method_listWatchpoints (C_Compiler * COMMA_LOCATION_ARGS) ; //--- Properties @@ -2905,7 +2679,7 @@ class cPtr_gtlContext : public acPtr_class { public: VIRTUAL_IN_DEBUG GALGAS_debuggerContext getter_debuggerContext (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setDebuggerContext (GALGAS_debuggerContext inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -2914,11 +2688,11 @@ class cPtr_gtlContext : public acPtr_class { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlTemplate class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlTemplate : public acPtr_class { @@ -2927,7 +2701,7 @@ class cPtr_gtlTemplate : public acPtr_class { class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) ; + C_Compiler * COMMA_LOCATION_ARGS) ; //--- Properties @@ -2948,7 +2722,7 @@ class cPtr_gtlTemplate : public acPtr_class { public: VIRTUAL_IN_DEBUG GALGAS_gtlInstructionList getter_program (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setProgram (GALGAS_gtlInstructionList inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -2957,16 +2731,19 @@ class cPtr_gtlTemplate : public acPtr_class { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @library value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_library : public AC_GALGAS_value_class { //--------------------------------- Default constructor public: GALGAS_library (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_library constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_library * ptr (void) const { return (const cPtr_library *) mObjectPtr ; @@ -2986,23 +2763,23 @@ class GALGAS_library : public AC_GALGAS_value_class { public: class GALGAS_stringset readProperty_doneImports (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_library extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_library class_func_new (const class GALGAS_gtlFuncMap & inOperand0, - const class GALGAS_gtlGetterMap & inOperand1, - const class GALGAS_gtlSetterMap & inOperand2, - const class GALGAS_gtlTemplateMap & inOperand3, - const class GALGAS_stringset & inOperand4 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_library constructor_new (const class GALGAS_gtlFuncMap & inOperand0, + const class GALGAS_gtlGetterMap & inOperand1, + const class GALGAS_gtlSetterMap & inOperand2, + const class GALGAS_gtlTemplateMap & inOperand3, + const class GALGAS_stringset & inOperand4 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_library & inOperand) const ; @@ -3037,20 +2814,23 @@ class GALGAS_library : public AC_GALGAS_value_class { } ; // End of GALGAS_library class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_library ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlExecutableEntity value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlExecutableEntity : public AC_GALGAS_value_class { //--------------------------------- Default constructor public: GALGAS_gtlExecutableEntity (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlExecutableEntity constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlExecutableEntity * ptr (void) const { return (const cPtr_gtlExecutableEntity *) mObjectPtr ; @@ -3068,22 +2848,22 @@ class GALGAS_gtlExecutableEntity : public AC_GALGAS_value_class { public: class GALGAS_gtlInstructionList readProperty_instructions (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlExecutableEntity extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlExecutableEntity class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_lstring & inOperand1, - const class GALGAS_gtlArgumentList & inOperand2, - const class GALGAS_gtlInstructionList & inOperand3 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlExecutableEntity constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_lstring & inOperand1, + const class GALGAS_gtlArgumentList & inOperand2, + const class GALGAS_gtlInstructionList & inOperand3 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlExecutableEntity & inOperand) const ; @@ -3115,15 +2895,15 @@ class GALGAS_gtlExecutableEntity : public AC_GALGAS_value_class { } ; // End of GALGAS_gtlExecutableEntity class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlExecutableEntity ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlArgumentList list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlArgumentList : public AC_GALGAS_list { //--------------------------------- Default constructor @@ -3139,27 +2919,27 @@ class GALGAS_gtlArgumentList : public AC_GALGAS_list { const class GALGAS_lstring & in_name COMMA_LOCATION_ARGS) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlArgumentList extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlArgumentList class_func_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlArgumentList constructor_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_gtlArgumentList class_func_listWithValue (const class GALGAS_bool & inOperand0, - const class GALGAS_type & inOperand1, - const class GALGAS_lstring & inOperand2 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlArgumentList constructor_listWithValue (const class GALGAS_bool & inOperand0, + const class GALGAS_type & inOperand1, + const class GALGAS_lstring & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_gtlArgumentList inOperand, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -3169,7 +2949,7 @@ class GALGAS_gtlArgumentList : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlArgumentList add_operation (const GALGAS_gtlArgumentList & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -3177,48 +2957,48 @@ class GALGAS_gtlArgumentList : public AC_GALGAS_list { public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_bool constinArgument0, class GALGAS_type constinArgument1, class GALGAS_lstring constinArgument2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_bool constinArgument0, class GALGAS_type constinArgument1, class GALGAS_lstring constinArgument2, class GALGAS_uint constinArgument3, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_bool & outArgument0, class GALGAS_type & outArgument1, class GALGAS_lstring & outArgument2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_bool & outArgument0, class GALGAS_type & outArgument1, class GALGAS_lstring & outArgument2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_bool & outArgument0, class GALGAS_type & outArgument1, class GALGAS_lstring & outArgument2, class GALGAS_uint constinArgument3, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setNameAtIndex (class GALGAS_lstring constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setTypeAtIndex (class GALGAS_type constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setTypedAtIndex (class GALGAS_bool constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; @@ -3226,40 +3006,40 @@ class GALGAS_gtlArgumentList : public AC_GALGAS_list { public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_bool & outArgument0, class GALGAS_type & outArgument1, class GALGAS_lstring & outArgument2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_bool & outArgument0, class GALGAS_type & outArgument1, class GALGAS_lstring & outArgument2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_lstring getter_nameAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlArgumentList getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlArgumentList getter_subListToIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlArgumentList getter_subListWithRange (const class GALGAS_range & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_type getter_typeAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_bool getter_typedAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -3273,9 +3053,9 @@ class GALGAS_gtlArgumentList : public AC_GALGAS_list { } ; // End of GALGAS_gtlArgumentList class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Enumerator declaration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cEnumerator_gtlArgumentList : public cGenericAbstractEnumerator { public: cEnumerator_gtlArgumentList (const GALGAS_gtlArgumentList & inEnumeratedObject, @@ -3289,15 +3069,15 @@ class cEnumerator_gtlArgumentList : public cGenericAbstractEnumerator { public: class GALGAS_gtlArgumentList_2D_element current (LOCATION_ARGS) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlArgumentList ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlExecutableEntity class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlExecutableEntity : public acPtr_class { @@ -3306,7 +3086,7 @@ class cPtr_gtlExecutableEntity : public acPtr_class { const class GALGAS_gtlDataList actualArguments, class GALGAS_gtlData & entityVariableMap, class GALGAS_bool & result, - Compiler * COMMA_LOCATION_ARGS) ; + C_Compiler * COMMA_LOCATION_ARGS) ; //--- Properties @@ -3335,7 +3115,7 @@ class cPtr_gtlExecutableEntity : public acPtr_class { public: VIRTUAL_IN_DEBUG GALGAS_gtlInstructionList getter_instructions (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setInstructions (GALGAS_gtlInstructionList inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -3344,16 +3124,19 @@ class cPtr_gtlExecutableEntity : public acPtr_class { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlFunction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlFunction : public GALGAS_gtlExecutableEntity { //--------------------------------- Default constructor public: GALGAS_gtlFunction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlFunction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlFunction * ptr (void) const { return (const cPtr_gtlFunction *) mObjectPtr ; @@ -3365,23 +3148,23 @@ class GALGAS_gtlFunction : public GALGAS_gtlExecutableEntity { //--------------------------------- Property read access public: class GALGAS_lstring readProperty_returnVariable (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlFunction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlFunction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_lstring & inOperand1, - const class GALGAS_gtlArgumentList & inOperand2, - const class GALGAS_gtlInstructionList & inOperand3, - const class GALGAS_lstring & inOperand4 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlFunction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_lstring & inOperand1, + const class GALGAS_gtlArgumentList & inOperand2, + const class GALGAS_gtlInstructionList & inOperand3, + const class GALGAS_lstring & inOperand4 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlFunction & inOperand) const ; @@ -3404,23 +3187,23 @@ class GALGAS_gtlFunction : public GALGAS_gtlExecutableEntity { } ; // End of GALGAS_gtlFunction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlFunction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlFuncMap map // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cMapElement_gtlFuncMap ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const char * kSearchErrorMessage_gtlFuncMap_get ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlFuncMap : public AC_GALGAS_map { //--------------------------------- Default constructor @@ -3430,59 +3213,59 @@ class GALGAS_gtlFuncMap : public AC_GALGAS_map { public: GALGAS_gtlFuncMap (const GALGAS_gtlFuncMap & inSource) ; public: GALGAS_gtlFuncMap & operator = (const GALGAS_gtlFuncMap & inSource) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlFuncMap extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlFuncMap class_func_emptyMap (LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlFuncMap constructor_emptyMap (LOCATION_ARGS) ; - public: static class GALGAS_gtlFuncMap class_func_mapWithMapToOverride (const class GALGAS_gtlFuncMap & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlFuncMap constructor_mapWithMapToOverride (const class GALGAS_gtlFuncMap & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) public: VIRTUAL_IN_DEBUG void addAssign_operation (const class GALGAS_lstring & inOperand0, const class GALGAS_gtlFunction & inOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlFuncMap add_operation (const GALGAS_gtlFuncMap & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_put (class GALGAS_lstring constinArgument0, class GALGAS_gtlFunction constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setFunctionForKey (class GALGAS_gtlFunction constinArgument0, class GALGAS_string constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_get (class GALGAS_lstring constinArgument0, class GALGAS_gtlFunction & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_gtlFunction getter_functionForKey (const class GALGAS_string & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; - public: VIRTUAL_IN_DEBUG class GALGAS_gtlFuncMap getter_overriddenMap (Compiler * inCompiler + public: VIRTUAL_IN_DEBUG class GALGAS_gtlFuncMap getter_overriddenMap (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -3493,7 +3276,7 @@ class GALGAS_gtlFuncMap : public AC_GALGAS_map { //--------------------------------- Introspection public: VIRTUAL_IN_DEBUG const C_galgas_type_descriptor * staticTypeDescriptor (void) const override ; - public: VIRTUAL_IN_DEBUG cMapElement_gtlFuncMap * readWriteAccessForWithInstruction (Compiler * inCompiler, + public: VIRTUAL_IN_DEBUG cMapElement_gtlFuncMap * readWriteAccessForWithInstruction (C_Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) ; @@ -3503,9 +3286,9 @@ class GALGAS_gtlFuncMap : public AC_GALGAS_map { } ; // End of GALGAS_gtlFuncMap class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Enumerator declaration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cEnumerator_gtlFuncMap : public cGenericAbstractEnumerator { public: cEnumerator_gtlFuncMap (const GALGAS_gtlFuncMap & inEnumeratedObject, @@ -3518,15 +3301,15 @@ class cEnumerator_gtlFuncMap : public cGenericAbstractEnumerator { public: class GALGAS_gtlFuncMap_2D_element current (LOCATION_ARGS) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlFuncMap ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: class for element of '@gtlFuncMap' map // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cMapElement_gtlFuncMap : public cMapElement { //--- Map attributes @@ -3547,14 +3330,14 @@ class cMapElement_gtlFuncMap : public cMapElement { public: virtual cMapElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlFunction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlFunction : public cPtr_gtlExecutableEntity { @@ -3563,7 +3346,7 @@ class cPtr_gtlFunction : public cPtr_gtlExecutableEntity { const class GALGAS_gtlContext context, const class GALGAS_library lib, const class GALGAS_gtlDataList actualArguments, - Compiler * COMMA_LOCATION_ARGS) const ; + C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Properties @@ -3584,7 +3367,7 @@ class cPtr_gtlFunction : public cPtr_gtlExecutableEntity { public: VIRTUAL_IN_DEBUG GALGAS_lstring getter_returnVariable (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setReturnVariable (GALGAS_lstring inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -3593,11 +3376,11 @@ class cPtr_gtlFunction : public cPtr_gtlExecutableEntity { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlGetter value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlGetter : public GALGAS_gtlFunction { //--------------------------------- Default constructor @@ -3614,24 +3397,24 @@ class GALGAS_gtlGetter : public GALGAS_gtlFunction { //--------------------------------- Property read access public: class GALGAS_type readProperty_targetType (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlGetter extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlGetter class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_lstring & inOperand1, - const class GALGAS_gtlArgumentList & inOperand2, - const class GALGAS_gtlInstructionList & inOperand3, - const class GALGAS_lstring & inOperand4, - const class GALGAS_type & inOperand5 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlGetter constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_lstring & inOperand1, + const class GALGAS_gtlArgumentList & inOperand2, + const class GALGAS_gtlInstructionList & inOperand3, + const class GALGAS_lstring & inOperand4, + const class GALGAS_type & inOperand5 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlGetter & inOperand) const ; @@ -3654,23 +3437,23 @@ class GALGAS_gtlGetter : public GALGAS_gtlFunction { } ; // End of GALGAS_gtlGetter class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlGetter ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlGetterMap map // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cMapElement_gtlGetterMap ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const char * kSearchErrorMessage_gtlGetterMap_get ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlGetterMap : public AC_GALGAS_map { //--------------------------------- Default constructor @@ -3680,59 +3463,59 @@ class GALGAS_gtlGetterMap : public AC_GALGAS_map { public: GALGAS_gtlGetterMap (const GALGAS_gtlGetterMap & inSource) ; public: GALGAS_gtlGetterMap & operator = (const GALGAS_gtlGetterMap & inSource) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlGetterMap extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlGetterMap class_func_emptyMap (LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlGetterMap constructor_emptyMap (LOCATION_ARGS) ; - public: static class GALGAS_gtlGetterMap class_func_mapWithMapToOverride (const class GALGAS_gtlGetterMap & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlGetterMap constructor_mapWithMapToOverride (const class GALGAS_gtlGetterMap & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) public: VIRTUAL_IN_DEBUG void addAssign_operation (const class GALGAS_lstring & inOperand0, const class GALGAS_gtlGetter & inOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlGetterMap add_operation (const GALGAS_gtlGetterMap & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_put (class GALGAS_lstring constinArgument0, class GALGAS_gtlGetter constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setTheGetterForKey (class GALGAS_gtlGetter constinArgument0, class GALGAS_string constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_get (class GALGAS_lstring constinArgument0, class GALGAS_gtlGetter & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters - public: VIRTUAL_IN_DEBUG class GALGAS_gtlGetterMap getter_overriddenMap (Compiler * inCompiler + public: VIRTUAL_IN_DEBUG class GALGAS_gtlGetterMap getter_overriddenMap (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlGetter getter_theGetterForKey (const class GALGAS_string & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -3743,7 +3526,7 @@ class GALGAS_gtlGetterMap : public AC_GALGAS_map { //--------------------------------- Introspection public: VIRTUAL_IN_DEBUG const C_galgas_type_descriptor * staticTypeDescriptor (void) const override ; - public: VIRTUAL_IN_DEBUG cMapElement_gtlGetterMap * readWriteAccessForWithInstruction (Compiler * inCompiler, + public: VIRTUAL_IN_DEBUG cMapElement_gtlGetterMap * readWriteAccessForWithInstruction (C_Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) ; @@ -3753,9 +3536,9 @@ class GALGAS_gtlGetterMap : public AC_GALGAS_map { } ; // End of GALGAS_gtlGetterMap class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Enumerator declaration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cEnumerator_gtlGetterMap : public cGenericAbstractEnumerator { public: cEnumerator_gtlGetterMap (const GALGAS_gtlGetterMap & inEnumeratedObject, @@ -3768,15 +3551,15 @@ class cEnumerator_gtlGetterMap : public cGenericAbstractEnumerator { public: class GALGAS_gtlGetterMap_2D_element current (LOCATION_ARGS) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlGetterMap ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: class for element of '@gtlGetterMap' map // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cMapElement_gtlGetterMap : public cMapElement { //--- Map attributes @@ -3797,14 +3580,14 @@ class cMapElement_gtlGetterMap : public cMapElement { public: virtual cMapElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlSetter value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlSetter : public GALGAS_gtlExecutableEntity { //--------------------------------- Default constructor @@ -3821,23 +3604,23 @@ class GALGAS_gtlSetter : public GALGAS_gtlExecutableEntity { //--------------------------------- Property read access public: class GALGAS_type readProperty_targetType (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlSetter extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlSetter class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_lstring & inOperand1, - const class GALGAS_gtlArgumentList & inOperand2, - const class GALGAS_gtlInstructionList & inOperand3, - const class GALGAS_type & inOperand4 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlSetter constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_lstring & inOperand1, + const class GALGAS_gtlArgumentList & inOperand2, + const class GALGAS_gtlInstructionList & inOperand3, + const class GALGAS_type & inOperand4 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlSetter & inOperand) const ; @@ -3860,23 +3643,23 @@ class GALGAS_gtlSetter : public GALGAS_gtlExecutableEntity { } ; // End of GALGAS_gtlSetter class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlSetter ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlSetterMap map // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cMapElement_gtlSetterMap ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const char * kSearchErrorMessage_gtlSetterMap_get ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlSetterMap : public AC_GALGAS_map { //--------------------------------- Default constructor @@ -3886,59 +3669,59 @@ class GALGAS_gtlSetterMap : public AC_GALGAS_map { public: GALGAS_gtlSetterMap (const GALGAS_gtlSetterMap & inSource) ; public: GALGAS_gtlSetterMap & operator = (const GALGAS_gtlSetterMap & inSource) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlSetterMap extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlSetterMap class_func_emptyMap (LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlSetterMap constructor_emptyMap (LOCATION_ARGS) ; - public: static class GALGAS_gtlSetterMap class_func_mapWithMapToOverride (const class GALGAS_gtlSetterMap & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlSetterMap constructor_mapWithMapToOverride (const class GALGAS_gtlSetterMap & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) public: VIRTUAL_IN_DEBUG void addAssign_operation (const class GALGAS_lstring & inOperand0, const class GALGAS_gtlSetter & inOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlSetterMap add_operation (const GALGAS_gtlSetterMap & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_put (class GALGAS_lstring constinArgument0, class GALGAS_gtlSetter constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setTheSetterForKey (class GALGAS_gtlSetter constinArgument0, class GALGAS_string constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_get (class GALGAS_lstring constinArgument0, class GALGAS_gtlSetter & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters - public: VIRTUAL_IN_DEBUG class GALGAS_gtlSetterMap getter_overriddenMap (Compiler * inCompiler + public: VIRTUAL_IN_DEBUG class GALGAS_gtlSetterMap getter_overriddenMap (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlSetter getter_theSetterForKey (const class GALGAS_string & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -3949,7 +3732,7 @@ class GALGAS_gtlSetterMap : public AC_GALGAS_map { //--------------------------------- Introspection public: VIRTUAL_IN_DEBUG const C_galgas_type_descriptor * staticTypeDescriptor (void) const override ; - public: VIRTUAL_IN_DEBUG cMapElement_gtlSetterMap * readWriteAccessForWithInstruction (Compiler * inCompiler, + public: VIRTUAL_IN_DEBUG cMapElement_gtlSetterMap * readWriteAccessForWithInstruction (C_Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) ; @@ -3959,9 +3742,9 @@ class GALGAS_gtlSetterMap : public AC_GALGAS_map { } ; // End of GALGAS_gtlSetterMap class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Enumerator declaration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cEnumerator_gtlSetterMap : public cGenericAbstractEnumerator { public: cEnumerator_gtlSetterMap (const GALGAS_gtlSetterMap & inEnumeratedObject, @@ -3974,15 +3757,15 @@ class cEnumerator_gtlSetterMap : public cGenericAbstractEnumerator { public: class GALGAS_gtlSetterMap_2D_element current (LOCATION_ARGS) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlSetterMap ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: class for element of '@gtlSetterMap' map // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cMapElement_gtlSetterMap : public cMapElement { //--- Map attributes @@ -4003,48 +3786,48 @@ class cMapElement_gtlSetterMap : public cMapElement { public: virtual cMapElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @library class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_library : public acPtr_class { //--- Extension getter functionExists public: virtual class GALGAS_bool getter_functionExists (const class GALGAS_lstring name, - Compiler * COMMA_LOCATION_ARGS) const ; + C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter getFunction public: virtual class GALGAS_gtlFunction getter_getFunction (const class GALGAS_lstring name, - Compiler * COMMA_LOCATION_ARGS) const ; + C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter getGetter public: virtual class GALGAS_gtlGetter getter_getGetter (const class GALGAS_string type, const class GALGAS_lstring name, - Compiler * COMMA_LOCATION_ARGS) const ; + C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter getSetter public: virtual class GALGAS_gtlSetter getter_getSetter (const class GALGAS_string type, const class GALGAS_lstring name, - Compiler * COMMA_LOCATION_ARGS) const ; + C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter getterExists public: virtual class GALGAS_bool getter_getterExists (const class GALGAS_string type, const class GALGAS_lstring name, - Compiler * COMMA_LOCATION_ARGS) const ; + C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter hasImport public: virtual class GALGAS_bool getter_hasImport (const class GALGAS_string importPath, - Compiler * COMMA_LOCATION_ARGS) const ; + C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter setterExists public: virtual class GALGAS_bool getter_setterExists (const class GALGAS_string type, const class GALGAS_lstring name, - Compiler * COMMA_LOCATION_ARGS) const ; + C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Properties @@ -4077,7 +3860,7 @@ class cPtr_library : public acPtr_class { public: VIRTUAL_IN_DEBUG GALGAS_stringset getter_doneImports (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setDoneImports (GALGAS_stringset inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -4086,52 +3869,52 @@ class cPtr_library : public acPtr_class { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //LEXIQUE gtl_5F_scanner // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "Lexique.h" +#include "galgas2/C_Lexique.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // E X T E R N R O U T I N E S -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // E X T E R N F U N C T I O N S -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // T O K E N C L A S S -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cTokenFor_gtl_5F_scanner : public cToken { - public: String mLexicalAttribute_a_5F_string ; + public: C_String mLexicalAttribute_a_5F_string ; public: utf32 mLexicalAttribute_charValue ; public: double mLexicalAttribute_floatValue ; - public: String mLexicalAttribute_functionContent ; - public: String mLexicalAttribute_identifierString ; - public: BigSigned mLexicalAttribute_intValue ; - public: String mLexicalAttribute_tokenString ; + public: C_String mLexicalAttribute_functionContent ; + public: C_String mLexicalAttribute_identifierString ; + public: C_BigInt mLexicalAttribute_intValue ; + public: C_String mLexicalAttribute_tokenString ; public: uint32_t mLexicalAttribute_uint_33__32_value ; public: cTokenFor_gtl_5F_scanner (void) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // S C A N N E R C L A S S -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class Lexique_gtl_5F_scanner : public Lexique { +class C_Lexique_gtl_5F_scanner : public C_Lexique { //--- Constructors - public: Lexique_gtl_5F_scanner (Compiler * inCallerCompiler, - const String & inSourceFileName + public: C_Lexique_gtl_5F_scanner (C_Compiler * inCallerCompiler, + const C_String & inSourceFileName COMMA_LOCATION_ARGS) ; - public: Lexique_gtl_5F_scanner (Compiler * inCallerCompiler, - const String & inSourceString, - const String & inStringForError + public: C_Lexique_gtl_5F_scanner (C_Compiler * inCallerCompiler, + const C_String & inSourceString, + const C_String & inStringForError COMMA_LOCATION_ARGS) ; //--- Instrospection @@ -4139,9 +3922,9 @@ class Lexique_gtl_5F_scanner : public Lexique { //--- Declaring a protected virtual destructor enables the compiler to raise // an error if a direct delete is performed; only the static method -// SharedObject::detachPointer may invoke delete. +// C_SharedObject::detachPointer may invoke delete. #ifndef DO_NOT_GENERATE_CHECKINGS - protected: virtual ~ Lexique_gtl_5F_scanner (void) {} + protected: virtual ~ C_Lexique_gtl_5F_scanner (void) {} #endif //--- Scanner mode for template scanner @@ -4151,127 +3934,127 @@ class Lexique_gtl_5F_scanner : public Lexique { //--- Terminal symbols enumeration public: enum {kToken_, - kToken_identifier /* 1 */ , - kToken_literal_5F_enum /* 2 */ , - kToken_literal_5F_double /* 3 */ , - kToken_signed_5F_literal_5F_integer_5F_bigint /* 4 */ , - kToken__2D_ /* 5 */ , - kToken__2E_ /* 6 */ , - kToken__2E__3D_ /* 7 */ , - kToken__2E__2E__2E_ /* 8 */ , - kToken_literal_5F_char /* 9 */ , - kToken_string /* 10 */ , - kToken_comment /* 11 */ , - kToken_after /* 12 */ , - kToken_before /* 13 */ , - kToken_between /* 14 */ , - kToken_by /* 15 */ , - kToken_default /* 16 */ , - kToken_display /* 17 */ , - kToken_do /* 18 */ , - kToken_down /* 19 */ , - kToken_else /* 20 */ , - kToken_elsif /* 21 */ , - kToken_emptylist /* 22 */ , - kToken_emptymap /* 23 */ , - kToken_end /* 24 */ , - kToken_error /* 25 */ , - kToken_exists /* 26 */ , - kToken_false /* 27 */ , - kToken_for /* 28 */ , - kToken_foreach /* 29 */ , - kToken_from /* 30 */ , - kToken_func /* 31 */ , - kToken_here /* 32 */ , - kToken_if /* 33 */ , - kToken_in /* 34 */ , - kToken_import /* 35 */ , - kToken_listof /* 36 */ , - kToken_let /* 37 */ , - kToken_loop /* 38 */ , - kToken_mapof /* 39 */ , - kToken_mod /* 40 */ , - kToken_no /* 41 */ , - kToken_not /* 42 */ , - kToken_or /* 43 */ , - kToken_print /* 44 */ , - kToken_println /* 45 */ , - kToken_seed /* 46 */ , - kToken_repeat /* 47 */ , - kToken_sort /* 48 */ , - kToken_step /* 49 */ , - kToken_tab /* 50 */ , - kToken_template /* 51 */ , - kToken_then /* 52 */ , - kToken_to /* 53 */ , - kToken_true /* 54 */ , - kToken_typeof /* 55 */ , - kToken_up /* 56 */ , - kToken_yes /* 57 */ , - kToken_warning /* 58 */ , - kToken_while /* 59 */ , - kToken_write /* 60 */ , - kToken_executable /* 61 */ , - kToken_variables /* 62 */ , - kToken_getter /* 63 */ , - kToken_unlet /* 64 */ , - kToken_setter /* 65 */ , - kToken_libraries /* 66 */ , - kToken_input /* 67 */ , - kToken_break /* 68 */ , - kToken__5F__5F_VARS_5F__5F_ /* 69 */ , - kToken__2A_ /* 70 */ , - kToken__7C_ /* 71 */ , - kToken__2C_ /* 72 */ , - kToken__2B_ /* 73 */ , - kToken__3A__3A_ /* 74 */ , - kToken__3E_ /* 75 */ , - kToken__3A_ /* 76 */ , - kToken__28_ /* 77 */ , - kToken__29_ /* 78 */ , - kToken__2D__3E_ /* 79 */ , - kToken__3F_ /* 80 */ , - kToken__3D__3D_ /* 81 */ , - kToken__21_ /* 82 */ , - kToken__3A__3D_ /* 83 */ , - kToken__5B_ /* 84 */ , - kToken__5D_ /* 85 */ , - kToken__2B__3D_ /* 86 */ , - kToken__2D__3D_ /* 87 */ , - kToken__2F_ /* 88 */ , - kToken__21__3D_ /* 89 */ , - kToken__3E__3D_ /* 90 */ , - kToken__26_ /* 91 */ , - kToken__3C__3D_ /* 92 */ , - kToken__7B_ /* 93 */ , - kToken__7D_ /* 94 */ , - kToken__3C_ /* 95 */ , - kToken__5E_ /* 96 */ , - kToken__3E__3E_ /* 97 */ , - kToken__7E_ /* 98 */ , - kToken__3C__2D_ /* 99 */ , - kToken__3C__3C_ /* 100 */ , - kToken__40_ /* 101 */ , - kToken__2A__3D_ /* 102 */ , - kToken__2F__3D_ /* 103 */ , - kToken__26__3D_ /* 104 */ , - kToken__7C__3D_ /* 105 */ , - kToken__3C__3C__3D_ /* 106 */ , - kToken__3E__3E__3D_ /* 107 */ , - kToken_mod_3D_ /* 108 */ , - kToken__5E__3D_ /* 109 */ , - kToken__40__5B_ /* 110 */ , - kToken__40__28_ /* 111 */ , - kToken__40__7B_ /* 112 */ , - kToken__5B__21_ /* 113 */ , - kToken__40__21_ /* 114 */ , - kToken__40__3F_ /* 115 */ } ; + kToken_identifier, + kToken_literal_5F_enum, + kToken_literal_5F_double, + kToken_signed_5F_literal_5F_integer_5F_bigint, + kToken__2D_, + kToken__2E_, + kToken__2E__3D_, + kToken__2E__2E__2E_, + kToken_literal_5F_char, + kToken_string, + kToken_comment, + kToken_after, + kToken_before, + kToken_between, + kToken_by, + kToken_default, + kToken_display, + kToken_do, + kToken_down, + kToken_else, + kToken_elsif, + kToken_emptylist, + kToken_emptymap, + kToken_end, + kToken_error, + kToken_exists, + kToken_false, + kToken_for, + kToken_foreach, + kToken_from, + kToken_func, + kToken_here, + kToken_if, + kToken_in, + kToken_import, + kToken_listof, + kToken_let, + kToken_loop, + kToken_mapof, + kToken_mod, + kToken_no, + kToken_not, + kToken_or, + kToken_print, + kToken_println, + kToken_seed, + kToken_repeat, + kToken_sort, + kToken_step, + kToken_tab, + kToken_template, + kToken_then, + kToken_to, + kToken_true, + kToken_typeof, + kToken_up, + kToken_yes, + kToken_warning, + kToken_while, + kToken_write, + kToken_executable, + kToken_variables, + kToken_getter, + kToken_unlet, + kToken_setter, + kToken_libraries, + kToken_input, + kToken_break, + kToken__5F__5F_VARS_5F__5F_, + kToken__2A_, + kToken__7C_, + kToken__2C_, + kToken__2B_, + kToken__3A__3A_, + kToken__3E_, + kToken__3A_, + kToken__28_, + kToken__29_, + kToken__2D__3E_, + kToken__3F_, + kToken__3D__3D_, + kToken__21_, + kToken__3A__3D_, + kToken__5B_, + kToken__5D_, + kToken__2B__3D_, + kToken__2D__3D_, + kToken__2F_, + kToken__21__3D_, + kToken__3E__3D_, + kToken__26_, + kToken__3C__3D_, + kToken__7B_, + kToken__7D_, + kToken__3C_, + kToken__5E_, + kToken__3E__3E_, + kToken__7E_, + kToken__3C__2D_, + kToken__3C__3C_, + kToken__40_, + kToken__2A__3D_, + kToken__2F__3D_, + kToken__26__3D_, + kToken__7C__3D_, + kToken__3C__3C__3D_, + kToken__3E__3E__3D_, + kToken_mod_3D_, + kToken__5E__3D_, + kToken__40__5B_, + kToken__40__28_, + kToken__40__7B_, + kToken__5B__21_, + kToken__40__21_, + kToken__40__3F_} ; //--- Key words table 'goilTemplateKeyWordList' - public: static int32_t search_into_goilTemplateKeyWordList (const String & inSearchedString) ; + public: static int32_t search_into_goilTemplateKeyWordList (const C_String & inSearchedString) ; //--- Key words table 'galgasDelimitorsList' - public: static int32_t search_into_galgasDelimitorsList (const String & inSearchedString) ; + public: static int32_t search_into_galgasDelimitorsList (const C_String & inSearchedString) ; //--- Assign from attribute @@ -4286,44 +4069,44 @@ class Lexique_gtl_5F_scanner : public Lexique { //--- Attribute access - public: String attributeValue_a_5F_string (void) const ; + public: C_String attributeValue_a_5F_string (void) const ; public: utf32 attributeValue_charValue (void) const ; public: double attributeValue_floatValue (void) const ; - public: String attributeValue_functionContent (void) const ; - public: String attributeValue_identifierString (void) const ; - public: BigSigned attributeValue_intValue (void) const ; - public: String attributeValue_tokenString (void) const ; + public: C_String attributeValue_functionContent (void) const ; + public: C_String attributeValue_identifierString (void) const ; + public: C_BigInt attributeValue_intValue (void) const ; + public: C_String attributeValue_tokenString (void) const ; public: uint32_t attributeValue_uint_33__32_value (void) const ; -//--- indexing keys +//--- Indexing keys //--- Parse lexical token protected: void internalParseLexicalToken (cTokenFor_gtl_5F_scanner & token) ; protected: virtual bool parseLexicalToken (void) override ; //--- Get terminal message - protected: virtual String getMessageForTerminal (const int32_t inTerminalSymbol) const override ; + protected: virtual C_String getMessageForTerminal (const int32_t inTerminalSymbol) const override ; //--- Get terminal count public: virtual int32_t terminalVocabularyCount (void) const override { return 115 ; } //--- Get Token String - public: virtual String getCurrentTokenString (const cToken * inTokenPtr) const override ; + public: virtual C_String getCurrentTokenString (const cToken * inTokenPtr) const override ; //--- Enter Token protected: void enterToken (cTokenFor_gtl_5F_scanner & ioToken) ; //--- Style name for Latex - protected: virtual String styleNameForIndex (const uint32_t inStyleIndex) const override ; + protected: virtual C_String styleNameForIndex (const uint32_t inStyleIndex) const override ; protected: virtual uint32_t styleIndexForTerminal (const int32_t inTerminalIndex) const override ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Parser class 'gtl_expression_parser' declaration // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cParser_gtl_5F_expression_5F_parser { //--- Virtual destructor @@ -4331,398 +4114,398 @@ class cParser_gtl_5F_expression_5F_parser { //--- Non terminal declarations protected: virtual void nt_gtl_5F_argument_5F_list_ (class GALGAS_gtlArgumentList & outArgument0, - class Lexique_gtl_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_argument_5F_list_parse (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_argument_5F_list_parse (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_argument_5F_list_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_argument_5F_list_indexing (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_expression_ (class GALGAS_gtlExpression & outArgument0, - class Lexique_gtl_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_expression_parse (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_expression_parse (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_expression_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_expression_indexing (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_factor_ (class GALGAS_gtlExpression & outArgument0, - class Lexique_gtl_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_factor_parse (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_factor_parse (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_factor_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_factor_indexing (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_relation_5F_factor_ (class GALGAS_gtlExpression & outArgument0, - class Lexique_gtl_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_relation_5F_factor_parse (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_relation_5F_factor_parse (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_relation_5F_factor_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_relation_5F_factor_indexing (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_relation_5F_term_ (class GALGAS_gtlExpression & outArgument0, - class Lexique_gtl_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_relation_5F_term_parse (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_relation_5F_term_parse (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_relation_5F_term_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_relation_5F_term_indexing (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_simple_5F_expression_ (class GALGAS_gtlExpression & outArgument0, - class Lexique_gtl_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_simple_5F_expression_parse (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_simple_5F_expression_parse (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_simple_5F_expression_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_simple_5F_expression_indexing (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_term_ (class GALGAS_gtlExpression & outArgument0, - class Lexique_gtl_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_term_parse (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_term_parse (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_term_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_term_indexing (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_variable_ (class GALGAS_gtlVarPath & outArgument0, - class Lexique_gtl_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_variable_parse (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_variable_parse (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_variable_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_variable_indexing (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_variable_5F_or_5F_here_ (class GALGAS_gtlVarPath & outArgument0, class GALGAS_bool & outArgument1, - class Lexique_gtl_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_variable_5F_or_5F_here_parse (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_variable_5F_or_5F_here_parse (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_variable_5F_or_5F_here_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_variable_5F_or_5F_here_indexing (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; //--- Rule declarations protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_expression_i0_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_expression_i0_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_expression_i0_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_expression_i0_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_expression_i0_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_relation_5F_term_i1_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_relation_5F_term_i1_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_relation_5F_term_i1_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_relation_5F_term_i1_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_relation_5F_term_i1_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_relation_5F_factor_i2_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_relation_5F_factor_i2_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_relation_5F_factor_i2_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_relation_5F_factor_i2_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_relation_5F_factor_i2_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_simple_5F_expression_i3_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_simple_5F_expression_i3_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_simple_5F_expression_i3_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_simple_5F_expression_i3_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_simple_5F_expression_i3_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_term_i4_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_term_i4_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_term_i4_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_term_i4_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_term_i4_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i5_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i5_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i5_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i5_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i5_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i6_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i6_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i6_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i6_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i6_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i7_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i7_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i7_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i7_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i7_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i8_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i8_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i8_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i8_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i8_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i9_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i9_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i9_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i9_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i9_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i10_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i10_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i10_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i10_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i10_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i11_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i11_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i11_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i11_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i11_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i12_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i12_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i12_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i12_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i12_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i13_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i13_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i13_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i13_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i13_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i14_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i14_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i14_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i14_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i14_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i15_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i15_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i15_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i15_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i15_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i16_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i16_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i16_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i16_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i16_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i17_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i17_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i17_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i17_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i17_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i18_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i18_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i18_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i18_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i18_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i19_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i19_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i19_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i19_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i19_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i20_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i20_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i20_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i20_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i20_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i21_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i21_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i21_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i21_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i21_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i22_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i22_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i22_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i22_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i22_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i23_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i23_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i23_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i23_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i23_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i24_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i24_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i24_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i24_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i24_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i25_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i25_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i25_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i25_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i25_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i26_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i26_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i26_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i26_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i26_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i27_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i27_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i27_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i27_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i27_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i28_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i28_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i28_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i28_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i28_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i29_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i29_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i29_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i29_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i29_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i30_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i30_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i30_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i30_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i30_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i31_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i31_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i31_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i31_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i31_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i32_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i32_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i32_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i32_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i32_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i33_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i33_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i33_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i33_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i33_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_variable_i34_ (GALGAS_gtlVarPath & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_variable_i34_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_variable_i34_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_variable_i34_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_variable_i34_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_variable_5F_or_5F_here_i35_ (GALGAS_gtlVarPath & outArgument0, GALGAS_bool & outArgument1, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_variable_5F_or_5F_here_i35_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_variable_5F_or_5F_here_i35_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_variable_5F_or_5F_here_i35_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_variable_5F_or_5F_here_i35_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_argument_5F_list_i36_ (GALGAS_gtlArgumentList & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_argument_5F_list_i36_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_argument_5F_list_i36_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_argument_5F_list_i36_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_argument_5F_list_i36_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; //--- Select methods - protected: virtual int32_t select_gtl_5F_expression_5F_parser_0 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_0 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_1 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_1 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_2 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_2 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_3 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_3 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_4 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_4 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_5 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_5 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_6 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_6 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_7 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_7 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_8 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_8 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_9 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_9 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_10 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_10 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_11 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_11 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_12 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_12 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_13 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_13 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_14 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_14 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_15 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_15 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_16 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_16 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_17 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_17 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_18 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_18 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_19 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_19 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_20 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_20 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_21 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_21 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_22 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_22 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_23 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_23 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_24 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_24 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_25 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_25 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_26 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_26 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_27 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_27 (C_Lexique_gtl_5F_scanner *) = 0 ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Parser class 'gtl_instruction_parser' declaration // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cParser_gtl_5F_instruction_5F_parser { //--- Virtual destructor @@ -4730,175 +4513,175 @@ class cParser_gtl_5F_instruction_5F_parser { //--- Non terminal declarations protected: virtual void nt_gtl_5F_expression_ (class GALGAS_gtlExpression & outArgument0, - class Lexique_gtl_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_expression_parse (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_expression_parse (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_expression_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_expression_indexing (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_import_ (class GALGAS_gtlContext inArgument0, class GALGAS_library & ioArgument1, - class Lexique_gtl_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_import_parse (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_import_parse (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_import_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_import_indexing (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_simple_5F_instruction_ (class GALGAS_gtlInstruction & outArgument0, - class Lexique_gtl_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_simple_5F_instruction_parse (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_simple_5F_instruction_parse (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_simple_5F_instruction_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_simple_5F_instruction_indexing (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_sorting_5F_order_ (class GALGAS_lsint & outArgument0, - class Lexique_gtl_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_sorting_5F_order_parse (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_sorting_5F_order_parse (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_sorting_5F_order_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_sorting_5F_order_indexing (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_variable_ (class GALGAS_gtlVarPath & outArgument0, - class Lexique_gtl_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_variable_parse (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_variable_parse (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_variable_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_variable_indexing (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_variable_5F_or_5F_here_ (class GALGAS_gtlVarPath & outArgument0, class GALGAS_bool & outArgument1, - class Lexique_gtl_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_variable_5F_or_5F_here_parse (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_variable_5F_or_5F_here_parse (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_variable_5F_or_5F_here_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_variable_5F_or_5F_here_indexing (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; //--- Rule declarations protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i0_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i0_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i0_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i0_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i0_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i1_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i1_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i1_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i1_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i1_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i2_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i2_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i2_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i2_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i2_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i3_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i3_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i3_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i3_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i3_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i4_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i4_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i4_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i4_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i4_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i5_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i5_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i5_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i5_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i5_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i6_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i6_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i6_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i6_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i6_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i7_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i7_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i7_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i7_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i7_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i8_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i8_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i8_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i8_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i8_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i9_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i9_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i9_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i9_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i9_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i10_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i10_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i10_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i10_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i10_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i11_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i11_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i11_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i11_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i11_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_sorting_5F_order_i12_ (GALGAS_lsint & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_sorting_5F_order_i12_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_sorting_5F_order_i12_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_sorting_5F_order_i12_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_sorting_5F_order_i12_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_import_i13_ (GALGAS_gtlContext inArgument0, GALGAS_library & ioArgument1, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_import_i13_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_import_i13_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_import_i13_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_import_i13_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; //--- Select methods - protected: virtual int32_t select_gtl_5F_instruction_5F_parser_0 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_instruction_5F_parser_0 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_instruction_5F_parser_1 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_instruction_5F_parser_1 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_instruction_5F_parser_2 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_instruction_5F_parser_2 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_instruction_5F_parser_3 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_instruction_5F_parser_3 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_instruction_5F_parser_4 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_instruction_5F_parser_4 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_instruction_5F_parser_5 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_instruction_5F_parser_5 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_instruction_5F_parser_6 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_instruction_5F_parser_6 (C_Lexique_gtl_5F_scanner *) = 0 ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Parser class 'gtl_parser' declaration // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cParser_gtl_5F_parser { //--- Virtual destructor @@ -4906,372 +4689,372 @@ class cParser_gtl_5F_parser { //--- Non terminal declarations protected: virtual void nt_gtl_5F_argument_5F_list_ (class GALGAS_gtlArgumentList & outArgument0, - class Lexique_gtl_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_argument_5F_list_parse (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_argument_5F_list_parse (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_argument_5F_list_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_argument_5F_list_indexing (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_expression_ (class GALGAS_gtlExpression & outArgument0, - class Lexique_gtl_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_expression_parse (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_expression_parse (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_expression_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_expression_indexing (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_file_5F_name_ (class GALGAS_gtlExpression & outArgument0, - class Lexique_gtl_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_file_5F_name_parse (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_file_5F_name_parse (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_file_5F_name_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_file_5F_name_indexing (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_import_ (class GALGAS_gtlContext inArgument0, class GALGAS_library & ioArgument1, - class Lexique_gtl_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_import_parse (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_import_parse (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_import_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_import_indexing (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_simple_5F_instruction_ (class GALGAS_gtlInstruction & outArgument0, - class Lexique_gtl_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_simple_5F_instruction_parse (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_simple_5F_instruction_parse (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_simple_5F_instruction_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_simple_5F_instruction_indexing (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_start_5F_symbol_ (class GALGAS_gtlContext inArgument0, class GALGAS_library & ioArgument1, class GALGAS_gtlInstructionList & outArgument2, - class Lexique_gtl_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_start_5F_symbol_parse (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_start_5F_symbol_parse (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_start_5F_symbol_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_start_5F_symbol_indexing (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_template_5F_instruction_ (class GALGAS_gtlInstruction & outArgument0, - class Lexique_gtl_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_template_5F_instruction_parse (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_template_5F_instruction_parse (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_template_5F_instruction_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_template_5F_instruction_indexing (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_template_5F_instruction_5F_list_ (class GALGAS_gtlInstructionList & outArgument0, - class Lexique_gtl_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_template_5F_instruction_5F_list_parse (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_template_5F_instruction_5F_list_parse (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_template_5F_instruction_5F_list_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_template_5F_instruction_5F_list_indexing (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_variable_ (class GALGAS_gtlVarPath & outArgument0, - class Lexique_gtl_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_variable_parse (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_variable_parse (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_variable_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_variable_indexing (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_variable_5F_or_5F_here_ (class GALGAS_gtlVarPath & outArgument0, class GALGAS_bool & outArgument1, - class Lexique_gtl_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_variable_5F_or_5F_here_parse (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_variable_5F_or_5F_here_parse (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_variable_5F_or_5F_here_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_variable_5F_or_5F_here_indexing (class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; //--- Rule declarations protected: void rule_gtl_5F_parser_gtl_5F_start_5F_symbol_i0_ (GALGAS_gtlContext inArgument0, GALGAS_library & ioArgument1, GALGAS_gtlInstructionList & outArgument2, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_start_5F_symbol_i0_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_start_5F_symbol_i0_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_start_5F_symbol_i0_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_start_5F_symbol_i0_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_5F_list_i1_ (GALGAS_gtlInstructionList & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_5F_list_i1_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_5F_list_i1_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_5F_list_i1_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_5F_list_i1_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i2_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i2_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i2_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i2_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i2_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i3_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i3_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i3_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i3_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i3_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i4_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i4_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i4_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i4_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i4_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i5_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i5_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i5_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i5_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i5_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i6_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i6_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i6_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i6_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i6_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i7_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i7_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i7_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i7_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i7_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i8_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i8_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i8_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i8_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i8_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i9_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i9_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i9_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i9_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i9_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i10_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i10_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i10_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i10_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i10_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i11_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i11_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i11_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i11_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i11_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_parser_gtl_5F_file_5F_name_i12_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_file_5F_name_i12_parse (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_file_5F_name_i12_parse (C_Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_file_5F_name_i12_indexing (Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_file_5F_name_i12_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; //--- Select methods - protected: virtual int32_t select_gtl_5F_parser_0 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_0 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_parser_1 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_1 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_parser_2 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_2 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_parser_3 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_3 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_parser_4 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_4 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_parser_5 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_5 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_parser_6 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_6 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_parser_7 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_7 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_parser_8 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_8 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_parser_9 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_9 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_parser_10 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_10 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_parser_11 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_11 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_parser_12 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_12 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_parser_13 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_13 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_parser_14 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_14 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_parser_15 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_15 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_parser_16 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_16 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_parser_17 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_17 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_parser_18 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_18 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_parser_19 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_19 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_parser_20 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_20 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_parser_21 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_21 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_parser_22 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_22 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_parser_23 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_23 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_parser_24 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_24 (C_Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_parser_25 (Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_25 (C_Lexique_gtl_5F_scanner *) = 0 ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // GRAMMAR gtl_grammar -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cGrammar_gtl_5F_grammar : public cParser_gtl_5F_parser, public cParser_gtl_5F_expression_5F_parser, public cParser_gtl_5F_instruction_5F_parser { //------------------------------------- 'gtl_argument_list' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_argument_5F_list_parse (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_argument_5F_list_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_argument_5F_list_indexing (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_argument_5F_list_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_argument_5F_list_ (GALGAS_gtlArgumentList & outArgument0, - Lexique_gtl_5F_scanner * inCompiler) ; + C_Lexique_gtl_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_expression' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_expression_parse (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_expression_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_expression_indexing (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_expression_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_expression_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inCompiler) ; + C_Lexique_gtl_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_factor' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_factor_parse (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_factor_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_factor_indexing (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_factor_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_factor_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inCompiler) ; + C_Lexique_gtl_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_file_name' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_file_5F_name_parse (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_file_5F_name_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_file_5F_name_indexing (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_file_5F_name_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_file_5F_name_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inCompiler) ; + C_Lexique_gtl_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_import' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_import_parse (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_import_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_import_indexing (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_import_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_import_ (GALGAS_gtlContext inArgument0, GALGAS_library & ioArgument1, - Lexique_gtl_5F_scanner * inCompiler) ; + C_Lexique_gtl_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_relation_factor' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_relation_5F_factor_parse (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_relation_5F_factor_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_relation_5F_factor_indexing (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_relation_5F_factor_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_relation_5F_factor_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inCompiler) ; + C_Lexique_gtl_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_relation_term' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_relation_5F_term_parse (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_relation_5F_term_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_relation_5F_term_indexing (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_relation_5F_term_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_relation_5F_term_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inCompiler) ; + C_Lexique_gtl_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_simple_expression' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_simple_5F_expression_parse (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_simple_5F_expression_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_simple_5F_expression_indexing (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_simple_5F_expression_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_simple_5F_expression_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inCompiler) ; + C_Lexique_gtl_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_simple_instruction' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_simple_5F_instruction_parse (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_simple_5F_instruction_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_simple_5F_instruction_indexing (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_simple_5F_instruction_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_simple_5F_instruction_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_scanner * inCompiler) ; + C_Lexique_gtl_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_sorting_order' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_sorting_5F_order_parse (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_sorting_5F_order_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_sorting_5F_order_indexing (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_sorting_5F_order_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_sorting_5F_order_ (GALGAS_lsint & outArgument0, - Lexique_gtl_5F_scanner * inCompiler) ; + C_Lexique_gtl_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_start_symbol' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_start_5F_symbol_parse (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_start_5F_symbol_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_start_5F_symbol_indexing (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_start_5F_symbol_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_start_5F_symbol_ (GALGAS_gtlContext inArgument0, GALGAS_library & ioArgument1, GALGAS_gtlInstructionList & outArgument2, - Lexique_gtl_5F_scanner * inCompiler) ; + C_Lexique_gtl_5F_scanner * inCompiler) ; //--- Start symbol - public: static void _performSourceFileParsing_ (Compiler * inCompiler, + public: static void _performSourceFileParsing_ (C_Compiler * inCompiler, GALGAS_lstring inFileName, GALGAS_gtlContext inArgument0, GALGAS_library & ioArgument1, GALGAS_gtlInstructionList & outArgument2 COMMA_LOCATION_ARGS) ; - public: static void _performSourceStringParsing_ (Compiler * inCompiler, + public: static void _performSourceStringParsing_ (C_Compiler * inCompiler, GALGAS_string inSourceString, GALGAS_string inNameString, GALGAS_gtlContext inArgument0, @@ -5280,202 +5063,202 @@ class cGrammar_gtl_5F_grammar : public cParser_gtl_5F_parser, COMMA_LOCATION_ARGS) ; //--- Indexing - public: static void performIndexing (Compiler * inCompiler, - const String & inSourceFilePath) ; + public: static void performIndexing (C_Compiler * inCompiler, + const C_String & inSourceFilePath) ; //--- Only lexical analysis - public: static void performOnlyLexicalAnalysis (Compiler * inCompiler, - const String & inSourceFilePath) ; + public: static void performOnlyLexicalAnalysis (C_Compiler * inCompiler, + const C_String & inSourceFilePath) ; //--- Only syntax analysis - public: static void performOnlySyntaxAnalysis (Compiler * inCompiler, - const String & inSourceFilePath) ; + public: static void performOnlySyntaxAnalysis (C_Compiler * inCompiler, + const C_String & inSourceFilePath) ; //------------------------------------- 'gtl_template_instruction' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_template_5F_instruction_parse (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_template_5F_instruction_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_template_5F_instruction_indexing (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_template_5F_instruction_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_template_5F_instruction_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_scanner * inCompiler) ; + C_Lexique_gtl_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_template_instruction_list' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_template_5F_instruction_5F_list_parse (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_template_5F_instruction_5F_list_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_template_5F_instruction_5F_list_indexing (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_template_5F_instruction_5F_list_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_template_5F_instruction_5F_list_ (GALGAS_gtlInstructionList & outArgument0, - Lexique_gtl_5F_scanner * inCompiler) ; + C_Lexique_gtl_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_term' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_term_parse (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_term_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_term_indexing (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_term_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_term_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_scanner * inCompiler) ; + C_Lexique_gtl_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_variable' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_variable_parse (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_variable_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_variable_indexing (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_variable_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_variable_ (GALGAS_gtlVarPath & outArgument0, - Lexique_gtl_5F_scanner * inCompiler) ; + C_Lexique_gtl_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_variable_or_here' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_variable_5F_or_5F_here_parse (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_variable_5F_or_5F_here_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_variable_5F_or_5F_here_indexing (Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_variable_5F_or_5F_here_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_variable_5F_or_5F_here_ (GALGAS_gtlVarPath & outArgument0, GALGAS_bool & outArgument1, - Lexique_gtl_5F_scanner * inCompiler) ; + C_Lexique_gtl_5F_scanner * inCompiler) ; - public: virtual int32_t select_gtl_5F_parser_0 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_0 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_parser_1 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_1 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_parser_2 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_2 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_parser_3 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_3 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_parser_4 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_4 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_parser_5 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_5 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_parser_6 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_6 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_parser_7 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_7 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_parser_8 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_8 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_parser_9 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_9 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_parser_10 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_10 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_parser_11 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_11 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_parser_12 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_12 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_parser_13 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_13 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_parser_14 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_14 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_parser_15 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_15 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_parser_16 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_16 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_parser_17 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_17 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_parser_18 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_18 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_parser_19 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_19 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_parser_20 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_20 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_parser_21 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_21 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_parser_22 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_22 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_parser_23 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_23 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_parser_24 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_24 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_parser_25 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_25 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_0 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_0 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_1 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_1 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_2 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_2 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_3 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_3 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_4 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_4 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_5 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_5 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_6 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_6 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_7 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_7 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_8 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_8 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_9 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_9 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_10 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_10 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_11 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_11 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_12 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_12 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_13 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_13 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_14 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_14 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_15 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_15 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_16 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_16 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_17 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_17 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_18 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_18 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_19 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_19 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_20 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_20 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_21 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_21 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_22 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_22 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_23 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_23 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_24 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_24 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_25 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_25 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_26 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_26 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_expression_5F_parser_27 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_expression_5F_parser_27 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_instruction_5F_parser_0 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_instruction_5F_parser_0 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_instruction_5F_parser_1 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_instruction_5F_parser_1 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_instruction_5F_parser_2 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_instruction_5F_parser_2 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_instruction_5F_parser_3 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_instruction_5F_parser_3 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_instruction_5F_parser_4 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_instruction_5F_parser_4 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_instruction_5F_parser_5 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_instruction_5F_parser_5 (C_Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_instruction_5F_parser_6 (Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_instruction_5F_parser_6 (C_Lexique_gtl_5F_scanner *) ; } ; -//-------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlFuncMap_2D_element struct // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlFuncMap_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -5493,6 +5276,9 @@ class GALGAS_gtlFuncMap_2D_element : public AC_GALGAS_root { public: VIRTUAL_IN_DEBUG bool isValid (void) const override ; public: VIRTUAL_IN_DEBUG void drop (void) override ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlFuncMap_2D_element constructor_default (LOCATION_ARGS) ; + //--------------------------------- Default constructor public: GALGAS_gtlFuncMap_2D_element (void) ; @@ -5512,25 +5298,24 @@ class GALGAS_gtlFuncMap_2D_element : public AC_GALGAS_root { public: GALGAS_gtlFuncMap_2D_element (const GALGAS_lstring & in_lkey, const GALGAS_gtlFunction & in_function) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlFuncMap_2D_element extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlFuncMap_2D_element class_func_new (const class GALGAS_lstring & inOperand0, - const class GALGAS_gtlFunction & inOperand1, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlFuncMap_2D_element constructor_new (const class GALGAS_lstring & inOperand0, + const class GALGAS_gtlFunction & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlFuncMap_2D_element & inOperand) const ; @@ -5549,15 +5334,15 @@ class GALGAS_gtlFuncMap_2D_element : public AC_GALGAS_root { } ; // End of GALGAS_gtlFuncMap_2D_element class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlFuncMap_2D_element ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlGetterMap_2D_element struct // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlGetterMap_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -5594,25 +5379,24 @@ class GALGAS_gtlGetterMap_2D_element : public AC_GALGAS_root { public: GALGAS_gtlGetterMap_2D_element (const GALGAS_lstring & in_lkey, const GALGAS_gtlGetter & in_theGetter) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlGetterMap_2D_element extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlGetterMap_2D_element class_func_new (const class GALGAS_lstring & inOperand0, - const class GALGAS_gtlGetter & inOperand1, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlGetterMap_2D_element constructor_new (const class GALGAS_lstring & inOperand0, + const class GALGAS_gtlGetter & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlGetterMap_2D_element & inOperand) const ; @@ -5631,15 +5415,15 @@ class GALGAS_gtlGetterMap_2D_element : public AC_GALGAS_root { } ; // End of GALGAS_gtlGetterMap_2D_element class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlGetterMap_2D_element ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlSetterMap_2D_element struct // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlSetterMap_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -5676,25 +5460,24 @@ class GALGAS_gtlSetterMap_2D_element : public AC_GALGAS_root { public: GALGAS_gtlSetterMap_2D_element (const GALGAS_lstring & in_lkey, const GALGAS_gtlSetter & in_theSetter) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlSetterMap_2D_element extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlSetterMap_2D_element class_func_new (const class GALGAS_lstring & inOperand0, - const class GALGAS_gtlSetter & inOperand1, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlSetterMap_2D_element constructor_new (const class GALGAS_lstring & inOperand0, + const class GALGAS_gtlSetter & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlSetterMap_2D_element & inOperand) const ; @@ -5713,15 +5496,15 @@ class GALGAS_gtlSetterMap_2D_element : public AC_GALGAS_root { } ; // End of GALGAS_gtlSetterMap_2D_element class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlSetterMap_2D_element ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlVarItem value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlVarItem : public AC_GALGAS_value_class { //--------------------------------- Default constructor @@ -5736,14 +5519,14 @@ class GALGAS_gtlVarItem : public AC_GALGAS_value_class { public: GALGAS_gtlVarItem (const cPtr_gtlVarItem * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlVarItem extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison @@ -5764,15 +5547,15 @@ class GALGAS_gtlVarItem : public AC_GALGAS_value_class { } ; // End of GALGAS_gtlVarItem class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlVarItem ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlVarItem class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlVarItem : public acPtr_class { @@ -5782,7 +5565,7 @@ class cPtr_gtlVarItem : public acPtr_class { const class GALGAS_gtlData vars, const class GALGAS_library lib, const class GALGAS_gtlVarPath path, - Compiler * COMMA_LOCATION_ARGS) const = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter getInContext public: virtual class GALGAS_gtlData getter_getInContext (const class GALGAS_gtlContext exeContext, @@ -5790,20 +5573,20 @@ class cPtr_gtlVarItem : public acPtr_class { const class GALGAS_gtlData vars, const class GALGAS_library lib, const class GALGAS_gtlVarPath path, - Compiler * COMMA_LOCATION_ARGS) const = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter location - public: virtual class GALGAS_location getter_location (Compiler * COMMA_LOCATION_ARGS) const = 0 ; + public: virtual class GALGAS_location getter_location (C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter stringPath public: virtual class GALGAS_string getter_stringPath (const class GALGAS_gtlContext exeContext, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter stringRepresentation public: virtual class GALGAS_string getter_stringRepresentation (const class GALGAS_string concatString, - Compiler * COMMA_LOCATION_ARGS) const = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension method deleteInContext public: virtual void method_deleteInContext (const class GALGAS_gtlContext exeContext, @@ -5811,7 +5594,7 @@ class cPtr_gtlVarItem : public acPtr_class { const class GALGAS_gtlData vars, const class GALGAS_library lib, const class GALGAS_gtlVarPath path, - Compiler * COMMA_LOCATION_ARGS) = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) = 0 ; //--- Extension method setInContext public: virtual void method_setInContext (const class GALGAS_gtlContext exeContext, @@ -5820,7 +5603,7 @@ class cPtr_gtlVarItem : public acPtr_class { const class GALGAS_library lib, const class GALGAS_gtlVarPath path, const class GALGAS_gtlData newData, - Compiler * COMMA_LOCATION_ARGS) = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) = 0 ; //--- Properties @@ -5830,7 +5613,7 @@ class cPtr_gtlVarItem : public acPtr_class { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override = 0 ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override = 0 ; @@ -5839,34 +5622,34 @@ class cPtr_gtlVarItem : public acPtr_class { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension getter '@gtlVarItem stringPath' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string callExtensionGetter_stringPath (const class cPtr_gtlVarItem * inObject, const class GALGAS_gtlContext constin_exeContext, const class GALGAS_gtlData constin_vars, const class GALGAS_library constin_lib, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension getter '@gtlVarItem location' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_location callExtensionGetter_location (const class cPtr_gtlVarItem * inObject, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension method '@gtlVarItem setInContext' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionMethod_setInContext (class cPtr_gtlVarItem * inObject, const class GALGAS_gtlContext constin_exeContext, @@ -5875,14 +5658,14 @@ void callExtensionMethod_setInContext (class cPtr_gtlVarItem * inObject, const class GALGAS_library constin_lib, const class GALGAS_gtlVarPath constin_path, const class GALGAS_gtlData constin_newData, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlVarPath list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlVarPath : public AC_GALGAS_list { //--------------------------------- Default constructor @@ -5896,25 +5679,25 @@ class GALGAS_gtlVarPath : public AC_GALGAS_list { const class GALGAS_gtlVarItem & in_item COMMA_LOCATION_ARGS) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlVarPath extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlVarPath class_func_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlVarPath constructor_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_gtlVarPath class_func_listWithValue (const class GALGAS_gtlVarItem & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlVarPath constructor_listWithValue (const class GALGAS_gtlVarItem & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_gtlVarPath inOperand, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -5922,65 +5705,65 @@ class GALGAS_gtlVarPath : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlVarPath add_operation (const GALGAS_gtlVarPath & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_gtlVarItem constinArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_gtlVarItem constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_gtlVarItem & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_gtlVarItem & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_gtlVarItem & outArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setItemAtIndex (class GALGAS_gtlVarItem constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_gtlVarItem & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_gtlVarItem & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_gtlVarItem getter_itemAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlVarPath getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlVarPath getter_subListToIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlVarPath getter_subListWithRange (const class GALGAS_range & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -5994,9 +5777,9 @@ class GALGAS_gtlVarPath : public AC_GALGAS_list { } ; // End of GALGAS_gtlVarPath class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Enumerator declaration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cEnumerator_gtlVarPath : public cGenericAbstractEnumerator { public: cEnumerator_gtlVarPath (const GALGAS_gtlVarPath & inEnumeratedObject, @@ -6008,15 +5791,15 @@ class cEnumerator_gtlVarPath : public cGenericAbstractEnumerator { public: class GALGAS_gtlVarPath_2D_element current (LOCATION_ARGS) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlVarPath ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension getter '@gtlVarItem getInContext' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlData callExtensionGetter_getInContext (const class cPtr_gtlVarItem * inObject, const class GALGAS_gtlContext constin_exeContext, @@ -6024,14 +5807,14 @@ class GALGAS_gtlData callExtensionGetter_getInContext (const class cPtr_gtlVarIt const class GALGAS_gtlData constin_vars, const class GALGAS_library constin_lib, const class GALGAS_gtlVarPath constin_path, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension getter '@gtlVarItem existsInContext' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_bool callExtensionGetter_existsInContext (const class cPtr_gtlVarItem * inObject, const class GALGAS_gtlContext constin_exeContext, @@ -6039,14 +5822,14 @@ class GALGAS_bool callExtensionGetter_existsInContext (const class cPtr_gtlVarIt const class GALGAS_gtlData constin_vars, const class GALGAS_library constin_lib, const class GALGAS_gtlVarPath constin_path, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension method '@gtlVarItem deleteInContext' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionMethod_deleteInContext (class cPtr_gtlVarItem * inObject, const class GALGAS_gtlContext constin_exeContext, @@ -6054,14 +5837,14 @@ void callExtensionMethod_deleteInContext (class cPtr_gtlVarItem * inObject, const class GALGAS_gtlData constin_vars, const class GALGAS_library constin_lib, const class GALGAS_gtlVarPath constin_path, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlVarPath_2D_element struct // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlVarPath_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -6088,24 +5871,23 @@ class GALGAS_gtlVarPath_2D_element : public AC_GALGAS_root { //--------------------------------- Native constructor public: GALGAS_gtlVarPath_2D_element (const GALGAS_gtlVarItem & in_item) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlVarPath_2D_element extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlVarPath_2D_element class_func_new (const class GALGAS_gtlVarItem & inOperand0, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlVarPath_2D_element constructor_new (const class GALGAS_gtlVarItem & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlVarPath_2D_element & inOperand) const ; @@ -6124,30 +5906,33 @@ class GALGAS_gtlVarPath_2D_element : public AC_GALGAS_root { } ; // End of GALGAS_gtlVarPath_2D_element class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlVarPath_2D_element ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@gtlVarPath pathAsFunctionName' (as function) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_lstring extensionGetter_pathAsFunctionName (const class GALGAS_gtlVarPath & inObject, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlVarItemField value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlVarItemField : public GALGAS_gtlVarItem { //--------------------------------- Default constructor public: GALGAS_gtlVarItemField (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlVarItemField constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlVarItemField * ptr (void) const { return (const cPtr_gtlVarItemField *) mObjectPtr ; @@ -6159,19 +5944,19 @@ class GALGAS_gtlVarItemField : public GALGAS_gtlVarItem { //--------------------------------- Property read access public: class GALGAS_lstring readProperty_field (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlVarItemField extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlVarItemField class_func_new (const class GALGAS_lstring & inOperand0 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlVarItemField constructor_new (const class GALGAS_lstring & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlVarItemField & inOperand) const ; @@ -6194,15 +5979,15 @@ class GALGAS_gtlVarItemField : public GALGAS_gtlVarItem { } ; // End of GALGAS_gtlVarItemField class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlVarItemField ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlVarItemField class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlVarItemField : public cPtr_gtlVarItem { @@ -6212,7 +5997,7 @@ class cPtr_gtlVarItemField : public cPtr_gtlVarItem { const class GALGAS_gtlData vars, const class GALGAS_library lib, const class GALGAS_gtlVarPath path, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter getInContext public: virtual class GALGAS_gtlData getter_getInContext (const class GALGAS_gtlContext exeContext, @@ -6220,23 +6005,23 @@ class cPtr_gtlVarItemField : public cPtr_gtlVarItem { const class GALGAS_gtlData vars, const class GALGAS_library lib, const class GALGAS_gtlVarPath path, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter location - public: virtual class GALGAS_location getter_location (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_location getter_location (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstringPath - public: virtual class GALGAS_lstring getter_lstringPath (Compiler * COMMA_LOCATION_ARGS) const ; + public: virtual class GALGAS_lstring getter_lstringPath (C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter stringPath public: virtual class GALGAS_string getter_stringPath (const class GALGAS_gtlContext exeContext, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation public: virtual class GALGAS_string getter_stringRepresentation (const class GALGAS_string concatString, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method deleteInContext public: virtual void method_deleteInContext (const class GALGAS_gtlContext exeContext, @@ -6244,7 +6029,7 @@ class cPtr_gtlVarItemField : public cPtr_gtlVarItem { const class GALGAS_gtlData vars, const class GALGAS_library lib, const class GALGAS_gtlVarPath path, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method setInContext public: virtual void method_setInContext (const class GALGAS_gtlContext exeContext, @@ -6253,7 +6038,7 @@ class cPtr_gtlVarItemField : public cPtr_gtlVarItem { const class GALGAS_library lib, const class GALGAS_gtlVarPath path, const class GALGAS_gtlData newData, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -6270,7 +6055,7 @@ class cPtr_gtlVarItemField : public cPtr_gtlVarItem { public: VIRTUAL_IN_DEBUG GALGAS_lstring getter_field (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setField (GALGAS_lstring inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -6279,87 +6064,87 @@ class cPtr_gtlVarItemField : public cPtr_gtlVarItem { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@gtlVarPath stringPath' (as function) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string extensionGetter_stringPath (const class GALGAS_gtlVarPath & inObject, const class GALGAS_gtlContext & constinArgument0, const class GALGAS_gtlData & constinArgument1, const class GALGAS_library & constinArgument2, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension method '@gtlVarPath set' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void extensionMethod_set (const class GALGAS_gtlVarPath inObject, const class GALGAS_gtlContext constin_exeContext, class GALGAS_gtlData & io_vars, const class GALGAS_library constin_lib, const class GALGAS_gtlData constin_data, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@gtlVarPath get' (as function) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlData extensionGetter_get (const class GALGAS_gtlVarPath & inObject, const class GALGAS_gtlContext & constinArgument0, const class GALGAS_gtlData & constinArgument1, const class GALGAS_library & constinArgument2, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@gtlVarPath exists' (as function) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_bool extensionGetter_exists (const class GALGAS_gtlVarPath & inObject, const class GALGAS_gtlContext & constinArgument0, const class GALGAS_gtlData & constinArgument1, const class GALGAS_library & constinArgument2, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension method '@gtlVarPath delete' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void extensionMethod_delete (const class GALGAS_gtlVarPath inObject, const class GALGAS_gtlContext constin_exeContext, class GALGAS_gtlData & io_vars, const class GALGAS_library constin_lib, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@gtlVarPath location' (as function) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_location extensionGetter_location (const class GALGAS_gtlVarPath & inObject, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlExpression : public acPtr_class { @@ -6367,13 +6152,13 @@ class cPtr_gtlExpression : public acPtr_class { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter location - public: virtual class GALGAS_location getter_location (Compiler * COMMA_LOCATION_ARGS) const ; + public: virtual class GALGAS_location getter_location (C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const = 0 ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Properties @@ -6387,7 +6172,7 @@ class cPtr_gtlExpression : public acPtr_class { public: VIRTUAL_IN_DEBUG GALGAS_location getter_where (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setWhere (GALGAS_location inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override = 0 ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override = 0 ; @@ -6396,11 +6181,11 @@ class cPtr_gtlExpression : public acPtr_class { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlExpressionList_2D_element struct // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlExpressionList_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -6427,24 +6212,23 @@ class GALGAS_gtlExpressionList_2D_element : public AC_GALGAS_root { //--------------------------------- Native constructor public: GALGAS_gtlExpressionList_2D_element (const GALGAS_gtlExpression & in_expression) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlExpressionList_2D_element extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlExpressionList_2D_element class_func_new (const class GALGAS_gtlExpression & inOperand0, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlExpressionList_2D_element constructor_new (const class GALGAS_gtlExpression & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlExpressionList_2D_element & inOperand) const ; @@ -6463,31 +6247,34 @@ class GALGAS_gtlExpressionList_2D_element : public AC_GALGAS_root { } ; // End of GALGAS_gtlExpressionList_2D_element class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlExpressionList_2D_element ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@string gtlType' (as function) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_type extensionGetter_gtlType (const class GALGAS_string & inObject, const class GALGAS_location & constinArgument0, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlBool value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlBool : public GALGAS_gtlData { //--------------------------------- Default constructor public: GALGAS_gtlBool (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlBool constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlBool * ptr (void) const { return (const cPtr_gtlBool *) mObjectPtr ; @@ -6499,21 +6286,21 @@ class GALGAS_gtlBool : public GALGAS_gtlData { //--------------------------------- Property read access public: class GALGAS_bool readProperty_value (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlBool extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlBool class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_lstring & inOperand1, - const class GALGAS_bool & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlBool constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_lstring & inOperand1, + const class GALGAS_bool & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlBool & inOperand) const ; @@ -6536,126 +6323,126 @@ class GALGAS_gtlBool : public GALGAS_gtlData { } ; // End of GALGAS_gtlBool class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlBool ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlBool class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlBool : public cPtr_gtlData { //--- Extension getter addOp public: virtual class GALGAS_gtlData getter_addOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter performGetter public: virtual class GALGAS_gtlData getter_performGetter (const class GALGAS_lstring methodName, const class GALGAS_gtlDataList arguments, const class GALGAS_gtlContext context, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -6674,7 +6461,7 @@ class cPtr_gtlBool : public cPtr_gtlData { public: VIRTUAL_IN_DEBUG GALGAS_bool getter_value (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setValue (GALGAS_bool inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -6683,16 +6470,19 @@ class cPtr_gtlBool : public cPtr_gtlData { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlChar value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlChar : public GALGAS_gtlData { //--------------------------------- Default constructor public: GALGAS_gtlChar (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlChar constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlChar * ptr (void) const { return (const cPtr_gtlChar *) mObjectPtr ; @@ -6704,21 +6494,21 @@ class GALGAS_gtlChar : public GALGAS_gtlData { //--------------------------------- Property read access public: class GALGAS_char readProperty_value (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlChar extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlChar class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_lstring & inOperand1, - const class GALGAS_char & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlChar constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_lstring & inOperand1, + const class GALGAS_char & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlChar & inOperand) const ; @@ -6741,126 +6531,126 @@ class GALGAS_gtlChar : public GALGAS_gtlData { } ; // End of GALGAS_gtlChar class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlChar ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlChar class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlChar : public cPtr_gtlData { //--- Extension getter addOp public: virtual class GALGAS_gtlData getter_addOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter performGetter public: virtual class GALGAS_gtlData getter_performGetter (const class GALGAS_lstring methodName, const class GALGAS_gtlDataList arguments, const class GALGAS_gtlContext context, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -6879,7 +6669,7 @@ class cPtr_gtlChar : public cPtr_gtlData { public: VIRTUAL_IN_DEBUG GALGAS_char getter_value (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setValue (GALGAS_char inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -6888,16 +6678,19 @@ class cPtr_gtlChar : public cPtr_gtlData { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlEnum value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlEnum : public GALGAS_gtlData { //--------------------------------- Default constructor public: GALGAS_gtlEnum (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlEnum constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlEnum * ptr (void) const { return (const cPtr_gtlEnum *) mObjectPtr ; @@ -6909,21 +6702,21 @@ class GALGAS_gtlEnum : public GALGAS_gtlData { //--------------------------------- Property read access public: class GALGAS_string readProperty_value (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlEnum extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlEnum class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_lstring & inOperand1, - const class GALGAS_string & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlEnum constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_lstring & inOperand1, + const class GALGAS_string & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlEnum & inOperand) const ; @@ -6946,126 +6739,126 @@ class GALGAS_gtlEnum : public GALGAS_gtlData { } ; // End of GALGAS_gtlEnum class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlEnum ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlEnum class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlEnum : public cPtr_gtlData { //--- Extension getter addOp public: virtual class GALGAS_gtlData getter_addOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter performGetter public: virtual class GALGAS_gtlData getter_performGetter (const class GALGAS_lstring methodName, const class GALGAS_gtlDataList arguments, const class GALGAS_gtlContext context, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -7084,7 +6877,7 @@ class cPtr_gtlEnum : public cPtr_gtlData { public: VIRTUAL_IN_DEBUG GALGAS_string getter_value (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setValue (GALGAS_string inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -7093,16 +6886,19 @@ class cPtr_gtlEnum : public cPtr_gtlData { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlFloat value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlFloat : public GALGAS_gtlData { //--------------------------------- Default constructor public: GALGAS_gtlFloat (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlFloat constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlFloat * ptr (void) const { return (const cPtr_gtlFloat *) mObjectPtr ; @@ -7114,21 +6910,21 @@ class GALGAS_gtlFloat : public GALGAS_gtlData { //--------------------------------- Property read access public: class GALGAS_double readProperty_value (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlFloat extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlFloat class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_lstring & inOperand1, - const class GALGAS_double & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlFloat constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_lstring & inOperand1, + const class GALGAS_double & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlFloat & inOperand) const ; @@ -7151,126 +6947,126 @@ class GALGAS_gtlFloat : public GALGAS_gtlData { } ; // End of GALGAS_gtlFloat class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlFloat ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlFloat class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlFloat : public cPtr_gtlData { //--- Extension getter addOp public: virtual class GALGAS_gtlData getter_addOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter performGetter public: virtual class GALGAS_gtlData getter_performGetter (const class GALGAS_lstring methodName, const class GALGAS_gtlDataList arguments, const class GALGAS_gtlContext context, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -7289,7 +7085,7 @@ class cPtr_gtlFloat : public cPtr_gtlData { public: VIRTUAL_IN_DEBUG GALGAS_double getter_value (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setValue (GALGAS_double inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -7298,16 +7094,19 @@ class cPtr_gtlFloat : public cPtr_gtlData { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlInt value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlInt : public GALGAS_gtlData { //--------------------------------- Default constructor public: GALGAS_gtlInt (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlInt constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlInt * ptr (void) const { return (const cPtr_gtlInt *) mObjectPtr ; @@ -7319,21 +7118,21 @@ class GALGAS_gtlInt : public GALGAS_gtlData { //--------------------------------- Property read access public: class GALGAS_bigint readProperty_value (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlInt extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlInt class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_lstring & inOperand1, - const class GALGAS_bigint & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlInt constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_lstring & inOperand1, + const class GALGAS_bigint & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlInt & inOperand) const ; @@ -7356,126 +7155,126 @@ class GALGAS_gtlInt : public GALGAS_gtlData { } ; // End of GALGAS_gtlInt class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlInt ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlInt class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlInt : public cPtr_gtlData { //--- Extension getter addOp public: virtual class GALGAS_gtlData getter_addOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter performGetter public: virtual class GALGAS_gtlData getter_performGetter (const class GALGAS_lstring methodName, const class GALGAS_gtlDataList arguments, const class GALGAS_gtlContext context, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -7494,7 +7293,7 @@ class cPtr_gtlInt : public cPtr_gtlData { public: VIRTUAL_IN_DEBUG GALGAS_bigint getter_value (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setValue (GALGAS_bigint inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -7503,16 +7302,19 @@ class cPtr_gtlInt : public cPtr_gtlData { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlList value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlList : public GALGAS_gtlData { //--------------------------------- Default constructor public: GALGAS_gtlList (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlList constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlList * ptr (void) const { return (const cPtr_gtlList *) mObjectPtr ; @@ -7524,21 +7326,21 @@ class GALGAS_gtlList : public GALGAS_gtlData { //--------------------------------- Property read access public: class GALGAS_list readProperty_value (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlList extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlList class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_lstring & inOperand1, - const class GALGAS_list & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlList constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_lstring & inOperand1, + const class GALGAS_list & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlList & inOperand) const ; @@ -7561,15 +7363,15 @@ class GALGAS_gtlList : public GALGAS_gtlData { } ; // End of GALGAS_gtlList class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlList ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @list list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_list : public AC_GALGAS_list { //--------------------------------- Default constructor @@ -7583,25 +7385,25 @@ class GALGAS_list : public AC_GALGAS_list { const class GALGAS_gtlData & in_value COMMA_LOCATION_ARGS) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_list extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_list class_func_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_list constructor_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_list class_func_listWithValue (const class GALGAS_gtlData & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_list constructor_listWithValue (const class GALGAS_gtlData & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_list inOperand, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -7609,65 +7411,65 @@ class GALGAS_list : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_list add_operation (const GALGAS_list & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_gtlData constinArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_gtlData constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_gtlData & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_gtlData & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_gtlData & outArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setValueAtIndex (class GALGAS_gtlData constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_gtlData & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_gtlData & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_list getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_list getter_subListToIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_list getter_subListWithRange (const class GALGAS_range & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlData getter_valueAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -7681,9 +7483,9 @@ class GALGAS_list : public AC_GALGAS_list { } ; // End of GALGAS_list class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Enumerator declaration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cEnumerator_list : public cGenericAbstractEnumerator { public: cEnumerator_list (const GALGAS_list & inEnumeratedObject, @@ -7695,135 +7497,135 @@ class cEnumerator_list : public cGenericAbstractEnumerator { public: class GALGAS_list_2D_element current (LOCATION_ARGS) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_list ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlList class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlList : public cPtr_gtlData { //--- Extension getter addOp public: virtual class GALGAS_gtlData getter_addOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter hasItemAtIndex public: virtual class GALGAS_bool getter_hasItemAtIndex (const class GALGAS_gtlInt index, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter performGetter public: virtual class GALGAS_gtlData getter_performGetter (const class GALGAS_lstring methodName, const class GALGAS_gtlDataList arguments, const class GALGAS_gtlContext context, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method itemAtIndex public: virtual void method_itemAtIndex (class GALGAS_gtlData & result, const class GALGAS_gtlInt index, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -7842,7 +7644,7 @@ class cPtr_gtlList : public cPtr_gtlData { public: VIRTUAL_IN_DEBUG GALGAS_list getter_value (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setValue (GALGAS_list inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -7851,16 +7653,19 @@ class cPtr_gtlList : public cPtr_gtlData { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlMap value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlMap : public GALGAS_gtlData { //--------------------------------- Default constructor public: GALGAS_gtlMap (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlMap constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlMap * ptr (void) const { return (const cPtr_gtlMap *) mObjectPtr ; @@ -7872,21 +7677,21 @@ class GALGAS_gtlMap : public GALGAS_gtlData { //--------------------------------- Property read access public: class GALGAS_gtlVarMap readProperty_value (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlMap extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlMap class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_lstring & inOperand1, - const class GALGAS_gtlVarMap & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlMap constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_lstring & inOperand1, + const class GALGAS_gtlVarMap & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlMap & inOperand) const ; @@ -7909,135 +7714,135 @@ class GALGAS_gtlMap : public GALGAS_gtlData { } ; // End of GALGAS_gtlMap class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlMap ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlMap class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlMap : public cPtr_gtlData { //--- Extension getter addOp public: virtual class GALGAS_gtlData getter_addOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter hasMapItem public: virtual class GALGAS_bool getter_hasMapItem (const class GALGAS_lstring name, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter performGetter public: virtual class GALGAS_gtlData getter_performGetter (const class GALGAS_lstring methodName, const class GALGAS_gtlDataList arguments, const class GALGAS_gtlContext context, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method mapItem public: virtual void method_mapItem (const class GALGAS_lstring name, class GALGAS_gtlData & result, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -8056,7 +7861,7 @@ class cPtr_gtlMap : public cPtr_gtlData { public: VIRTUAL_IN_DEBUG GALGAS_gtlVarMap getter_value (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setValue (GALGAS_gtlVarMap inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -8065,16 +7870,19 @@ class cPtr_gtlMap : public cPtr_gtlData { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlSet value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlSet : public GALGAS_gtlData { //--------------------------------- Default constructor public: GALGAS_gtlSet (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlSet constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlSet * ptr (void) const { return (const cPtr_gtlSet *) mObjectPtr ; @@ -8086,21 +7894,21 @@ class GALGAS_gtlSet : public GALGAS_gtlData { //--------------------------------- Property read access public: class GALGAS_lstringset readProperty_value (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlSet extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlSet class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_lstring & inOperand1, - const class GALGAS_lstringset & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlSet constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_lstring & inOperand1, + const class GALGAS_lstringset & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlSet & inOperand) const ; @@ -8123,23 +7931,23 @@ class GALGAS_gtlSet : public GALGAS_gtlData { } ; // End of GALGAS_gtlSet class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlSet ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @lstringset map // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cMapElement_lstringset ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const char * kSearchErrorMessage_lstringset_get ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_lstringset : public AC_GALGAS_map { //--------------------------------- Default constructor @@ -8149,51 +7957,51 @@ class GALGAS_lstringset : public AC_GALGAS_map { public: GALGAS_lstringset (const GALGAS_lstringset & inSource) ; public: GALGAS_lstringset & operator = (const GALGAS_lstringset & inSource) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_lstringset extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_lstringset class_func_emptyMap (LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_lstringset constructor_emptyMap (LOCATION_ARGS) ; - public: static class GALGAS_lstringset class_func_mapWithMapToOverride (const class GALGAS_lstringset & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_lstringset constructor_mapWithMapToOverride (const class GALGAS_lstringset & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) public: VIRTUAL_IN_DEBUG void addAssign_operation (const class GALGAS_lstring & inOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_lstringset add_operation (const GALGAS_lstringset & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_del (class GALGAS_lstring constinArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_put (class GALGAS_lstring constinArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_get (class GALGAS_lstring constinArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters - public: VIRTUAL_IN_DEBUG class GALGAS_lstringset getter_overriddenMap (Compiler * inCompiler + public: VIRTUAL_IN_DEBUG class GALGAS_lstringset getter_overriddenMap (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -8203,7 +8011,7 @@ class GALGAS_lstringset : public AC_GALGAS_map { //--------------------------------- Introspection public: VIRTUAL_IN_DEBUG const C_galgas_type_descriptor * staticTypeDescriptor (void) const override ; - public: VIRTUAL_IN_DEBUG cMapElement_lstringset * readWriteAccessForWithInstruction (Compiler * inCompiler, + public: VIRTUAL_IN_DEBUG cMapElement_lstringset * readWriteAccessForWithInstruction (C_Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) ; @@ -8213,9 +8021,9 @@ class GALGAS_lstringset : public AC_GALGAS_map { } ; // End of GALGAS_lstringset class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Enumerator declaration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cEnumerator_lstringset : public cGenericAbstractEnumerator { public: cEnumerator_lstringset (const GALGAS_lstringset & inEnumeratedObject, @@ -8227,15 +8035,15 @@ class cEnumerator_lstringset : public cGenericAbstractEnumerator { public: class GALGAS_lstringset_2D_element current (LOCATION_ARGS) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_lstringset ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: class for element of '@lstringset' map // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cMapElement_lstringset : public cMapElement { //--- Map attributes @@ -8254,125 +8062,125 @@ class cMapElement_lstringset : public cMapElement { public: virtual cMapElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlSet class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlSet : public cPtr_gtlData { //--- Extension getter addOp public: virtual class GALGAS_gtlData getter_addOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter performGetter public: virtual class GALGAS_gtlData getter_performGetter (const class GALGAS_lstring methodName, const class GALGAS_gtlDataList arguments, const class GALGAS_gtlContext context, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -8391,7 +8199,7 @@ class cPtr_gtlSet : public cPtr_gtlData { public: VIRTUAL_IN_DEBUG GALGAS_lstringset getter_value (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setValue (GALGAS_lstringset inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -8400,16 +8208,19 @@ class cPtr_gtlSet : public cPtr_gtlData { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlString value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlString : public GALGAS_gtlData { //--------------------------------- Default constructor public: GALGAS_gtlString (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlString constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlString * ptr (void) const { return (const cPtr_gtlString *) mObjectPtr ; @@ -8421,21 +8232,21 @@ class GALGAS_gtlString : public GALGAS_gtlData { //--------------------------------- Property read access public: class GALGAS_string readProperty_value (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlString extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlString class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_lstring & inOperand1, - const class GALGAS_string & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlString constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_lstring & inOperand1, + const class GALGAS_string & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlString & inOperand) const ; @@ -8458,126 +8269,126 @@ class GALGAS_gtlString : public GALGAS_gtlData { } ; // End of GALGAS_gtlString class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlString ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlString class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlString : public cPtr_gtlData { //--- Extension getter addOp public: virtual class GALGAS_gtlData getter_addOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter performGetter public: virtual class GALGAS_gtlData getter_performGetter (const class GALGAS_lstring methodName, const class GALGAS_gtlDataList arguments, const class GALGAS_gtlContext context, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -8596,7 +8407,7 @@ class cPtr_gtlString : public cPtr_gtlData { public: VIRTUAL_IN_DEBUG GALGAS_string getter_value (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setValue (GALGAS_string inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -8605,16 +8416,19 @@ class cPtr_gtlString : public cPtr_gtlData { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlStruct value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlStruct : public GALGAS_gtlData { //--------------------------------- Default constructor public: GALGAS_gtlStruct (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlStruct constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlStruct * ptr (void) const { return (const cPtr_gtlStruct *) mObjectPtr ; @@ -8626,21 +8440,21 @@ class GALGAS_gtlStruct : public GALGAS_gtlData { //--------------------------------- Property read access public: class GALGAS_gtlVarMap readProperty_value (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlStruct extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlStruct class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_lstring & inOperand1, - const class GALGAS_gtlVarMap & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlStruct constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_lstring & inOperand1, + const class GALGAS_gtlVarMap & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlStruct & inOperand) const ; @@ -8663,146 +8477,146 @@ class GALGAS_gtlStruct : public GALGAS_gtlData { } ; // End of GALGAS_gtlStruct class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlStruct ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlStruct class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlStruct : public cPtr_gtlData { //--- Extension getter addOp public: virtual class GALGAS_gtlData getter_addOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter hasStructField public: virtual class GALGAS_bool getter_hasStructField (const class GALGAS_lstring name, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter overriddenMap - public: virtual class GALGAS_gtlStruct getter_overriddenMap (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlStruct getter_overriddenMap (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter overrideMap - public: virtual class GALGAS_gtlStruct getter_overrideMap (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlStruct getter_overrideMap (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter performGetter public: virtual class GALGAS_gtlData getter_performGetter (const class GALGAS_lstring methodName, const class GALGAS_gtlDataList arguments, const class GALGAS_gtlContext context, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter resultField public: virtual class GALGAS_gtlData getter_resultField (const class GALGAS_lstring name, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method structField public: virtual void method_structField (const class GALGAS_lstring name, class GALGAS_gtlData & result, class GALGAS_bool & found, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -8821,7 +8635,7 @@ class cPtr_gtlStruct : public cPtr_gtlData { public: VIRTUAL_IN_DEBUG GALGAS_gtlVarMap getter_value (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setValue (GALGAS_gtlVarMap inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -8830,11 +8644,11 @@ class cPtr_gtlStruct : public cPtr_gtlData { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlType value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlType : public GALGAS_gtlData { //--------------------------------- Default constructor @@ -8851,21 +8665,21 @@ class GALGAS_gtlType : public GALGAS_gtlData { //--------------------------------- Property read access public: class GALGAS_type readProperty_type (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlType extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlType class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_lstring & inOperand1, - const class GALGAS_type & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlType constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_lstring & inOperand1, + const class GALGAS_type & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlType & inOperand) const ; @@ -8888,126 +8702,126 @@ class GALGAS_gtlType : public GALGAS_gtlData { } ; // End of GALGAS_gtlType class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlType ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlType class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlType : public cPtr_gtlData { //--- Extension getter addOp public: virtual class GALGAS_gtlData getter_addOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter performGetter public: virtual class GALGAS_gtlData getter_performGetter (const class GALGAS_lstring methodName, const class GALGAS_gtlDataList arguments, const class GALGAS_gtlContext context, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -9026,7 +8840,7 @@ class cPtr_gtlType : public cPtr_gtlData { public: VIRTUAL_IN_DEBUG GALGAS_type getter_type (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setType (GALGAS_type inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -9035,16 +8849,19 @@ class cPtr_gtlType : public cPtr_gtlData { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlUnconstructed value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlUnconstructed : public GALGAS_gtlData { //--------------------------------- Default constructor public: GALGAS_gtlUnconstructed (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlUnconstructed constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlUnconstructed * ptr (void) const { return (const cPtr_gtlUnconstructed *) mObjectPtr ; @@ -9054,20 +8871,20 @@ class GALGAS_gtlUnconstructed : public GALGAS_gtlData { public: GALGAS_gtlUnconstructed (const cPtr_gtlUnconstructed * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlUnconstructed extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlUnconstructed class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_lstring & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlUnconstructed constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_lstring & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlUnconstructed & inOperand) const ; @@ -9087,126 +8904,126 @@ class GALGAS_gtlUnconstructed : public GALGAS_gtlData { } ; // End of GALGAS_gtlUnconstructed class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlUnconstructed ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlUnconstructed class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlUnconstructed : public cPtr_gtlData { //--- Extension getter addOp public: virtual class GALGAS_gtlData getter_addOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter performGetter public: virtual class GALGAS_gtlData getter_performGetter (const class GALGAS_lstring methodName, const class GALGAS_gtlDataList arguments, const class GALGAS_gtlContext context, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -9221,7 +9038,7 @@ class cPtr_gtlUnconstructed : public cPtr_gtlData { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -9230,11 +9047,11 @@ class cPtr_gtlUnconstructed : public cPtr_gtlData { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlTypedArgumentList list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlTypedArgumentList : public AC_GALGAS_list { //--------------------------------- Default constructor @@ -9248,25 +9065,25 @@ class GALGAS_gtlTypedArgumentList : public AC_GALGAS_list { const class GALGAS_type & in_type COMMA_LOCATION_ARGS) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlTypedArgumentList extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlTypedArgumentList class_func_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlTypedArgumentList constructor_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_gtlTypedArgumentList class_func_listWithValue (const class GALGAS_type & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlTypedArgumentList constructor_listWithValue (const class GALGAS_type & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_gtlTypedArgumentList inOperand, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -9274,65 +9091,65 @@ class GALGAS_gtlTypedArgumentList : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlTypedArgumentList add_operation (const GALGAS_gtlTypedArgumentList & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_type constinArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_type constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_type & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_type & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_type & outArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setTypeAtIndex (class GALGAS_type constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_type & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_type & outArgument0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_gtlTypedArgumentList getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlTypedArgumentList getter_subListToIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlTypedArgumentList getter_subListWithRange (const class GALGAS_range & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_type getter_typeAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -9346,9 +9163,9 @@ class GALGAS_gtlTypedArgumentList : public AC_GALGAS_list { } ; // End of GALGAS_gtlTypedArgumentList class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Enumerator declaration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cEnumerator_gtlTypedArgumentList : public cGenericAbstractEnumerator { public: cEnumerator_gtlTypedArgumentList (const GALGAS_gtlTypedArgumentList & inEnumeratedObject, @@ -9360,15 +9177,15 @@ class cEnumerator_gtlTypedArgumentList : public cGenericAbstractEnumerator { public: class GALGAS_gtlTypedArgumentList_2D_element current (LOCATION_ARGS) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlTypedArgumentList ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlTypedArgumentList_2D_element struct // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlTypedArgumentList_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -9395,24 +9212,23 @@ class GALGAS_gtlTypedArgumentList_2D_element : public AC_GALGAS_root { //--------------------------------- Native constructor public: GALGAS_gtlTypedArgumentList_2D_element (const GALGAS_type & in_type) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlTypedArgumentList_2D_element extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlTypedArgumentList_2D_element class_func_new (const class GALGAS_type & inOperand0, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlTypedArgumentList_2D_element constructor_new (const class GALGAS_type & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlTypedArgumentList_2D_element & inOperand) const ; @@ -9431,15 +9247,15 @@ class GALGAS_gtlTypedArgumentList_2D_element : public AC_GALGAS_root { } ; // End of GALGAS_gtlTypedArgumentList_2D_element class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlTypedArgumentList_2D_element ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @list_2D_element struct // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_list_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -9466,24 +9282,23 @@ class GALGAS_list_2D_element : public AC_GALGAS_root { //--------------------------------- Native constructor public: GALGAS_list_2D_element (const GALGAS_gtlData & in_value) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_list_2D_element extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_list_2D_element class_func_new (const class GALGAS_gtlData & inOperand0, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_list_2D_element constructor_new (const class GALGAS_gtlData & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_list_2D_element & inOperand) const ; @@ -9502,15 +9317,15 @@ class GALGAS_list_2D_element : public AC_GALGAS_root { } ; // End of GALGAS_list_2D_element class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_list_2D_element ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @lstringset_2D_element struct // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_lstringset_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -9523,6 +9338,9 @@ class GALGAS_lstringset_2D_element : public AC_GALGAS_root { public: VIRTUAL_IN_DEBUG bool isValid (void) const override ; public: VIRTUAL_IN_DEBUG void drop (void) override ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_lstringset_2D_element constructor_default (LOCATION_ARGS) ; + //--------------------------------- Default constructor public: GALGAS_lstringset_2D_element (void) ; @@ -9537,24 +9355,23 @@ class GALGAS_lstringset_2D_element : public AC_GALGAS_root { //--------------------------------- Native constructor public: GALGAS_lstringset_2D_element (const GALGAS_lstring & in_lkey) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_lstringset_2D_element extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_lstringset_2D_element class_func_new (const class GALGAS_lstring & inOperand0, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_lstringset_2D_element constructor_new (const class GALGAS_lstring & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_lstringset_2D_element & inOperand) const ; @@ -9573,15 +9390,15 @@ class GALGAS_lstringset_2D_element : public AC_GALGAS_root { } ; // End of GALGAS_lstringset_2D_element class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_lstringset_2D_element ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlArgumentList_2D_element struct // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlArgumentList_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -9628,26 +9445,25 @@ class GALGAS_gtlArgumentList_2D_element : public AC_GALGAS_root { const GALGAS_type & in_type, const GALGAS_lstring & in_name) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlArgumentList_2D_element extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlArgumentList_2D_element class_func_new (const class GALGAS_bool & inOperand0, - const class GALGAS_type & inOperand1, - const class GALGAS_lstring & inOperand2, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlArgumentList_2D_element constructor_new (const class GALGAS_bool & inOperand0, + const class GALGAS_type & inOperand1, + const class GALGAS_lstring & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlArgumentList_2D_element & inOperand) const ; @@ -9666,23 +9482,23 @@ class GALGAS_gtlArgumentList_2D_element : public AC_GALGAS_root { } ; // End of GALGAS_gtlArgumentList_2D_element class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlArgumentList_2D_element ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlProcMap map // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cMapElement_gtlProcMap ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const char * kSearchErrorMessage_gtlProcMap_get ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlProcMap : public AC_GALGAS_map { //--------------------------------- Default constructor @@ -9692,59 +9508,59 @@ class GALGAS_gtlProcMap : public AC_GALGAS_map { public: GALGAS_gtlProcMap (const GALGAS_gtlProcMap & inSource) ; public: GALGAS_gtlProcMap & operator = (const GALGAS_gtlProcMap & inSource) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlProcMap extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlProcMap class_func_emptyMap (LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlProcMap constructor_emptyMap (LOCATION_ARGS) ; - public: static class GALGAS_gtlProcMap class_func_mapWithMapToOverride (const class GALGAS_gtlProcMap & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlProcMap constructor_mapWithMapToOverride (const class GALGAS_gtlProcMap & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) public: VIRTUAL_IN_DEBUG void addAssign_operation (const class GALGAS_lstring & inOperand0, const class GALGAS_gtlProcedure & inOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlProcMap add_operation (const GALGAS_gtlProcMap & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_put (class GALGAS_lstring constinArgument0, class GALGAS_gtlProcedure constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setProcedureForKey (class GALGAS_gtlProcedure constinArgument0, class GALGAS_string constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_get (class GALGAS_lstring constinArgument0, class GALGAS_gtlProcedure & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters - public: VIRTUAL_IN_DEBUG class GALGAS_gtlProcMap getter_overriddenMap (Compiler * inCompiler + public: VIRTUAL_IN_DEBUG class GALGAS_gtlProcMap getter_overriddenMap (C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlProcedure getter_procedureForKey (const class GALGAS_string & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -9755,7 +9571,7 @@ class GALGAS_gtlProcMap : public AC_GALGAS_map { //--------------------------------- Introspection public: VIRTUAL_IN_DEBUG const C_galgas_type_descriptor * staticTypeDescriptor (void) const override ; - public: VIRTUAL_IN_DEBUG cMapElement_gtlProcMap * readWriteAccessForWithInstruction (Compiler * inCompiler, + public: VIRTUAL_IN_DEBUG cMapElement_gtlProcMap * readWriteAccessForWithInstruction (C_Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) ; @@ -9765,9 +9581,9 @@ class GALGAS_gtlProcMap : public AC_GALGAS_map { } ; // End of GALGAS_gtlProcMap class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Enumerator declaration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cEnumerator_gtlProcMap : public cGenericAbstractEnumerator { public: cEnumerator_gtlProcMap (const GALGAS_gtlProcMap & inEnumeratedObject, @@ -9780,20 +9596,23 @@ class cEnumerator_gtlProcMap : public cGenericAbstractEnumerator { public: class GALGAS_gtlProcMap_2D_element current (LOCATION_ARGS) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlProcMap ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlProcedure value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlProcedure : public GALGAS_gtlExecutableEntity { //--------------------------------- Default constructor public: GALGAS_gtlProcedure (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlProcedure constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlProcedure * ptr (void) const { return (const cPtr_gtlProcedure *) mObjectPtr ; @@ -9803,22 +9622,22 @@ class GALGAS_gtlProcedure : public GALGAS_gtlExecutableEntity { public: GALGAS_gtlProcedure (const cPtr_gtlProcedure * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlProcedure extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlProcedure class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_lstring & inOperand1, - const class GALGAS_gtlArgumentList & inOperand2, - const class GALGAS_gtlInstructionList & inOperand3 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlProcedure constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_lstring & inOperand1, + const class GALGAS_gtlArgumentList & inOperand2, + const class GALGAS_gtlInstructionList & inOperand3 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlProcedure & inOperand) const ; @@ -9838,15 +9657,15 @@ class GALGAS_gtlProcedure : public GALGAS_gtlExecutableEntity { } ; // End of GALGAS_gtlProcedure class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlProcedure ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: class for element of '@gtlProcMap' map // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cMapElement_gtlProcMap : public cMapElement { //--- Map attributes @@ -9867,14 +9686,14 @@ class cMapElement_gtlProcMap : public cMapElement { public: virtual cMapElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlProcMap_2D_element struct // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlProcMap_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -9892,6 +9711,9 @@ class GALGAS_gtlProcMap_2D_element : public AC_GALGAS_root { public: VIRTUAL_IN_DEBUG bool isValid (void) const override ; public: VIRTUAL_IN_DEBUG void drop (void) override ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlProcMap_2D_element constructor_default (LOCATION_ARGS) ; + //--------------------------------- Default constructor public: GALGAS_gtlProcMap_2D_element (void) ; @@ -9911,25 +9733,24 @@ class GALGAS_gtlProcMap_2D_element : public AC_GALGAS_root { public: GALGAS_gtlProcMap_2D_element (const GALGAS_lstring & in_lkey, const GALGAS_gtlProcedure & in_procedure) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlProcMap_2D_element extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlProcMap_2D_element class_func_new (const class GALGAS_lstring & inOperand0, - const class GALGAS_gtlProcedure & inOperand1, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlProcMap_2D_element constructor_new (const class GALGAS_lstring & inOperand0, + const class GALGAS_gtlProcedure & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlProcMap_2D_element & inOperand) const ; @@ -9948,15 +9769,15 @@ class GALGAS_gtlProcMap_2D_element : public AC_GALGAS_root { } ; // End of GALGAS_gtlProcMap_2D_element class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlProcMap_2D_element ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlBinaryExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlBinaryExpression : public GALGAS_gtlExpression { //--------------------------------- Default constructor @@ -9975,14 +9796,14 @@ class GALGAS_gtlBinaryExpression : public GALGAS_gtlExpression { public: class GALGAS_gtlExpression readProperty_rSon (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlBinaryExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison @@ -10009,15 +9830,15 @@ class GALGAS_gtlBinaryExpression : public GALGAS_gtlExpression { } ; // End of GALGAS_gtlBinaryExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlBinaryExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlBinaryExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlBinaryExpression : public cPtr_gtlExpression { @@ -10038,7 +9859,7 @@ class cPtr_gtlBinaryExpression : public cPtr_gtlExpression { public: VIRTUAL_IN_DEBUG GALGAS_gtlExpression getter_rSon (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setRSon (GALGAS_gtlExpression inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override = 0 ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override = 0 ; @@ -10047,11 +9868,11 @@ class cPtr_gtlBinaryExpression : public cPtr_gtlExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlAddExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlAddExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -10066,21 +9887,21 @@ class GALGAS_gtlAddExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlAddExpression (const cPtr_gtlAddExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlAddExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlAddExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpression & inOperand1, - const class GALGAS_gtlExpression & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlAddExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1, + const class GALGAS_gtlExpression & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlAddExpression & inOperand) const ; @@ -10100,15 +9921,15 @@ class GALGAS_gtlAddExpression : public GALGAS_gtlBinaryExpression { } ; // End of GALGAS_gtlAddExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlAddExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlAddExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlAddExpression : public cPtr_gtlBinaryExpression { @@ -10116,10 +9937,10 @@ class cPtr_gtlAddExpression : public cPtr_gtlBinaryExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -10135,7 +9956,7 @@ class cPtr_gtlAddExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -10144,16 +9965,19 @@ class cPtr_gtlAddExpression : public cPtr_gtlBinaryExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlAllVarsRef value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlAllVarsRef : public GALGAS_gtlExpression { //--------------------------------- Default constructor public: GALGAS_gtlAllVarsRef (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlAllVarsRef constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlAllVarsRef * ptr (void) const { return (const cPtr_gtlAllVarsRef *) mObjectPtr ; @@ -10163,19 +9987,19 @@ class GALGAS_gtlAllVarsRef : public GALGAS_gtlExpression { public: GALGAS_gtlAllVarsRef (const cPtr_gtlAllVarsRef * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlAllVarsRef extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlAllVarsRef class_func_new (const class GALGAS_location & inOperand0 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlAllVarsRef constructor_new (const class GALGAS_location & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlAllVarsRef & inOperand) const ; @@ -10195,15 +10019,15 @@ class GALGAS_gtlAllVarsRef : public GALGAS_gtlExpression { } ; // End of GALGAS_gtlAllVarsRef class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlAllVarsRef ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlAllVarsRef class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlAllVarsRef : public cPtr_gtlExpression { @@ -10211,10 +10035,10 @@ class cPtr_gtlAllVarsRef : public cPtr_gtlExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -10228,7 +10052,7 @@ class cPtr_gtlAllVarsRef : public cPtr_gtlExpression { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -10237,11 +10061,11 @@ class cPtr_gtlAllVarsRef : public cPtr_gtlExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlAndExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlAndExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -10256,21 +10080,21 @@ class GALGAS_gtlAndExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlAndExpression (const cPtr_gtlAndExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlAndExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlAndExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpression & inOperand1, - const class GALGAS_gtlExpression & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlAndExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1, + const class GALGAS_gtlExpression & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlAndExpression & inOperand) const ; @@ -10290,15 +10114,15 @@ class GALGAS_gtlAndExpression : public GALGAS_gtlBinaryExpression { } ; // End of GALGAS_gtlAndExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlAndExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlAndExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlAndExpression : public cPtr_gtlBinaryExpression { @@ -10306,10 +10130,10 @@ class cPtr_gtlAndExpression : public cPtr_gtlBinaryExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -10325,7 +10149,7 @@ class cPtr_gtlAndExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -10334,11 +10158,11 @@ class cPtr_gtlAndExpression : public cPtr_gtlBinaryExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlDivideExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlDivideExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -10353,21 +10177,21 @@ class GALGAS_gtlDivideExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlDivideExpression (const cPtr_gtlDivideExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlDivideExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlDivideExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpression & inOperand1, - const class GALGAS_gtlExpression & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlDivideExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1, + const class GALGAS_gtlExpression & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlDivideExpression & inOperand) const ; @@ -10387,15 +10211,15 @@ class GALGAS_gtlDivideExpression : public GALGAS_gtlBinaryExpression { } ; // End of GALGAS_gtlDivideExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlDivideExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlDivideExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlDivideExpression : public cPtr_gtlBinaryExpression { @@ -10403,10 +10227,10 @@ class cPtr_gtlDivideExpression : public cPtr_gtlBinaryExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -10422,7 +10246,7 @@ class cPtr_gtlDivideExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -10431,11 +10255,11 @@ class cPtr_gtlDivideExpression : public cPtr_gtlBinaryExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlEqualExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlEqualExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -10450,21 +10274,21 @@ class GALGAS_gtlEqualExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlEqualExpression (const cPtr_gtlEqualExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlEqualExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlEqualExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpression & inOperand1, - const class GALGAS_gtlExpression & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlEqualExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1, + const class GALGAS_gtlExpression & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlEqualExpression & inOperand) const ; @@ -10484,15 +10308,15 @@ class GALGAS_gtlEqualExpression : public GALGAS_gtlBinaryExpression { } ; // End of GALGAS_gtlEqualExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlEqualExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlEqualExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlEqualExpression : public cPtr_gtlBinaryExpression { @@ -10500,10 +10324,10 @@ class cPtr_gtlEqualExpression : public cPtr_gtlBinaryExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -10519,7 +10343,7 @@ class cPtr_gtlEqualExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -10528,16 +10352,19 @@ class cPtr_gtlEqualExpression : public cPtr_gtlBinaryExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlExistsExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlExistsExpression : public GALGAS_gtlExpression { //--------------------------------- Default constructor public: GALGAS_gtlExistsExpression (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlExistsExpression constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlExistsExpression * ptr (void) const { return (const cPtr_gtlExistsExpression *) mObjectPtr ; @@ -10549,20 +10376,20 @@ class GALGAS_gtlExistsExpression : public GALGAS_gtlExpression { //--------------------------------- Property read access public: class GALGAS_gtlVarPath readProperty_variable (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlExistsExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlExistsExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlVarPath & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlExistsExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlVarPath & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlExistsExpression & inOperand) const ; @@ -10585,15 +10412,15 @@ class GALGAS_gtlExistsExpression : public GALGAS_gtlExpression { } ; // End of GALGAS_gtlExistsExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlExistsExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlExistsExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlExistsExpression : public cPtr_gtlExpression { @@ -10601,10 +10428,10 @@ class cPtr_gtlExistsExpression : public cPtr_gtlExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -10622,7 +10449,7 @@ class cPtr_gtlExistsExpression : public cPtr_gtlExpression { public: VIRTUAL_IN_DEBUG GALGAS_gtlVarPath getter_variable (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setVariable (GALGAS_gtlVarPath inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -10631,11 +10458,11 @@ class cPtr_gtlExistsExpression : public cPtr_gtlExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlExistsDefaultExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlExistsDefaultExpression : public GALGAS_gtlExistsExpression { //--------------------------------- Default constructor @@ -10652,21 +10479,21 @@ class GALGAS_gtlExistsDefaultExpression : public GALGAS_gtlExistsExpression { //--------------------------------- Property read access public: class GALGAS_gtlExpression readProperty_defaultValue (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlExistsDefaultExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlExistsDefaultExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlVarPath & inOperand1, - const class GALGAS_gtlExpression & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlExistsDefaultExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlVarPath & inOperand1, + const class GALGAS_gtlExpression & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlExistsDefaultExpression & inOperand) const ; @@ -10689,15 +10516,15 @@ class GALGAS_gtlExistsDefaultExpression : public GALGAS_gtlExistsExpression { } ; // End of GALGAS_gtlExistsDefaultExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlExistsDefaultExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlExistsDefaultExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlExistsDefaultExpression : public cPtr_gtlExistsExpression { @@ -10705,10 +10532,10 @@ class cPtr_gtlExistsDefaultExpression : public cPtr_gtlExistsExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -10727,7 +10554,7 @@ class cPtr_gtlExistsDefaultExpression : public cPtr_gtlExistsExpression { public: VIRTUAL_IN_DEBUG GALGAS_gtlExpression getter_defaultValue (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setDefaultValue (GALGAS_gtlExpression inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -10736,11 +10563,11 @@ class cPtr_gtlExistsDefaultExpression : public cPtr_gtlExistsExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlExpr value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlExpr : public GALGAS_gtlData { //--------------------------------- Default constructor @@ -10757,21 +10584,21 @@ class GALGAS_gtlExpr : public GALGAS_gtlData { //--------------------------------- Property read access public: class GALGAS_gtlExpression readProperty_value (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlExpr extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlExpr class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_lstring & inOperand1, - const class GALGAS_gtlExpression & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlExpr constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_lstring & inOperand1, + const class GALGAS_gtlExpression & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlExpr & inOperand) const ; @@ -10794,126 +10621,126 @@ class GALGAS_gtlExpr : public GALGAS_gtlData { } ; // End of GALGAS_gtlExpr class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlExpr ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlExpr class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlExpr : public cPtr_gtlData { //--- Extension getter addOp public: virtual class GALGAS_gtlData getter_addOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter performGetter public: virtual class GALGAS_gtlData getter_performGetter (const class GALGAS_lstring methodName, const class GALGAS_gtlDataList arguments, const class GALGAS_gtlContext context, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -10932,7 +10759,7 @@ class cPtr_gtlExpr : public cPtr_gtlData { public: VIRTUAL_IN_DEBUG GALGAS_gtlExpression getter_value (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setValue (GALGAS_gtlExpression inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -10941,16 +10768,19 @@ class cPtr_gtlExpr : public cPtr_gtlData { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlFunctionCallExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlFunctionCallExpression : public GALGAS_gtlExpression { //--------------------------------- Default constructor public: GALGAS_gtlFunctionCallExpression (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlFunctionCallExpression constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlFunctionCallExpression * ptr (void) const { return (const cPtr_gtlFunctionCallExpression *) mObjectPtr ; @@ -10964,21 +10794,21 @@ class GALGAS_gtlFunctionCallExpression : public GALGAS_gtlExpression { public: class GALGAS_gtlExpressionList readProperty_functionArguments (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlFunctionCallExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlFunctionCallExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_lstring & inOperand1, - const class GALGAS_gtlExpressionList & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlFunctionCallExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_lstring & inOperand1, + const class GALGAS_gtlExpressionList & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlFunctionCallExpression & inOperand) const ; @@ -11004,15 +10834,15 @@ class GALGAS_gtlFunctionCallExpression : public GALGAS_gtlExpression { } ; // End of GALGAS_gtlFunctionCallExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlFunctionCallExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlFunctionCallExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlFunctionCallExpression : public cPtr_gtlExpression { @@ -11020,10 +10850,10 @@ class cPtr_gtlFunctionCallExpression : public cPtr_gtlExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -11045,7 +10875,7 @@ class cPtr_gtlFunctionCallExpression : public cPtr_gtlExpression { public: VIRTUAL_IN_DEBUG GALGAS_gtlExpressionList getter_functionArguments (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setFunctionArguments (GALGAS_gtlExpressionList inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -11054,11 +10884,11 @@ class cPtr_gtlFunctionCallExpression : public cPtr_gtlExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlGetterCallExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlGetterCallExpression : public GALGAS_gtlExpression { //--------------------------------- Default constructor @@ -11079,22 +10909,22 @@ class GALGAS_gtlGetterCallExpression : public GALGAS_gtlExpression { public: class GALGAS_gtlExpressionList readProperty_arguments (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlGetterCallExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlGetterCallExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpression & inOperand1, - const class GALGAS_lstring & inOperand2, - const class GALGAS_gtlExpressionList & inOperand3 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlGetterCallExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1, + const class GALGAS_lstring & inOperand2, + const class GALGAS_gtlExpressionList & inOperand3 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlGetterCallExpression & inOperand) const ; @@ -11123,15 +10953,15 @@ class GALGAS_gtlGetterCallExpression : public GALGAS_gtlExpression { } ; // End of GALGAS_gtlGetterCallExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlGetterCallExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlGetterCallExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlGetterCallExpression : public cPtr_gtlExpression { @@ -11139,10 +10969,10 @@ class cPtr_gtlGetterCallExpression : public cPtr_gtlExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -11168,7 +10998,7 @@ class cPtr_gtlGetterCallExpression : public cPtr_gtlExpression { public: VIRTUAL_IN_DEBUG GALGAS_gtlExpressionList getter_arguments (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setArguments (GALGAS_gtlExpressionList inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -11177,11 +11007,11 @@ class cPtr_gtlGetterCallExpression : public cPtr_gtlExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlGreaterOrEqualExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlGreaterOrEqualExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -11196,21 +11026,21 @@ class GALGAS_gtlGreaterOrEqualExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlGreaterOrEqualExpression (const cPtr_gtlGreaterOrEqualExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlGreaterOrEqualExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlGreaterOrEqualExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpression & inOperand1, - const class GALGAS_gtlExpression & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlGreaterOrEqualExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1, + const class GALGAS_gtlExpression & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlGreaterOrEqualExpression & inOperand) const ; @@ -11230,15 +11060,15 @@ class GALGAS_gtlGreaterOrEqualExpression : public GALGAS_gtlBinaryExpression { } ; // End of GALGAS_gtlGreaterOrEqualExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlGreaterOrEqualExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlGreaterOrEqualExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlGreaterOrEqualExpression : public cPtr_gtlBinaryExpression { @@ -11246,10 +11076,10 @@ class cPtr_gtlGreaterOrEqualExpression : public cPtr_gtlBinaryExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -11265,7 +11095,7 @@ class cPtr_gtlGreaterOrEqualExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -11274,11 +11104,11 @@ class cPtr_gtlGreaterOrEqualExpression : public cPtr_gtlBinaryExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlGreaterThanExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlGreaterThanExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -11293,21 +11123,21 @@ class GALGAS_gtlGreaterThanExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlGreaterThanExpression (const cPtr_gtlGreaterThanExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlGreaterThanExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlGreaterThanExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpression & inOperand1, - const class GALGAS_gtlExpression & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlGreaterThanExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1, + const class GALGAS_gtlExpression & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlGreaterThanExpression & inOperand) const ; @@ -11327,15 +11157,15 @@ class GALGAS_gtlGreaterThanExpression : public GALGAS_gtlBinaryExpression { } ; // End of GALGAS_gtlGreaterThanExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlGreaterThanExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlGreaterThanExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlGreaterThanExpression : public cPtr_gtlBinaryExpression { @@ -11343,10 +11173,10 @@ class cPtr_gtlGreaterThanExpression : public cPtr_gtlBinaryExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -11362,7 +11192,7 @@ class cPtr_gtlGreaterThanExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -11371,11 +11201,11 @@ class cPtr_gtlGreaterThanExpression : public cPtr_gtlBinaryExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlListOfExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlListOfExpression : public GALGAS_gtlExpression { //--------------------------------- Default constructor @@ -11392,20 +11222,20 @@ class GALGAS_gtlListOfExpression : public GALGAS_gtlExpression { //--------------------------------- Property read access public: class GALGAS_gtlExpression readProperty_expression (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlListOfExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlListOfExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpression & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlListOfExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlListOfExpression & inOperand) const ; @@ -11428,15 +11258,15 @@ class GALGAS_gtlListOfExpression : public GALGAS_gtlExpression { } ; // End of GALGAS_gtlListOfExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlListOfExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlListOfExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlListOfExpression : public cPtr_gtlExpression { @@ -11444,10 +11274,10 @@ class cPtr_gtlListOfExpression : public cPtr_gtlExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -11465,7 +11295,7 @@ class cPtr_gtlListOfExpression : public cPtr_gtlExpression { public: VIRTUAL_IN_DEBUG GALGAS_gtlExpression getter_expression (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setExpression (GALGAS_gtlExpression inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -11474,16 +11304,19 @@ class cPtr_gtlListOfExpression : public cPtr_gtlExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLiteralListExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlLiteralListExpression : public GALGAS_gtlExpression { //--------------------------------- Default constructor public: GALGAS_gtlLiteralListExpression (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlLiteralListExpression constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlLiteralListExpression * ptr (void) const { return (const cPtr_gtlLiteralListExpression *) mObjectPtr ; @@ -11495,20 +11328,20 @@ class GALGAS_gtlLiteralListExpression : public GALGAS_gtlExpression { //--------------------------------- Property read access public: class GALGAS_gtlExpressionList readProperty_value (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLiteralListExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlLiteralListExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpressionList & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlLiteralListExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpressionList & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLiteralListExpression & inOperand) const ; @@ -11531,15 +11364,15 @@ class GALGAS_gtlLiteralListExpression : public GALGAS_gtlExpression { } ; // End of GALGAS_gtlLiteralListExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlLiteralListExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlLiteralListExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlLiteralListExpression : public cPtr_gtlExpression { @@ -11547,10 +11380,10 @@ class cPtr_gtlLiteralListExpression : public cPtr_gtlExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -11568,7 +11401,7 @@ class cPtr_gtlLiteralListExpression : public cPtr_gtlExpression { public: VIRTUAL_IN_DEBUG GALGAS_gtlExpressionList getter_value (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setValue (GALGAS_gtlExpressionList inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -11577,16 +11410,19 @@ class cPtr_gtlLiteralListExpression : public cPtr_gtlExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLiteralMapExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlLiteralMapExpression : public GALGAS_gtlExpression { //--------------------------------- Default constructor public: GALGAS_gtlLiteralMapExpression (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlLiteralMapExpression constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlLiteralMapExpression * ptr (void) const { return (const cPtr_gtlLiteralMapExpression *) mObjectPtr ; @@ -11598,20 +11434,20 @@ class GALGAS_gtlLiteralMapExpression : public GALGAS_gtlExpression { //--------------------------------- Property read access public: class GALGAS_gtlExpressionMap readProperty_value (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLiteralMapExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlLiteralMapExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpressionMap & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlLiteralMapExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpressionMap & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLiteralMapExpression & inOperand) const ; @@ -11634,15 +11470,15 @@ class GALGAS_gtlLiteralMapExpression : public GALGAS_gtlExpression { } ; // End of GALGAS_gtlLiteralMapExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlLiteralMapExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlLiteralMapExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlLiteralMapExpression : public cPtr_gtlExpression { @@ -11650,10 +11486,10 @@ class cPtr_gtlLiteralMapExpression : public cPtr_gtlExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -11671,7 +11507,7 @@ class cPtr_gtlLiteralMapExpression : public cPtr_gtlExpression { public: VIRTUAL_IN_DEBUG GALGAS_gtlExpressionMap getter_value (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setValue (GALGAS_gtlExpressionMap inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -11680,16 +11516,19 @@ class cPtr_gtlLiteralMapExpression : public cPtr_gtlExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLiteralSetExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlLiteralSetExpression : public GALGAS_gtlExpression { //--------------------------------- Default constructor public: GALGAS_gtlLiteralSetExpression (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlLiteralSetExpression constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlLiteralSetExpression * ptr (void) const { return (const cPtr_gtlLiteralSetExpression *) mObjectPtr ; @@ -11701,20 +11540,20 @@ class GALGAS_gtlLiteralSetExpression : public GALGAS_gtlExpression { //--------------------------------- Property read access public: class GALGAS_gtlExpressionList readProperty_value (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLiteralSetExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlLiteralSetExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpressionList & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlLiteralSetExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpressionList & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLiteralSetExpression & inOperand) const ; @@ -11737,15 +11576,15 @@ class GALGAS_gtlLiteralSetExpression : public GALGAS_gtlExpression { } ; // End of GALGAS_gtlLiteralSetExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlLiteralSetExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlLiteralSetExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlLiteralSetExpression : public cPtr_gtlExpression { @@ -11753,10 +11592,10 @@ class cPtr_gtlLiteralSetExpression : public cPtr_gtlExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -11774,7 +11613,7 @@ class cPtr_gtlLiteralSetExpression : public cPtr_gtlExpression { public: VIRTUAL_IN_DEBUG GALGAS_gtlExpressionList getter_value (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setValue (GALGAS_gtlExpressionList inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -11783,16 +11622,19 @@ class cPtr_gtlLiteralSetExpression : public cPtr_gtlExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLiteralStructExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlLiteralStructExpression : public GALGAS_gtlExpression { //--------------------------------- Default constructor public: GALGAS_gtlLiteralStructExpression (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlLiteralStructExpression constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlLiteralStructExpression * ptr (void) const { return (const cPtr_gtlLiteralStructExpression *) mObjectPtr ; @@ -11804,20 +11646,20 @@ class GALGAS_gtlLiteralStructExpression : public GALGAS_gtlExpression { //--------------------------------- Property read access public: class GALGAS_gtlExpressionMap readProperty_value (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLiteralStructExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlLiteralStructExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpressionMap & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlLiteralStructExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpressionMap & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLiteralStructExpression & inOperand) const ; @@ -11840,15 +11682,15 @@ class GALGAS_gtlLiteralStructExpression : public GALGAS_gtlExpression { } ; // End of GALGAS_gtlLiteralStructExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlLiteralStructExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlLiteralStructExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlLiteralStructExpression : public cPtr_gtlExpression { @@ -11856,10 +11698,10 @@ class cPtr_gtlLiteralStructExpression : public cPtr_gtlExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -11877,7 +11719,7 @@ class cPtr_gtlLiteralStructExpression : public cPtr_gtlExpression { public: VIRTUAL_IN_DEBUG GALGAS_gtlExpressionMap getter_value (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setValue (GALGAS_gtlExpressionMap inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -11886,11 +11728,11 @@ class cPtr_gtlLiteralStructExpression : public cPtr_gtlExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLowerOrEqualExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlLowerOrEqualExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -11905,21 +11747,21 @@ class GALGAS_gtlLowerOrEqualExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlLowerOrEqualExpression (const cPtr_gtlLowerOrEqualExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLowerOrEqualExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlLowerOrEqualExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpression & inOperand1, - const class GALGAS_gtlExpression & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlLowerOrEqualExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1, + const class GALGAS_gtlExpression & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLowerOrEqualExpression & inOperand) const ; @@ -11939,15 +11781,15 @@ class GALGAS_gtlLowerOrEqualExpression : public GALGAS_gtlBinaryExpression { } ; // End of GALGAS_gtlLowerOrEqualExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlLowerOrEqualExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlLowerOrEqualExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlLowerOrEqualExpression : public cPtr_gtlBinaryExpression { @@ -11955,10 +11797,10 @@ class cPtr_gtlLowerOrEqualExpression : public cPtr_gtlBinaryExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -11974,7 +11816,7 @@ class cPtr_gtlLowerOrEqualExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -11983,11 +11825,11 @@ class cPtr_gtlLowerOrEqualExpression : public cPtr_gtlBinaryExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLowerThanExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlLowerThanExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -12002,21 +11844,21 @@ class GALGAS_gtlLowerThanExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlLowerThanExpression (const cPtr_gtlLowerThanExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLowerThanExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlLowerThanExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpression & inOperand1, - const class GALGAS_gtlExpression & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlLowerThanExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1, + const class GALGAS_gtlExpression & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLowerThanExpression & inOperand) const ; @@ -12036,15 +11878,15 @@ class GALGAS_gtlLowerThanExpression : public GALGAS_gtlBinaryExpression { } ; // End of GALGAS_gtlLowerThanExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlLowerThanExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlLowerThanExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlLowerThanExpression : public cPtr_gtlBinaryExpression { @@ -12052,10 +11894,10 @@ class cPtr_gtlLowerThanExpression : public cPtr_gtlBinaryExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -12071,7 +11913,7 @@ class cPtr_gtlLowerThanExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -12080,11 +11922,11 @@ class cPtr_gtlLowerThanExpression : public cPtr_gtlBinaryExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlMapOfStructExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlMapOfStructExpression : public GALGAS_gtlExpression { //--------------------------------- Default constructor @@ -12101,20 +11943,20 @@ class GALGAS_gtlMapOfStructExpression : public GALGAS_gtlExpression { //--------------------------------- Property read access public: class GALGAS_gtlExpression readProperty_expression (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlMapOfStructExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlMapOfStructExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpression & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlMapOfStructExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlMapOfStructExpression & inOperand) const ; @@ -12137,15 +11979,15 @@ class GALGAS_gtlMapOfStructExpression : public GALGAS_gtlExpression { } ; // End of GALGAS_gtlMapOfStructExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlMapOfStructExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlMapOfStructExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlMapOfStructExpression : public cPtr_gtlExpression { @@ -12153,10 +11995,10 @@ class cPtr_gtlMapOfStructExpression : public cPtr_gtlExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -12174,7 +12016,7 @@ class cPtr_gtlMapOfStructExpression : public cPtr_gtlExpression { public: VIRTUAL_IN_DEBUG GALGAS_gtlExpression getter_expression (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setExpression (GALGAS_gtlExpression inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -12183,11 +12025,11 @@ class cPtr_gtlMapOfStructExpression : public cPtr_gtlExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlMapOfListExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlMapOfListExpression : public GALGAS_gtlMapOfStructExpression { //--------------------------------- Default constructor @@ -12204,21 +12046,21 @@ class GALGAS_gtlMapOfListExpression : public GALGAS_gtlMapOfStructExpression { //--------------------------------- Property read access public: class GALGAS_lstring readProperty_key (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlMapOfListExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlMapOfListExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpression & inOperand1, - const class GALGAS_lstring & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlMapOfListExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1, + const class GALGAS_lstring & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlMapOfListExpression & inOperand) const ; @@ -12241,15 +12083,15 @@ class GALGAS_gtlMapOfListExpression : public GALGAS_gtlMapOfStructExpression { } ; // End of GALGAS_gtlMapOfListExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlMapOfListExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlMapOfListExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlMapOfListExpression : public cPtr_gtlMapOfStructExpression { @@ -12257,7 +12099,7 @@ class cPtr_gtlMapOfListExpression : public cPtr_gtlMapOfStructExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -12276,7 +12118,7 @@ class cPtr_gtlMapOfListExpression : public cPtr_gtlMapOfStructExpression { public: VIRTUAL_IN_DEBUG GALGAS_lstring getter_key (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setKey (GALGAS_lstring inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -12285,11 +12127,11 @@ class cPtr_gtlMapOfListExpression : public cPtr_gtlMapOfStructExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlUnaryExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlUnaryExpression : public GALGAS_gtlExpression { //--------------------------------- Default constructor @@ -12306,14 +12148,14 @@ class GALGAS_gtlUnaryExpression : public GALGAS_gtlExpression { //--------------------------------- Property read access public: class GALGAS_gtlExpression readProperty_son (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlUnaryExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison @@ -12337,15 +12179,15 @@ class GALGAS_gtlUnaryExpression : public GALGAS_gtlExpression { } ; // End of GALGAS_gtlUnaryExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlUnaryExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlUnaryExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlUnaryExpression : public cPtr_gtlExpression { @@ -12362,7 +12204,7 @@ class cPtr_gtlUnaryExpression : public cPtr_gtlExpression { public: VIRTUAL_IN_DEBUG GALGAS_gtlExpression getter_son (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setSon (GALGAS_gtlExpression inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override = 0 ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override = 0 ; @@ -12371,11 +12213,11 @@ class cPtr_gtlUnaryExpression : public cPtr_gtlExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlMinusExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlMinusExpression : public GALGAS_gtlUnaryExpression { //--------------------------------- Default constructor @@ -12390,20 +12232,20 @@ class GALGAS_gtlMinusExpression : public GALGAS_gtlUnaryExpression { public: GALGAS_gtlMinusExpression (const cPtr_gtlMinusExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlMinusExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlMinusExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpression & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlMinusExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlMinusExpression & inOperand) const ; @@ -12423,15 +12265,15 @@ class GALGAS_gtlMinusExpression : public GALGAS_gtlUnaryExpression { } ; // End of GALGAS_gtlMinusExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlMinusExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlMinusExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlMinusExpression : public cPtr_gtlUnaryExpression { @@ -12439,10 +12281,10 @@ class cPtr_gtlMinusExpression : public cPtr_gtlUnaryExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -12457,7 +12299,7 @@ class cPtr_gtlMinusExpression : public cPtr_gtlUnaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -12466,11 +12308,11 @@ class cPtr_gtlMinusExpression : public cPtr_gtlUnaryExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlModulusExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlModulusExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -12485,21 +12327,21 @@ class GALGAS_gtlModulusExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlModulusExpression (const cPtr_gtlModulusExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlModulusExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlModulusExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpression & inOperand1, - const class GALGAS_gtlExpression & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlModulusExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1, + const class GALGAS_gtlExpression & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlModulusExpression & inOperand) const ; @@ -12519,15 +12361,15 @@ class GALGAS_gtlModulusExpression : public GALGAS_gtlBinaryExpression { } ; // End of GALGAS_gtlModulusExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlModulusExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlModulusExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlModulusExpression : public cPtr_gtlBinaryExpression { @@ -12535,10 +12377,10 @@ class cPtr_gtlModulusExpression : public cPtr_gtlBinaryExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -12554,7 +12396,7 @@ class cPtr_gtlModulusExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -12563,11 +12405,11 @@ class cPtr_gtlModulusExpression : public cPtr_gtlBinaryExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlMultiplyExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlMultiplyExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -12582,21 +12424,21 @@ class GALGAS_gtlMultiplyExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlMultiplyExpression (const cPtr_gtlMultiplyExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlMultiplyExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlMultiplyExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpression & inOperand1, - const class GALGAS_gtlExpression & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlMultiplyExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1, + const class GALGAS_gtlExpression & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlMultiplyExpression & inOperand) const ; @@ -12616,15 +12458,15 @@ class GALGAS_gtlMultiplyExpression : public GALGAS_gtlBinaryExpression { } ; // End of GALGAS_gtlMultiplyExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlMultiplyExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlMultiplyExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlMultiplyExpression : public cPtr_gtlBinaryExpression { @@ -12632,10 +12474,10 @@ class cPtr_gtlMultiplyExpression : public cPtr_gtlBinaryExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -12651,7 +12493,7 @@ class cPtr_gtlMultiplyExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -12660,11 +12502,11 @@ class cPtr_gtlMultiplyExpression : public cPtr_gtlBinaryExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlNotEqualExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlNotEqualExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -12679,21 +12521,21 @@ class GALGAS_gtlNotEqualExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlNotEqualExpression (const cPtr_gtlNotEqualExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlNotEqualExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlNotEqualExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpression & inOperand1, - const class GALGAS_gtlExpression & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlNotEqualExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1, + const class GALGAS_gtlExpression & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlNotEqualExpression & inOperand) const ; @@ -12713,15 +12555,15 @@ class GALGAS_gtlNotEqualExpression : public GALGAS_gtlBinaryExpression { } ; // End of GALGAS_gtlNotEqualExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlNotEqualExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlNotEqualExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlNotEqualExpression : public cPtr_gtlBinaryExpression { @@ -12729,10 +12571,10 @@ class cPtr_gtlNotEqualExpression : public cPtr_gtlBinaryExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -12748,7 +12590,7 @@ class cPtr_gtlNotEqualExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -12757,11 +12599,11 @@ class cPtr_gtlNotEqualExpression : public cPtr_gtlBinaryExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlNotExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlNotExpression : public GALGAS_gtlUnaryExpression { //--------------------------------- Default constructor @@ -12776,20 +12618,20 @@ class GALGAS_gtlNotExpression : public GALGAS_gtlUnaryExpression { public: GALGAS_gtlNotExpression (const cPtr_gtlNotExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlNotExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlNotExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpression & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlNotExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlNotExpression & inOperand) const ; @@ -12809,15 +12651,15 @@ class GALGAS_gtlNotExpression : public GALGAS_gtlUnaryExpression { } ; // End of GALGAS_gtlNotExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlNotExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlNotExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlNotExpression : public cPtr_gtlUnaryExpression { @@ -12825,10 +12667,10 @@ class cPtr_gtlNotExpression : public cPtr_gtlUnaryExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -12843,7 +12685,7 @@ class cPtr_gtlNotExpression : public cPtr_gtlUnaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -12852,11 +12694,11 @@ class cPtr_gtlNotExpression : public cPtr_gtlUnaryExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlOrExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlOrExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -12871,21 +12713,21 @@ class GALGAS_gtlOrExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlOrExpression (const cPtr_gtlOrExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlOrExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlOrExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpression & inOperand1, - const class GALGAS_gtlExpression & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlOrExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1, + const class GALGAS_gtlExpression & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlOrExpression & inOperand) const ; @@ -12905,15 +12747,15 @@ class GALGAS_gtlOrExpression : public GALGAS_gtlBinaryExpression { } ; // End of GALGAS_gtlOrExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlOrExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlOrExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlOrExpression : public cPtr_gtlBinaryExpression { @@ -12921,10 +12763,10 @@ class cPtr_gtlOrExpression : public cPtr_gtlBinaryExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -12940,7 +12782,7 @@ class cPtr_gtlOrExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -12949,11 +12791,11 @@ class cPtr_gtlOrExpression : public cPtr_gtlBinaryExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlParenthesizedExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlParenthesizedExpression : public GALGAS_gtlUnaryExpression { //--------------------------------- Default constructor @@ -12968,20 +12810,20 @@ class GALGAS_gtlParenthesizedExpression : public GALGAS_gtlUnaryExpression { public: GALGAS_gtlParenthesizedExpression (const cPtr_gtlParenthesizedExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlParenthesizedExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlParenthesizedExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpression & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlParenthesizedExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlParenthesizedExpression & inOperand) const ; @@ -13001,15 +12843,15 @@ class GALGAS_gtlParenthesizedExpression : public GALGAS_gtlUnaryExpression { } ; // End of GALGAS_gtlParenthesizedExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlParenthesizedExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlParenthesizedExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlParenthesizedExpression : public cPtr_gtlUnaryExpression { @@ -13017,10 +12859,10 @@ class cPtr_gtlParenthesizedExpression : public cPtr_gtlUnaryExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -13035,7 +12877,7 @@ class cPtr_gtlParenthesizedExpression : public cPtr_gtlUnaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -13044,11 +12886,11 @@ class cPtr_gtlParenthesizedExpression : public cPtr_gtlUnaryExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlPlusExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlPlusExpression : public GALGAS_gtlUnaryExpression { //--------------------------------- Default constructor @@ -13063,20 +12905,20 @@ class GALGAS_gtlPlusExpression : public GALGAS_gtlUnaryExpression { public: GALGAS_gtlPlusExpression (const cPtr_gtlPlusExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlPlusExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlPlusExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpression & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlPlusExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlPlusExpression & inOperand) const ; @@ -13096,15 +12938,15 @@ class GALGAS_gtlPlusExpression : public GALGAS_gtlUnaryExpression { } ; // End of GALGAS_gtlPlusExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlPlusExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlPlusExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlPlusExpression : public cPtr_gtlUnaryExpression { @@ -13112,10 +12954,10 @@ class cPtr_gtlPlusExpression : public cPtr_gtlUnaryExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -13130,7 +12972,7 @@ class cPtr_gtlPlusExpression : public cPtr_gtlUnaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -13139,11 +12981,11 @@ class cPtr_gtlPlusExpression : public cPtr_gtlUnaryExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlShiftLeftExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlShiftLeftExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -13158,21 +13000,21 @@ class GALGAS_gtlShiftLeftExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlShiftLeftExpression (const cPtr_gtlShiftLeftExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlShiftLeftExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlShiftLeftExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpression & inOperand1, - const class GALGAS_gtlExpression & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlShiftLeftExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1, + const class GALGAS_gtlExpression & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlShiftLeftExpression & inOperand) const ; @@ -13192,15 +13034,15 @@ class GALGAS_gtlShiftLeftExpression : public GALGAS_gtlBinaryExpression { } ; // End of GALGAS_gtlShiftLeftExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlShiftLeftExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlShiftLeftExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlShiftLeftExpression : public cPtr_gtlBinaryExpression { @@ -13208,10 +13050,10 @@ class cPtr_gtlShiftLeftExpression : public cPtr_gtlBinaryExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -13227,7 +13069,7 @@ class cPtr_gtlShiftLeftExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -13236,11 +13078,11 @@ class cPtr_gtlShiftLeftExpression : public cPtr_gtlBinaryExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlShiftRightExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlShiftRightExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -13255,21 +13097,21 @@ class GALGAS_gtlShiftRightExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlShiftRightExpression (const cPtr_gtlShiftRightExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlShiftRightExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlShiftRightExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpression & inOperand1, - const class GALGAS_gtlExpression & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlShiftRightExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1, + const class GALGAS_gtlExpression & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlShiftRightExpression & inOperand) const ; @@ -13289,15 +13131,15 @@ class GALGAS_gtlShiftRightExpression : public GALGAS_gtlBinaryExpression { } ; // End of GALGAS_gtlShiftRightExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlShiftRightExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlShiftRightExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlShiftRightExpression : public cPtr_gtlBinaryExpression { @@ -13305,10 +13147,10 @@ class cPtr_gtlShiftRightExpression : public cPtr_gtlBinaryExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -13324,7 +13166,7 @@ class cPtr_gtlShiftRightExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -13333,11 +13175,11 @@ class cPtr_gtlShiftRightExpression : public cPtr_gtlBinaryExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlSubstractExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlSubstractExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -13352,21 +13194,21 @@ class GALGAS_gtlSubstractExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlSubstractExpression (const cPtr_gtlSubstractExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlSubstractExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlSubstractExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpression & inOperand1, - const class GALGAS_gtlExpression & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlSubstractExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1, + const class GALGAS_gtlExpression & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlSubstractExpression & inOperand) const ; @@ -13386,15 +13228,15 @@ class GALGAS_gtlSubstractExpression : public GALGAS_gtlBinaryExpression { } ; // End of GALGAS_gtlSubstractExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlSubstractExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlSubstractExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlSubstractExpression : public cPtr_gtlBinaryExpression { @@ -13402,10 +13244,10 @@ class cPtr_gtlSubstractExpression : public cPtr_gtlBinaryExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -13421,7 +13263,7 @@ class cPtr_gtlSubstractExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -13430,11 +13272,11 @@ class cPtr_gtlSubstractExpression : public cPtr_gtlBinaryExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlTerminal value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlTerminal : public GALGAS_gtlExpression { //--------------------------------- Default constructor @@ -13451,20 +13293,20 @@ class GALGAS_gtlTerminal : public GALGAS_gtlExpression { //--------------------------------- Property read access public: class GALGAS_gtlData readProperty_value (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlTerminal extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlTerminal class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlData & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlTerminal constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlData & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlTerminal & inOperand) const ; @@ -13487,15 +13329,15 @@ class GALGAS_gtlTerminal : public GALGAS_gtlExpression { } ; // End of GALGAS_gtlTerminal class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlTerminal ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlTerminal class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlTerminal : public cPtr_gtlExpression { @@ -13503,10 +13345,10 @@ class cPtr_gtlTerminal : public cPtr_gtlExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -13524,7 +13366,7 @@ class cPtr_gtlTerminal : public cPtr_gtlExpression { public: VIRTUAL_IN_DEBUG GALGAS_gtlData getter_value (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setValue (GALGAS_gtlData inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -13533,16 +13375,19 @@ class cPtr_gtlTerminal : public cPtr_gtlExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlTypeOfExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlTypeOfExpression : public GALGAS_gtlExpression { //--------------------------------- Default constructor public: GALGAS_gtlTypeOfExpression (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlTypeOfExpression constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlTypeOfExpression * ptr (void) const { return (const cPtr_gtlTypeOfExpression *) mObjectPtr ; @@ -13554,20 +13399,20 @@ class GALGAS_gtlTypeOfExpression : public GALGAS_gtlExpression { //--------------------------------- Property read access public: class GALGAS_gtlVarPath readProperty_variable (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlTypeOfExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlTypeOfExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlVarPath & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlTypeOfExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlVarPath & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlTypeOfExpression & inOperand) const ; @@ -13590,15 +13435,15 @@ class GALGAS_gtlTypeOfExpression : public GALGAS_gtlExpression { } ; // End of GALGAS_gtlTypeOfExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlTypeOfExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlTypeOfExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlTypeOfExpression : public cPtr_gtlExpression { @@ -13606,10 +13451,10 @@ class cPtr_gtlTypeOfExpression : public cPtr_gtlExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -13627,7 +13472,7 @@ class cPtr_gtlTypeOfExpression : public cPtr_gtlExpression { public: VIRTUAL_IN_DEBUG GALGAS_gtlVarPath getter_variable (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setVariable (GALGAS_gtlVarPath inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -13636,11 +13481,11 @@ class cPtr_gtlTypeOfExpression : public cPtr_gtlExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlVarItemCollection value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlVarItemCollection : public GALGAS_gtlVarItemField { //--------------------------------- Default constructor @@ -13657,20 +13502,20 @@ class GALGAS_gtlVarItemCollection : public GALGAS_gtlVarItemField { //--------------------------------- Property read access public: class GALGAS_gtlExpression readProperty_key (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlVarItemCollection extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlVarItemCollection class_func_new (const class GALGAS_lstring & inOperand0, - const class GALGAS_gtlExpression & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlVarItemCollection constructor_new (const class GALGAS_lstring & inOperand0, + const class GALGAS_gtlExpression & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlVarItemCollection & inOperand) const ; @@ -13693,15 +13538,15 @@ class GALGAS_gtlVarItemCollection : public GALGAS_gtlVarItemField { } ; // End of GALGAS_gtlVarItemCollection class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlVarItemCollection ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlVarItemCollection class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlVarItemCollection : public cPtr_gtlVarItemField { @@ -13711,7 +13556,7 @@ class cPtr_gtlVarItemCollection : public cPtr_gtlVarItemField { const class GALGAS_gtlData vars, const class GALGAS_library lib, const class GALGAS_gtlVarPath path, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter getInContext public: virtual class GALGAS_gtlData getter_getInContext (const class GALGAS_gtlContext exeContext, @@ -13719,17 +13564,17 @@ class cPtr_gtlVarItemCollection : public cPtr_gtlVarItemField { const class GALGAS_gtlData vars, const class GALGAS_library lib, const class GALGAS_gtlVarPath path, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringPath public: virtual class GALGAS_string getter_stringPath (const class GALGAS_gtlContext exeContext, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation public: virtual class GALGAS_string getter_stringRepresentation (const class GALGAS_string concatString, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method deleteInContext public: virtual void method_deleteInContext (const class GALGAS_gtlContext exeContext, @@ -13737,7 +13582,7 @@ class cPtr_gtlVarItemCollection : public cPtr_gtlVarItemField { const class GALGAS_gtlData vars, const class GALGAS_library lib, const class GALGAS_gtlVarPath path, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method setInContext public: virtual void method_setInContext (const class GALGAS_gtlContext exeContext, @@ -13746,7 +13591,7 @@ class cPtr_gtlVarItemCollection : public cPtr_gtlVarItemField { const class GALGAS_library lib, const class GALGAS_gtlVarPath path, const class GALGAS_gtlData newData, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -13764,7 +13609,7 @@ class cPtr_gtlVarItemCollection : public cPtr_gtlVarItemField { public: VIRTUAL_IN_DEBUG GALGAS_gtlExpression getter_key (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setKey (GALGAS_gtlExpression inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -13773,11 +13618,11 @@ class cPtr_gtlVarItemCollection : public cPtr_gtlVarItemField { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlVarItemSubCollection value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlVarItemSubCollection : public GALGAS_gtlVarItem { //--------------------------------- Default constructor @@ -13796,20 +13641,20 @@ class GALGAS_gtlVarItemSubCollection : public GALGAS_gtlVarItem { public: class GALGAS_gtlExpression readProperty_key (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlVarItemSubCollection extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlVarItemSubCollection class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpression & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlVarItemSubCollection constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlVarItemSubCollection & inOperand) const ; @@ -13835,15 +13680,15 @@ class GALGAS_gtlVarItemSubCollection : public GALGAS_gtlVarItem { } ; // End of GALGAS_gtlVarItemSubCollection class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlVarItemSubCollection ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlVarItemSubCollection class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlVarItemSubCollection : public cPtr_gtlVarItem { @@ -13853,7 +13698,7 @@ class cPtr_gtlVarItemSubCollection : public cPtr_gtlVarItem { const class GALGAS_gtlData vars, const class GALGAS_library lib, const class GALGAS_gtlVarPath path, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter getInContext public: virtual class GALGAS_gtlData getter_getInContext (const class GALGAS_gtlContext exeContext, @@ -13861,20 +13706,20 @@ class cPtr_gtlVarItemSubCollection : public cPtr_gtlVarItem { const class GALGAS_gtlData vars, const class GALGAS_library lib, const class GALGAS_gtlVarPath path, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter location - public: virtual class GALGAS_location getter_location (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_location getter_location (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringPath public: virtual class GALGAS_string getter_stringPath (const class GALGAS_gtlContext exeContext, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation public: virtual class GALGAS_string getter_stringRepresentation (const class GALGAS_string concatString, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method deleteInContext public: virtual void method_deleteInContext (const class GALGAS_gtlContext exeContext, @@ -13882,7 +13727,7 @@ class cPtr_gtlVarItemSubCollection : public cPtr_gtlVarItem { const class GALGAS_gtlData vars, const class GALGAS_library lib, const class GALGAS_gtlVarPath path, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method setInContext public: virtual void method_setInContext (const class GALGAS_gtlContext exeContext, @@ -13891,7 +13736,7 @@ class cPtr_gtlVarItemSubCollection : public cPtr_gtlVarItem { const class GALGAS_library lib, const class GALGAS_gtlVarPath path, const class GALGAS_gtlData newData, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -13912,7 +13757,7 @@ class cPtr_gtlVarItemSubCollection : public cPtr_gtlVarItem { public: VIRTUAL_IN_DEBUG GALGAS_gtlExpression getter_key (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setKey (GALGAS_gtlExpression inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -13921,16 +13766,19 @@ class cPtr_gtlVarItemSubCollection : public cPtr_gtlVarItem { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlVarRef value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlVarRef : public GALGAS_gtlExpression { //--------------------------------- Default constructor public: GALGAS_gtlVarRef (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlVarRef constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlVarRef * ptr (void) const { return (const cPtr_gtlVarRef *) mObjectPtr ; @@ -13942,20 +13790,20 @@ class GALGAS_gtlVarRef : public GALGAS_gtlExpression { //--------------------------------- Property read access public: class GALGAS_gtlVarPath readProperty_variableName (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlVarRef extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlVarRef class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlVarPath & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlVarRef constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlVarPath & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlVarRef & inOperand) const ; @@ -13978,15 +13826,15 @@ class GALGAS_gtlVarRef : public GALGAS_gtlExpression { } ; // End of GALGAS_gtlVarRef class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlVarRef ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlVarRef class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlVarRef : public cPtr_gtlExpression { @@ -13994,10 +13842,10 @@ class cPtr_gtlVarRef : public cPtr_gtlExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -14015,7 +13863,7 @@ class cPtr_gtlVarRef : public cPtr_gtlExpression { public: VIRTUAL_IN_DEBUG GALGAS_gtlVarPath getter_variableName (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setVariableName (GALGAS_gtlVarPath inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -14024,11 +13872,11 @@ class cPtr_gtlVarRef : public cPtr_gtlExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlXorExpression value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlXorExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -14043,21 +13891,21 @@ class GALGAS_gtlXorExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlXorExpression (const cPtr_gtlXorExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlXorExpression extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlXorExpression class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_gtlExpression & inOperand1, - const class GALGAS_gtlExpression & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlXorExpression constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1, + const class GALGAS_gtlExpression & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlXorExpression & inOperand) const ; @@ -14077,15 +13925,15 @@ class GALGAS_gtlXorExpression : public GALGAS_gtlBinaryExpression { } ; // End of GALGAS_gtlXorExpression class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlXorExpression ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlXorExpression class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlXorExpression : public cPtr_gtlBinaryExpression { @@ -14093,10 +13941,10 @@ class cPtr_gtlXorExpression : public cPtr_gtlBinaryExpression { public: virtual class GALGAS_gtlData getter_eval (const class GALGAS_gtlContext context, const class GALGAS_gtlData vars, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -14112,7 +13960,7 @@ class cPtr_gtlXorExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -14121,104 +13969,107 @@ class cPtr_gtlXorExpression : public cPtr_gtlBinaryExpression { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'emptylstring' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class GALGAS_lstring function_emptylstring (class Compiler * inCompiler +class GALGAS_lstring function_emptylstring (class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@lstring gtlType' (as function) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_type extensionGetter_gtlType (const class GALGAS_lstring & inObject, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Bool options // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern C_BoolCommandLineOption gOption_gtl_5F_options_debug ; extern C_BoolCommandLineOption gOption_gtl_5F_options_warnDeprecated ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // UInt options // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // String options // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // String List options // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@gtlInstruction location' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_location callExtensionGetter_location (const cPtr_gtlInstruction * inObject, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension method '@gtlInstruction execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionMethod_execute (class cPtr_gtlInstruction * inObject, class GALGAS_gtlContext & io_context, class GALGAS_gtlData & io_vars, class GALGAS_library & io_lib, class GALGAS_string & io_outputString, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension method '@gtlInstructionList execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void extensionMethod_execute (const class GALGAS_gtlInstructionList inObject, class GALGAS_gtlContext & io_context, class GALGAS_gtlData & io_vars, class GALGAS_library & io_lib, class GALGAS_string & io_outputString, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlStepInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlStepInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor public: GALGAS_gtlStepInstruction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlStepInstruction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlStepInstruction * ptr (void) const { return (const cPtr_gtlStepInstruction *) mObjectPtr ; @@ -14228,20 +14079,20 @@ class GALGAS_gtlStepInstruction : public GALGAS_gtlInstruction { public: GALGAS_gtlStepInstruction (const cPtr_gtlStepInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlStepInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlStepInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlStepInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlStepInstruction & inOperand) const ; @@ -14261,27 +14112,27 @@ class GALGAS_gtlStepInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlStepInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlStepInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlStepInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlStepInstruction : public cPtr_gtlInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -14296,7 +14147,7 @@ class cPtr_gtlStepInstruction : public cPtr_gtlInstruction { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -14305,148 +14156,148 @@ class cPtr_gtlStepInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'endc' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class GALGAS_string function_endc (class Compiler * inCompiler +class GALGAS_string function_endc (class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@gtlContext breakOn' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_bool callExtensionGetter_breakOn (const cPtr_gtlContext * inObject, class GALGAS_gtlInstruction in_instruction, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@gtlContext breakOnNext' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_bool callExtensionGetter_breakOnNext (const cPtr_gtlContext * inObject, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@gtlContext debugActive' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_bool callExtensionGetter_debugActive (const cPtr_gtlContext * inObject, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@gtlContext loopOnCommand' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_bool callExtensionGetter_loopOnCommand (const cPtr_gtlContext * inObject, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@gtlContext outputStyle' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string callExtensionGetter_outputStyle (const cPtr_gtlContext * inObject, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@gtlContext promptStyle' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string callExtensionGetter_promptStyle (const cPtr_gtlContext * inObject, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@gtlContext watchOn' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_bool callExtensionGetter_watchOn (const cPtr_gtlContext * inObject, const class GALGAS_gtlContext constin_context, const class GALGAS_gtlData constin_vars, const class GALGAS_library constin_lib, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@gtlInstruction mayExecuteWithoutError' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_bool callExtensionGetter_mayExecuteWithoutError (const cPtr_gtlInstruction * inObject, const class GALGAS_gtlContext constin_exeContext, const class GALGAS_gtlData constin_context, const class GALGAS_library constin_lib, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //LEXIQUE gtl_5F_debugger_5F_scanner // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "Lexique.h" +#include "galgas2/C_Lexique.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // E X T E R N R O U T I N E S -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // E X T E R N F U N C T I O N S -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // T O K E N C L A S S -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cTokenFor_gtl_5F_debugger_5F_scanner : public cToken { - public: String mLexicalAttribute_a_5F_string ; + public: C_String mLexicalAttribute_a_5F_string ; public: utf32 mLexicalAttribute_charValue ; public: double mLexicalAttribute_floatValue ; - public: String mLexicalAttribute_functionContent ; - public: String mLexicalAttribute_identifierString ; - public: BigSigned mLexicalAttribute_intValue ; - public: String mLexicalAttribute_tokenString ; + public: C_String mLexicalAttribute_functionContent ; + public: C_String mLexicalAttribute_identifierString ; + public: C_BigInt mLexicalAttribute_intValue ; + public: C_String mLexicalAttribute_tokenString ; public: uint32_t mLexicalAttribute_uint_33__32_value ; public: cTokenFor_gtl_5F_debugger_5F_scanner (void) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // S C A N N E R C L A S S -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class Lexique_gtl_5F_debugger_5F_scanner : public Lexique { +class C_Lexique_gtl_5F_debugger_5F_scanner : public C_Lexique { //--- Constructors - public: Lexique_gtl_5F_debugger_5F_scanner (Compiler * inCallerCompiler, - const String & inSourceFileName + public: C_Lexique_gtl_5F_debugger_5F_scanner (C_Compiler * inCallerCompiler, + const C_String & inSourceFileName COMMA_LOCATION_ARGS) ; - public: Lexique_gtl_5F_debugger_5F_scanner (Compiler * inCallerCompiler, - const String & inSourceString, - const String & inStringForError + public: C_Lexique_gtl_5F_debugger_5F_scanner (C_Compiler * inCallerCompiler, + const C_String & inSourceString, + const C_String & inStringForError COMMA_LOCATION_ARGS) ; //--- Instrospection @@ -14454,116 +14305,116 @@ class Lexique_gtl_5F_debugger_5F_scanner : public Lexique { //--- Declaring a protected virtual destructor enables the compiler to raise // an error if a direct delete is performed; only the static method -// SharedObject::detachPointer may invoke delete. +// C_SharedObject::detachPointer may invoke delete. #ifndef DO_NOT_GENERATE_CHECKINGS - protected: virtual ~ Lexique_gtl_5F_debugger_5F_scanner (void) {} + protected: virtual ~ C_Lexique_gtl_5F_debugger_5F_scanner (void) {} #endif //--- Terminal symbols enumeration public: enum {kToken_, - kToken_identifier /* 1 */ , - kToken_literal_5F_enum /* 2 */ , - kToken_literal_5F_double /* 3 */ , - kToken_signed_5F_literal_5F_integer_5F_bigint /* 4 */ , - kToken__2D_ /* 5 */ , - kToken__2E_ /* 6 */ , - kToken__2E__3D_ /* 7 */ , - kToken__2E__2E__2E_ /* 8 */ , - kToken_literal_5F_char /* 9 */ , - kToken_string /* 10 */ , - kToken_comment /* 11 */ , - kToken_default /* 12 */ , - kToken_display /* 13 */ , - kToken_do /* 14 */ , - kToken_emptylist /* 15 */ , - kToken_emptymap /* 16 */ , - kToken_exists /* 17 */ , - kToken_false /* 18 */ , - kToken_list /* 19 */ , - kToken_import /* 20 */ , - kToken_listof /* 21 */ , - kToken_let /* 22 */ , - kToken_mapof /* 23 */ , - kToken_mod /* 24 */ , - kToken_no /* 25 */ , - kToken_not /* 26 */ , - kToken_or /* 27 */ , - kToken_print /* 28 */ , - kToken_sort /* 29 */ , - kToken_step /* 30 */ , - kToken_true /* 31 */ , - kToken_typeof /* 32 */ , - kToken_yes /* 33 */ , - kToken_variables /* 34 */ , - kToken_unlet /* 35 */ , - kToken_libraries /* 36 */ , - kToken_break /* 37 */ , - kToken_watch /* 38 */ , - kToken_by /* 39 */ , - kToken_end /* 40 */ , - kToken_cont /* 41 */ , - kToken_continue /* 42 */ , - kToken_help /* 43 */ , - kToken_if /* 44 */ , - kToken_then /* 45 */ , - kToken_else /* 46 */ , - kToken_elsif /* 47 */ , - kToken_hist /* 48 */ , - kToken_all /* 49 */ , - kToken_load /* 50 */ , - kToken__2A_ /* 51 */ , - kToken__7C_ /* 52 */ , - kToken__2C_ /* 53 */ , - kToken__2B_ /* 54 */ , - kToken__3A__3A_ /* 55 */ , - kToken__3E_ /* 56 */ , - kToken__3A_ /* 57 */ , - kToken__28_ /* 58 */ , - kToken__29_ /* 59 */ , - kToken__2D__3E_ /* 60 */ , - kToken__3F_ /* 61 */ , - kToken__3D__3D_ /* 62 */ , - kToken__21_ /* 63 */ , - kToken__3A__3D_ /* 64 */ , - kToken__5B_ /* 65 */ , - kToken__5D_ /* 66 */ , - kToken__2B__3D_ /* 67 */ , - kToken__2D__3D_ /* 68 */ , - kToken__2F_ /* 69 */ , - kToken__21__3D_ /* 70 */ , - kToken__3E__3D_ /* 71 */ , - kToken__26_ /* 72 */ , - kToken__3C__3D_ /* 73 */ , - kToken__7B_ /* 74 */ , - kToken__7D_ /* 75 */ , - kToken__3C_ /* 76 */ , - kToken__5E_ /* 77 */ , - kToken__3E__3E_ /* 78 */ , - kToken__7E_ /* 79 */ , - kToken__3C__2D_ /* 80 */ , - kToken__3C__3C_ /* 81 */ , - kToken__40_ /* 82 */ , - kToken__2A__3D_ /* 83 */ , - kToken__2F__3D_ /* 84 */ , - kToken__26__3D_ /* 85 */ , - kToken__7C__3D_ /* 86 */ , - kToken__3C__3C__3D_ /* 87 */ , - kToken__3E__3E__3D_ /* 88 */ , - kToken_mod_3D_ /* 89 */ , - kToken__5E__3D_ /* 90 */ , - kToken__40__5B_ /* 91 */ , - kToken__40__28_ /* 92 */ , - kToken__40__7B_ /* 93 */ , - kToken__5B__21_ /* 94 */ , - kToken__40__21_ /* 95 */ } ; + kToken_identifier, + kToken_literal_5F_enum, + kToken_literal_5F_double, + kToken_signed_5F_literal_5F_integer_5F_bigint, + kToken__2D_, + kToken__2E_, + kToken__2E__3D_, + kToken__2E__2E__2E_, + kToken_literal_5F_char, + kToken_string, + kToken_comment, + kToken_default, + kToken_display, + kToken_do, + kToken_emptylist, + kToken_emptymap, + kToken_exists, + kToken_false, + kToken_list, + kToken_import, + kToken_listof, + kToken_let, + kToken_mapof, + kToken_mod, + kToken_no, + kToken_not, + kToken_or, + kToken_print, + kToken_sort, + kToken_step, + kToken_true, + kToken_typeof, + kToken_yes, + kToken_variables, + kToken_unlet, + kToken_libraries, + kToken_break, + kToken_watch, + kToken_by, + kToken_end, + kToken_cont, + kToken_continue, + kToken_help, + kToken_if, + kToken_then, + kToken_else, + kToken_elsif, + kToken_hist, + kToken_all, + kToken_load, + kToken__2A_, + kToken__7C_, + kToken__2C_, + kToken__2B_, + kToken__3A__3A_, + kToken__3E_, + kToken__3A_, + kToken__28_, + kToken__29_, + kToken__2D__3E_, + kToken__3F_, + kToken__3D__3D_, + kToken__21_, + kToken__3A__3D_, + kToken__5B_, + kToken__5D_, + kToken__2B__3D_, + kToken__2D__3D_, + kToken__2F_, + kToken__21__3D_, + kToken__3E__3D_, + kToken__26_, + kToken__3C__3D_, + kToken__7B_, + kToken__7D_, + kToken__3C_, + kToken__5E_, + kToken__3E__3E_, + kToken__7E_, + kToken__3C__2D_, + kToken__3C__3C_, + kToken__40_, + kToken__2A__3D_, + kToken__2F__3D_, + kToken__26__3D_, + kToken__7C__3D_, + kToken__3C__3C__3D_, + kToken__3E__3E__3D_, + kToken_mod_3D_, + kToken__5E__3D_, + kToken__40__5B_, + kToken__40__28_, + kToken__40__7B_, + kToken__5B__21_, + kToken__40__21_} ; //--- Key words table 'goilTemplateKeyWordList' - public: static int32_t search_into_goilTemplateKeyWordList (const String & inSearchedString) ; + public: static int32_t search_into_goilTemplateKeyWordList (const C_String & inSearchedString) ; //--- Key words table 'galgasDelimitorsList' - public: static int32_t search_into_galgasDelimitorsList (const String & inSearchedString) ; + public: static int32_t search_into_galgasDelimitorsList (const C_String & inSearchedString) ; //--- Assign from attribute @@ -14578,44 +14429,44 @@ class Lexique_gtl_5F_debugger_5F_scanner : public Lexique { //--- Attribute access - public: String attributeValue_a_5F_string (void) const ; + public: C_String attributeValue_a_5F_string (void) const ; public: utf32 attributeValue_charValue (void) const ; public: double attributeValue_floatValue (void) const ; - public: String attributeValue_functionContent (void) const ; - public: String attributeValue_identifierString (void) const ; - public: BigSigned attributeValue_intValue (void) const ; - public: String attributeValue_tokenString (void) const ; + public: C_String attributeValue_functionContent (void) const ; + public: C_String attributeValue_identifierString (void) const ; + public: C_BigInt attributeValue_intValue (void) const ; + public: C_String attributeValue_tokenString (void) const ; public: uint32_t attributeValue_uint_33__32_value (void) const ; -//--- indexing keys +//--- Indexing keys //--- Parse lexical token protected: void internalParseLexicalToken (cTokenFor_gtl_5F_debugger_5F_scanner & token) ; protected: virtual bool parseLexicalToken (void) override ; //--- Get terminal message - protected: virtual String getMessageForTerminal (const int32_t inTerminalSymbol) const override ; + protected: virtual C_String getMessageForTerminal (const int32_t inTerminalSymbol) const override ; //--- Get terminal count public: virtual int32_t terminalVocabularyCount (void) const override { return 95 ; } //--- Get Token String - public: virtual String getCurrentTokenString (const cToken * inTokenPtr) const override ; + public: virtual C_String getCurrentTokenString (const cToken * inTokenPtr) const override ; //--- Enter Token protected: void enterToken (cTokenFor_gtl_5F_debugger_5F_scanner & ioToken) ; //--- Style name for Latex - protected: virtual String styleNameForIndex (const uint32_t inStyleIndex) const override ; + protected: virtual C_String styleNameForIndex (const uint32_t inStyleIndex) const override ; protected: virtual uint32_t styleIndexForTerminal (const int32_t inTerminalIndex) const override ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Parser class 'gtl_debugger_expression_parser' declaration // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cParser_gtl_5F_debugger_5F_expression_5F_parser { //--- Virtual destructor @@ -14623,346 +14474,346 @@ class cParser_gtl_5F_debugger_5F_expression_5F_parser { //--- Non terminal declarations protected: virtual void nt_gtl_5F_expression_ (class GALGAS_gtlExpression & outArgument0, - class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_expression_parse (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_expression_parse (class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_expression_indexing (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_expression_indexing (class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_factor_ (class GALGAS_gtlExpression & outArgument0, - class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_factor_parse (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_factor_parse (class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_factor_indexing (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_factor_indexing (class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_relation_5F_factor_ (class GALGAS_gtlExpression & outArgument0, - class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_relation_5F_factor_parse (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_relation_5F_factor_parse (class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_relation_5F_factor_indexing (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_relation_5F_factor_indexing (class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_relation_5F_term_ (class GALGAS_gtlExpression & outArgument0, - class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_relation_5F_term_parse (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_relation_5F_term_parse (class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_relation_5F_term_indexing (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_relation_5F_term_indexing (class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_simple_5F_expression_ (class GALGAS_gtlExpression & outArgument0, - class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_simple_5F_expression_parse (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_simple_5F_expression_parse (class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_simple_5F_expression_indexing (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_simple_5F_expression_indexing (class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_term_ (class GALGAS_gtlExpression & outArgument0, - class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_term_parse (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_term_parse (class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_term_indexing (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_term_indexing (class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_variable_ (class GALGAS_gtlVarPath & outArgument0, - class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_variable_parse (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_variable_parse (class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_variable_indexing (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_variable_indexing (class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; //--- Rule declarations protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_expression_i0_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_expression_i0_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_expression_i0_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_expression_i0_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_expression_i0_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_relation_5F_term_i1_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_relation_5F_term_i1_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_relation_5F_term_i1_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_relation_5F_term_i1_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_relation_5F_term_i1_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_relation_5F_factor_i2_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_relation_5F_factor_i2_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_relation_5F_factor_i2_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_relation_5F_factor_i2_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_relation_5F_factor_i2_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_simple_5F_expression_i3_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_simple_5F_expression_i3_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_simple_5F_expression_i3_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_simple_5F_expression_i3_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_simple_5F_expression_i3_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_term_i4_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_term_i4_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_term_i4_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_term_i4_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_term_i4_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i5_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i5_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i5_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i5_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i5_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i6_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i6_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i6_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i6_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i6_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i7_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i7_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i7_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i7_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i7_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i8_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i8_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i8_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i8_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i8_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i9_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i9_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i9_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i9_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i9_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i10_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i10_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i10_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i10_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i10_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i11_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i11_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i11_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i11_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i11_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i12_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i12_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i12_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i12_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i12_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i13_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i13_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i13_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i13_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i13_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i14_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i14_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i14_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i14_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i14_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i15_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i15_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i15_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i15_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i15_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i16_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i16_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i16_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i16_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i16_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i17_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i17_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i17_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i17_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i17_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i18_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i18_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i18_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i18_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i18_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i19_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i19_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i19_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i19_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i19_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i20_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i20_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i20_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i20_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i20_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i21_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i21_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i21_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i21_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i21_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i22_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i22_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i22_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i22_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i22_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i23_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i23_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i23_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i23_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i23_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i24_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i24_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i24_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i24_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i24_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i25_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i25_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i25_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i25_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i25_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i26_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i26_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i26_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i26_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i26_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i27_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i27_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i27_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i27_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i27_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i28_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i28_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i28_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i28_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i28_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i29_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i29_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i29_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i29_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i29_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i30_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i30_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i30_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i30_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i30_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i31_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i31_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i31_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i31_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i31_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_variable_i32_ (GALGAS_gtlVarPath & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_variable_i32_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_variable_i32_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_variable_i32_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_variable_i32_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; //--- Select methods - protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_0 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_0 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_1 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_1 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_2 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_2 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_3 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_3 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_4 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_4 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_5 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_5 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_6 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_6 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_7 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_7 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_8 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_8 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_9 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_9 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_10 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_10 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_11 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_11 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_12 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_12 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_13 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_13 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_14 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_14 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_15 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_15 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_16 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_16 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_17 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_17 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_18 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_18 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_19 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_19 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_20 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_20 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_21 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_21 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_22 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_22 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_23 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_23 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Parser class 'gtl_debugger_parser' declaration // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cParser_gtl_5F_debugger_5F_parser { //--- Virtual destructor @@ -14970,618 +14821,621 @@ class cParser_gtl_5F_debugger_5F_parser { //--- Non terminal declarations protected: virtual void nt_gtl_5F_debugger_5F_command_ (class GALGAS_gtlInstruction & outArgument0, - class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_debugger_5F_command_parse (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_debugger_5F_command_parse (class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_debugger_5F_command_indexing (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_debugger_5F_command_indexing (class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_expression_ (class GALGAS_gtlExpression & outArgument0, - class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_expression_parse (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_expression_parse (class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_expression_indexing (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_expression_indexing (class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_step_5F_do_5F_command_ (class GALGAS_gtlInstruction & outArgument0, - class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_step_5F_do_5F_command_parse (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_step_5F_do_5F_command_parse (class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_step_5F_do_5F_command_indexing (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_step_5F_do_5F_command_indexing (class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_step_5F_do_5F_command_5F_list_ (class GALGAS_gtlInstructionList & outArgument0, - class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_step_5F_do_5F_command_5F_list_parse (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_step_5F_do_5F_command_5F_list_parse (class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_step_5F_do_5F_command_5F_list_indexing (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_step_5F_do_5F_command_5F_list_indexing (class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_variable_ (class GALGAS_gtlVarPath & outArgument0, - class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_variable_parse (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_variable_parse (class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; - protected: virtual void nt_gtl_5F_variable_indexing (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + protected: virtual void nt_gtl_5F_variable_indexing (class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; //--- Rule declarations protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i0_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i0_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i0_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i0_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i0_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i1_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i1_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i1_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i1_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i1_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i2_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i2_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i2_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i2_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i2_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i3_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i3_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i3_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i3_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i3_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i4_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i4_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i4_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i4_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i4_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i5_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i5_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i5_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i5_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i5_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i6_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i6_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i6_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i6_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i6_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i7_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i7_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i7_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i7_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i7_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i8_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i8_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i8_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i8_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i8_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i9_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i9_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i9_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i9_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i9_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i10_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i10_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i10_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i10_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i10_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i11_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i11_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i11_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i11_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i11_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i12_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i12_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i12_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i12_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i12_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i13_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i13_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i13_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i13_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i13_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i14_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i14_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i14_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i14_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i14_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i15_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i15_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i15_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i15_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i15_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i16_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i16_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i16_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i16_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i16_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_5F_list_i17_ (GALGAS_gtlInstructionList & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_5F_list_i17_parse (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_5F_list_i17_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_5F_list_i17_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_5F_list_i17_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; //--- Select methods - protected: virtual int32_t select_gtl_5F_debugger_5F_parser_0 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_parser_0 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_parser_1 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_parser_1 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_parser_2 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_parser_2 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_parser_3 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_parser_3 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_parser_4 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_parser_4 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_parser_5 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_parser_5 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_parser_6 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_parser_6 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_parser_7 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_parser_7 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_parser_8 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_parser_8 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_parser_9 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_parser_9 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_parser_10 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_parser_10 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_parser_11 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_parser_11 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_parser_12 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_parser_12 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_debugger_5F_parser_13 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_parser_13 (C_Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // GRAMMAR gtl_debugger_grammar -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cGrammar_gtl_5F_debugger_5F_grammar : public cParser_gtl_5F_debugger_5F_parser, public cParser_gtl_5F_debugger_5F_expression_5F_parser { //------------------------------------- 'gtl_debugger_command' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_debugger_5F_command_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_debugger_5F_command_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_debugger_5F_command_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_debugger_5F_command_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_debugger_5F_command_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //--- Start symbol - public: static void _performSourceFileParsing_ (Compiler * inCompiler, + public: static void _performSourceFileParsing_ (C_Compiler * inCompiler, GALGAS_lstring inFileName, GALGAS_gtlInstruction & outArgument0 COMMA_LOCATION_ARGS) ; - public: static void _performSourceStringParsing_ (Compiler * inCompiler, + public: static void _performSourceStringParsing_ (C_Compiler * inCompiler, GALGAS_string inSourceString, GALGAS_string inNameString, GALGAS_gtlInstruction & outArgument0 COMMA_LOCATION_ARGS) ; //--- Indexing - public: static void performIndexing (Compiler * inCompiler, - const String & inSourceFilePath) ; + public: static void performIndexing (C_Compiler * inCompiler, + const C_String & inSourceFilePath) ; //--- Only lexical analysis - public: static void performOnlyLexicalAnalysis (Compiler * inCompiler, - const String & inSourceFilePath) ; + public: static void performOnlyLexicalAnalysis (C_Compiler * inCompiler, + const C_String & inSourceFilePath) ; //--- Only syntax analysis - public: static void performOnlySyntaxAnalysis (Compiler * inCompiler, - const String & inSourceFilePath) ; + public: static void performOnlySyntaxAnalysis (C_Compiler * inCompiler, + const C_String & inSourceFilePath) ; //------------------------------------- 'gtl_expression' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_expression_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_expression_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_expression_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_expression_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_expression_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_factor' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_factor_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_factor_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_factor_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_factor_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_factor_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_relation_factor' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_relation_5F_factor_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_relation_5F_factor_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_relation_5F_factor_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_relation_5F_factor_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_relation_5F_factor_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_relation_term' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_relation_5F_term_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_relation_5F_term_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_relation_5F_term_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_relation_5F_term_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_relation_5F_term_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_simple_expression' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_simple_5F_expression_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_simple_5F_expression_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_simple_5F_expression_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_simple_5F_expression_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_simple_5F_expression_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_step_do_command' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_step_5F_do_5F_command_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_step_5F_do_5F_command_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_step_5F_do_5F_command_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_step_5F_do_5F_command_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_step_5F_do_5F_command_ (GALGAS_gtlInstruction & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_step_do_command_list' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_step_5F_do_5F_command_5F_list_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_step_5F_do_5F_command_5F_list_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_step_5F_do_5F_command_5F_list_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_step_5F_do_5F_command_5F_list_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_step_5F_do_5F_command_5F_list_ (GALGAS_gtlInstructionList & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_term' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_term_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_term_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_term_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_term_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_term_ (GALGAS_gtlExpression & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_variable' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_variable_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_variable_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_variable_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_variable_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_variable_ (GALGAS_gtlVarPath & outArgument0, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; - public: virtual int32_t select_gtl_5F_debugger_5F_parser_0 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_parser_0 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_parser_1 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_parser_1 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_parser_2 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_parser_2 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_parser_3 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_parser_3 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_parser_4 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_parser_4 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_parser_5 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_parser_5 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_parser_6 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_parser_6 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_parser_7 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_parser_7 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_parser_8 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_parser_8 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_parser_9 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_parser_9 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_parser_10 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_parser_10 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_parser_11 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_parser_11 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_parser_12 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_parser_12 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_parser_13 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_parser_13 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_0 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_0 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_1 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_1 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_2 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_2 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_3 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_3 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_4 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_4 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_5 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_5 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_6 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_6 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_7 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_7 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_8 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_8 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_9 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_9 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_10 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_10 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_11 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_11 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_12 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_12 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_13 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_13 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_14 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_14 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_15 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_15 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_16 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_16 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_17 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_17 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_18 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_18 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_19 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_19 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_20 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_20 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_21 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_21 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_22 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_22 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_23 (Lexique_gtl_5F_debugger_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_23 (C_Lexique_gtl_5F_debugger_5F_scanner *) ; } ; -//-------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension setter '@gtlContext executeStepDoList' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typedef void (*extensionSetterSignature_gtlContext_executeStepDoList) (class cPtr_gtlContext * inObject, class GALGAS_gtlContext & ioArgument0, class GALGAS_gtlData & ioArgument1, class GALGAS_library & ioArgument2, class GALGAS_string & ioArgument3, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void enterExtensionSetter_executeStepDoList (const int32_t inClassIndex, extensionSetterSignature_gtlContext_executeStepDoList inModifier) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionSetter_executeStepDoList (class cPtr_gtlContext * inObject, GALGAS_gtlContext & io_context, GALGAS_gtlData & io_vars, GALGAS_library & io_lib, GALGAS_string & io_outputString, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension setter '@gtlContext getCommand' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typedef void (*extensionSetterSignature_gtlContext_getCommand) (class cPtr_gtlContext * inObject, class GALGAS_string & outArgument0, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void enterExtensionSetter_getCommand (const int32_t inClassIndex, extensionSetterSignature_gtlContext_getCommand inModifier) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionSetter_getCommand (class cPtr_gtlContext * inObject, GALGAS_string & out_command, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension setter '@gtlContext popInstructionList' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typedef void (*extensionSetterSignature_gtlContext_popInstructionList) (class cPtr_gtlContext * inObject, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void enterExtensionSetter_popInstructionList (const int32_t inClassIndex, extensionSetterSignature_gtlContext_popInstructionList inModifier) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionSetter_popInstructionList (class cPtr_gtlContext * inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension setter '@gtlContext pushInstructionList' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typedef void (*extensionSetterSignature_gtlContext_pushInstructionList) (class cPtr_gtlContext * inObject, const class GALGAS_gtlInstructionList constinArgument0, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void enterExtensionSetter_pushInstructionList (const int32_t inClassIndex, extensionSetterSignature_gtlContext_pushInstructionList inModifier) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionSetter_pushInstructionList (class cPtr_gtlContext * inObject, const GALGAS_gtlInstructionList constin_instructionList, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension setter '@gtlContext setBreakOnNext' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typedef void (*extensionSetterSignature_gtlContext_setBreakOnNext) (class cPtr_gtlContext * inObject, class GALGAS_bool inArgument0, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void enterExtensionSetter_setBreakOnNext (const int32_t inClassIndex, extensionSetterSignature_gtlContext_setBreakOnNext inModifier) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionSetter_setBreakOnNext (class cPtr_gtlContext * inObject, GALGAS_bool in_break, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension setter '@gtlContext setDebugger' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typedef void (*extensionSetterSignature_gtlContext_setDebugger) (class cPtr_gtlContext * inObject, class GALGAS_bool inArgument0, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void enterExtensionSetter_setDebugger (const int32_t inClassIndex, extensionSetterSignature_gtlContext_setDebugger inModifier) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionSetter_setDebugger (class cPtr_gtlContext * inObject, GALGAS_bool in_debugOn, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension setter '@gtlContext setLoopOnCommand' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typedef void (*extensionSetterSignature_gtlContext_setLoopOnCommand) (class cPtr_gtlContext * inObject, class GALGAS_bool inArgument0, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void enterExtensionSetter_setLoopOnCommand (const int32_t inClassIndex, extensionSetterSignature_gtlContext_setLoopOnCommand inModifier) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionSetter_setLoopOnCommand (class cPtr_gtlContext * inObject, GALGAS_bool in_loopOnCommand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension setter '@gtlContext setNextInstructionIndex' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typedef void (*extensionSetterSignature_gtlContext_setNextInstructionIndex) (class cPtr_gtlContext * inObject, class GALGAS_uint inArgument0, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void enterExtensionSetter_setNextInstructionIndex (const int32_t inClassIndex, extensionSetterSignature_gtlContext_setNextInstructionIndex inModifier) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionSetter_setNextInstructionIndex (class cPtr_gtlContext * inObject, GALGAS_uint in_index, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLetUnconstructedInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlLetUnconstructedInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor public: GALGAS_gtlLetUnconstructedInstruction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlLetUnconstructedInstruction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlLetUnconstructedInstruction * ptr (void) const { return (const cPtr_gtlLetUnconstructedInstruction *) mObjectPtr ; @@ -15593,21 +15447,21 @@ class GALGAS_gtlLetUnconstructedInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_gtlVarPath readProperty_lValue (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLetUnconstructedInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlLetUnconstructedInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_gtlVarPath & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlLetUnconstructedInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_gtlVarPath & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLetUnconstructedInstruction & inOperand) const ; @@ -15630,27 +15484,27 @@ class GALGAS_gtlLetUnconstructedInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlLetUnconstructedInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlLetUnconstructedInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlLetUnconstructedInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlLetUnconstructedInstruction : public cPtr_gtlInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -15669,7 +15523,7 @@ class cPtr_gtlLetUnconstructedInstruction : public cPtr_gtlInstruction { public: VIRTUAL_IN_DEBUG GALGAS_gtlVarPath getter_lValue (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setLValue (GALGAS_gtlVarPath inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -15678,16 +15532,19 @@ class cPtr_gtlLetUnconstructedInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlUnletInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlUnletInstruction : public GALGAS_gtlLetUnconstructedInstruction { //--------------------------------- Default constructor public: GALGAS_gtlUnletInstruction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlUnletInstruction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlUnletInstruction * ptr (void) const { return (const cPtr_gtlUnletInstruction *) mObjectPtr ; @@ -15697,21 +15554,21 @@ class GALGAS_gtlUnletInstruction : public GALGAS_gtlLetUnconstructedInstruction public: GALGAS_gtlUnletInstruction (const cPtr_gtlUnletInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlUnletInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlUnletInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_gtlVarPath & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlUnletInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_gtlVarPath & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlUnletInstruction & inOperand) const ; @@ -15731,15 +15588,15 @@ class GALGAS_gtlUnletInstruction : public GALGAS_gtlLetUnconstructedInstruction } ; // End of GALGAS_gtlUnletInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlUnletInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlUnletInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlUnletInstruction : public cPtr_gtlLetUnconstructedInstruction { @@ -15748,7 +15605,7 @@ class cPtr_gtlUnletInstruction : public cPtr_gtlLetUnconstructedInstruction { class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -15764,7 +15621,7 @@ class cPtr_gtlUnletInstruction : public cPtr_gtlLetUnconstructedInstruction { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -15773,16 +15630,19 @@ class cPtr_gtlUnletInstruction : public cPtr_gtlLetUnconstructedInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlTemplateStringInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlTemplateStringInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor public: GALGAS_gtlTemplateStringInstruction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlTemplateStringInstruction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlTemplateStringInstruction * ptr (void) const { return (const cPtr_gtlTemplateStringInstruction *) mObjectPtr ; @@ -15794,21 +15654,21 @@ class GALGAS_gtlTemplateStringInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_string readProperty_value (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlTemplateStringInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlTemplateStringInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_string & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlTemplateStringInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_string & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlTemplateStringInstruction & inOperand) const ; @@ -15831,27 +15691,27 @@ class GALGAS_gtlTemplateStringInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlTemplateStringInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlTemplateStringInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlTemplateStringInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlTemplateStringInstruction : public cPtr_gtlInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -15870,7 +15730,7 @@ class cPtr_gtlTemplateStringInstruction : public cPtr_gtlInstruction { public: VIRTUAL_IN_DEBUG GALGAS_string getter_value (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setValue (GALGAS_string inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -15879,16 +15739,19 @@ class cPtr_gtlTemplateStringInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlGetColumnInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlGetColumnInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor public: GALGAS_gtlGetColumnInstruction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlGetColumnInstruction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlGetColumnInstruction * ptr (void) const { return (const cPtr_gtlGetColumnInstruction *) mObjectPtr ; @@ -15900,21 +15763,21 @@ class GALGAS_gtlGetColumnInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_gtlVarPath readProperty_destVariable (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlGetColumnInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlGetColumnInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_gtlVarPath & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlGetColumnInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_gtlVarPath & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlGetColumnInstruction & inOperand) const ; @@ -15937,27 +15800,27 @@ class GALGAS_gtlGetColumnInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlGetColumnInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlGetColumnInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlGetColumnInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlGetColumnInstruction : public cPtr_gtlInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -15976,7 +15839,7 @@ class cPtr_gtlGetColumnInstruction : public cPtr_gtlInstruction { public: VIRTUAL_IN_DEBUG GALGAS_gtlVarPath getter_destVariable (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setDestVariable (GALGAS_gtlVarPath inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -15985,11 +15848,11 @@ class cPtr_gtlGetColumnInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlThenElsifStatementList list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlThenElsifStatementList : public AC_GALGAS_list { //--------------------------------- Default constructor @@ -16004,26 +15867,26 @@ class GALGAS_gtlThenElsifStatementList : public AC_GALGAS_list { const class GALGAS_gtlInstructionList & in_instructionList COMMA_LOCATION_ARGS) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlThenElsifStatementList extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlThenElsifStatementList class_func_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlThenElsifStatementList constructor_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_gtlThenElsifStatementList class_func_listWithValue (const class GALGAS_gtlExpression & inOperand0, - const class GALGAS_gtlInstructionList & inOperand1 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlThenElsifStatementList constructor_listWithValue (const class GALGAS_gtlExpression & inOperand0, + const class GALGAS_gtlInstructionList & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_gtlThenElsifStatementList inOperand, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -16032,81 +15895,81 @@ class GALGAS_gtlThenElsifStatementList : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlThenElsifStatementList add_operation (const GALGAS_gtlThenElsifStatementList & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_gtlExpression constinArgument0, class GALGAS_gtlInstructionList constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_gtlExpression constinArgument0, class GALGAS_gtlInstructionList constinArgument1, class GALGAS_uint constinArgument2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_gtlExpression & outArgument0, class GALGAS_gtlInstructionList & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_gtlExpression & outArgument0, class GALGAS_gtlInstructionList & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_gtlExpression & outArgument0, class GALGAS_gtlInstructionList & outArgument1, class GALGAS_uint constinArgument2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setConditionAtIndex (class GALGAS_gtlExpression constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setInstructionListAtIndex (class GALGAS_gtlInstructionList constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_gtlExpression & outArgument0, class GALGAS_gtlInstructionList & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_gtlExpression & outArgument0, class GALGAS_gtlInstructionList & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_gtlExpression getter_conditionAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlInstructionList getter_instructionListAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlThenElsifStatementList getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlThenElsifStatementList getter_subListToIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlThenElsifStatementList getter_subListWithRange (const class GALGAS_range & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -16120,9 +15983,9 @@ class GALGAS_gtlThenElsifStatementList : public AC_GALGAS_list { } ; // End of GALGAS_gtlThenElsifStatementList class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Enumerator declaration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cEnumerator_gtlThenElsifStatementList : public cGenericAbstractEnumerator { public: cEnumerator_gtlThenElsifStatementList (const GALGAS_gtlThenElsifStatementList & inEnumeratedObject, @@ -16135,15 +15998,15 @@ class cEnumerator_gtlThenElsifStatementList : public cGenericAbstractEnumerator public: class GALGAS_gtlThenElsifStatementList_2D_element current (LOCATION_ARGS) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlThenElsifStatementList ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlThenElsifStatementList_2D_element struct // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlThenElsifStatementList_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -16180,25 +16043,24 @@ class GALGAS_gtlThenElsifStatementList_2D_element : public AC_GALGAS_root { public: GALGAS_gtlThenElsifStatementList_2D_element (const GALGAS_gtlExpression & in_condition, const GALGAS_gtlInstructionList & in_instructionList) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlThenElsifStatementList_2D_element extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlThenElsifStatementList_2D_element class_func_new (const class GALGAS_gtlExpression & inOperand0, - const class GALGAS_gtlInstructionList & inOperand1, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlThenElsifStatementList_2D_element constructor_new (const class GALGAS_gtlExpression & inOperand0, + const class GALGAS_gtlInstructionList & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlThenElsifStatementList_2D_element & inOperand) const ; @@ -16217,20 +16079,23 @@ class GALGAS_gtlThenElsifStatementList_2D_element : public AC_GALGAS_root { } ; // End of GALGAS_gtlThenElsifStatementList_2D_element class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlThenElsifStatementList_2D_element ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlIfStatementInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlIfStatementInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor public: GALGAS_gtlIfStatementInstruction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlIfStatementInstruction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlIfStatementInstruction * ptr (void) const { return (const cPtr_gtlIfStatementInstruction *) mObjectPtr ; @@ -16244,22 +16109,22 @@ class GALGAS_gtlIfStatementInstruction : public GALGAS_gtlInstruction { public: class GALGAS_gtlInstructionList readProperty_elseList (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlIfStatementInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlIfStatementInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_gtlThenElsifStatementList & inOperand2, - const class GALGAS_gtlInstructionList & inOperand3 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlIfStatementInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_gtlThenElsifStatementList & inOperand2, + const class GALGAS_gtlInstructionList & inOperand3 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlIfStatementInstruction & inOperand) const ; @@ -16285,27 +16150,27 @@ class GALGAS_gtlIfStatementInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlIfStatementInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlIfStatementInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlIfStatementInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlIfStatementInstruction : public cPtr_gtlInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -16328,7 +16193,7 @@ class cPtr_gtlIfStatementInstruction : public cPtr_gtlInstruction { public: VIRTUAL_IN_DEBUG GALGAS_gtlInstructionList getter_elseList (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setElseList (GALGAS_gtlInstructionList inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -16337,16 +16202,19 @@ class cPtr_gtlIfStatementInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlDisplayStatementInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlDisplayStatementInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor public: GALGAS_gtlDisplayStatementInstruction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlDisplayStatementInstruction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlDisplayStatementInstruction * ptr (void) const { return (const cPtr_gtlDisplayStatementInstruction *) mObjectPtr ; @@ -16358,21 +16226,21 @@ class GALGAS_gtlDisplayStatementInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_gtlVarPath readProperty_variablePath (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlDisplayStatementInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlDisplayStatementInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_gtlVarPath & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlDisplayStatementInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_gtlVarPath & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlDisplayStatementInstruction & inOperand) const ; @@ -16395,15 +16263,15 @@ class GALGAS_gtlDisplayStatementInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlDisplayStatementInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlDisplayStatementInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlDisplayStatementInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlDisplayStatementInstruction : public cPtr_gtlInstruction { @@ -16411,17 +16279,17 @@ class cPtr_gtlDisplayStatementInstruction : public cPtr_gtlInstruction { public: virtual class GALGAS_bool getter_mayExecuteWithoutError (const class GALGAS_gtlContext exeContext, const class GALGAS_gtlData context, const class GALGAS_library lib, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -16440,7 +16308,7 @@ class cPtr_gtlDisplayStatementInstruction : public cPtr_gtlInstruction { public: VIRTUAL_IN_DEBUG GALGAS_gtlVarPath getter_variablePath (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setVariablePath (GALGAS_gtlVarPath inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -16449,11 +16317,11 @@ class cPtr_gtlDisplayStatementInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @sortingKeyList list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_sortingKeyList : public AC_GALGAS_list { //--------------------------------- Default constructor @@ -16468,26 +16336,26 @@ class GALGAS_sortingKeyList : public AC_GALGAS_list { const class GALGAS_lsint & in_order COMMA_LOCATION_ARGS) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_sortingKeyList extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_sortingKeyList class_func_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_sortingKeyList constructor_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_sortingKeyList class_func_listWithValue (const class GALGAS_lstring & inOperand0, - const class GALGAS_lsint & inOperand1 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_sortingKeyList constructor_listWithValue (const class GALGAS_lstring & inOperand0, + const class GALGAS_lsint & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_sortingKeyList inOperand, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -16496,81 +16364,81 @@ class GALGAS_sortingKeyList : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_sortingKeyList add_operation (const GALGAS_sortingKeyList & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_lstring constinArgument0, class GALGAS_lsint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_lstring constinArgument0, class GALGAS_lsint constinArgument1, class GALGAS_uint constinArgument2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_lstring & outArgument0, class GALGAS_lsint & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_lstring & outArgument0, class GALGAS_lsint & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_lstring & outArgument0, class GALGAS_lsint & outArgument1, class GALGAS_uint constinArgument2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setKeyAtIndex (class GALGAS_lstring constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setOrderAtIndex (class GALGAS_lsint constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_lstring & outArgument0, class GALGAS_lsint & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_lstring & outArgument0, class GALGAS_lsint & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_lstring getter_keyAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_lsint getter_orderAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_sortingKeyList getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_sortingKeyList getter_subListToIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_sortingKeyList getter_subListWithRange (const class GALGAS_range & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -16584,9 +16452,9 @@ class GALGAS_sortingKeyList : public AC_GALGAS_list { } ; // End of GALGAS_sortingKeyList class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Enumerator declaration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cEnumerator_sortingKeyList : public cGenericAbstractEnumerator { public: cEnumerator_sortingKeyList (const GALGAS_sortingKeyList & inEnumeratedObject, @@ -16599,15 +16467,15 @@ class cEnumerator_sortingKeyList : public cGenericAbstractEnumerator { public: class GALGAS_sortingKeyList_2D_element current (LOCATION_ARGS) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_sortingKeyList ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @sortingKeyList_2D_element struct // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_sortingKeyList_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -16625,6 +16493,9 @@ class GALGAS_sortingKeyList_2D_element : public AC_GALGAS_root { public: VIRTUAL_IN_DEBUG bool isValid (void) const override ; public: VIRTUAL_IN_DEBUG void drop (void) override ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_sortingKeyList_2D_element constructor_default (LOCATION_ARGS) ; + //--------------------------------- Default constructor public: GALGAS_sortingKeyList_2D_element (void) ; @@ -16644,25 +16515,24 @@ class GALGAS_sortingKeyList_2D_element : public AC_GALGAS_root { public: GALGAS_sortingKeyList_2D_element (const GALGAS_lstring & in_key, const GALGAS_lsint & in_order) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_sortingKeyList_2D_element extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_sortingKeyList_2D_element class_func_new (const class GALGAS_lstring & inOperand0, - const class GALGAS_lsint & inOperand1, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_sortingKeyList_2D_element constructor_new (const class GALGAS_lstring & inOperand0, + const class GALGAS_lsint & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_sortingKeyList_2D_element & inOperand) const ; @@ -16681,15 +16551,15 @@ class GALGAS_sortingKeyList_2D_element : public AC_GALGAS_root { } ; // End of GALGAS_sortingKeyList_2D_element class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_sortingKeyList_2D_element ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlAbstractSortInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlAbstractSortInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor @@ -16706,14 +16576,14 @@ class GALGAS_gtlAbstractSortInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_gtlVarPath readProperty_variablePath (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlAbstractSortInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison @@ -16737,48 +16607,48 @@ class GALGAS_gtlAbstractSortInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlAbstractSortInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlAbstractSortInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlAbstractSortInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlAbstractSortInstruction : public cPtr_gtlInstruction { //--- Extension getter compare public: virtual class GALGAS_sint getter_compare (const class GALGAS_gtlData s1, const class GALGAS_gtlData s2, - Compiler * COMMA_LOCATION_ARGS) const = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method partition public: virtual void method_partition (class GALGAS_list & aList, const class GALGAS_uint min, const class GALGAS_uint max, class GALGAS_uint & pivotIndex, - Compiler * COMMA_LOCATION_ARGS) ; + C_Compiler * COMMA_LOCATION_ARGS) ; //--- Extension method sort public: virtual void method_sort (class GALGAS_list & aList, const class GALGAS_uint min, const class GALGAS_uint max, - Compiler * COMMA_LOCATION_ARGS) ; + C_Compiler * COMMA_LOCATION_ARGS) ; //--- Extension method swap public: virtual void method_swap (class GALGAS_list & aList, const class GALGAS_uint index1, const class GALGAS_uint index2, - Compiler * COMMA_LOCATION_ARGS) ; + C_Compiler * COMMA_LOCATION_ARGS) ; //--- Properties @@ -16794,7 +16664,7 @@ class cPtr_gtlAbstractSortInstruction : public cPtr_gtlInstruction { public: VIRTUAL_IN_DEBUG GALGAS_gtlVarPath getter_variablePath (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setVariablePath (GALGAS_gtlVarPath inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override = 0 ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override = 0 ; @@ -16803,68 +16673,71 @@ class cPtr_gtlAbstractSortInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension getter '@gtlAbstractSortInstruction compare' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_sint callExtensionGetter_compare (const class cPtr_gtlAbstractSortInstruction * inObject, const class GALGAS_gtlData constin_s_31_, const class GALGAS_gtlData constin_s_32_, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension method '@gtlAbstractSortInstruction swap' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionMethod_swap (class cPtr_gtlAbstractSortInstruction * inObject, class GALGAS_list & io_aList, const class GALGAS_uint constin_index_31_, const class GALGAS_uint constin_index_32_, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension method '@gtlAbstractSortInstruction partition' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionMethod_partition (class cPtr_gtlAbstractSortInstruction * inObject, class GALGAS_list & io_aList, const class GALGAS_uint constin_min, const class GALGAS_uint constin_max, class GALGAS_uint & io_pivotIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension method '@gtlAbstractSortInstruction sort' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionMethod_sort (class cPtr_gtlAbstractSortInstruction * inObject, class GALGAS_list & io_aList, const class GALGAS_uint constin_min, const class GALGAS_uint constin_max, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlSortStatementStructInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlSortStatementStructInstruction : public GALGAS_gtlAbstractSortInstruction { //--------------------------------- Default constructor public: GALGAS_gtlSortStatementStructInstruction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlSortStatementStructInstruction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlSortStatementStructInstruction * ptr (void) const { return (const cPtr_gtlSortStatementStructInstruction *) mObjectPtr ; @@ -16876,22 +16749,22 @@ class GALGAS_gtlSortStatementStructInstruction : public GALGAS_gtlAbstractSortIn //--------------------------------- Property read access public: class GALGAS_sortingKeyList readProperty_sortingKey (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlSortStatementStructInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlSortStatementStructInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_gtlVarPath & inOperand2, - const class GALGAS_sortingKeyList & inOperand3 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlSortStatementStructInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_gtlVarPath & inOperand2, + const class GALGAS_sortingKeyList & inOperand3 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlSortStatementStructInstruction & inOperand) const ; @@ -16914,31 +16787,31 @@ class GALGAS_gtlSortStatementStructInstruction : public GALGAS_gtlAbstractSortIn } ; // End of GALGAS_gtlSortStatementStructInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlSortStatementStructInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlSortStatementStructInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlSortStatementStructInstruction : public cPtr_gtlAbstractSortInstruction { //--- Extension getter compare public: virtual class GALGAS_sint getter_compare (const class GALGAS_gtlData s1, const class GALGAS_gtlData s2, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter compareElements public: virtual class GALGAS_sint getter_compareElements (const class GALGAS_gtlData s1, const class GALGAS_gtlData s2, const class GALGAS_sortingKeyList keyList, - Compiler * COMMA_LOCATION_ARGS) const ; + C_Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -16958,7 +16831,7 @@ class cPtr_gtlSortStatementStructInstruction : public cPtr_gtlAbstractSortInstru public: VIRTUAL_IN_DEBUG GALGAS_sortingKeyList getter_sortingKey (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setSortingKey (GALGAS_sortingKeyList inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -16967,71 +16840,74 @@ class cPtr_gtlSortStatementStructInstruction : public cPtr_gtlAbstractSortInstru } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@gtlSortStatementStructInstruction compareElements' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_sint callExtensionGetter_compareElements (const cPtr_gtlSortStatementStructInstruction * inObject, const class GALGAS_gtlData constin_s_31_, const class GALGAS_gtlData constin_s_32_, class GALGAS_sortingKeyList in_keyList, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension getter '@gtlData bool' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_bool callExtensionGetter_bool (const class cPtr_gtlData * inObject, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension getter '@gtlData gtOp' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlData callExtensionGetter_gtOp (const class cPtr_gtlData * inObject, const class GALGAS_gtlData constin_right, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@gtlData location' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_location callExtensionGetter_location (const cPtr_gtlData * inObject, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension getter '@gtlData ltOp' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlData callExtensionGetter_ltOp (const class cPtr_gtlData * inObject, const class GALGAS_gtlData constin_right, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlVariablesInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlVariablesInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor public: GALGAS_gtlVariablesInstruction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlVariablesInstruction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlVariablesInstruction * ptr (void) const { return (const cPtr_gtlVariablesInstruction *) mObjectPtr ; @@ -17043,21 +16919,21 @@ class GALGAS_gtlVariablesInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_bool readProperty_shortDisplay (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlVariablesInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlVariablesInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_bool & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlVariablesInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_bool & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlVariablesInstruction & inOperand) const ; @@ -17080,35 +16956,35 @@ class GALGAS_gtlVariablesInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlVariablesInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlVariablesInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlVariablesInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlVariablesInstruction : public cPtr_gtlInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method displayLong public: virtual void method_displayLong (const class GALGAS_gtlData vars, - Compiler * COMMA_LOCATION_ARGS) ; + C_Compiler * COMMA_LOCATION_ARGS) ; //--- Extension method displayShort public: virtual void method_displayShort (const class GALGAS_gtlData vars, - Compiler * COMMA_LOCATION_ARGS) ; + C_Compiler * COMMA_LOCATION_ARGS) ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -17127,7 +17003,7 @@ class cPtr_gtlVariablesInstruction : public cPtr_gtlInstruction { public: VIRTUAL_IN_DEBUG GALGAS_bool getter_shortDisplay (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setShortDisplay (GALGAS_bool inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -17136,49 +17012,52 @@ class cPtr_gtlVariablesInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension method '@gtlVariablesInstruction displayShort' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionMethod_displayShort (class cPtr_gtlVariablesInstruction * inObject, const class GALGAS_gtlData constin_vars, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension getter '@gtlData desc' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string callExtensionGetter_desc (const class cPtr_gtlData * inObject, const class GALGAS_uint constin_tab, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension method '@gtlVariablesInstruction displayLong' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionMethod_displayLong (class cPtr_gtlVariablesInstruction * inObject, const class GALGAS_gtlData constin_vars, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLibrariesInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlLibrariesInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor public: GALGAS_gtlLibrariesInstruction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlLibrariesInstruction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlLibrariesInstruction * ptr (void) const { return (const cPtr_gtlLibrariesInstruction *) mObjectPtr ; @@ -17188,20 +17067,20 @@ class GALGAS_gtlLibrariesInstruction : public GALGAS_gtlInstruction { public: GALGAS_gtlLibrariesInstruction (const cPtr_gtlLibrariesInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLibrariesInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlLibrariesInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlLibrariesInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLibrariesInstruction & inOperand) const ; @@ -17221,27 +17100,27 @@ class GALGAS_gtlLibrariesInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlLibrariesInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlLibrariesInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlLibrariesInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlLibrariesInstruction : public cPtr_gtlInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -17256,7 +17135,7 @@ class cPtr_gtlLibrariesInstruction : public cPtr_gtlInstruction { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -17265,16 +17144,19 @@ class cPtr_gtlLibrariesInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlInputStatementInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlInputStatementInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor public: GALGAS_gtlInputStatementInstruction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlInputStatementInstruction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlInputStatementInstruction * ptr (void) const { return (const cPtr_gtlInputStatementInstruction *) mObjectPtr ; @@ -17286,21 +17168,21 @@ class GALGAS_gtlInputStatementInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_gtlArgumentList readProperty_formalArguments (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlInputStatementInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlInputStatementInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_gtlArgumentList & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlInputStatementInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_gtlArgumentList & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlInputStatementInstruction & inOperand) const ; @@ -17323,27 +17205,27 @@ class GALGAS_gtlInputStatementInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlInputStatementInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlInputStatementInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlInputStatementInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlInputStatementInstruction : public cPtr_gtlInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -17362,7 +17244,7 @@ class cPtr_gtlInputStatementInstruction : public cPtr_gtlInstruction { public: VIRTUAL_IN_DEBUG GALGAS_gtlArgumentList getter_formalArguments (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setFormalArguments (GALGAS_gtlArgumentList inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -17371,39 +17253,42 @@ class cPtr_gtlInputStatementInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension method '@string loadCommandFile' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void extensionMethod_loadCommandFile (const class GALGAS_string inObject, class GALGAS_gtlContext & io_context, class GALGAS_gtlData & io_vars, class GALGAS_library & io_lib, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension method '@gtlInstruction display' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionMethod_display (class cPtr_gtlInstruction * inObject, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlBreakpoint value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlBreakpoint : public AC_GALGAS_value_class { //--------------------------------- Default constructor public: GALGAS_gtlBreakpoint (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlBreakpoint constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlBreakpoint * ptr (void) const { return (const cPtr_gtlBreakpoint *) mObjectPtr ; @@ -17419,21 +17304,21 @@ class GALGAS_gtlBreakpoint : public AC_GALGAS_value_class { public: class GALGAS_string readProperty_signature (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlBreakpoint extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlBreakpoint class_func_new (const class GALGAS_string & inOperand0, - const class GALGAS_uint & inOperand1, - const class GALGAS_string & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlBreakpoint constructor_new (const class GALGAS_string & inOperand0, + const class GALGAS_uint & inOperand1, + const class GALGAS_string & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlBreakpoint & inOperand) const ; @@ -17462,15 +17347,15 @@ class GALGAS_gtlBreakpoint : public AC_GALGAS_value_class { } ; // End of GALGAS_gtlBreakpoint class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlBreakpoint ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlBreakpoint class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlBreakpoint : public acPtr_class { @@ -17497,7 +17382,7 @@ class cPtr_gtlBreakpoint : public acPtr_class { public: VIRTUAL_IN_DEBUG GALGAS_string getter_signature (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setSignature (GALGAS_string inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -17506,11 +17391,11 @@ class cPtr_gtlBreakpoint : public acPtr_class { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlBreakpointList_2D_element struct // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlBreakpointList_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -17523,6 +17408,9 @@ class GALGAS_gtlBreakpointList_2D_element : public AC_GALGAS_root { public: VIRTUAL_IN_DEBUG bool isValid (void) const override ; public: VIRTUAL_IN_DEBUG void drop (void) override ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlBreakpointList_2D_element constructor_default (LOCATION_ARGS) ; + //--------------------------------- Default constructor public: GALGAS_gtlBreakpointList_2D_element (void) ; @@ -17537,24 +17425,23 @@ class GALGAS_gtlBreakpointList_2D_element : public AC_GALGAS_root { //--------------------------------- Native constructor public: GALGAS_gtlBreakpointList_2D_element (const GALGAS_gtlBreakpoint & in_breakpoint) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlBreakpointList_2D_element extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlBreakpointList_2D_element class_func_new (const class GALGAS_gtlBreakpoint & inOperand0, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlBreakpointList_2D_element constructor_new (const class GALGAS_gtlBreakpoint & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlBreakpointList_2D_element & inOperand) const ; @@ -17573,15 +17460,15 @@ class GALGAS_gtlBreakpointList_2D_element : public AC_GALGAS_root { } ; // End of GALGAS_gtlBreakpointList_2D_element class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlBreakpointList_2D_element ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlInstructionListContextStack_2D_element struct // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlInstructionListContextStack_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -17599,6 +17486,9 @@ class GALGAS_gtlInstructionListContextStack_2D_element : public AC_GALGAS_root { public: VIRTUAL_IN_DEBUG bool isValid (void) const override ; public: VIRTUAL_IN_DEBUG void drop (void) override ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlInstructionListContextStack_2D_element constructor_default (LOCATION_ARGS) ; + //--------------------------------- Default constructor public: GALGAS_gtlInstructionListContextStack_2D_element (void) ; @@ -17618,25 +17508,24 @@ class GALGAS_gtlInstructionListContextStack_2D_element : public AC_GALGAS_root { public: GALGAS_gtlInstructionListContextStack_2D_element (const GALGAS_uint & in_nextInstructionIndex, const GALGAS_gtlInstructionList & in_instructionList) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlInstructionListContextStack_2D_element extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlInstructionListContextStack_2D_element class_func_new (const class GALGAS_uint & inOperand0, - const class GALGAS_gtlInstructionList & inOperand1, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlInstructionListContextStack_2D_element constructor_new (const class GALGAS_uint & inOperand0, + const class GALGAS_gtlInstructionList & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlInstructionListContextStack_2D_element & inOperand) const ; @@ -17655,7 +17544,7 @@ class GALGAS_gtlInstructionListContextStack_2D_element : public AC_GALGAS_root { } ; // End of GALGAS_gtlInstructionListContextStack_2D_element class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlInstructionListContextStack_2D_element ; diff --git a/goil/build/output/all-declarations-1.cpp b/goil/build/output/all-declarations-1.cpp index 89e5520b1..3ee5e9d26 100644 --- a/goil/build/output/all-declarations-1.cpp +++ b/goil/build/output/all-declarations-1.cpp @@ -1,15 +1,15 @@ -#include "Compiler.h" -#include "C_galgas_io.h" -#include "C_galgas_CLI_Options.h" -#include "PrologueEpilogue.h" +#include "galgas2/C_Compiler.h" +#include "galgas2/C_galgas_io.h" +#include "galgas2/C_galgas_CLI_Options.h" +#include "utilities/C_PrologueEpilogue.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-declarations-1.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_debugCommandInput::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -21,7 +21,7 @@ typeComparisonResult cPtr_debugCommandInput::dynamicObjectCompare (const acPtr_c return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_debugCommandInput::objectCompare (const GALGAS_debugCommandInput & inOperand) const { @@ -40,22 +40,29 @@ typeComparisonResult GALGAS_debugCommandInput::objectCompare (const GALGAS_debug return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_debugCommandInput::GALGAS_debugCommandInput (void) : AC_GALGAS_value_class () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_debugCommandInput GALGAS_debugCommandInput::constructor_default (LOCATION_ARGS) { + return GALGAS_debugCommandInput::constructor_new (GALGAS_stringlist::constructor_emptyList (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_debugCommandInput::GALGAS_debugCommandInput (const cPtr_debugCommandInput * inSourcePtr) : AC_GALGAS_value_class (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_debugCommandInput) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_debugCommandInput GALGAS_debugCommandInput::class_func_new (const GALGAS_stringlist & inAttribute_history - COMMA_LOCATION_ARGS) { +GALGAS_debugCommandInput GALGAS_debugCommandInput::constructor_new (const GALGAS_stringlist & inAttribute_history + COMMA_LOCATION_ARGS) { GALGAS_debugCommandInput result ; if (inAttribute_history.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_debugCommandInput (inAttribute_history COMMA_THERE)) ; @@ -63,7 +70,7 @@ GALGAS_debugCommandInput GALGAS_debugCommandInput::class_func_new (const GALGAS_ return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_stringlist GALGAS_debugCommandInput::readProperty_history (void) const { if (nullptr == mObjectPtr) { @@ -75,13 +82,13 @@ GALGAS_stringlist GALGAS_debugCommandInput::readProperty_history (void) const { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_stringlist cPtr_debugCommandInput::getter_history (UNUSED_LOCATION_ARGS) const { return mProperty_history ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_debugCommandInput::setter_setHistory (GALGAS_stringlist inValue COMMA_LOCATION_ARGS) { @@ -93,16 +100,16 @@ void GALGAS_debugCommandInput::setter_setHistory (GALGAS_stringlist inValue } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_debugCommandInput::setter_setHistory (GALGAS_stringlist inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_history = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @debugCommandInput class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_debugCommandInput::cPtr_debugCommandInput (const GALGAS_stringlist & in_history COMMA_LOCATION_ARGS) : @@ -110,20 +117,20 @@ acPtr_class (THERE), mProperty_history (in_history) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_debugCommandInput::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_debugCommandInput ; } -void cPtr_debugCommandInput::description (String & ioString, +void cPtr_debugCommandInput::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@debugCommandInput:") ; + ioString << "[@debugCommandInput:" ; mProperty_history.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_debugCommandInput::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -132,22 +139,23 @@ acPtr_class * cPtr_debugCommandInput::duplicate (LOCATION_ARGS) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @debugCommandInput generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_debugCommandInput ("debugCommandInput", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_debugCommandInput ("debugCommandInput", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_debugCommandInput::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_debugCommandInput ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_debugCommandInput::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -157,10 +165,10 @@ AC_GALGAS_root * GALGAS_debugCommandInput::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_debugCommandInput GALGAS_debugCommandInput::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_debugCommandInput result ; const GALGAS_debugCommandInput * p = (const GALGAS_debugCommandInput *) inObject.embeddedObject () ; @@ -174,9 +182,9 @@ GALGAS_debugCommandInput GALGAS_debugCommandInput::extractObject (const GALGAS_o return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlBreakpoint::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -194,7 +202,7 @@ typeComparisonResult cPtr_gtlBreakpoint::dynamicObjectCompare (const acPtr_class return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlBreakpoint::objectCompare (const GALGAS_gtlBreakpoint & inOperand) const { @@ -213,24 +221,33 @@ typeComparisonResult GALGAS_gtlBreakpoint::objectCompare (const GALGAS_gtlBreakp return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpoint::GALGAS_gtlBreakpoint (void) : AC_GALGAS_value_class () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlBreakpoint GALGAS_gtlBreakpoint::constructor_default (LOCATION_ARGS) { + return GALGAS_gtlBreakpoint::constructor_new (GALGAS_string::constructor_default (HERE), + GALGAS_uint::constructor_default (HERE), + GALGAS_string::constructor_default (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpoint::GALGAS_gtlBreakpoint (const cPtr_gtlBreakpoint * inSourcePtr) : AC_GALGAS_value_class (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlBreakpoint) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlBreakpoint GALGAS_gtlBreakpoint::class_func_new (const GALGAS_string & inAttribute_fileName, - const GALGAS_uint & inAttribute_lineNum, - const GALGAS_string & inAttribute_signature - COMMA_LOCATION_ARGS) { +GALGAS_gtlBreakpoint GALGAS_gtlBreakpoint::constructor_new (const GALGAS_string & inAttribute_fileName, + const GALGAS_uint & inAttribute_lineNum, + const GALGAS_string & inAttribute_signature + COMMA_LOCATION_ARGS) { GALGAS_gtlBreakpoint result ; if (inAttribute_fileName.isValid () && inAttribute_lineNum.isValid () && inAttribute_signature.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlBreakpoint (inAttribute_fileName, inAttribute_lineNum, inAttribute_signature COMMA_THERE)) ; @@ -238,7 +255,7 @@ GALGAS_gtlBreakpoint GALGAS_gtlBreakpoint::class_func_new (const GALGAS_string & return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_gtlBreakpoint::readProperty_fileName (void) const { if (nullptr == mObjectPtr) { @@ -250,13 +267,13 @@ GALGAS_string GALGAS_gtlBreakpoint::readProperty_fileName (void) const { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string cPtr_gtlBreakpoint::getter_fileName (UNUSED_LOCATION_ARGS) const { return mProperty_fileName ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_gtlBreakpoint::readProperty_lineNum (void) const { if (nullptr == mObjectPtr) { @@ -268,13 +285,13 @@ GALGAS_uint GALGAS_gtlBreakpoint::readProperty_lineNum (void) const { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint cPtr_gtlBreakpoint::getter_lineNum (UNUSED_LOCATION_ARGS) const { return mProperty_lineNum ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_gtlBreakpoint::readProperty_signature (void) const { if (nullptr == mObjectPtr) { @@ -286,13 +303,13 @@ GALGAS_string GALGAS_gtlBreakpoint::readProperty_signature (void) const { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string cPtr_gtlBreakpoint::getter_signature (UNUSED_LOCATION_ARGS) const { return mProperty_signature ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpoint::setter_setFileName (GALGAS_string inValue COMMA_LOCATION_ARGS) { @@ -304,14 +321,14 @@ void GALGAS_gtlBreakpoint::setter_setFileName (GALGAS_string inValue } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlBreakpoint::setter_setFileName (GALGAS_string inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_fileName = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpoint::setter_setLineNum (GALGAS_uint inValue COMMA_LOCATION_ARGS) { @@ -323,14 +340,14 @@ void GALGAS_gtlBreakpoint::setter_setLineNum (GALGAS_uint inValue } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlBreakpoint::setter_setLineNum (GALGAS_uint inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_lineNum = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpoint::setter_setSignature (GALGAS_string inValue COMMA_LOCATION_ARGS) { @@ -342,16 +359,16 @@ void GALGAS_gtlBreakpoint::setter_setSignature (GALGAS_string inValue } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlBreakpoint::setter_setSignature (GALGAS_string inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_signature = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlBreakpoint class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlBreakpoint::cPtr_gtlBreakpoint (const GALGAS_string & in_fileName, const GALGAS_uint & in_lineNum, @@ -363,24 +380,24 @@ mProperty_lineNum (in_lineNum), mProperty_signature (in_signature) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlBreakpoint::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlBreakpoint ; } -void cPtr_gtlBreakpoint::description (String & ioString, +void cPtr_gtlBreakpoint::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlBreakpoint:") ; + ioString << "[@gtlBreakpoint:" ; mProperty_fileName.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_lineNum.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlBreakpoint::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -389,22 +406,23 @@ acPtr_class * cPtr_gtlBreakpoint::duplicate (LOCATION_ARGS) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlBreakpoint generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlBreakpoint ("gtlBreakpoint", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlBreakpoint ("gtlBreakpoint", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlBreakpoint::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlBreakpoint ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlBreakpoint::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -414,10 +432,10 @@ AC_GALGAS_root * GALGAS_gtlBreakpoint::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpoint GALGAS_gtlBreakpoint::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlBreakpoint result ; const GALGAS_gtlBreakpoint * p = (const GALGAS_gtlBreakpoint *) inObject.embeddedObject () ; @@ -431,14 +449,14 @@ GALGAS_gtlBreakpoint GALGAS_gtlBreakpoint::extractObject (const GALGAS_object & return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension Getter '@gtlVarPath stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string extensionGetter_stringRepresentation (const GALGAS_gtlVarPath & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_string result_result ; // Returned variable const GALGAS_gtlVarPath temp_0 = inObject ; @@ -456,15 +474,15 @@ GALGAS_string extensionGetter_stringRepresentation (const GALGAS_gtlVarPath & in -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension getter '@gtlVarItem stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string callExtensionGetter_stringRepresentation (const cPtr_gtlVarItem * inObject, const GALGAS_string in_concatString, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_string result ; if (nullptr != inObject) { @@ -473,14 +491,14 @@ GALGAS_string callExtensionGetter_stringRepresentation (const cPtr_gtlVarItem * return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension Getter '@gtlExpressionList stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string extensionGetter_stringRepresentation (const GALGAS_gtlExpressionList & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_string result_result ; // Returned variable result_result = GALGAS_string::makeEmptyString () ; @@ -500,14 +518,14 @@ GALGAS_string extensionGetter_stringRepresentation (const GALGAS_gtlExpressionLi -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension Getter '@gtlExpressionMap mapRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string extensionGetter_mapRepresentation (const GALGAS_gtlExpressionMap & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_string result_result ; // Returned variable result_result = GALGAS_string::makeEmptyString () ; @@ -527,14 +545,14 @@ GALGAS_string extensionGetter_mapRepresentation (const GALGAS_gtlExpressionMap & -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension Getter '@gtlExpressionMap structRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string extensionGetter_structRepresentation (const GALGAS_gtlExpressionMap & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_string result_result ; // Returned variable result_result = GALGAS_string::makeEmptyString () ; @@ -554,14 +572,14 @@ GALGAS_string extensionGetter_structRepresentation (const GALGAS_gtlExpressionMa -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension Getter '@gtlArgumentList stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string extensionGetter_stringRepresentation (const GALGAS_gtlArgumentList & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_string result_result ; // Returned variable result_result = GALGAS_string::makeEmptyString () ; @@ -588,14 +606,14 @@ GALGAS_string extensionGetter_stringRepresentation (const GALGAS_gtlArgumentList -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension Getter '@sortingKeyList stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string extensionGetter_stringRepresentation (const GALGAS_sortingKeyList & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_string result_result ; // Returned variable result_result = GALGAS_string::makeEmptyString () ; @@ -615,13 +633,13 @@ GALGAS_string extensionGetter_stringRepresentation (const GALGAS_sortingKeyList -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@gtlInstruction shortLocation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string cPtr_gtlInstruction::getter_shortLocation (Compiler * inCompiler +GALGAS_string cPtr_gtlInstruction::getter_shortLocation (C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_string result_result ; // Returned variable result_result = this->mProperty_where.getter_file (inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1139)).getter_lastPathComponent (SOURCE_FILE ("gtl_debugger.galgas", 1139)).add_operation (GALGAS_string (":"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1139)).add_operation (this->mProperty_where.getter_endLine (inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1139)).getter_string (SOURCE_FILE ("gtl_debugger.galgas", 1139)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1139)) ; @@ -631,10 +649,10 @@ GALGAS_string cPtr_gtlInstruction::getter_shortLocation (Compiler * inCompiler -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string callExtensionGetter_shortLocation (const cPtr_gtlInstruction * inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_string result ; if (nullptr != inObject) { @@ -643,14 +661,14 @@ GALGAS_string callExtensionGetter_shortLocation (const cPtr_gtlInstruction * inO return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension method '@gtlInstruction displayWithLocation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlInstruction::method_displayWithLocation (const GALGAS_debuggerContext constinArgument_context, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { const GALGAS_gtlInstruction temp_0 = this ; inCompiler->printMessage (callExtensionGetter_shortLocation ((const cPtr_gtlInstruction *) temp_0.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1146)).add_operation (GALGAS_string (" > "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1146)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1146)) ; @@ -660,25 +678,25 @@ void cPtr_gtlInstruction::method_displayWithLocation (const GALGAS_debuggerConte inCompiler->printMessage (function_endc (inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1149)).add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1149)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1149)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionMethod_displayWithLocation (cPtr_gtlInstruction * inObject, const GALGAS_debuggerContext constin_context, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (nullptr != inObject) { macroValidSharedObject (inObject, cPtr_gtlInstruction) ; inObject->method_displayWithLocation (constin_context, inCompiler COMMA_THERE) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension method '@gtlInstruction display' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionMethod_display (cPtr_gtlInstruction * inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { //--- Drop output arguments //--- Find method @@ -687,16 +705,16 @@ void callExtensionMethod_display (cPtr_gtlInstruction * inObject, inObject->method_display (inCompiler COMMA_THERE) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@gtlInstruction mayExecuteWithoutError' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool cPtr_gtlInstruction::getter_mayExecuteWithoutError (const GALGAS_gtlContext /* constinArgument_exeContext */, const GALGAS_gtlData /* constinArgument_context */, const GALGAS_library /* constinArgument_lib */, - Compiler */* inCompiler */ + C_Compiler */* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_bool result_may ; // Returned variable result_may = GALGAS_bool (true) ; @@ -706,13 +724,13 @@ GALGAS_bool cPtr_gtlInstruction::getter_mayExecuteWithoutError (const GALGAS_gtl -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool callExtensionGetter_mayExecuteWithoutError (const cPtr_gtlInstruction * inObject, const GALGAS_gtlContext in_exeContext, const GALGAS_gtlData in_context, const GALGAS_library in_lib, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_bool result ; if (nullptr != inObject) { @@ -721,9 +739,9 @@ GALGAS_bool callExtensionGetter_mayExecuteWithoutError (const cPtr_gtlInstructio return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlStepInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -738,7 +756,7 @@ typeComparisonResult cPtr_gtlStepInstruction::dynamicObjectCompare (const acPtr_ return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlStepInstruction::objectCompare (const GALGAS_gtlStepInstruction & inOperand) const { @@ -757,23 +775,31 @@ typeComparisonResult GALGAS_gtlStepInstruction::objectCompare (const GALGAS_gtlS return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlStepInstruction::GALGAS_gtlStepInstruction (void) : GALGAS_gtlInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlStepInstruction GALGAS_gtlStepInstruction::constructor_default (LOCATION_ARGS) { + return GALGAS_gtlStepInstruction::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_string::constructor_default (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlStepInstruction::GALGAS_gtlStepInstruction (const cPtr_gtlStepInstruction * inSourcePtr) : GALGAS_gtlInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlStepInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlStepInstruction GALGAS_gtlStepInstruction::class_func_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature - COMMA_LOCATION_ARGS) { +GALGAS_gtlStepInstruction GALGAS_gtlStepInstruction::constructor_new (const GALGAS_location & inAttribute_where, + const GALGAS_string & inAttribute_signature + COMMA_LOCATION_ARGS) { GALGAS_gtlStepInstruction result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlStepInstruction (inAttribute_where, inAttribute_signature COMMA_THERE)) ; @@ -781,9 +807,9 @@ GALGAS_gtlStepInstruction GALGAS_gtlStepInstruction::class_func_new (const GALGA return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlStepInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlStepInstruction::cPtr_gtlStepInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature @@ -791,22 +817,22 @@ cPtr_gtlStepInstruction::cPtr_gtlStepInstruction (const GALGAS_location & in_whe cPtr_gtlInstruction (in_where, in_signature COMMA_THERE) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlStepInstruction::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlStepInstruction ; } -void cPtr_gtlStepInstruction::description (String & ioString, +void cPtr_gtlStepInstruction::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlStepInstruction:") ; + ioString << "[@gtlStepInstruction:" ; mProperty_where.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlStepInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -815,22 +841,23 @@ acPtr_class * cPtr_gtlStepInstruction::duplicate (LOCATION_ARGS) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlStepInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlStepInstruction ("gtlStepInstruction", - & kTypeDescriptor_GALGAS_gtlInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlStepInstruction ("gtlStepInstruction", + & kTypeDescriptor_GALGAS_gtlInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlStepInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlStepInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlStepInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -840,10 +867,10 @@ AC_GALGAS_root * GALGAS_gtlStepInstruction::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlStepInstruction GALGAS_gtlStepInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlStepInstruction result ; const GALGAS_gtlStepInstruction * p = (const GALGAS_gtlStepInstruction *) inObject.embeddedObject () ; @@ -857,9 +884,9 @@ GALGAS_gtlStepInstruction GALGAS_gtlStepInstruction::extractObject (const GALGAS return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlDoInstInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -877,7 +904,7 @@ typeComparisonResult cPtr_gtlDoInstInstruction::dynamicObjectCompare (const acPt return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlDoInstInstruction::objectCompare (const GALGAS_gtlDoInstInstruction & inOperand) const { @@ -896,24 +923,24 @@ typeComparisonResult GALGAS_gtlDoInstInstruction::objectCompare (const GALGAS_gt return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlDoInstInstruction::GALGAS_gtlDoInstInstruction (void) : GALGAS_gtlInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlDoInstInstruction::GALGAS_gtlDoInstInstruction (const cPtr_gtlDoInstInstruction * inSourcePtr) : GALGAS_gtlInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlDoInstInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlDoInstInstruction GALGAS_gtlDoInstInstruction::class_func_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_gtlInstruction & inAttribute_instructionToDo - COMMA_LOCATION_ARGS) { +GALGAS_gtlDoInstInstruction GALGAS_gtlDoInstInstruction::constructor_new (const GALGAS_location & inAttribute_where, + const GALGAS_string & inAttribute_signature, + const GALGAS_gtlInstruction & inAttribute_instructionToDo + COMMA_LOCATION_ARGS) { GALGAS_gtlDoInstInstruction result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_instructionToDo.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlDoInstInstruction (inAttribute_where, inAttribute_signature, inAttribute_instructionToDo COMMA_THERE)) ; @@ -921,7 +948,7 @@ GALGAS_gtlDoInstInstruction GALGAS_gtlDoInstInstruction::class_func_new (const G return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstruction GALGAS_gtlDoInstInstruction::readProperty_instructionToDo (void) const { if (nullptr == mObjectPtr) { @@ -933,13 +960,13 @@ GALGAS_gtlInstruction GALGAS_gtlDoInstInstruction::readProperty_instructionToDo } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlInstruction cPtr_gtlDoInstInstruction::getter_instructionToDo (UNUSED_LOCATION_ARGS) const { return mProperty_instructionToDo ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlDoInstInstruction::setter_setInstructionToDo (GALGAS_gtlInstruction inValue COMMA_LOCATION_ARGS) { @@ -951,16 +978,16 @@ void GALGAS_gtlDoInstInstruction::setter_setInstructionToDo (GALGAS_gtlInstructi } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlDoInstInstruction::setter_setInstructionToDo (GALGAS_gtlInstruction inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_instructionToDo = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlDoInstInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlDoInstInstruction::cPtr_gtlDoInstInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature, @@ -970,24 +997,24 @@ cPtr_gtlInstruction (in_where, in_signature COMMA_THERE), mProperty_instructionToDo (in_instructionToDo) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlDoInstInstruction::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlDoInstInstruction ; } -void cPtr_gtlDoInstInstruction::description (String & ioString, +void cPtr_gtlDoInstInstruction::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlDoInstInstruction:") ; + ioString << "[@gtlDoInstInstruction:" ; mProperty_where.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_instructionToDo.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlDoInstInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -996,22 +1023,23 @@ acPtr_class * cPtr_gtlDoInstInstruction::duplicate (LOCATION_ARGS) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlDoInstInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlDoInstInstruction ("gtlDoInstInstruction", - & kTypeDescriptor_GALGAS_gtlInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlDoInstInstruction ("gtlDoInstInstruction", + & kTypeDescriptor_GALGAS_gtlInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlDoInstInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlDoInstInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlDoInstInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -1021,10 +1049,10 @@ AC_GALGAS_root * GALGAS_gtlDoInstInstruction::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlDoInstInstruction GALGAS_gtlDoInstInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlDoInstInstruction result ; const GALGAS_gtlDoInstInstruction * p = (const GALGAS_gtlDoInstInstruction *) inObject.embeddedObject () ; @@ -1038,9 +1066,9 @@ GALGAS_gtlDoInstInstruction GALGAS_gtlDoInstInstruction::extractObject (const GA return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlDoNotAllInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -1055,7 +1083,7 @@ typeComparisonResult cPtr_gtlDoNotAllInstruction::dynamicObjectCompare (const ac return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlDoNotAllInstruction::objectCompare (const GALGAS_gtlDoNotAllInstruction & inOperand) const { @@ -1074,23 +1102,31 @@ typeComparisonResult GALGAS_gtlDoNotAllInstruction::objectCompare (const GALGAS_ return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlDoNotAllInstruction::GALGAS_gtlDoNotAllInstruction (void) : GALGAS_gtlInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlDoNotAllInstruction GALGAS_gtlDoNotAllInstruction::constructor_default (LOCATION_ARGS) { + return GALGAS_gtlDoNotAllInstruction::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_string::constructor_default (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlDoNotAllInstruction::GALGAS_gtlDoNotAllInstruction (const cPtr_gtlDoNotAllInstruction * inSourcePtr) : GALGAS_gtlInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlDoNotAllInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlDoNotAllInstruction GALGAS_gtlDoNotAllInstruction::class_func_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature - COMMA_LOCATION_ARGS) { +GALGAS_gtlDoNotAllInstruction GALGAS_gtlDoNotAllInstruction::constructor_new (const GALGAS_location & inAttribute_where, + const GALGAS_string & inAttribute_signature + COMMA_LOCATION_ARGS) { GALGAS_gtlDoNotAllInstruction result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlDoNotAllInstruction (inAttribute_where, inAttribute_signature COMMA_THERE)) ; @@ -1098,9 +1134,9 @@ GALGAS_gtlDoNotAllInstruction GALGAS_gtlDoNotAllInstruction::class_func_new (con return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlDoNotAllInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlDoNotAllInstruction::cPtr_gtlDoNotAllInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature @@ -1108,22 +1144,22 @@ cPtr_gtlDoNotAllInstruction::cPtr_gtlDoNotAllInstruction (const GALGAS_location cPtr_gtlInstruction (in_where, in_signature COMMA_THERE) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlDoNotAllInstruction::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlDoNotAllInstruction ; } -void cPtr_gtlDoNotAllInstruction::description (String & ioString, +void cPtr_gtlDoNotAllInstruction::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlDoNotAllInstruction:") ; + ioString << "[@gtlDoNotAllInstruction:" ; mProperty_where.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlDoNotAllInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -1132,22 +1168,23 @@ acPtr_class * cPtr_gtlDoNotAllInstruction::duplicate (LOCATION_ARGS) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlDoNotAllInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlDoNotAllInstruction ("gtlDoNotAllInstruction", - & kTypeDescriptor_GALGAS_gtlInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlDoNotAllInstruction ("gtlDoNotAllInstruction", + & kTypeDescriptor_GALGAS_gtlInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlDoNotAllInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlDoNotAllInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlDoNotAllInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -1157,10 +1194,10 @@ AC_GALGAS_root * GALGAS_gtlDoNotAllInstruction::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlDoNotAllInstruction GALGAS_gtlDoNotAllInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlDoNotAllInstruction result ; const GALGAS_gtlDoNotAllInstruction * p = (const GALGAS_gtlDoNotAllInstruction *) inObject.embeddedObject () ; @@ -1174,9 +1211,9 @@ GALGAS_gtlDoNotAllInstruction GALGAS_gtlDoNotAllInstruction::extractObject (cons return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlDoInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -1191,7 +1228,7 @@ typeComparisonResult cPtr_gtlDoInstruction::dynamicObjectCompare (const acPtr_cl return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlDoInstruction::objectCompare (const GALGAS_gtlDoInstruction & inOperand) const { @@ -1210,23 +1247,31 @@ typeComparisonResult GALGAS_gtlDoInstruction::objectCompare (const GALGAS_gtlDoI return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlDoInstruction::GALGAS_gtlDoInstruction (void) : GALGAS_gtlInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlDoInstruction GALGAS_gtlDoInstruction::constructor_default (LOCATION_ARGS) { + return GALGAS_gtlDoInstruction::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_string::constructor_default (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlDoInstruction::GALGAS_gtlDoInstruction (const cPtr_gtlDoInstruction * inSourcePtr) : GALGAS_gtlInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlDoInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlDoInstruction GALGAS_gtlDoInstruction::class_func_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature - COMMA_LOCATION_ARGS) { +GALGAS_gtlDoInstruction GALGAS_gtlDoInstruction::constructor_new (const GALGAS_location & inAttribute_where, + const GALGAS_string & inAttribute_signature + COMMA_LOCATION_ARGS) { GALGAS_gtlDoInstruction result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlDoInstruction (inAttribute_where, inAttribute_signature COMMA_THERE)) ; @@ -1234,9 +1279,9 @@ GALGAS_gtlDoInstruction GALGAS_gtlDoInstruction::class_func_new (const GALGAS_lo return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlDoInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlDoInstruction::cPtr_gtlDoInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature @@ -1244,22 +1289,22 @@ cPtr_gtlDoInstruction::cPtr_gtlDoInstruction (const GALGAS_location & in_where, cPtr_gtlInstruction (in_where, in_signature COMMA_THERE) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlDoInstruction::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlDoInstruction ; } -void cPtr_gtlDoInstruction::description (String & ioString, +void cPtr_gtlDoInstruction::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlDoInstruction:") ; + ioString << "[@gtlDoInstruction:" ; mProperty_where.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlDoInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -1268,22 +1313,23 @@ acPtr_class * cPtr_gtlDoInstruction::duplicate (LOCATION_ARGS) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlDoInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlDoInstruction ("gtlDoInstruction", - & kTypeDescriptor_GALGAS_gtlInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlDoInstruction ("gtlDoInstruction", + & kTypeDescriptor_GALGAS_gtlInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlDoInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlDoInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlDoInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -1293,10 +1339,10 @@ AC_GALGAS_root * GALGAS_gtlDoInstruction::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlDoInstruction GALGAS_gtlDoInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlDoInstruction result ; const GALGAS_gtlDoInstruction * p = (const GALGAS_gtlDoInstruction *) inObject.embeddedObject () ; @@ -1310,9 +1356,9 @@ GALGAS_gtlDoInstruction GALGAS_gtlDoInstruction::extractObject (const GALGAS_obj return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlContinueInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -1327,7 +1373,7 @@ typeComparisonResult cPtr_gtlContinueInstruction::dynamicObjectCompare (const ac return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlContinueInstruction::objectCompare (const GALGAS_gtlContinueInstruction & inOperand) const { @@ -1346,23 +1392,31 @@ typeComparisonResult GALGAS_gtlContinueInstruction::objectCompare (const GALGAS_ return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlContinueInstruction::GALGAS_gtlContinueInstruction (void) : GALGAS_gtlInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlContinueInstruction GALGAS_gtlContinueInstruction::constructor_default (LOCATION_ARGS) { + return GALGAS_gtlContinueInstruction::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_string::constructor_default (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlContinueInstruction::GALGAS_gtlContinueInstruction (const cPtr_gtlContinueInstruction * inSourcePtr) : GALGAS_gtlInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlContinueInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlContinueInstruction GALGAS_gtlContinueInstruction::class_func_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature - COMMA_LOCATION_ARGS) { +GALGAS_gtlContinueInstruction GALGAS_gtlContinueInstruction::constructor_new (const GALGAS_location & inAttribute_where, + const GALGAS_string & inAttribute_signature + COMMA_LOCATION_ARGS) { GALGAS_gtlContinueInstruction result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlContinueInstruction (inAttribute_where, inAttribute_signature COMMA_THERE)) ; @@ -1370,9 +1424,9 @@ GALGAS_gtlContinueInstruction GALGAS_gtlContinueInstruction::class_func_new (con return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlContinueInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlContinueInstruction::cPtr_gtlContinueInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature @@ -1380,22 +1434,22 @@ cPtr_gtlContinueInstruction::cPtr_gtlContinueInstruction (const GALGAS_location cPtr_gtlInstruction (in_where, in_signature COMMA_THERE) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlContinueInstruction::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlContinueInstruction ; } -void cPtr_gtlContinueInstruction::description (String & ioString, +void cPtr_gtlContinueInstruction::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlContinueInstruction:") ; + ioString << "[@gtlContinueInstruction:" ; mProperty_where.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlContinueInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -1404,22 +1458,23 @@ acPtr_class * cPtr_gtlContinueInstruction::duplicate (LOCATION_ARGS) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlContinueInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlContinueInstruction ("gtlContinueInstruction", - & kTypeDescriptor_GALGAS_gtlInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlContinueInstruction ("gtlContinueInstruction", + & kTypeDescriptor_GALGAS_gtlInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlContinueInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlContinueInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlContinueInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -1429,10 +1484,10 @@ AC_GALGAS_root * GALGAS_gtlContinueInstruction::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlContinueInstruction GALGAS_gtlContinueInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlContinueInstruction result ; const GALGAS_gtlContinueInstruction * p = (const GALGAS_gtlContinueInstruction *) inObject.embeddedObject () ; @@ -1446,9 +1501,9 @@ GALGAS_gtlContinueInstruction GALGAS_gtlContinueInstruction::extractObject (cons return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlBreakpointInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -1469,7 +1524,7 @@ typeComparisonResult cPtr_gtlBreakpointInstruction::dynamicObjectCompare (const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlBreakpointInstruction::objectCompare (const GALGAS_gtlBreakpointInstruction & inOperand) const { @@ -1488,25 +1543,35 @@ typeComparisonResult GALGAS_gtlBreakpointInstruction::objectCompare (const GALGA return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointInstruction::GALGAS_gtlBreakpointInstruction (void) : GALGAS_gtlInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlBreakpointInstruction GALGAS_gtlBreakpointInstruction::constructor_default (LOCATION_ARGS) { + return GALGAS_gtlBreakpointInstruction::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_string::constructor_default (HERE), + GALGAS_string::constructor_default (HERE), + GALGAS_uint::constructor_default (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointInstruction::GALGAS_gtlBreakpointInstruction (const cPtr_gtlBreakpointInstruction * inSourcePtr) : GALGAS_gtlInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlBreakpointInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlBreakpointInstruction GALGAS_gtlBreakpointInstruction::class_func_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_string & inAttribute_fileName, - const GALGAS_uint & inAttribute_lineNum - COMMA_LOCATION_ARGS) { +GALGAS_gtlBreakpointInstruction GALGAS_gtlBreakpointInstruction::constructor_new (const GALGAS_location & inAttribute_where, + const GALGAS_string & inAttribute_signature, + const GALGAS_string & inAttribute_fileName, + const GALGAS_uint & inAttribute_lineNum + COMMA_LOCATION_ARGS) { GALGAS_gtlBreakpointInstruction result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_fileName.isValid () && inAttribute_lineNum.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlBreakpointInstruction (inAttribute_where, inAttribute_signature, inAttribute_fileName, inAttribute_lineNum COMMA_THERE)) ; @@ -1514,7 +1579,7 @@ GALGAS_gtlBreakpointInstruction GALGAS_gtlBreakpointInstruction::class_func_new return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_gtlBreakpointInstruction::readProperty_fileName (void) const { if (nullptr == mObjectPtr) { @@ -1526,13 +1591,13 @@ GALGAS_string GALGAS_gtlBreakpointInstruction::readProperty_fileName (void) cons } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string cPtr_gtlBreakpointInstruction::getter_fileName (UNUSED_LOCATION_ARGS) const { return mProperty_fileName ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_gtlBreakpointInstruction::readProperty_lineNum (void) const { if (nullptr == mObjectPtr) { @@ -1544,13 +1609,13 @@ GALGAS_uint GALGAS_gtlBreakpointInstruction::readProperty_lineNum (void) const { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint cPtr_gtlBreakpointInstruction::getter_lineNum (UNUSED_LOCATION_ARGS) const { return mProperty_lineNum ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpointInstruction::setter_setFileName (GALGAS_string inValue COMMA_LOCATION_ARGS) { @@ -1562,14 +1627,14 @@ void GALGAS_gtlBreakpointInstruction::setter_setFileName (GALGAS_string inValue } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlBreakpointInstruction::setter_setFileName (GALGAS_string inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_fileName = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpointInstruction::setter_setLineNum (GALGAS_uint inValue COMMA_LOCATION_ARGS) { @@ -1581,16 +1646,16 @@ void GALGAS_gtlBreakpointInstruction::setter_setLineNum (GALGAS_uint inValue } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlBreakpointInstruction::setter_setLineNum (GALGAS_uint inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_lineNum = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlBreakpointInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlBreakpointInstruction::cPtr_gtlBreakpointInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature, @@ -1602,26 +1667,26 @@ mProperty_fileName (in_fileName), mProperty_lineNum (in_lineNum) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlBreakpointInstruction::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlBreakpointInstruction ; } -void cPtr_gtlBreakpointInstruction::description (String & ioString, +void cPtr_gtlBreakpointInstruction::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlBreakpointInstruction:") ; + ioString << "[@gtlBreakpointInstruction:" ; mProperty_where.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_fileName.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_lineNum.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlBreakpointInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -1630,22 +1695,23 @@ acPtr_class * cPtr_gtlBreakpointInstruction::duplicate (LOCATION_ARGS) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlBreakpointInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlBreakpointInstruction ("gtlBreakpointInstruction", - & kTypeDescriptor_GALGAS_gtlInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlBreakpointInstruction ("gtlBreakpointInstruction", + & kTypeDescriptor_GALGAS_gtlInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlBreakpointInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlBreakpointInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlBreakpointInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -1655,10 +1721,10 @@ AC_GALGAS_root * GALGAS_gtlBreakpointInstruction::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointInstruction GALGAS_gtlBreakpointInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlBreakpointInstruction result ; const GALGAS_gtlBreakpointInstruction * p = (const GALGAS_gtlBreakpointInstruction *) inObject.embeddedObject () ; @@ -1672,9 +1738,9 @@ GALGAS_gtlBreakpointInstruction GALGAS_gtlBreakpointInstruction::extractObject ( return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlBreakpointListInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -1689,7 +1755,7 @@ typeComparisonResult cPtr_gtlBreakpointListInstruction::dynamicObjectCompare (co return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlBreakpointListInstruction::objectCompare (const GALGAS_gtlBreakpointListInstruction & inOperand) const { @@ -1708,23 +1774,31 @@ typeComparisonResult GALGAS_gtlBreakpointListInstruction::objectCompare (const G return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointListInstruction::GALGAS_gtlBreakpointListInstruction (void) : GALGAS_gtlInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlBreakpointListInstruction GALGAS_gtlBreakpointListInstruction::constructor_default (LOCATION_ARGS) { + return GALGAS_gtlBreakpointListInstruction::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_string::constructor_default (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointListInstruction::GALGAS_gtlBreakpointListInstruction (const cPtr_gtlBreakpointListInstruction * inSourcePtr) : GALGAS_gtlInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlBreakpointListInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlBreakpointListInstruction GALGAS_gtlBreakpointListInstruction::class_func_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature - COMMA_LOCATION_ARGS) { +GALGAS_gtlBreakpointListInstruction GALGAS_gtlBreakpointListInstruction::constructor_new (const GALGAS_location & inAttribute_where, + const GALGAS_string & inAttribute_signature + COMMA_LOCATION_ARGS) { GALGAS_gtlBreakpointListInstruction result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlBreakpointListInstruction (inAttribute_where, inAttribute_signature COMMA_THERE)) ; @@ -1732,9 +1806,9 @@ GALGAS_gtlBreakpointListInstruction GALGAS_gtlBreakpointListInstruction::class_f return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlBreakpointListInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlBreakpointListInstruction::cPtr_gtlBreakpointListInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature @@ -1742,22 +1816,22 @@ cPtr_gtlBreakpointListInstruction::cPtr_gtlBreakpointListInstruction (const GALG cPtr_gtlInstruction (in_where, in_signature COMMA_THERE) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlBreakpointListInstruction::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlBreakpointListInstruction ; } -void cPtr_gtlBreakpointListInstruction::description (String & ioString, +void cPtr_gtlBreakpointListInstruction::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlBreakpointListInstruction:") ; + ioString << "[@gtlBreakpointListInstruction:" ; mProperty_where.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlBreakpointListInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -1766,22 +1840,23 @@ acPtr_class * cPtr_gtlBreakpointListInstruction::duplicate (LOCATION_ARGS) const } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlBreakpointListInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlBreakpointListInstruction ("gtlBreakpointListInstruction", - & kTypeDescriptor_GALGAS_gtlInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlBreakpointListInstruction ("gtlBreakpointListInstruction", + & kTypeDescriptor_GALGAS_gtlInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlBreakpointListInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlBreakpointListInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlBreakpointListInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -1791,10 +1866,10 @@ AC_GALGAS_root * GALGAS_gtlBreakpointListInstruction::clonedObject (void) const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointListInstruction GALGAS_gtlBreakpointListInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlBreakpointListInstruction result ; const GALGAS_gtlBreakpointListInstruction * p = (const GALGAS_gtlBreakpointListInstruction *) inObject.embeddedObject () ; @@ -1808,9 +1883,9 @@ GALGAS_gtlBreakpointListInstruction GALGAS_gtlBreakpointListInstruction::extract return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlBreakpointDeleteInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -1828,7 +1903,7 @@ typeComparisonResult cPtr_gtlBreakpointDeleteInstruction::dynamicObjectCompare ( return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlBreakpointDeleteInstruction::objectCompare (const GALGAS_gtlBreakpointDeleteInstruction & inOperand) const { @@ -1847,24 +1922,33 @@ typeComparisonResult GALGAS_gtlBreakpointDeleteInstruction::objectCompare (const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointDeleteInstruction::GALGAS_gtlBreakpointDeleteInstruction (void) : GALGAS_gtlInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlBreakpointDeleteInstruction GALGAS_gtlBreakpointDeleteInstruction::constructor_default (LOCATION_ARGS) { + return GALGAS_gtlBreakpointDeleteInstruction::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_string::constructor_default (HERE), + GALGAS_lbigint::constructor_default (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointDeleteInstruction::GALGAS_gtlBreakpointDeleteInstruction (const cPtr_gtlBreakpointDeleteInstruction * inSourcePtr) : GALGAS_gtlInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlBreakpointDeleteInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlBreakpointDeleteInstruction GALGAS_gtlBreakpointDeleteInstruction::class_func_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_lbigint & inAttribute_numToDelete - COMMA_LOCATION_ARGS) { +GALGAS_gtlBreakpointDeleteInstruction GALGAS_gtlBreakpointDeleteInstruction::constructor_new (const GALGAS_location & inAttribute_where, + const GALGAS_string & inAttribute_signature, + const GALGAS_lbigint & inAttribute_numToDelete + COMMA_LOCATION_ARGS) { GALGAS_gtlBreakpointDeleteInstruction result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_numToDelete.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlBreakpointDeleteInstruction (inAttribute_where, inAttribute_signature, inAttribute_numToDelete COMMA_THERE)) ; @@ -1872,7 +1956,7 @@ GALGAS_gtlBreakpointDeleteInstruction GALGAS_gtlBreakpointDeleteInstruction::cla return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lbigint GALGAS_gtlBreakpointDeleteInstruction::readProperty_numToDelete (void) const { if (nullptr == mObjectPtr) { @@ -1884,13 +1968,13 @@ GALGAS_lbigint GALGAS_gtlBreakpointDeleteInstruction::readProperty_numToDelete ( } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lbigint cPtr_gtlBreakpointDeleteInstruction::getter_numToDelete (UNUSED_LOCATION_ARGS) const { return mProperty_numToDelete ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpointDeleteInstruction::setter_setNumToDelete (GALGAS_lbigint inValue COMMA_LOCATION_ARGS) { @@ -1902,16 +1986,16 @@ void GALGAS_gtlBreakpointDeleteInstruction::setter_setNumToDelete (GALGAS_lbigin } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlBreakpointDeleteInstruction::setter_setNumToDelete (GALGAS_lbigint inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_numToDelete = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlBreakpointDeleteInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlBreakpointDeleteInstruction::cPtr_gtlBreakpointDeleteInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature, @@ -1921,24 +2005,24 @@ cPtr_gtlInstruction (in_where, in_signature COMMA_THERE), mProperty_numToDelete (in_numToDelete) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlBreakpointDeleteInstruction::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlBreakpointDeleteInstruction ; } -void cPtr_gtlBreakpointDeleteInstruction::description (String & ioString, +void cPtr_gtlBreakpointDeleteInstruction::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlBreakpointDeleteInstruction:") ; + ioString << "[@gtlBreakpointDeleteInstruction:" ; mProperty_where.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_numToDelete.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlBreakpointDeleteInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -1947,22 +2031,23 @@ acPtr_class * cPtr_gtlBreakpointDeleteInstruction::duplicate (LOCATION_ARGS) con } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlBreakpointDeleteInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlBreakpointDeleteInstruction ("gtlBreakpointDeleteInstruction", - & kTypeDescriptor_GALGAS_gtlInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlBreakpointDeleteInstruction ("gtlBreakpointDeleteInstruction", + & kTypeDescriptor_GALGAS_gtlInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlBreakpointDeleteInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlBreakpointDeleteInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlBreakpointDeleteInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -1972,10 +2057,10 @@ AC_GALGAS_root * GALGAS_gtlBreakpointDeleteInstruction::clonedObject (void) cons return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointDeleteInstruction GALGAS_gtlBreakpointDeleteInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlBreakpointDeleteInstruction result ; const GALGAS_gtlBreakpointDeleteInstruction * p = (const GALGAS_gtlBreakpointDeleteInstruction *) inObject.embeddedObject () ; @@ -1989,9 +2074,9 @@ GALGAS_gtlBreakpointDeleteInstruction GALGAS_gtlBreakpointDeleteInstruction::ext return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlBreakpointDeleteAllInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -2006,7 +2091,7 @@ typeComparisonResult cPtr_gtlBreakpointDeleteAllInstruction::dynamicObjectCompar return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlBreakpointDeleteAllInstruction::objectCompare (const GALGAS_gtlBreakpointDeleteAllInstruction & inOperand) const { @@ -2025,23 +2110,31 @@ typeComparisonResult GALGAS_gtlBreakpointDeleteAllInstruction::objectCompare (co return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointDeleteAllInstruction::GALGAS_gtlBreakpointDeleteAllInstruction (void) : GALGAS_gtlInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlBreakpointDeleteAllInstruction GALGAS_gtlBreakpointDeleteAllInstruction::constructor_default (LOCATION_ARGS) { + return GALGAS_gtlBreakpointDeleteAllInstruction::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_string::constructor_default (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointDeleteAllInstruction::GALGAS_gtlBreakpointDeleteAllInstruction (const cPtr_gtlBreakpointDeleteAllInstruction * inSourcePtr) : GALGAS_gtlInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlBreakpointDeleteAllInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlBreakpointDeleteAllInstruction GALGAS_gtlBreakpointDeleteAllInstruction::class_func_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature - COMMA_LOCATION_ARGS) { +GALGAS_gtlBreakpointDeleteAllInstruction GALGAS_gtlBreakpointDeleteAllInstruction::constructor_new (const GALGAS_location & inAttribute_where, + const GALGAS_string & inAttribute_signature + COMMA_LOCATION_ARGS) { GALGAS_gtlBreakpointDeleteAllInstruction result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlBreakpointDeleteAllInstruction (inAttribute_where, inAttribute_signature COMMA_THERE)) ; @@ -2049,9 +2142,9 @@ GALGAS_gtlBreakpointDeleteAllInstruction GALGAS_gtlBreakpointDeleteAllInstructio return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlBreakpointDeleteAllInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlBreakpointDeleteAllInstruction::cPtr_gtlBreakpointDeleteAllInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature @@ -2059,22 +2152,22 @@ cPtr_gtlBreakpointDeleteAllInstruction::cPtr_gtlBreakpointDeleteAllInstruction ( cPtr_gtlInstruction (in_where, in_signature COMMA_THERE) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlBreakpointDeleteAllInstruction::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlBreakpointDeleteAllInstruction ; } -void cPtr_gtlBreakpointDeleteAllInstruction::description (String & ioString, +void cPtr_gtlBreakpointDeleteAllInstruction::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlBreakpointDeleteAllInstruction:") ; + ioString << "[@gtlBreakpointDeleteAllInstruction:" ; mProperty_where.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlBreakpointDeleteAllInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -2083,22 +2176,23 @@ acPtr_class * cPtr_gtlBreakpointDeleteAllInstruction::duplicate (LOCATION_ARGS) } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlBreakpointDeleteAllInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlBreakpointDeleteAllInstruction ("gtlBreakpointDeleteAllInstruction", - & kTypeDescriptor_GALGAS_gtlInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlBreakpointDeleteAllInstruction ("gtlBreakpointDeleteAllInstruction", + & kTypeDescriptor_GALGAS_gtlInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlBreakpointDeleteAllInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlBreakpointDeleteAllInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlBreakpointDeleteAllInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -2108,10 +2202,10 @@ AC_GALGAS_root * GALGAS_gtlBreakpointDeleteAllInstruction::clonedObject (void) c return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointDeleteAllInstruction GALGAS_gtlBreakpointDeleteAllInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlBreakpointDeleteAllInstruction result ; const GALGAS_gtlBreakpointDeleteAllInstruction * p = (const GALGAS_gtlBreakpointDeleteAllInstruction *) inObject.embeddedObject () ; @@ -2125,9 +2219,9 @@ GALGAS_gtlBreakpointDeleteAllInstruction GALGAS_gtlBreakpointDeleteAllInstructio return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlWatchpointListInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -2142,7 +2236,7 @@ typeComparisonResult cPtr_gtlWatchpointListInstruction::dynamicObjectCompare (co return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlWatchpointListInstruction::objectCompare (const GALGAS_gtlWatchpointListInstruction & inOperand) const { @@ -2161,23 +2255,31 @@ typeComparisonResult GALGAS_gtlWatchpointListInstruction::objectCompare (const G return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlWatchpointListInstruction::GALGAS_gtlWatchpointListInstruction (void) : GALGAS_gtlInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlWatchpointListInstruction GALGAS_gtlWatchpointListInstruction::constructor_default (LOCATION_ARGS) { + return GALGAS_gtlWatchpointListInstruction::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_string::constructor_default (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlWatchpointListInstruction::GALGAS_gtlWatchpointListInstruction (const cPtr_gtlWatchpointListInstruction * inSourcePtr) : GALGAS_gtlInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlWatchpointListInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlWatchpointListInstruction GALGAS_gtlWatchpointListInstruction::class_func_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature - COMMA_LOCATION_ARGS) { +GALGAS_gtlWatchpointListInstruction GALGAS_gtlWatchpointListInstruction::constructor_new (const GALGAS_location & inAttribute_where, + const GALGAS_string & inAttribute_signature + COMMA_LOCATION_ARGS) { GALGAS_gtlWatchpointListInstruction result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlWatchpointListInstruction (inAttribute_where, inAttribute_signature COMMA_THERE)) ; @@ -2185,9 +2287,9 @@ GALGAS_gtlWatchpointListInstruction GALGAS_gtlWatchpointListInstruction::class_f return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlWatchpointListInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlWatchpointListInstruction::cPtr_gtlWatchpointListInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature @@ -2195,22 +2297,22 @@ cPtr_gtlWatchpointListInstruction::cPtr_gtlWatchpointListInstruction (const GALG cPtr_gtlInstruction (in_where, in_signature COMMA_THERE) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlWatchpointListInstruction::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlWatchpointListInstruction ; } -void cPtr_gtlWatchpointListInstruction::description (String & ioString, +void cPtr_gtlWatchpointListInstruction::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlWatchpointListInstruction:") ; + ioString << "[@gtlWatchpointListInstruction:" ; mProperty_where.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlWatchpointListInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -2219,22 +2321,23 @@ acPtr_class * cPtr_gtlWatchpointListInstruction::duplicate (LOCATION_ARGS) const } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlWatchpointListInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlWatchpointListInstruction ("gtlWatchpointListInstruction", - & kTypeDescriptor_GALGAS_gtlInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlWatchpointListInstruction ("gtlWatchpointListInstruction", + & kTypeDescriptor_GALGAS_gtlInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlWatchpointListInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlWatchpointListInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlWatchpointListInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -2244,10 +2347,10 @@ AC_GALGAS_root * GALGAS_gtlWatchpointListInstruction::clonedObject (void) const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlWatchpointListInstruction GALGAS_gtlWatchpointListInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlWatchpointListInstruction result ; const GALGAS_gtlWatchpointListInstruction * p = (const GALGAS_gtlWatchpointListInstruction *) inObject.embeddedObject () ; @@ -2261,9 +2364,9 @@ GALGAS_gtlWatchpointListInstruction GALGAS_gtlWatchpointListInstruction::extract return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlWatchpointDeleteInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -2281,7 +2384,7 @@ typeComparisonResult cPtr_gtlWatchpointDeleteInstruction::dynamicObjectCompare ( return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlWatchpointDeleteInstruction::objectCompare (const GALGAS_gtlWatchpointDeleteInstruction & inOperand) const { @@ -2300,24 +2403,33 @@ typeComparisonResult GALGAS_gtlWatchpointDeleteInstruction::objectCompare (const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlWatchpointDeleteInstruction::GALGAS_gtlWatchpointDeleteInstruction (void) : GALGAS_gtlInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlWatchpointDeleteInstruction GALGAS_gtlWatchpointDeleteInstruction::constructor_default (LOCATION_ARGS) { + return GALGAS_gtlWatchpointDeleteInstruction::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_string::constructor_default (HERE), + GALGAS_lbigint::constructor_default (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlWatchpointDeleteInstruction::GALGAS_gtlWatchpointDeleteInstruction (const cPtr_gtlWatchpointDeleteInstruction * inSourcePtr) : GALGAS_gtlInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlWatchpointDeleteInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlWatchpointDeleteInstruction GALGAS_gtlWatchpointDeleteInstruction::class_func_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_lbigint & inAttribute_numToDelete - COMMA_LOCATION_ARGS) { +GALGAS_gtlWatchpointDeleteInstruction GALGAS_gtlWatchpointDeleteInstruction::constructor_new (const GALGAS_location & inAttribute_where, + const GALGAS_string & inAttribute_signature, + const GALGAS_lbigint & inAttribute_numToDelete + COMMA_LOCATION_ARGS) { GALGAS_gtlWatchpointDeleteInstruction result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_numToDelete.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlWatchpointDeleteInstruction (inAttribute_where, inAttribute_signature, inAttribute_numToDelete COMMA_THERE)) ; @@ -2325,7 +2437,7 @@ GALGAS_gtlWatchpointDeleteInstruction GALGAS_gtlWatchpointDeleteInstruction::cla return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lbigint GALGAS_gtlWatchpointDeleteInstruction::readProperty_numToDelete (void) const { if (nullptr == mObjectPtr) { @@ -2337,13 +2449,13 @@ GALGAS_lbigint GALGAS_gtlWatchpointDeleteInstruction::readProperty_numToDelete ( } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_lbigint cPtr_gtlWatchpointDeleteInstruction::getter_numToDelete (UNUSED_LOCATION_ARGS) const { return mProperty_numToDelete ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlWatchpointDeleteInstruction::setter_setNumToDelete (GALGAS_lbigint inValue COMMA_LOCATION_ARGS) { @@ -2355,16 +2467,16 @@ void GALGAS_gtlWatchpointDeleteInstruction::setter_setNumToDelete (GALGAS_lbigin } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlWatchpointDeleteInstruction::setter_setNumToDelete (GALGAS_lbigint inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_numToDelete = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlWatchpointDeleteInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlWatchpointDeleteInstruction::cPtr_gtlWatchpointDeleteInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature, @@ -2374,24 +2486,24 @@ cPtr_gtlInstruction (in_where, in_signature COMMA_THERE), mProperty_numToDelete (in_numToDelete) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlWatchpointDeleteInstruction::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlWatchpointDeleteInstruction ; } -void cPtr_gtlWatchpointDeleteInstruction::description (String & ioString, +void cPtr_gtlWatchpointDeleteInstruction::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlWatchpointDeleteInstruction:") ; + ioString << "[@gtlWatchpointDeleteInstruction:" ; mProperty_where.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_numToDelete.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlWatchpointDeleteInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -2400,22 +2512,23 @@ acPtr_class * cPtr_gtlWatchpointDeleteInstruction::duplicate (LOCATION_ARGS) con } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlWatchpointDeleteInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlWatchpointDeleteInstruction ("gtlWatchpointDeleteInstruction", - & kTypeDescriptor_GALGAS_gtlInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlWatchpointDeleteInstruction ("gtlWatchpointDeleteInstruction", + & kTypeDescriptor_GALGAS_gtlInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlWatchpointDeleteInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlWatchpointDeleteInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlWatchpointDeleteInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -2425,10 +2538,10 @@ AC_GALGAS_root * GALGAS_gtlWatchpointDeleteInstruction::clonedObject (void) cons return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlWatchpointDeleteInstruction GALGAS_gtlWatchpointDeleteInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlWatchpointDeleteInstruction result ; const GALGAS_gtlWatchpointDeleteInstruction * p = (const GALGAS_gtlWatchpointDeleteInstruction *) inObject.embeddedObject () ; @@ -2442,9 +2555,9 @@ GALGAS_gtlWatchpointDeleteInstruction GALGAS_gtlWatchpointDeleteInstruction::ext return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlWatchpointDeleteAllInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -2459,7 +2572,7 @@ typeComparisonResult cPtr_gtlWatchpointDeleteAllInstruction::dynamicObjectCompar return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlWatchpointDeleteAllInstruction::objectCompare (const GALGAS_gtlWatchpointDeleteAllInstruction & inOperand) const { @@ -2478,23 +2591,31 @@ typeComparisonResult GALGAS_gtlWatchpointDeleteAllInstruction::objectCompare (co return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlWatchpointDeleteAllInstruction::GALGAS_gtlWatchpointDeleteAllInstruction (void) : GALGAS_gtlInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlWatchpointDeleteAllInstruction GALGAS_gtlWatchpointDeleteAllInstruction::constructor_default (LOCATION_ARGS) { + return GALGAS_gtlWatchpointDeleteAllInstruction::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_string::constructor_default (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlWatchpointDeleteAllInstruction::GALGAS_gtlWatchpointDeleteAllInstruction (const cPtr_gtlWatchpointDeleteAllInstruction * inSourcePtr) : GALGAS_gtlInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlWatchpointDeleteAllInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlWatchpointDeleteAllInstruction GALGAS_gtlWatchpointDeleteAllInstruction::class_func_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature - COMMA_LOCATION_ARGS) { +GALGAS_gtlWatchpointDeleteAllInstruction GALGAS_gtlWatchpointDeleteAllInstruction::constructor_new (const GALGAS_location & inAttribute_where, + const GALGAS_string & inAttribute_signature + COMMA_LOCATION_ARGS) { GALGAS_gtlWatchpointDeleteAllInstruction result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlWatchpointDeleteAllInstruction (inAttribute_where, inAttribute_signature COMMA_THERE)) ; @@ -2502,9 +2623,9 @@ GALGAS_gtlWatchpointDeleteAllInstruction GALGAS_gtlWatchpointDeleteAllInstructio return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlWatchpointDeleteAllInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlWatchpointDeleteAllInstruction::cPtr_gtlWatchpointDeleteAllInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature @@ -2512,22 +2633,22 @@ cPtr_gtlWatchpointDeleteAllInstruction::cPtr_gtlWatchpointDeleteAllInstruction ( cPtr_gtlInstruction (in_where, in_signature COMMA_THERE) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlWatchpointDeleteAllInstruction::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlWatchpointDeleteAllInstruction ; } -void cPtr_gtlWatchpointDeleteAllInstruction::description (String & ioString, +void cPtr_gtlWatchpointDeleteAllInstruction::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlWatchpointDeleteAllInstruction:") ; + ioString << "[@gtlWatchpointDeleteAllInstruction:" ; mProperty_where.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlWatchpointDeleteAllInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -2536,22 +2657,23 @@ acPtr_class * cPtr_gtlWatchpointDeleteAllInstruction::duplicate (LOCATION_ARGS) } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlWatchpointDeleteAllInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlWatchpointDeleteAllInstruction ("gtlWatchpointDeleteAllInstruction", - & kTypeDescriptor_GALGAS_gtlInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlWatchpointDeleteAllInstruction ("gtlWatchpointDeleteAllInstruction", + & kTypeDescriptor_GALGAS_gtlInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlWatchpointDeleteAllInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlWatchpointDeleteAllInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlWatchpointDeleteAllInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -2561,10 +2683,10 @@ AC_GALGAS_root * GALGAS_gtlWatchpointDeleteAllInstruction::clonedObject (void) c return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlWatchpointDeleteAllInstruction GALGAS_gtlWatchpointDeleteAllInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlWatchpointDeleteAllInstruction result ; const GALGAS_gtlWatchpointDeleteAllInstruction * p = (const GALGAS_gtlWatchpointDeleteAllInstruction *) inObject.embeddedObject () ; @@ -2578,9 +2700,9 @@ GALGAS_gtlWatchpointDeleteAllInstruction GALGAS_gtlWatchpointDeleteAllInstructio return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlListInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -2598,7 +2720,7 @@ typeComparisonResult cPtr_gtlListInstruction::dynamicObjectCompare (const acPtr_ return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlListInstruction::objectCompare (const GALGAS_gtlListInstruction & inOperand) const { @@ -2617,24 +2739,33 @@ typeComparisonResult GALGAS_gtlListInstruction::objectCompare (const GALGAS_gtlL return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlListInstruction::GALGAS_gtlListInstruction (void) : GALGAS_gtlInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlListInstruction GALGAS_gtlListInstruction::constructor_default (LOCATION_ARGS) { + return GALGAS_gtlListInstruction::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_string::constructor_default (HERE), + GALGAS_uint::constructor_default (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlListInstruction::GALGAS_gtlListInstruction (const cPtr_gtlListInstruction * inSourcePtr) : GALGAS_gtlInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlListInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlListInstruction GALGAS_gtlListInstruction::class_func_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_uint & inAttribute_window - COMMA_LOCATION_ARGS) { +GALGAS_gtlListInstruction GALGAS_gtlListInstruction::constructor_new (const GALGAS_location & inAttribute_where, + const GALGAS_string & inAttribute_signature, + const GALGAS_uint & inAttribute_window + COMMA_LOCATION_ARGS) { GALGAS_gtlListInstruction result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_window.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlListInstruction (inAttribute_where, inAttribute_signature, inAttribute_window COMMA_THERE)) ; @@ -2642,7 +2773,7 @@ GALGAS_gtlListInstruction GALGAS_gtlListInstruction::class_func_new (const GALGA return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_gtlListInstruction::readProperty_window (void) const { if (nullptr == mObjectPtr) { @@ -2654,13 +2785,13 @@ GALGAS_uint GALGAS_gtlListInstruction::readProperty_window (void) const { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint cPtr_gtlListInstruction::getter_window (UNUSED_LOCATION_ARGS) const { return mProperty_window ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlListInstruction::setter_setWindow (GALGAS_uint inValue COMMA_LOCATION_ARGS) { @@ -2672,16 +2803,16 @@ void GALGAS_gtlListInstruction::setter_setWindow (GALGAS_uint inValue } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlListInstruction::setter_setWindow (GALGAS_uint inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_window = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlListInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlListInstruction::cPtr_gtlListInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature, @@ -2691,24 +2822,24 @@ cPtr_gtlInstruction (in_where, in_signature COMMA_THERE), mProperty_window (in_window) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlListInstruction::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlListInstruction ; } -void cPtr_gtlListInstruction::description (String & ioString, +void cPtr_gtlListInstruction::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlListInstruction:") ; + ioString << "[@gtlListInstruction:" ; mProperty_where.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_window.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlListInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -2717,22 +2848,23 @@ acPtr_class * cPtr_gtlListInstruction::duplicate (LOCATION_ARGS) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlListInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlListInstruction ("gtlListInstruction", - & kTypeDescriptor_GALGAS_gtlInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlListInstruction ("gtlListInstruction", + & kTypeDescriptor_GALGAS_gtlInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlListInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlListInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlListInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -2742,10 +2874,10 @@ AC_GALGAS_root * GALGAS_gtlListInstruction::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlListInstruction GALGAS_gtlListInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlListInstruction result ; const GALGAS_gtlListInstruction * p = (const GALGAS_gtlListInstruction *) inObject.embeddedObject () ; @@ -2759,9 +2891,9 @@ GALGAS_gtlListInstruction GALGAS_gtlListInstruction::extractObject (const GALGAS return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlHistoryInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -2776,7 +2908,7 @@ typeComparisonResult cPtr_gtlHistoryInstruction::dynamicObjectCompare (const acP return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlHistoryInstruction::objectCompare (const GALGAS_gtlHistoryInstruction & inOperand) const { @@ -2795,23 +2927,31 @@ typeComparisonResult GALGAS_gtlHistoryInstruction::objectCompare (const GALGAS_g return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlHistoryInstruction::GALGAS_gtlHistoryInstruction (void) : GALGAS_gtlInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlHistoryInstruction GALGAS_gtlHistoryInstruction::constructor_default (LOCATION_ARGS) { + return GALGAS_gtlHistoryInstruction::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_string::constructor_default (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlHistoryInstruction::GALGAS_gtlHistoryInstruction (const cPtr_gtlHistoryInstruction * inSourcePtr) : GALGAS_gtlInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlHistoryInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlHistoryInstruction GALGAS_gtlHistoryInstruction::class_func_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature - COMMA_LOCATION_ARGS) { +GALGAS_gtlHistoryInstruction GALGAS_gtlHistoryInstruction::constructor_new (const GALGAS_location & inAttribute_where, + const GALGAS_string & inAttribute_signature + COMMA_LOCATION_ARGS) { GALGAS_gtlHistoryInstruction result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlHistoryInstruction (inAttribute_where, inAttribute_signature COMMA_THERE)) ; @@ -2819,9 +2959,9 @@ GALGAS_gtlHistoryInstruction GALGAS_gtlHistoryInstruction::class_func_new (const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlHistoryInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlHistoryInstruction::cPtr_gtlHistoryInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature @@ -2829,22 +2969,22 @@ cPtr_gtlHistoryInstruction::cPtr_gtlHistoryInstruction (const GALGAS_location & cPtr_gtlInstruction (in_where, in_signature COMMA_THERE) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlHistoryInstruction::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlHistoryInstruction ; } -void cPtr_gtlHistoryInstruction::description (String & ioString, +void cPtr_gtlHistoryInstruction::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlHistoryInstruction:") ; + ioString << "[@gtlHistoryInstruction:" ; mProperty_where.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlHistoryInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -2853,22 +2993,23 @@ acPtr_class * cPtr_gtlHistoryInstruction::duplicate (LOCATION_ARGS) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlHistoryInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlHistoryInstruction ("gtlHistoryInstruction", - & kTypeDescriptor_GALGAS_gtlInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlHistoryInstruction ("gtlHistoryInstruction", + & kTypeDescriptor_GALGAS_gtlInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlHistoryInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlHistoryInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlHistoryInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -2878,10 +3019,10 @@ AC_GALGAS_root * GALGAS_gtlHistoryInstruction::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlHistoryInstruction GALGAS_gtlHistoryInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlHistoryInstruction result ; const GALGAS_gtlHistoryInstruction * p = (const GALGAS_gtlHistoryInstruction *) inObject.embeddedObject () ; @@ -2895,9 +3036,9 @@ GALGAS_gtlHistoryInstruction GALGAS_gtlHistoryInstruction::extractObject (const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlLoadInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -2915,7 +3056,7 @@ typeComparisonResult cPtr_gtlLoadInstruction::dynamicObjectCompare (const acPtr_ return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlLoadInstruction::objectCompare (const GALGAS_gtlLoadInstruction & inOperand) const { @@ -2934,24 +3075,33 @@ typeComparisonResult GALGAS_gtlLoadInstruction::objectCompare (const GALGAS_gtlL return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlLoadInstruction::GALGAS_gtlLoadInstruction (void) : GALGAS_gtlInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlLoadInstruction GALGAS_gtlLoadInstruction::constructor_default (LOCATION_ARGS) { + return GALGAS_gtlLoadInstruction::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_string::constructor_default (HERE), + GALGAS_string::constructor_default (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlLoadInstruction::GALGAS_gtlLoadInstruction (const cPtr_gtlLoadInstruction * inSourcePtr) : GALGAS_gtlInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlLoadInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlLoadInstruction GALGAS_gtlLoadInstruction::class_func_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_string & inAttribute_fileName - COMMA_LOCATION_ARGS) { +GALGAS_gtlLoadInstruction GALGAS_gtlLoadInstruction::constructor_new (const GALGAS_location & inAttribute_where, + const GALGAS_string & inAttribute_signature, + const GALGAS_string & inAttribute_fileName + COMMA_LOCATION_ARGS) { GALGAS_gtlLoadInstruction result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_fileName.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlLoadInstruction (inAttribute_where, inAttribute_signature, inAttribute_fileName COMMA_THERE)) ; @@ -2959,7 +3109,7 @@ GALGAS_gtlLoadInstruction GALGAS_gtlLoadInstruction::class_func_new (const GALGA return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_gtlLoadInstruction::readProperty_fileName (void) const { if (nullptr == mObjectPtr) { @@ -2971,13 +3121,13 @@ GALGAS_string GALGAS_gtlLoadInstruction::readProperty_fileName (void) const { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string cPtr_gtlLoadInstruction::getter_fileName (UNUSED_LOCATION_ARGS) const { return mProperty_fileName ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_gtlLoadInstruction::setter_setFileName (GALGAS_string inValue COMMA_LOCATION_ARGS) { @@ -2989,16 +3139,16 @@ void GALGAS_gtlLoadInstruction::setter_setFileName (GALGAS_string inValue } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_gtlLoadInstruction::setter_setFileName (GALGAS_string inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_fileName = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlLoadInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlLoadInstruction::cPtr_gtlLoadInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature, @@ -3008,24 +3158,24 @@ cPtr_gtlInstruction (in_where, in_signature COMMA_THERE), mProperty_fileName (in_fileName) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlLoadInstruction::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlLoadInstruction ; } -void cPtr_gtlLoadInstruction::description (String & ioString, +void cPtr_gtlLoadInstruction::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlLoadInstruction:") ; + ioString << "[@gtlLoadInstruction:" ; mProperty_where.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_fileName.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlLoadInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -3034,22 +3184,23 @@ acPtr_class * cPtr_gtlLoadInstruction::duplicate (LOCATION_ARGS) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlLoadInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlLoadInstruction ("gtlLoadInstruction", - & kTypeDescriptor_GALGAS_gtlInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlLoadInstruction ("gtlLoadInstruction", + & kTypeDescriptor_GALGAS_gtlInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlLoadInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlLoadInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlLoadInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -3059,10 +3210,10 @@ AC_GALGAS_root * GALGAS_gtlLoadInstruction::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlLoadInstruction GALGAS_gtlLoadInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlLoadInstruction result ; const GALGAS_gtlLoadInstruction * p = (const GALGAS_gtlLoadInstruction *) inObject.embeddedObject () ; @@ -3076,9 +3227,9 @@ GALGAS_gtlLoadInstruction GALGAS_gtlLoadInstruction::extractObject (const GALGAS return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlHelpInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -3093,7 +3244,7 @@ typeComparisonResult cPtr_gtlHelpInstruction::dynamicObjectCompare (const acPtr_ return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlHelpInstruction::objectCompare (const GALGAS_gtlHelpInstruction & inOperand) const { @@ -3112,23 +3263,31 @@ typeComparisonResult GALGAS_gtlHelpInstruction::objectCompare (const GALGAS_gtlH return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlHelpInstruction::GALGAS_gtlHelpInstruction (void) : GALGAS_gtlInstruction () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlHelpInstruction GALGAS_gtlHelpInstruction::constructor_default (LOCATION_ARGS) { + return GALGAS_gtlHelpInstruction::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_string::constructor_default (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlHelpInstruction::GALGAS_gtlHelpInstruction (const cPtr_gtlHelpInstruction * inSourcePtr) : GALGAS_gtlInstruction (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_gtlHelpInstruction) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlHelpInstruction GALGAS_gtlHelpInstruction::class_func_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature - COMMA_LOCATION_ARGS) { +GALGAS_gtlHelpInstruction GALGAS_gtlHelpInstruction::constructor_new (const GALGAS_location & inAttribute_where, + const GALGAS_string & inAttribute_signature + COMMA_LOCATION_ARGS) { GALGAS_gtlHelpInstruction result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlHelpInstruction (inAttribute_where, inAttribute_signature COMMA_THERE)) ; @@ -3136,9 +3295,9 @@ GALGAS_gtlHelpInstruction GALGAS_gtlHelpInstruction::class_func_new (const GALGA return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @gtlHelpInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_gtlHelpInstruction::cPtr_gtlHelpInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature @@ -3146,22 +3305,22 @@ cPtr_gtlHelpInstruction::cPtr_gtlHelpInstruction (const GALGAS_location & in_whe cPtr_gtlInstruction (in_where, in_signature COMMA_THERE) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_gtlHelpInstruction::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlHelpInstruction ; } -void cPtr_gtlHelpInstruction::description (String & ioString, +void cPtr_gtlHelpInstruction::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@gtlHelpInstruction:") ; + ioString << "[@gtlHelpInstruction:" ; mProperty_where.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlHelpInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -3170,22 +3329,23 @@ acPtr_class * cPtr_gtlHelpInstruction::duplicate (LOCATION_ARGS) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @gtlHelpInstruction generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlHelpInstruction ("gtlHelpInstruction", - & kTypeDescriptor_GALGAS_gtlInstruction) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_gtlHelpInstruction ("gtlHelpInstruction", + & kTypeDescriptor_GALGAS_gtlInstruction) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_gtlHelpInstruction::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_gtlHelpInstruction ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_gtlHelpInstruction::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -3195,10 +3355,10 @@ AC_GALGAS_root * GALGAS_gtlHelpInstruction::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_gtlHelpInstruction GALGAS_gtlHelpInstruction::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlHelpInstruction result ; const GALGAS_gtlHelpInstruction * p = (const GALGAS_gtlHelpInstruction *) inObject.embeddedObject () ; @@ -3212,26 +3372,26 @@ GALGAS_gtlHelpInstruction GALGAS_gtlHelpInstruction::extractObject (const GALGAS return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension setter '@debugCommandInput getCommand' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static TC_UniqueArray gExtensionModifierTable_debugCommandInput_getCommand ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void enterExtensionSetter_getCommand (const int32_t inClassIndex, extensionSetterSignature_debugCommandInput_getCommand inModifier) { - gExtensionModifierTable_debugCommandInput_getCommand.forceObjectAtIndex (inClassIndex, inModifier, nullptr) ; + gExtensionModifierTable_debugCommandInput_getCommand.forceObjectAtIndex (inClassIndex, inModifier, nullptr COMMA_HERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionSetter_getCommand (cPtr_debugCommandInput * inObject, GALGAS_string & out_command, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { //--- Drop output arguments out_command.drop () ; @@ -3252,17 +3412,17 @@ void callExtensionSetter_getCommand (cPtr_debugCommandInput * inObject, } p = p->mSuperclassDescriptor ; } - gExtensionModifierTable_debugCommandInput_getCommand.forceObjectAtIndex (classIndex, f, nullptr) ; + gExtensionModifierTable_debugCommandInput_getCommand.forceObjectAtIndex (classIndex, f, nullptr COMMA_HERE) ; } f (inObject, out_command, inCompiler COMMA_THERE) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void extensionSetter_debugCommandInput_getCommand (cPtr_debugCommandInput * inObject, GALGAS_string & outArgument_command, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { cPtr_debugCommandInput * object = inObject ; macroValidSharedObject (object, cPtr_debugCommandInput) ; @@ -3272,11 +3432,11 @@ static void extensionSetter_debugCommandInput_getCommand (cPtr_debugCommandInput GALGAS_char var_inputChar_884 = GALGAS_char (TO_UNICODE (13)) ; GALGAS_uint var_cursorPos_909 = GALGAS_uint (uint32_t (0U)) ; GALGAS_uint var_escapeState_931 = GALGAS_uint (uint32_t (0U)) ; - if (GALGAS_uint::class_func_max (SOURCE_FILE ("gtl_debugger_input.galgas", 42)).isValid ()) { - uint32_t variant_952 = GALGAS_uint::class_func_max (SOURCE_FILE ("gtl_debugger_input.galgas", 42)).uintValue () ; + if (GALGAS_uint::constructor_max (SOURCE_FILE ("gtl_debugger_input.galgas", 42)).isValid ()) { + uint32_t variant_952 = GALGAS_uint::constructor_max (SOURCE_FILE ("gtl_debugger_input.galgas", 42)).uintValue () ; bool loop_952 = true ; while (loop_952) { - var_inputChar_884 = GALGAS_char::class_func_unicodeCharacterFromRawKeyboard (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_input.galgas", 43)) ; + var_inputChar_884 = GALGAS_char::constructor_unicodeCharacterFromRawKeyboard (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_input.galgas", 43)) ; loop_952 = GALGAS_bool (kIsNotEqual, var_inputChar_884.objectCompare (GALGAS_char (TO_UNICODE (13)))).isValid () ; if (loop_952) { loop_952 = GALGAS_bool (kIsNotEqual, var_inputChar_884.objectCompare (GALGAS_char (TO_UNICODE (13)))).boolValue () ; @@ -3487,31 +3647,31 @@ static void extensionSetter_debugCommandInput_getCommand (cPtr_debugCommandInput } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void defineExtensionSetter_debugCommandInput_getCommand (void) { enterExtensionSetter_getCommand (kTypeDescriptor_GALGAS_debugCommandInput.mSlotID, extensionSetter_debugCommandInput_getCommand) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static void freeExtensionModifier_debugCommandInput_getCommand (void) { gExtensionModifierTable_debugCommandInput_getCommand.removeAll () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -PrologueEpilogue gSetter_debugCommandInput_getCommand (defineExtensionSetter_debugCommandInput_getCommand, - freeExtensionModifier_debugCommandInput_getCommand) ; +C_PrologueEpilogue gSetter_debugCommandInput_getCommand (defineExtensionSetter_debugCommandInput_getCommand, + freeExtensionModifier_debugCommandInput_getCommand) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension method '@debugCommandInput listHistory' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_debugCommandInput::method_listHistory (Compiler * inCompiler +void cPtr_debugCommandInput::method_listHistory (C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { @@ -3532,27 +3692,27 @@ void cPtr_debugCommandInput::method_listHistory (Compiler * inCompiler } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionMethod_listHistory (cPtr_debugCommandInput * inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (nullptr != inObject) { macroValidSharedObject (inObject, cPtr_debugCommandInput) ; inObject->method_listHistory (inCompiler COMMA_THERE) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // L E X I Q U E // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "unicode_character_cpp.h" -#include "scanner_actions.h" -#include "cLexiqueIntrospection.h" +#include "strings/unicode_character_cpp.h" +#include "galgas2/scanner_actions.h" +#include "galgas2/cLexiqueIntrospection.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cTokenFor_gtl_5F_debugger_5F_scanner::cTokenFor_gtl_5F_debugger_5F_scanner (void) : mLexicalAttribute_a_5F_string (), @@ -3565,26 +3725,26 @@ mLexicalAttribute_tokenString (), mLexicalAttribute_uint_33__32_value () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -Lexique_gtl_5F_debugger_5F_scanner::Lexique_gtl_5F_debugger_5F_scanner (Compiler * inCallerCompiler, - const String & inSourceFileName - COMMA_LOCATION_ARGS) : -Lexique (inCallerCompiler, inSourceFileName COMMA_THERE) { +C_Lexique_gtl_5F_debugger_5F_scanner::C_Lexique_gtl_5F_debugger_5F_scanner (C_Compiler * inCallerCompiler, + const C_String & inSourceFileName + COMMA_LOCATION_ARGS) : +C_Lexique (inCallerCompiler, inSourceFileName COMMA_THERE) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -Lexique_gtl_5F_debugger_5F_scanner::Lexique_gtl_5F_debugger_5F_scanner (Compiler * inCallerCompiler, - const String & inSourceString, - const String & inStringForError - COMMA_LOCATION_ARGS) : -Lexique (inCallerCompiler, inSourceString, inStringForError COMMA_THERE) { +C_Lexique_gtl_5F_debugger_5F_scanner::C_Lexique_gtl_5F_debugger_5F_scanner (C_Compiler * inCallerCompiler, + const C_String & inSourceString, + const C_String & inStringForError + COMMA_LOCATION_ARGS) : +C_Lexique (inCallerCompiler, inSourceString, inStringForError COMMA_THERE) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Lexical error message list -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static const char * gLexicalMessage_gtl_5F_debugger_5F_scanner_floatNumberConversionError = "invalid float number" ; @@ -3604,12 +3764,12 @@ static const char * gLexicalMessage_gtl_5F_debugger_5F_scanner_unknownHTMLescape static const char * gLexicalMessage_gtl_5F_debugger_5F_scanner_unterminatedLitteralString = "Unterminated literal string" ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // getMessageForTerminal -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String Lexique_gtl_5F_debugger_5F_scanner::getMessageForTerminal (const int32_t inTerminalIndex) const { - String result = "" ; +C_String C_Lexique_gtl_5F_debugger_5F_scanner::getMessageForTerminal (const int32_t inTerminalIndex) const { + C_String result = "" ; if ((inTerminalIndex >= 0) && (inTerminalIndex < 96)) { static const char * syntaxErrorMessageArray [96] = {kEndOfSourceLexicalErrorMessage, "an identifier", @@ -3713,290 +3873,338 @@ String Lexique_gtl_5F_debugger_5F_scanner::getMessageForTerminal (const int32_t return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // U N I C O D E S T R I N G S -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -//--- Unicode string for '$!$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__21_ = { +//--- Unicode string for '$_21_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__21_ [] = { TO_UNICODE ('!'), + TO_UNICODE (0) } ; -//--- Unicode string for '$!=$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__21__3D_ = { +//--- Unicode string for '$_21__3D_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__21__3D_ [] = { TO_UNICODE ('!'), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$&$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__26_ = { +//--- Unicode string for '$_26_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__26_ [] = { TO_UNICODE ('&'), + TO_UNICODE (0) } ; -//--- Unicode string for '$&=$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__26__3D_ = { +//--- Unicode string for '$_26__3D_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__26__3D_ [] = { TO_UNICODE ('&'), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$($' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__28_ = { +//--- Unicode string for '$_28_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__28_ [] = { TO_UNICODE ('('), + TO_UNICODE (0) } ; -//--- Unicode string for '$)$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__29_ = { +//--- Unicode string for '$_29_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__29_ [] = { TO_UNICODE (')'), + TO_UNICODE (0) } ; -//--- Unicode string for '$*$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__2A_ = { +//--- Unicode string for '$_2A_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__2A_ [] = { TO_UNICODE ('*'), + TO_UNICODE (0) } ; -//--- Unicode string for '$*=$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__2A__3D_ = { +//--- Unicode string for '$_2A__3D_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__2A__3D_ [] = { TO_UNICODE ('*'), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$+$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__2B_ = { +//--- Unicode string for '$_2B_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__2B_ [] = { TO_UNICODE ('+'), + TO_UNICODE (0) } ; -//--- Unicode string for '$+=$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__2B__3D_ = { +//--- Unicode string for '$_2B__3D_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__2B__3D_ [] = { TO_UNICODE ('+'), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$,$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__2C_ = { +//--- Unicode string for '$_2C_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__2C_ [] = { TO_UNICODE (','), + TO_UNICODE (0) } ; -//--- Unicode string for '$-=$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__2D__3D_ = { +//--- Unicode string for '$_2D__3D_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__2D__3D_ [] = { TO_UNICODE ('-'), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$->$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__2D__3E_ = { +//--- Unicode string for '$_2D__3E_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__2D__3E_ [] = { TO_UNICODE ('-'), TO_UNICODE ('>'), + TO_UNICODE (0) } ; -//--- Unicode string for '$..$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__2E__2E_ = { +//--- Unicode string for '$_2E__2E_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__2E__2E_ [] = { TO_UNICODE ('.'), TO_UNICODE ('.'), + TO_UNICODE (0) } ; -//--- Unicode string for '$/$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__2F_ = { +//--- Unicode string for '$_2F_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__2F_ [] = { TO_UNICODE ('/'), + TO_UNICODE (0) } ; -//--- Unicode string for '$/=$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__2F__3D_ = { +//--- Unicode string for '$_2F__3D_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__2F__3D_ [] = { TO_UNICODE ('/'), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$0X$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__30_X = { +//--- Unicode string for '$_30_X$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__30_X [] = { TO_UNICODE ('0'), TO_UNICODE ('X'), + TO_UNICODE (0) } ; -//--- Unicode string for '$0x$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__30_x = { +//--- Unicode string for '$_30_x$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__30_x [] = { TO_UNICODE ('0'), TO_UNICODE ('x'), + TO_UNICODE (0) } ; -//--- Unicode string for '$:$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3A_ = { +//--- Unicode string for '$_3A_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3A_ [] = { TO_UNICODE (':'), + TO_UNICODE (0) } ; -//--- Unicode string for '$::$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3A__3A_ = { +//--- Unicode string for '$_3A__3A_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3A__3A_ [] = { TO_UNICODE (':'), TO_UNICODE (':'), + TO_UNICODE (0) } ; -//--- Unicode string for '$:=$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3A__3D_ = { +//--- Unicode string for '$_3A__3D_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3A__3D_ [] = { TO_UNICODE (':'), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$;$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3B_ = { +//--- Unicode string for '$_3B_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3B_ [] = { TO_UNICODE (';'), + TO_UNICODE (0) } ; -//--- Unicode string for '$<$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3C_ = { +//--- Unicode string for '$_3C_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3C_ [] = { TO_UNICODE ('<'), + TO_UNICODE (0) } ; -//--- Unicode string for '$<-$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3C__2D_ = { +//--- Unicode string for '$_3C__2D_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3C__2D_ [] = { TO_UNICODE ('<'), TO_UNICODE ('-'), + TO_UNICODE (0) } ; -//--- Unicode string for '$<<$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3C_ = { +//--- Unicode string for '$_3C__3C_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3C_ [] = { TO_UNICODE ('<'), TO_UNICODE ('<'), + TO_UNICODE (0) } ; -//--- Unicode string for '$<<=$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3C__3D_ = { +//--- Unicode string for '$_3C__3C__3D_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3C__3D_ [] = { TO_UNICODE ('<'), TO_UNICODE ('<'), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$<=$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3D_ = { +//--- Unicode string for '$_3C__3D_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3D_ [] = { TO_UNICODE ('<'), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$=$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3D_ = { +//--- Unicode string for '$_3D_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3D_ [] = { TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$==$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3D__3D_ = { +//--- Unicode string for '$_3D__3D_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3D__3D_ [] = { TO_UNICODE ('='), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$>$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3E_ = { +//--- Unicode string for '$_3E_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3E_ [] = { TO_UNICODE ('>'), + TO_UNICODE (0) } ; -//--- Unicode string for '$>=$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3D_ = { +//--- Unicode string for '$_3E__3D_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3D_ [] = { TO_UNICODE ('>'), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$>>$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3E_ = { +//--- Unicode string for '$_3E__3E_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3E_ [] = { TO_UNICODE ('>'), TO_UNICODE ('>'), + TO_UNICODE (0) } ; -//--- Unicode string for '$>>=$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3E__3D_ = { +//--- Unicode string for '$_3E__3E__3D_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3E__3D_ [] = { TO_UNICODE ('>'), TO_UNICODE ('>'), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$?$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3F_ = { +//--- Unicode string for '$_3F_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3F_ [] = { TO_UNICODE ('\?'), + TO_UNICODE (0) } ; -//--- Unicode string for '$@$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__40_ = { +//--- Unicode string for '$_40_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__40_ [] = { TO_UNICODE ('@'), + TO_UNICODE (0) } ; -//--- Unicode string for '$@!$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__40__21_ = { +//--- Unicode string for '$_40__21_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__40__21_ [] = { TO_UNICODE ('@'), TO_UNICODE ('!'), + TO_UNICODE (0) } ; -//--- Unicode string for '$@($' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__40__28_ = { +//--- Unicode string for '$_40__28_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__40__28_ [] = { TO_UNICODE ('@'), TO_UNICODE ('('), + TO_UNICODE (0) } ; -//--- Unicode string for '$@[$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__40__5B_ = { +//--- Unicode string for '$_40__5B_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__40__5B_ [] = { TO_UNICODE ('@'), TO_UNICODE ('['), + TO_UNICODE (0) } ; -//--- Unicode string for '$@{$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__40__7B_ = { +//--- Unicode string for '$_40__7B_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__40__7B_ [] = { TO_UNICODE ('@'), TO_UNICODE ('{'), + TO_UNICODE (0) } ; -//--- Unicode string for '$[$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__5B_ = { +//--- Unicode string for '$_5B_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__5B_ [] = { TO_UNICODE ('['), + TO_UNICODE (0) } ; -//--- Unicode string for '$[!$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__5B__21_ = { +//--- Unicode string for '$_5B__21_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__5B__21_ [] = { TO_UNICODE ('['), TO_UNICODE ('!'), + TO_UNICODE (0) } ; -//--- Unicode string for '$]$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__5D_ = { +//--- Unicode string for '$_5D_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__5D_ [] = { TO_UNICODE (']'), + TO_UNICODE (0) } ; -//--- Unicode string for '$^$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__5E_ = { +//--- Unicode string for '$_5E_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__5E_ [] = { TO_UNICODE ('^'), + TO_UNICODE (0) } ; -//--- Unicode string for '$^=$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__5E__3D_ = { +//--- Unicode string for '$_5E__3D_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__5E__3D_ [] = { TO_UNICODE ('^'), TO_UNICODE ('='), + TO_UNICODE (0) } ; //--- Unicode string for '$all$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_all = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_all [] = { TO_UNICODE ('a'), TO_UNICODE ('l'), TO_UNICODE ('l'), + TO_UNICODE (0) } ; //--- Unicode string for '$break$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_break = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_break [] = { TO_UNICODE ('b'), TO_UNICODE ('r'), TO_UNICODE ('e'), TO_UNICODE ('a'), TO_UNICODE ('k'), + TO_UNICODE (0) } ; //--- Unicode string for '$by$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_by = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_by [] = { TO_UNICODE ('b'), TO_UNICODE ('y'), + TO_UNICODE (0) } ; //--- Unicode string for '$cont$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_cont = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_cont [] = { TO_UNICODE ('c'), TO_UNICODE ('o'), TO_UNICODE ('n'), TO_UNICODE ('t'), + TO_UNICODE (0) } ; //--- Unicode string for '$continue$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_continue = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_continue [] = { TO_UNICODE ('c'), TO_UNICODE ('o'), TO_UNICODE ('n'), @@ -4005,10 +4213,11 @@ static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_sca TO_UNICODE ('n'), TO_UNICODE ('u'), TO_UNICODE ('e'), + TO_UNICODE (0) } ; //--- Unicode string for '$default$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_default = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_default [] = { TO_UNICODE ('d'), TO_UNICODE ('e'), TO_UNICODE ('f'), @@ -4016,10 +4225,11 @@ static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_sca TO_UNICODE ('u'), TO_UNICODE ('l'), TO_UNICODE ('t'), + TO_UNICODE (0) } ; //--- Unicode string for '$display$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_display = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_display [] = { TO_UNICODE ('d'), TO_UNICODE ('i'), TO_UNICODE ('s'), @@ -4027,33 +4237,37 @@ static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_sca TO_UNICODE ('l'), TO_UNICODE ('a'), TO_UNICODE ('y'), + TO_UNICODE (0) } ; //--- Unicode string for '$do$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_do = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_do [] = { TO_UNICODE ('d'), TO_UNICODE ('o'), + TO_UNICODE (0) } ; //--- Unicode string for '$else$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_else = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_else [] = { TO_UNICODE ('e'), TO_UNICODE ('l'), TO_UNICODE ('s'), TO_UNICODE ('e'), + TO_UNICODE (0) } ; //--- Unicode string for '$elsif$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_elsif = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_elsif [] = { TO_UNICODE ('e'), TO_UNICODE ('l'), TO_UNICODE ('s'), TO_UNICODE ('i'), TO_UNICODE ('f'), + TO_UNICODE (0) } ; //--- Unicode string for '$emptylist$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_emptylist = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_emptylist [] = { TO_UNICODE ('e'), TO_UNICODE ('m'), TO_UNICODE ('p'), @@ -4063,10 +4277,11 @@ static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_sca TO_UNICODE ('i'), TO_UNICODE ('s'), TO_UNICODE ('t'), + TO_UNICODE (0) } ; //--- Unicode string for '$emptymap$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_emptymap = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_emptymap [] = { TO_UNICODE ('e'), TO_UNICODE ('m'), TO_UNICODE ('p'), @@ -4075,75 +4290,84 @@ static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_sca TO_UNICODE ('m'), TO_UNICODE ('a'), TO_UNICODE ('p'), + TO_UNICODE (0) } ; //--- Unicode string for '$end$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_end = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_end [] = { TO_UNICODE ('e'), TO_UNICODE ('n'), TO_UNICODE ('d'), + TO_UNICODE (0) } ; //--- Unicode string for '$exists$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_exists = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_exists [] = { TO_UNICODE ('e'), TO_UNICODE ('x'), TO_UNICODE ('i'), TO_UNICODE ('s'), TO_UNICODE ('t'), TO_UNICODE ('s'), + TO_UNICODE (0) } ; //--- Unicode string for '$false$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_false = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_false [] = { TO_UNICODE ('f'), TO_UNICODE ('a'), TO_UNICODE ('l'), TO_UNICODE ('s'), TO_UNICODE ('e'), + TO_UNICODE (0) } ; //--- Unicode string for '$help$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_help = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_help [] = { TO_UNICODE ('h'), TO_UNICODE ('e'), TO_UNICODE ('l'), TO_UNICODE ('p'), + TO_UNICODE (0) } ; //--- Unicode string for '$hist$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_hist = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_hist [] = { TO_UNICODE ('h'), TO_UNICODE ('i'), TO_UNICODE ('s'), TO_UNICODE ('t'), + TO_UNICODE (0) } ; //--- Unicode string for '$if$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_if = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_if [] = { TO_UNICODE ('i'), TO_UNICODE ('f'), + TO_UNICODE (0) } ; //--- Unicode string for '$import$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_import = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_import [] = { TO_UNICODE ('i'), TO_UNICODE ('m'), TO_UNICODE ('p'), TO_UNICODE ('o'), TO_UNICODE ('r'), TO_UNICODE ('t'), + TO_UNICODE (0) } ; //--- Unicode string for '$let$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_let = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_let [] = { TO_UNICODE ('l'), TO_UNICODE ('e'), TO_UNICODE ('t'), + TO_UNICODE (0) } ; //--- Unicode string for '$libraries$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_libraries = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_libraries [] = { TO_UNICODE ('l'), TO_UNICODE ('i'), TO_UNICODE ('b'), @@ -4153,139 +4377,156 @@ static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_sca TO_UNICODE ('i'), TO_UNICODE ('e'), TO_UNICODE ('s'), + TO_UNICODE (0) } ; //--- Unicode string for '$list$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_list = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_list [] = { TO_UNICODE ('l'), TO_UNICODE ('i'), TO_UNICODE ('s'), TO_UNICODE ('t'), + TO_UNICODE (0) } ; //--- Unicode string for '$listof$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_listof = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_listof [] = { TO_UNICODE ('l'), TO_UNICODE ('i'), TO_UNICODE ('s'), TO_UNICODE ('t'), TO_UNICODE ('o'), TO_UNICODE ('f'), + TO_UNICODE (0) } ; //--- Unicode string for '$load$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_load = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_load [] = { TO_UNICODE ('l'), TO_UNICODE ('o'), TO_UNICODE ('a'), TO_UNICODE ('d'), + TO_UNICODE (0) } ; //--- Unicode string for '$mapof$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_mapof = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_mapof [] = { TO_UNICODE ('m'), TO_UNICODE ('a'), TO_UNICODE ('p'), TO_UNICODE ('o'), TO_UNICODE ('f'), + TO_UNICODE (0) } ; //--- Unicode string for '$mod$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_mod = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_mod [] = { TO_UNICODE ('m'), TO_UNICODE ('o'), TO_UNICODE ('d'), + TO_UNICODE (0) } ; -//--- Unicode string for '$mod=$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_mod_3D_ = { +//--- Unicode string for '$mod_3D_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_mod_3D_ [] = { TO_UNICODE ('m'), TO_UNICODE ('o'), TO_UNICODE ('d'), TO_UNICODE ('='), + TO_UNICODE (0) } ; //--- Unicode string for '$no$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_no = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_no [] = { TO_UNICODE ('n'), TO_UNICODE ('o'), + TO_UNICODE (0) } ; //--- Unicode string for '$not$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_not = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_not [] = { TO_UNICODE ('n'), TO_UNICODE ('o'), TO_UNICODE ('t'), + TO_UNICODE (0) } ; //--- Unicode string for '$or$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_or = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_or [] = { TO_UNICODE ('o'), TO_UNICODE ('r'), + TO_UNICODE (0) } ; //--- Unicode string for '$print$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_print = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_print [] = { TO_UNICODE ('p'), TO_UNICODE ('r'), TO_UNICODE ('i'), TO_UNICODE ('n'), TO_UNICODE ('t'), + TO_UNICODE (0) } ; //--- Unicode string for '$sort$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_sort = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_sort [] = { TO_UNICODE ('s'), TO_UNICODE ('o'), TO_UNICODE ('r'), TO_UNICODE ('t'), + TO_UNICODE (0) } ; //--- Unicode string for '$step$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_step = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_step [] = { TO_UNICODE ('s'), TO_UNICODE ('t'), TO_UNICODE ('e'), TO_UNICODE ('p'), + TO_UNICODE (0) } ; //--- Unicode string for '$then$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_then = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_then [] = { TO_UNICODE ('t'), TO_UNICODE ('h'), TO_UNICODE ('e'), TO_UNICODE ('n'), + TO_UNICODE (0) } ; //--- Unicode string for '$true$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_true = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_true [] = { TO_UNICODE ('t'), TO_UNICODE ('r'), TO_UNICODE ('u'), TO_UNICODE ('e'), + TO_UNICODE (0) } ; //--- Unicode string for '$typeof$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_typeof = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_typeof [] = { TO_UNICODE ('t'), TO_UNICODE ('y'), TO_UNICODE ('p'), TO_UNICODE ('e'), TO_UNICODE ('o'), TO_UNICODE ('f'), + TO_UNICODE (0) } ; //--- Unicode string for '$unlet$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_unlet = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_unlet [] = { TO_UNICODE ('u'), TO_UNICODE ('n'), TO_UNICODE ('l'), TO_UNICODE ('e'), TO_UNICODE ('t'), + TO_UNICODE (0) } ; //--- Unicode string for '$variables$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_variables = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_variables [] = { TO_UNICODE ('v'), TO_UNICODE ('a'), TO_UNICODE ('r'), @@ -4295,661 +4536,669 @@ static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_sca TO_UNICODE ('l'), TO_UNICODE ('e'), TO_UNICODE ('s'), + TO_UNICODE (0) } ; //--- Unicode string for '$watch$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_watch = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_watch [] = { TO_UNICODE ('w'), TO_UNICODE ('a'), TO_UNICODE ('t'), TO_UNICODE ('c'), TO_UNICODE ('h'), + TO_UNICODE (0) } ; //--- Unicode string for '$yes$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_yes = { +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_yes [] = { TO_UNICODE ('y'), TO_UNICODE ('e'), TO_UNICODE ('s'), + TO_UNICODE (0) } ; -//--- Unicode string for '${$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__7B_ = { +//--- Unicode string for '$_7B_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__7B_ [] = { TO_UNICODE ('{'), + TO_UNICODE (0) } ; -//--- Unicode string for '$|$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__7C_ = { +//--- Unicode string for '$_7C_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__7C_ [] = { TO_UNICODE ('|'), + TO_UNICODE (0) } ; -//--- Unicode string for '$|=$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__7C__3D_ = { +//--- Unicode string for '$_7C__3D_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__7C__3D_ [] = { TO_UNICODE ('|'), TO_UNICODE ('='), + TO_UNICODE (0) } ; -//--- Unicode string for '$}$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__7D_ = { +//--- Unicode string for '$_7D_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__7D_ [] = { TO_UNICODE ('}'), + TO_UNICODE (0) } ; -//--- Unicode string for '$~$' -static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__7E_ = { +//--- Unicode string for '$_7E_$' +static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__7E_ [] = { TO_UNICODE ('~'), + TO_UNICODE (0) } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Key words table 'galgasDelimitorsList' -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static const int32_t ktable_size_gtl_5F_debugger_5F_scanner_galgasDelimitorsList = 45 ; static const C_unicode_lexique_table_entry ktable_for_gtl_5F_debugger_5F_scanner_galgasDelimitorsList [ktable_size_gtl_5F_debugger_5F_scanner_galgasDelimitorsList] = { - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__21_, Lexique_gtl_5F_debugger_5F_scanner::kToken__21_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__26_, Lexique_gtl_5F_debugger_5F_scanner::kToken__26_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__28_, Lexique_gtl_5F_debugger_5F_scanner::kToken__28_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__29_, Lexique_gtl_5F_debugger_5F_scanner::kToken__29_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__2A_, Lexique_gtl_5F_debugger_5F_scanner::kToken__2A_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__2B_, Lexique_gtl_5F_debugger_5F_scanner::kToken__2B_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__2C_, Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__2F_, Lexique_gtl_5F_debugger_5F_scanner::kToken__2F_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3A_, Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3C_, Lexique_gtl_5F_debugger_5F_scanner::kToken__3C_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3E_, Lexique_gtl_5F_debugger_5F_scanner::kToken__3E_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3F_, Lexique_gtl_5F_debugger_5F_scanner::kToken__3F_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__40_, Lexique_gtl_5F_debugger_5F_scanner::kToken__40_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__5B_, Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__5D_, Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__5E_, Lexique_gtl_5F_debugger_5F_scanner::kToken__5E_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__7B_, Lexique_gtl_5F_debugger_5F_scanner::kToken__7B_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__7C_, Lexique_gtl_5F_debugger_5F_scanner::kToken__7C_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__7D_, Lexique_gtl_5F_debugger_5F_scanner::kToken__7D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__7E_, Lexique_gtl_5F_debugger_5F_scanner::kToken__7E_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__21__3D_, Lexique_gtl_5F_debugger_5F_scanner::kToken__21__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__26__3D_, Lexique_gtl_5F_debugger_5F_scanner::kToken__26__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__2A__3D_, Lexique_gtl_5F_debugger_5F_scanner::kToken__2A__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__2B__3D_, Lexique_gtl_5F_debugger_5F_scanner::kToken__2B__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__2D__3D_, Lexique_gtl_5F_debugger_5F_scanner::kToken__2D__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__2D__3E_, Lexique_gtl_5F_debugger_5F_scanner::kToken__2D__3E_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__2F__3D_, Lexique_gtl_5F_debugger_5F_scanner::kToken__2F__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3A__3A_, Lexique_gtl_5F_debugger_5F_scanner::kToken__3A__3A_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3A__3D_, Lexique_gtl_5F_debugger_5F_scanner::kToken__3A__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3C__2D_, Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__2D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3C_, Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3C_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3D_, Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3D__3D_, Lexique_gtl_5F_debugger_5F_scanner::kToken__3D__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3D_, Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3E_, Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3E_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__40__21_, Lexique_gtl_5F_debugger_5F_scanner::kToken__40__21_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__40__28_, Lexique_gtl_5F_debugger_5F_scanner::kToken__40__28_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__40__5B_, Lexique_gtl_5F_debugger_5F_scanner::kToken__40__5B_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__40__7B_, Lexique_gtl_5F_debugger_5F_scanner::kToken__40__7B_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__5B__21_, Lexique_gtl_5F_debugger_5F_scanner::kToken__5B__21_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__5E__3D_, Lexique_gtl_5F_debugger_5F_scanner::kToken__5E__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__7C__3D_, Lexique_gtl_5F_debugger_5F_scanner::kToken__7C__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3C__3D_, Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3C__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3E__3D_, Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3E__3D_), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_mod_3D_, Lexique_gtl_5F_debugger_5F_scanner::kToken_mod_3D_) -} ; - -int32_t Lexique_gtl_5F_debugger_5F_scanner::search_into_galgasDelimitorsList (const String & inSearchedString) { + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__21_, 1, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__21_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__26_, 1, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__26_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__28_, 1, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__28_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__29_, 1, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__2A_, 1, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2A_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__2B_, 1, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2B_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__2C_, 1, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__2F_, 1, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2F_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3A_, 1, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3C_, 1, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3C_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3E_, 1, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3E_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3F_, 1, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3F_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__40_, 1, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__40_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__5B_, 1, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__5D_, 1, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__5E_, 1, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5E_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__7B_, 1, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__7B_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__7C_, 1, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__7C_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__7D_, 1, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__7D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__7E_, 1, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__7E_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__21__3D_, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__21__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__26__3D_, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__26__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__2A__3D_, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2A__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__2B__3D_, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2B__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__2D__3D_, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2D__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__2D__3E_, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2D__3E_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__2F__3D_, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2F__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3A__3A_, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A__3A_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3A__3D_, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3C__2D_, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__2D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3C_, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3C_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3D_, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3D__3D_, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3D__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3D_, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3E_, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3E_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__40__21_, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__40__21_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__40__28_, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__40__28_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__40__5B_, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__40__5B_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__40__7B_, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__40__7B_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__5B__21_, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5B__21_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__5E__3D_, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5E__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__7C__3D_, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__7C__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3C__3D_, 3, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3C__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3E__3D_, 3, C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3E__3D_), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_mod_3D_, 4, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_mod_3D_) +} ; + +int32_t C_Lexique_gtl_5F_debugger_5F_scanner::search_into_galgasDelimitorsList (const C_String & inSearchedString) { return searchInList (inSearchedString, ktable_for_gtl_5F_debugger_5F_scanner_galgasDelimitorsList, ktable_size_gtl_5F_debugger_5F_scanner_galgasDelimitorsList) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Key words table 'goilTemplateKeyWordList' -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static const int32_t ktable_size_gtl_5F_debugger_5F_scanner_goilTemplateKeyWordList = 39 ; static const C_unicode_lexique_table_entry ktable_for_gtl_5F_debugger_5F_scanner_goilTemplateKeyWordList [ktable_size_gtl_5F_debugger_5F_scanner_goilTemplateKeyWordList] = { - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_by, Lexique_gtl_5F_debugger_5F_scanner::kToken_by), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_do, Lexique_gtl_5F_debugger_5F_scanner::kToken_do), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_if, Lexique_gtl_5F_debugger_5F_scanner::kToken_if), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_no, Lexique_gtl_5F_debugger_5F_scanner::kToken_no), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_or, Lexique_gtl_5F_debugger_5F_scanner::kToken_or), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_all, Lexique_gtl_5F_debugger_5F_scanner::kToken_all), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_end, Lexique_gtl_5F_debugger_5F_scanner::kToken_end), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_let, Lexique_gtl_5F_debugger_5F_scanner::kToken_let), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_mod, Lexique_gtl_5F_debugger_5F_scanner::kToken_mod), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_not, Lexique_gtl_5F_debugger_5F_scanner::kToken_not), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_yes, Lexique_gtl_5F_debugger_5F_scanner::kToken_yes), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_cont, Lexique_gtl_5F_debugger_5F_scanner::kToken_cont), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_else, Lexique_gtl_5F_debugger_5F_scanner::kToken_else), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_help, Lexique_gtl_5F_debugger_5F_scanner::kToken_help), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_hist, Lexique_gtl_5F_debugger_5F_scanner::kToken_hist), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_list, Lexique_gtl_5F_debugger_5F_scanner::kToken_list), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_load, Lexique_gtl_5F_debugger_5F_scanner::kToken_load), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_sort, Lexique_gtl_5F_debugger_5F_scanner::kToken_sort), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_step, Lexique_gtl_5F_debugger_5F_scanner::kToken_step), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_then, Lexique_gtl_5F_debugger_5F_scanner::kToken_then), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_true, Lexique_gtl_5F_debugger_5F_scanner::kToken_true), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_break, Lexique_gtl_5F_debugger_5F_scanner::kToken_break), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_elsif, Lexique_gtl_5F_debugger_5F_scanner::kToken_elsif), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_false, Lexique_gtl_5F_debugger_5F_scanner::kToken_false), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_mapof, Lexique_gtl_5F_debugger_5F_scanner::kToken_mapof), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_print, Lexique_gtl_5F_debugger_5F_scanner::kToken_print), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_unlet, Lexique_gtl_5F_debugger_5F_scanner::kToken_unlet), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_watch, Lexique_gtl_5F_debugger_5F_scanner::kToken_watch), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_exists, Lexique_gtl_5F_debugger_5F_scanner::kToken_exists), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_import, Lexique_gtl_5F_debugger_5F_scanner::kToken_import), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_listof, Lexique_gtl_5F_debugger_5F_scanner::kToken_listof), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_typeof, Lexique_gtl_5F_debugger_5F_scanner::kToken_typeof), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_default, Lexique_gtl_5F_debugger_5F_scanner::kToken_default), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_display, Lexique_gtl_5F_debugger_5F_scanner::kToken_display), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_continue, Lexique_gtl_5F_debugger_5F_scanner::kToken_continue), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_emptymap, Lexique_gtl_5F_debugger_5F_scanner::kToken_emptymap), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_emptylist, Lexique_gtl_5F_debugger_5F_scanner::kToken_emptylist), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_libraries, Lexique_gtl_5F_debugger_5F_scanner::kToken_libraries), - C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_variables, Lexique_gtl_5F_debugger_5F_scanner::kToken_variables) -} ; - -int32_t Lexique_gtl_5F_debugger_5F_scanner::search_into_goilTemplateKeyWordList (const String & inSearchedString) { + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_by, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_by), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_do, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_do), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_if, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_if), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_no, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_no), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_or, 2, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_or), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_all, 3, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_all), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_end, 3, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_end), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_let, 3, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_let), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_mod, 3, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_mod), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_not, 3, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_not), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_yes, 3, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_yes), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_cont, 4, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_cont), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_else, 4, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_else), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_help, 4, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_help), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_hist, 4, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_hist), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_list, 4, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_list), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_load, 4, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_load), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_sort, 4, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_sort), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_step, 4, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_step), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_then, 4, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_then), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_true, 4, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_true), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_break, 5, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_break), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_elsif, 5, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_elsif), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_false, 5, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_false), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_mapof, 5, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_mapof), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_print, 5, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_print), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_unlet, 5, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_unlet), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_watch, 5, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_watch), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_exists, 6, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_exists), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_import, 6, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_import), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_listof, 6, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_listof), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_typeof, 6, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_typeof), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_default, 7, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_default), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_display, 7, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_display), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_continue, 8, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_continue), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_emptymap, 8, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_emptymap), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_emptylist, 9, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_emptylist), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_libraries, 9, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_libraries), + C_unicode_lexique_table_entry (kUnicodeString_gtl_5F_debugger_5F_scanner_variables, 9, C_Lexique_gtl_5F_debugger_5F_scanner::kToken_variables) +} ; + +int32_t C_Lexique_gtl_5F_debugger_5F_scanner::search_into_goilTemplateKeyWordList (const C_String & inSearchedString) { return searchInList (inSearchedString, ktable_for_gtl_5F_debugger_5F_scanner_goilTemplateKeyWordList, ktable_size_gtl_5F_debugger_5F_scanner_goilTemplateKeyWordList) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // getCurrentTokenString -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String Lexique_gtl_5F_debugger_5F_scanner::getCurrentTokenString (const cToken * inTokenPtr) const { +C_String C_Lexique_gtl_5F_debugger_5F_scanner::getCurrentTokenString (const cToken * inTokenPtr) const { const cTokenFor_gtl_5F_debugger_5F_scanner * ptr = (const cTokenFor_gtl_5F_debugger_5F_scanner *) inTokenPtr ; - String s ; + C_String s ; if (ptr == nullptr) { - s.appendCString ("$$") ; + s.appendCString("$$") ; }else{ switch (ptr->mTokenCode) { case kToken_: - s.appendCString ("$$") ; + s.appendCString("$$") ; break ; case kToken_identifier: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("identifier") ; - s.appendChar (TO_UNICODE ('$')) ; - s.appendChar (TO_UNICODE (' ')) ; - s.appendStringAsCLiteralStringConstant (ptr->mLexicalAttribute_tokenString) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; + s.appendCLiteralStringConstant (ptr->mLexicalAttribute_tokenString) ; break ; case kToken_literal_5F_enum: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("literal_enum") ; - s.appendChar (TO_UNICODE ('$')) ; - s.appendChar (TO_UNICODE (' ')) ; - s.appendStringAsCLiteralStringConstant (ptr->mLexicalAttribute_tokenString) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; + s.appendCLiteralStringConstant (ptr->mLexicalAttribute_tokenString) ; break ; case kToken_literal_5F_double: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("literal_double") ; - s.appendChar (TO_UNICODE ('$')) ; - s.appendChar (TO_UNICODE (' ')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; s.appendDouble (ptr->mLexicalAttribute_floatValue) ; break ; case kToken_signed_5F_literal_5F_integer_5F_bigint: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("signed_literal_integer_bigint") ; - s.appendChar (TO_UNICODE ('$')) ; - s.appendChar (TO_UNICODE (' ')) ; - s.appendStringAsCLiteralStringConstant (ptr->mLexicalAttribute_intValue.decimalString ()) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; + s.appendCLiteralStringConstant (ptr->mLexicalAttribute_intValue.decimalString ()) ; break ; case kToken__2D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("-") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2E_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString (".") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2E__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString (".=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2E__2E__2E_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("...") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_literal_5F_char: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("literal_char") ; - s.appendChar (TO_UNICODE ('$')) ; - s.appendChar (TO_UNICODE (' ')) ; - s.appendChar (ptr->mLexicalAttribute_charValue) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; + s.appendUnicodeCharacter (ptr->mLexicalAttribute_charValue COMMA_HERE) ; break ; case kToken_string: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("string") ; - s.appendChar (TO_UNICODE ('$')) ; - s.appendChar (TO_UNICODE (' ')) ; - s.appendStringAsCLiteralStringConstant (ptr->mLexicalAttribute_a_5F_string) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; + s.appendCLiteralStringConstant (ptr->mLexicalAttribute_a_5F_string) ; break ; case kToken_comment: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("comment") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_default: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("default") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_display: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("display") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_do: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("do") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_emptylist: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("emptylist") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_emptymap: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("emptymap") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_exists: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("exists") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_false: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("false") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_list: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("list") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_import: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("import") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_listof: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("listof") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_let: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("let") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_mapof: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("mapof") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_mod: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("mod") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_no: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("no") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_not: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("not") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_or: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("or") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_print: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("print") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_sort: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("sort") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_step: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("step") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_true: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("true") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_typeof: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("typeof") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_yes: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("yes") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_variables: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("variables") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_unlet: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("unlet") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_libraries: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("libraries") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_break: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("break") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_watch: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("watch") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_by: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("by") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_end: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("end") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_cont: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("cont") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_continue: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("continue") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_help: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("help") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_if: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("if") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_then: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("then") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_else: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("else") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_elsif: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("elsif") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_hist: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("hist") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_all: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("all") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_load: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("load") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2A_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("*") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__7C_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("|") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2C_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString (",") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2B_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("+") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3A__3A_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("::") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3E_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString (">") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3A_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString (":") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__28_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("(") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__29_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString (")") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2D__3E_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("->") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3F_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("\?") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3D__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("==") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__21_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("!") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3A__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString (":=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__5B_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("[") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__5D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("]") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2B__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("+=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2D__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("-=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2F_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("/") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__21__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("!=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3E__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString (">=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__26_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("&") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3C__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("<=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__7B_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("{") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__7D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("}") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3C_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("<") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__5E_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("^") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3E__3E_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString (">>") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__7E_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("~") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3C__2D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("<-") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3C__3C_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("<<") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__40_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("@") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2A__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("*=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2F__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("/=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__26__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("&=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__7C__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("|=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3C__3C__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("<<=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3E__3E__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString (">>=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_mod_3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("mod=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__5E__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("^=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__40__5B_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("@[") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__40__28_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("@(") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__40__7B_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("@{") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__5B__21_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("[!") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__40__21_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("@!") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; default: break ; @@ -4958,34 +5207,34 @@ String Lexique_gtl_5F_debugger_5F_scanner::getCurrentTokenString (const cToken * return s ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Template Delimiters -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Template Replacements -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Terminal Symbols as end of script in template mark -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // INTERNAL PARSE LEXICAL TOKEN -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void Lexique_gtl_5F_debugger_5F_scanner::internalParseLexicalToken (cTokenFor_gtl_5F_debugger_5F_scanner & token) { +void C_Lexique_gtl_5F_debugger_5F_scanner::internalParseLexicalToken (cTokenFor_gtl_5F_debugger_5F_scanner & token) { bool loop = true ; - token.mLexicalAttribute_a_5F_string.removeAllKeepingCapacity () ; + token.mLexicalAttribute_a_5F_string.setLengthToZero () ; token.mLexicalAttribute_charValue = TO_UNICODE (0) ; token.mLexicalAttribute_floatValue = 0.0 ; - token.mLexicalAttribute_functionContent.removeAllKeepingCapacity () ; - token.mLexicalAttribute_identifierString.removeAllKeepingCapacity () ; - token.mLexicalAttribute_intValue = BigSigned () ; - token.mLexicalAttribute_tokenString.removeAllKeepingCapacity () ; + token.mLexicalAttribute_functionContent.setLengthToZero () ; + token.mLexicalAttribute_identifierString.setLengthToZero () ; + token.mLexicalAttribute_intValue.setToZero () ; + token.mLexicalAttribute_tokenString.setLengthToZero () ; token.mLexicalAttribute_uint_33__32_value = 0 ; mTokenStartLocation = mCurrentLocation ; try{ @@ -5017,139 +5266,139 @@ void Lexique_gtl_5F_debugger_5F_scanner::internalParseLexicalToken (cTokenFor_gt loop = true ; token.mTokenCode = kToken_literal_5F_enum ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner_mod_3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner_mod_3D_, 4, true)) { token.mTokenCode = kToken_mod_3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3E__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3E__3D_, 3, true)) { token.mTokenCode = kToken__3E__3E__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3C__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3C__3D_, 3, true)) { token.mTokenCode = kToken__3C__3C__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__7C__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__7C__3D_, 2, true)) { token.mTokenCode = kToken__7C__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__5E__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__5E__3D_, 2, true)) { token.mTokenCode = kToken__5E__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__5B__21_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__5B__21_, 2, true)) { token.mTokenCode = kToken__5B__21_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__40__7B_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__40__7B_, 2, true)) { token.mTokenCode = kToken__40__7B_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__40__5B_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__40__5B_, 2, true)) { token.mTokenCode = kToken__40__5B_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__40__28_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__40__28_, 2, true)) { token.mTokenCode = kToken__40__28_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__40__21_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__40__21_, 2, true)) { token.mTokenCode = kToken__40__21_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3E_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3E_, 2, true)) { token.mTokenCode = kToken__3E__3E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3D_, 2, true)) { token.mTokenCode = kToken__3E__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3D__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3D__3D_, 2, true)) { token.mTokenCode = kToken__3D__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3D_, 2, true)) { token.mTokenCode = kToken__3C__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3C_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3C_, 2, true)) { token.mTokenCode = kToken__3C__3C_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3C__2D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3C__2D_, 2, true)) { token.mTokenCode = kToken__3C__2D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3A__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3A__3D_, 2, true)) { token.mTokenCode = kToken__3A__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3A__3A_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3A__3A_, 2, true)) { token.mTokenCode = kToken__3A__3A_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2F__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2F__3D_, 2, true)) { token.mTokenCode = kToken__2F__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2D__3E_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2D__3E_, 2, true)) { token.mTokenCode = kToken__2D__3E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2D__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2D__3D_, 2, true)) { token.mTokenCode = kToken__2D__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2B__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2B__3D_, 2, true)) { token.mTokenCode = kToken__2B__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2A__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2A__3D_, 2, true)) { token.mTokenCode = kToken__2A__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__26__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__26__3D_, 2, true)) { token.mTokenCode = kToken__26__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__21__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__21__3D_, 2, true)) { token.mTokenCode = kToken__21__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__7E_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__7E_, 1, true)) { token.mTokenCode = kToken__7E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__7D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__7D_, 1, true)) { token.mTokenCode = kToken__7D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__7C_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__7C_, 1, true)) { token.mTokenCode = kToken__7C_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__7B_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__7B_, 1, true)) { token.mTokenCode = kToken__7B_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__5E_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__5E_, 1, true)) { token.mTokenCode = kToken__5E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__5D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__5D_, 1, true)) { token.mTokenCode = kToken__5D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__5B_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__5B_, 1, true)) { token.mTokenCode = kToken__5B_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__40_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__40_, 1, true)) { token.mTokenCode = kToken__40_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3F_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3F_, 1, true)) { token.mTokenCode = kToken__3F_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3E_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3E_, 1, true)) { token.mTokenCode = kToken__3E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3C_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3C_, 1, true)) { token.mTokenCode = kToken__3C_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3A_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3A_, 1, true)) { token.mTokenCode = kToken__3A_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2F_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2F_, 1, true)) { token.mTokenCode = kToken__2F_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2C_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2C_, 1, true)) { token.mTokenCode = kToken__2C_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2B_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2B_, 1, true)) { token.mTokenCode = kToken__2B_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2A_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2A_, 1, true)) { token.mTokenCode = kToken__2A_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__29_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__29_, 1, true)) { token.mTokenCode = kToken__29_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__28_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__28_, 1, true)) { token.mTokenCode = kToken__28_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__26_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__26_, 1, true)) { token.mTokenCode = kToken__26_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__21_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__21_, 1, true)) { token.mTokenCode = kToken__21_ ; enterToken (token) ; }else if (testForInputUTF32Char (TO_UNICODE ('-'))) { @@ -5188,7 +5437,7 @@ void Lexique_gtl_5F_debugger_5F_scanner::internalParseLexicalToken (cTokenFor_gt token.mTokenCode = kToken__2D_ ; enterToken (token) ; } - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__30_x, true) || testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__30_X, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__30_x, 2, true) || testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__30_X, 2, true)) { do { if (testForInputUTF32CharRange (TO_UNICODE ('0'), TO_UNICODE ('9')) || testForInputUTF32CharRange (TO_UNICODE ('a'), TO_UNICODE ('f')) || testForInputUTF32CharRange (TO_UNICODE ('A'), TO_UNICODE ('F'))) { ::scanner_routine_enterCharacterIntoString (*this, token.mLexicalAttribute_tokenString, previousChar ()) ; @@ -5248,10 +5497,10 @@ void Lexique_gtl_5F_debugger_5F_scanner::internalParseLexicalToken (cTokenFor_gt token.mTokenCode = kToken_literal_5F_double ; enterToken (token) ; }else{ - if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2E__2E_, true)) { + if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2E__2E_, 2, true)) { token.mTokenCode = kToken__2E__2E__2E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3D_, 1, true)) { token.mTokenCode = kToken__2E__3D_ ; enterToken (token) ; }else{ @@ -5343,7 +5592,7 @@ void Lexique_gtl_5F_debugger_5F_scanner::internalParseLexicalToken (cTokenFor_gt } }else if (testForInputUTF32Char (TO_UNICODE ('&'))) { do { - if (notTestForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3B_, gLexicalMessage_gtl_5F_debugger_5F_scanner_incorrectHTMLescapeSequence COMMA_LINE_AND_SOURCE_FILE)) { + if (notTestForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3B_, 1, gLexicalMessage_gtl_5F_debugger_5F_scanner_incorrectHTMLescapeSequence COMMA_LINE_AND_SOURCE_FILE)) { ::scanner_routine_enterCharacterIntoString (*this, token.mLexicalAttribute_tokenString, previousChar ()) ; }else{ loop = false ; @@ -5388,7 +5637,7 @@ void Lexique_gtl_5F_debugger_5F_scanner::internalParseLexicalToken (cTokenFor_gt ::scanner_routine_enterCharacterIntoString (*this, token.mLexicalAttribute_a_5F_string, TO_UNICODE ('\?')) ; }else if (testForInputUTF32Char (TO_UNICODE ('&'))) { do { - if (notTestForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3B_, gLexicalMessage_gtl_5F_debugger_5F_scanner_incorrectHTMLescapeSequence COMMA_LINE_AND_SOURCE_FILE)) { + if (notTestForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3B_, 1, gLexicalMessage_gtl_5F_debugger_5F_scanner_incorrectHTMLescapeSequence COMMA_LINE_AND_SOURCE_FILE)) { ::scanner_routine_enterCharacterIntoString (*this, token.mLexicalAttribute_identifierString, previousChar ()) ; }else{ loop = false ; @@ -5502,11 +5751,11 @@ void Lexique_gtl_5F_debugger_5F_scanner::internalParseLexicalToken (cTokenFor_gt } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // P A R S E L E X I C A L T O K E N -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool Lexique_gtl_5F_debugger_5F_scanner::parseLexicalToken (void) { +bool C_Lexique_gtl_5F_debugger_5F_scanner::parseLexicalToken (void) { cTokenFor_gtl_5F_debugger_5F_scanner token ; token.mTokenCode = -1 ; while ((token.mTokenCode < 0) && (UNICODE_VALUE (mCurrentChar) != '\0')) { @@ -5519,14 +5768,15 @@ bool Lexique_gtl_5F_debugger_5F_scanner::parseLexicalToken (void) { return token.mTokenCode > 0 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // E N T E R T O K E N -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void Lexique_gtl_5F_debugger_5F_scanner::enterToken (cTokenFor_gtl_5F_debugger_5F_scanner & ioToken) { +void C_Lexique_gtl_5F_debugger_5F_scanner::enterToken (cTokenFor_gtl_5F_debugger_5F_scanner & ioToken) { cTokenFor_gtl_5F_debugger_5F_scanner * ptr = nullptr ; macroMyNew (ptr, cTokenFor_gtl_5F_debugger_5F_scanner ()) ; ptr->mTokenCode = ioToken.mTokenCode ; + // ptr->mIsOptional = ioToken.mIsOptional ; ptr->mStartLocation = mTokenStartLocation ; ptr->mEndLocation = mTokenEndLocation ; ptr->mTemplateStringBeforeToken = ioToken.mTemplateStringBeforeToken ; @@ -5542,69 +5792,69 @@ void Lexique_gtl_5F_debugger_5F_scanner::enterToken (cTokenFor_gtl_5F_debugger_5 enterTokenFromPointer (ptr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // A T T R I B U T E A C C E S S -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String Lexique_gtl_5F_debugger_5F_scanner::attributeValue_a_5F_string (void) const { +C_String C_Lexique_gtl_5F_debugger_5F_scanner::attributeValue_a_5F_string (void) const { cTokenFor_gtl_5F_debugger_5F_scanner * ptr = (cTokenFor_gtl_5F_debugger_5F_scanner *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_a_5F_string ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -utf32 Lexique_gtl_5F_debugger_5F_scanner::attributeValue_charValue (void) const { +utf32 C_Lexique_gtl_5F_debugger_5F_scanner::attributeValue_charValue (void) const { cTokenFor_gtl_5F_debugger_5F_scanner * ptr = (cTokenFor_gtl_5F_debugger_5F_scanner *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_charValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -double Lexique_gtl_5F_debugger_5F_scanner::attributeValue_floatValue (void) const { +double C_Lexique_gtl_5F_debugger_5F_scanner::attributeValue_floatValue (void) const { cTokenFor_gtl_5F_debugger_5F_scanner * ptr = (cTokenFor_gtl_5F_debugger_5F_scanner *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_floatValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String Lexique_gtl_5F_debugger_5F_scanner::attributeValue_functionContent (void) const { +C_String C_Lexique_gtl_5F_debugger_5F_scanner::attributeValue_functionContent (void) const { cTokenFor_gtl_5F_debugger_5F_scanner * ptr = (cTokenFor_gtl_5F_debugger_5F_scanner *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_functionContent ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String Lexique_gtl_5F_debugger_5F_scanner::attributeValue_identifierString (void) const { +C_String C_Lexique_gtl_5F_debugger_5F_scanner::attributeValue_identifierString (void) const { cTokenFor_gtl_5F_debugger_5F_scanner * ptr = (cTokenFor_gtl_5F_debugger_5F_scanner *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_identifierString ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -BigSigned Lexique_gtl_5F_debugger_5F_scanner::attributeValue_intValue (void) const { +C_BigInt C_Lexique_gtl_5F_debugger_5F_scanner::attributeValue_intValue (void) const { cTokenFor_gtl_5F_debugger_5F_scanner * ptr = (cTokenFor_gtl_5F_debugger_5F_scanner *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_intValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String Lexique_gtl_5F_debugger_5F_scanner::attributeValue_tokenString (void) const { +C_String C_Lexique_gtl_5F_debugger_5F_scanner::attributeValue_tokenString (void) const { cTokenFor_gtl_5F_debugger_5F_scanner * ptr = (cTokenFor_gtl_5F_debugger_5F_scanner *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_tokenString ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -uint32_t Lexique_gtl_5F_debugger_5F_scanner::attributeValue_uint_33__32_value (void) const { +uint32_t C_Lexique_gtl_5F_debugger_5F_scanner::attributeValue_uint_33__32_value (void) const { cTokenFor_gtl_5F_debugger_5F_scanner * ptr = (cTokenFor_gtl_5F_debugger_5F_scanner *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_uint_33__32_value ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // A S S I G N F R O M A T T R I B U T E -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_a_5F_string (void) const { +GALGAS_lstring C_Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_a_5F_string (void) const { cTokenFor_gtl_5F_debugger_5F_scanner * ptr = (cTokenFor_gtl_5F_debugger_5F_scanner *) currentTokenPtr (HERE) ; macroValidSharedObject (ptr, cTokenFor_gtl_5F_debugger_5F_scanner) ; GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; @@ -5613,9 +5863,9 @@ GALGAS_lstring Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_a_5F_str return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lchar Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_charValue (void) const { +GALGAS_lchar C_Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_charValue (void) const { cTokenFor_gtl_5F_debugger_5F_scanner * ptr = (cTokenFor_gtl_5F_debugger_5F_scanner *) currentTokenPtr (HERE) ; macroValidSharedObject (ptr, cTokenFor_gtl_5F_debugger_5F_scanner) ; GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; @@ -5624,9 +5874,9 @@ GALGAS_lchar Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_charValue return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_ldouble Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_floatValue (void) const { +GALGAS_ldouble C_Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_floatValue (void) const { cTokenFor_gtl_5F_debugger_5F_scanner * ptr = (cTokenFor_gtl_5F_debugger_5F_scanner *) currentTokenPtr (HERE) ; macroValidSharedObject (ptr, cTokenFor_gtl_5F_debugger_5F_scanner) ; GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; @@ -5635,9 +5885,9 @@ GALGAS_ldouble Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_floatVal return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_functionContent (void) const { +GALGAS_lstring C_Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_functionContent (void) const { cTokenFor_gtl_5F_debugger_5F_scanner * ptr = (cTokenFor_gtl_5F_debugger_5F_scanner *) currentTokenPtr (HERE) ; macroValidSharedObject (ptr, cTokenFor_gtl_5F_debugger_5F_scanner) ; GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; @@ -5646,9 +5896,9 @@ GALGAS_lstring Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_function return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_identifierString (void) const { +GALGAS_lstring C_Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_identifierString (void) const { cTokenFor_gtl_5F_debugger_5F_scanner * ptr = (cTokenFor_gtl_5F_debugger_5F_scanner *) currentTokenPtr (HERE) ; macroValidSharedObject (ptr, cTokenFor_gtl_5F_debugger_5F_scanner) ; GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; @@ -5657,9 +5907,9 @@ GALGAS_lstring Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_identifi return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lbigint Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_intValue (void) const { +GALGAS_lbigint C_Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_intValue (void) const { cTokenFor_gtl_5F_debugger_5F_scanner * ptr = (cTokenFor_gtl_5F_debugger_5F_scanner *) currentTokenPtr (HERE) ; macroValidSharedObject (ptr, cTokenFor_gtl_5F_debugger_5F_scanner) ; GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; @@ -5668,9 +5918,9 @@ GALGAS_lbigint Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_intValue return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_tokenString (void) const { +GALGAS_lstring C_Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_tokenString (void) const { cTokenFor_gtl_5F_debugger_5F_scanner * ptr = (cTokenFor_gtl_5F_debugger_5F_scanner *) currentTokenPtr (HERE) ; macroValidSharedObject (ptr, cTokenFor_gtl_5F_debugger_5F_scanner) ; GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; @@ -5679,9 +5929,9 @@ GALGAS_lstring Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_tokenStr return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_luint Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_uint_33__32_value (void) const { +GALGAS_luint C_Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_uint_33__32_value (void) const { cTokenFor_gtl_5F_debugger_5F_scanner * ptr = (cTokenFor_gtl_5F_debugger_5F_scanner *) currentTokenPtr (HERE) ; macroValidSharedObject (ptr, cTokenFor_gtl_5F_debugger_5F_scanner) ; GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; @@ -5690,122 +5940,122 @@ GALGAS_luint Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_uint_33__3 return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // I N T R O S P E C T I O N -//-------------------------------------------------------------------------------------------------- - -GALGAS_stringlist Lexique_gtl_5F_debugger_5F_scanner::symbols (LOCATION_ARGS) { - GALGAS_stringlist result = GALGAS_stringlist::class_func_emptyList (THERE) ; - result.addAssign_operation (GALGAS_string ("identifier") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("literal_enum") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("literal_double") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("signed_literal_integer_bigint") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("-") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string (".") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string (".=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("...") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("literal_char") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("string") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("comment") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("default") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("display") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("do") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("emptylist") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("emptymap") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("exists") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("false") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("list") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("import") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("listof") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("let") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("mapof") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("mod") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("no") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("not") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("or") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("print") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("sort") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("step") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("true") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("typeof") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("yes") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("variables") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("unlet") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("libraries") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("break") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("watch") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("by") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("end") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("cont") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("continue") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("help") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("if") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("then") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("else") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("elsif") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("hist") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("all") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("load") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("*") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("|") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string (",") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("+") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("::") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string (">") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string (":") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("(") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string (")") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("->") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("\?") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("==") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("!") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string (":=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("[") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("]") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("+=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("-=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("/") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("!=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string (">=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("&") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("<=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("{") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("}") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("<") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("^") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string (">>") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("~") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("<-") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("<<") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("@") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("*=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("/=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("&=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("|=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("<<=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string (">>=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("mod=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("^=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("@[") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("@(") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("@{") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("[!") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("@!") COMMA_HERE) ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -static void getKeywordLists_gtl_5F_debugger_5F_scanner (TC_UniqueArray & ioList) { +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_stringlist C_Lexique_gtl_5F_debugger_5F_scanner::symbols (LOCATION_ARGS) { + GALGAS_stringlist result = GALGAS_stringlist::constructor_emptyList (THERE) ; + result.addAssign_operation (GALGAS_string ("identifier") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("literal_enum") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("literal_double") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("signed_literal_integer_bigint") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("-") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string (".") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string (".=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("...") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("literal_char") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("string") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("comment") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("default") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("display") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("do") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("emptylist") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("emptymap") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("exists") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("false") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("list") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("import") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("listof") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("let") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("mapof") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("mod") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("no") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("not") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("or") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("print") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("sort") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("step") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("true") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("typeof") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("yes") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("variables") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("unlet") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("libraries") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("break") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("watch") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("by") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("end") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("cont") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("continue") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("help") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("if") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("then") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("else") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("elsif") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("hist") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("all") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("load") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("*") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("|") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string (",") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("+") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("::") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string (">") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string (":") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("(") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string (")") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("->") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("\?") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("==") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("!") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string (":=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("[") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("]") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("+=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("-=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("/") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("!=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string (">=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("&") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("<=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("{") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("}") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("<") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("^") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string (">>") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("~") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("<-") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("<<") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("@") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("*=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("/=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("&=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("|=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("<<=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string (">>=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("mod=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("^=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("@[") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("@(") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("@{") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("[!") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("@!") COMMA_THERE) ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +static void getKeywordLists_gtl_5F_debugger_5F_scanner (TC_UniqueArray & ioList) { ioList.appendObject ("gtl_debugger_scanner:galgasDelimitorsList") ; ioList.appendObject ("gtl_debugger_scanner:goilTemplateKeyWordList") ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static void getKeywordsForIdentifier_gtl_5F_debugger_5F_scanner (const String & inIdentifier, +static void getKeywordsForIdentifier_gtl_5F_debugger_5F_scanner (const C_String & inIdentifier, bool & ioFound, - TC_UniqueArray & ioList) { + TC_UniqueArray & ioList) { if (inIdentifier == "gtl_debugger_scanner:galgasDelimitorsList") { ioFound = true ; ioList.appendObject ("!") ; @@ -5900,17 +6150,17 @@ static void getKeywordsForIdentifier_gtl_5F_debugger_5F_scanner (const String & } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static cLexiqueIntrospection lexiqueIntrospection_gtl_5F_debugger_5F_scanner __attribute__ ((used)) __attribute__ ((unused)) (getKeywordLists_gtl_5F_debugger_5F_scanner, getKeywordsForIdentifier_gtl_5F_debugger_5F_scanner) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // S T Y L E I N D E X F O R T E R M I N A L -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -uint32_t Lexique_gtl_5F_debugger_5F_scanner::styleIndexForTerminal (const int32_t inTerminalIndex) const { +uint32_t C_Lexique_gtl_5F_debugger_5F_scanner::styleIndexForTerminal (const int32_t inTerminalIndex) const { static const uint32_t kTerminalSymbolStyles [96] = {0, 0 /* gtl_debugger_scanner_1_identifier */, 0 /* gtl_debugger_scanner_1_literal_5F_enum */, @@ -6011,12 +6261,12 @@ uint32_t Lexique_gtl_5F_debugger_5F_scanner::styleIndexForTerminal (const int32_ return (inTerminalIndex >= 0) ? kTerminalSymbolStyles [inTerminalIndex] : 0 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // S T Y L E N A M E F O R S T Y L E I N D E X -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String Lexique_gtl_5F_debugger_5F_scanner::styleNameForIndex (const uint32_t inStyleIndex) const { - String result ; +C_String C_Lexique_gtl_5F_debugger_5F_scanner::styleNameForIndex (const uint32_t inStyleIndex) const { + C_String result ; if (inStyleIndex < 9) { static const char * kStyleArray [9] = { "", @@ -6039,30 +6289,30 @@ String Lexique_gtl_5F_debugger_5F_scanner::styleNameForIndex (const uint32_t inS //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i0_ (GALGAS_gtlInstruction & outArgument_instruction, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument switch (select_gtl_5F_debugger_5F_parser_0 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_cont COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 41)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_cont COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 41)) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_continue COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 43)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_continue COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 43)) ; } break ; default: break ; } - outArgument_instruction = GALGAS_gtlContinueInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 46)), GALGAS_string::makeEmptyString () COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 45)) ; + outArgument_instruction = GALGAS_gtlContinueInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 46)), GALGAS_string::makeEmptyString () COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 45)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i0_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i0_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { switch (select_gtl_5F_debugger_5F_parser_0 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_cont COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 41)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_cont COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 41)) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_continue COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 43)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_continue COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 43)) ; } break ; default: break ; @@ -6072,13 +6322,13 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_de //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i0_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i0_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { switch (select_gtl_5F_debugger_5F_parser_0 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_cont COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 41)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_cont COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 41)) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_continue COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 43)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_continue COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 43)) ; } break ; default: break ; @@ -6088,79 +6338,79 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_de //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i1_ (GALGAS_gtlInstruction & outArgument_instruction, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_help COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 55)) ; - outArgument_instruction = GALGAS_gtlHelpInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 57)), GALGAS_string::makeEmptyString () COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 56)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_help COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 55)) ; + outArgument_instruction = GALGAS_gtlHelpInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 57)), GALGAS_string::makeEmptyString () COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 56)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i1_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_help COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 55)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i1_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_help COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 55)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i1_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_help COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 55)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i1_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_help COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 55)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i2_ (GALGAS_gtlInstruction & outArgument_instruction, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_step COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 66)) ; - outArgument_instruction = GALGAS_gtlStepInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 68)), GALGAS_string::makeEmptyString () COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 67)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_step COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 66)) ; + outArgument_instruction = GALGAS_gtlStepInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 68)), GALGAS_string::makeEmptyString () COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 67)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i2_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_step COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 66)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i2_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_step COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 66)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i2_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_step COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 66)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i2_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_step COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 66)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i3_ (GALGAS_gtlInstruction & outArgument_instruction, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_load COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 77)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_load COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 77)) ; GALGAS_lstring var_fileName_1771 ; switch (select_gtl_5F_debugger_5F_parser_1 (inCompiler)) { case 1: { var_fileName_1771 = inCompiler->synthetizedAttribute_tokenString () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 80)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 80)) ; } break ; case 2: { var_fileName_1771 = inCompiler->synthetizedAttribute_a_5F_string () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 82)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 82)) ; } break ; default: break ; } - outArgument_instruction = GALGAS_gtlLoadInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 85)), GALGAS_string::makeEmptyString (), var_fileName_1771.readProperty_string () COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 84)) ; + outArgument_instruction = GALGAS_gtlLoadInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 85)), GALGAS_string::makeEmptyString (), var_fileName_1771.readProperty_string () COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 84)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i3_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_load COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 77)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i3_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_load COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 77)) ; switch (select_gtl_5F_debugger_5F_parser_1 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 80)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 80)) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 82)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 82)) ; } break ; default: break ; @@ -6170,14 +6420,14 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_de //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i3_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_load COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 77)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i3_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_load COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 77)) ; switch (select_gtl_5F_debugger_5F_parser_1 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 80)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 80)) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 82)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 82)) ; } break ; default: break ; @@ -6187,43 +6437,43 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_de //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i4_ (GALGAS_gtlInstruction & outArgument_instruction, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_hist COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 95)) ; - outArgument_instruction = GALGAS_gtlHistoryInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 97)), GALGAS_string::makeEmptyString () COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 96)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_hist COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 95)) ; + outArgument_instruction = GALGAS_gtlHistoryInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 97)), GALGAS_string::makeEmptyString () COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 96)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i4_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_hist COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 95)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i4_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_hist COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 95)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i4_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_hist COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 95)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i4_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_hist COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 95)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i5_ (GALGAS_gtlInstruction & outArgument_instruction, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_break COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 106)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_break COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 106)) ; switch (select_gtl_5F_debugger_5F_parser_2 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 108)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 108)) ; switch (select_gtl_5F_debugger_5F_parser_3 (inCompiler)) { case 1: { GALGAS_lbigint var_index_2386 = inCompiler->synthetizedAttribute_intValue () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 110)) ; - outArgument_instruction = GALGAS_gtlBreakpointDeleteInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 112)), GALGAS_string::makeEmptyString (), var_index_2386 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 111)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 110)) ; + outArgument_instruction = GALGAS_gtlBreakpointDeleteInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 112)), GALGAS_string::makeEmptyString (), var_index_2386 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 111)) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 117)) ; - outArgument_instruction = GALGAS_gtlBreakpointDeleteAllInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 119)), GALGAS_string::makeEmptyString () COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 118)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 117)) ; + outArgument_instruction = GALGAS_gtlBreakpointDeleteAllInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 119)), GALGAS_string::makeEmptyString () COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 118)) ; } break ; default: break ; @@ -6233,19 +6483,19 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_de switch (select_gtl_5F_debugger_5F_parser_4 (inCompiler)) { case 1: { GALGAS_lstring var_fileName_2679 = inCompiler->synthetizedAttribute_tokenString () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 125)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2E_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 126)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 125)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2E_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 126)) ; GALGAS_lstring var_fileExtension_2731 = inCompiler->synthetizedAttribute_tokenString () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 127)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 128)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 127)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 128)) ; GALGAS_lbigint var_lineNum_2807 = inCompiler->synthetizedAttribute_intValue () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 129)) ; - outArgument_instruction = GALGAS_gtlBreakpointInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 131)), GALGAS_string::makeEmptyString (), var_fileName_2679.readProperty_string ().add_operation (GALGAS_string ("."), inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 133)).add_operation (var_fileExtension_2731.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 133)), var_lineNum_2807.readProperty_bigint ().getter_uint (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 134)) COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 130)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 129)) ; + outArgument_instruction = GALGAS_gtlBreakpointInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 131)), GALGAS_string::makeEmptyString (), var_fileName_2679.readProperty_string ().add_operation (GALGAS_string ("."), inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 133)).add_operation (var_fileExtension_2731.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 133)), var_lineNum_2807.readProperty_bigint ().getter_uint (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 134)) COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 130)) ; } break ; case 2: { GALGAS_lbigint var_lineNum_3036 = inCompiler->synthetizedAttribute_intValue () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 137)) ; - outArgument_instruction = GALGAS_gtlBreakpointInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 139)), GALGAS_string::makeEmptyString (), GALGAS_string::makeEmptyString (), var_lineNum_3036.readProperty_bigint ().getter_uint (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 142)) COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 138)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 137)) ; + outArgument_instruction = GALGAS_gtlBreakpointInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 139)), GALGAS_string::makeEmptyString (), GALGAS_string::makeEmptyString (), var_lineNum_3036.readProperty_bigint ().getter_uint (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 142)) COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 138)) ; } break ; default: break ; @@ -6253,7 +6503,7 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_de } break ; case 3: { GALGAS_lstring var_fileNameAndLineNum_3209 = inCompiler->synthetizedAttribute_a_5F_string () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 146)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 146)) ; GALGAS_stringlist var_components_3248 = var_fileNameAndLineNum_3209.readProperty_string ().getter_componentsSeparatedByString (GALGAS_string (":") COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 147)) ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { @@ -6261,17 +6511,17 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_de if (kBoolTrue == test_0) { GALGAS_string var_fileName_3379 = var_components_3248.getter_mValueAtIndex (GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 149)) ; GALGAS_string var_lineNum_3438 = var_components_3248.getter_mValueAtIndex (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 150)) ; - outArgument_instruction = GALGAS_gtlBreakpointInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 152)), GALGAS_string::makeEmptyString (), var_fileName_3379, var_lineNum_3438.getter_decimalUnsignedNumber (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 155)) COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 151)) ; + outArgument_instruction = GALGAS_gtlBreakpointInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 152)), GALGAS_string::makeEmptyString (), var_fileName_3379, var_lineNum_3438.getter_decimalUnsignedNumber (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 155)) COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 151)) ; } } if (kBoolFalse == test_0) { TC_Array fixItArray1 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 158)), GALGAS_string ("Illegal breakpoint location"), fixItArray1 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 158)) ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 158)), GALGAS_string ("Illegal breakpoint location"), fixItArray1 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 158)) ; outArgument_instruction.drop () ; // Release error dropped variable } } break ; case 4: { - outArgument_instruction = GALGAS_gtlBreakpointListInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 162)), GALGAS_string::makeEmptyString () COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 161)) ; + outArgument_instruction = GALGAS_gtlBreakpointListInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 162)), GALGAS_string::makeEmptyString () COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 161)) ; } break ; default: break ; @@ -6280,17 +6530,17 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_de //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i5_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_break COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 106)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i5_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_break COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 106)) ; switch (select_gtl_5F_debugger_5F_parser_2 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 108)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 108)) ; switch (select_gtl_5F_debugger_5F_parser_3 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 110)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 110)) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 117)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 117)) ; } break ; default: break ; @@ -6299,21 +6549,21 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_de case 2: { switch (select_gtl_5F_debugger_5F_parser_4 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 125)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2E_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 126)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 127)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 128)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 129)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 125)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2E_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 126)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 127)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 128)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 129)) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 137)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 137)) ; } break ; default: break ; } } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 146)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 146)) ; } break ; case 4: { } break ; @@ -6325,17 +6575,17 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_de //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i5_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_break COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 106)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i5_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_break COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 106)) ; switch (select_gtl_5F_debugger_5F_parser_2 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 108)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 108)) ; switch (select_gtl_5F_debugger_5F_parser_3 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 110)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 110)) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 117)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 117)) ; } break ; default: break ; @@ -6344,21 +6594,21 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_de case 2: { switch (select_gtl_5F_debugger_5F_parser_4 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 125)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2E_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 126)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 127)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 128)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 129)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 125)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2E_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 126)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 127)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 128)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 129)) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 137)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 137)) ; } break ; default: break ; } } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 146)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 146)) ; } break ; case 4: { } break ; @@ -6370,35 +6620,35 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_de //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i6_ (GALGAS_gtlInstruction & outArgument_instruction, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_watch COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 172)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_watch COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 172)) ; switch (select_gtl_5F_debugger_5F_parser_5 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 174)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 174)) ; switch (select_gtl_5F_debugger_5F_parser_6 (inCompiler)) { case 1: { GALGAS_lbigint var_index_4037 = inCompiler->synthetizedAttribute_intValue () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 176)) ; - outArgument_instruction = GALGAS_gtlWatchpointDeleteInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 178)), GALGAS_string::makeEmptyString (), var_index_4037 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 177)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 176)) ; + outArgument_instruction = GALGAS_gtlWatchpointDeleteInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 178)), GALGAS_string::makeEmptyString (), var_index_4037 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 177)) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 183)) ; - outArgument_instruction = GALGAS_gtlWatchpointDeleteAllInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 185)), GALGAS_string::makeEmptyString () COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 184)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 183)) ; + outArgument_instruction = GALGAS_gtlWatchpointDeleteAllInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 185)), GALGAS_string::makeEmptyString () COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 184)) ; } break ; default: break ; } } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 190)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 190)) ; GALGAS_gtlExpression var_watchExpression_4334 ; nt_gtl_5F_expression_ (var_watchExpression_4334, inCompiler) ; - outArgument_instruction = GALGAS_gtlWatchpointInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 193)), GALGAS_string::makeEmptyString (), var_watchExpression_4334 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 192)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 197)) ; + outArgument_instruction = GALGAS_gtlWatchpointInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 193)), GALGAS_string::makeEmptyString (), var_watchExpression_4334 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 192)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 197)) ; } break ; case 3: { - outArgument_instruction = GALGAS_gtlWatchpointListInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 200)), GALGAS_string::makeEmptyString () COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 199)) ; + outArgument_instruction = GALGAS_gtlWatchpointListInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 200)), GALGAS_string::makeEmptyString () COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 199)) ; } break ; default: break ; @@ -6407,26 +6657,26 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_de //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i6_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_watch COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 172)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i6_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_watch COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 172)) ; switch (select_gtl_5F_debugger_5F_parser_5 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 174)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 174)) ; switch (select_gtl_5F_debugger_5F_parser_6 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 176)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 176)) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 183)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 183)) ; } break ; default: break ; } } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 190)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 190)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 197)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 197)) ; } break ; case 3: { } break ; @@ -6438,26 +6688,26 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_de //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i6_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_watch COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 172)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i6_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_watch COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 172)) ; switch (select_gtl_5F_debugger_5F_parser_5 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 174)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 174)) ; switch (select_gtl_5F_debugger_5F_parser_6 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 176)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 176)) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 183)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 183)) ; } break ; default: break ; } } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 190)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 190)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 197)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 197)) ; } break ; case 3: { } break ; @@ -6469,33 +6719,33 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_de //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i7_ (GALGAS_gtlInstruction & outArgument_instruction, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_do COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 211)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_do COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 211)) ; switch (select_gtl_5F_debugger_5F_parser_7 (inCompiler)) { case 1: { GALGAS_gtlInstruction var_instructionToStepDo_4766 ; nt_gtl_5F_step_5F_do_5F_command_ (var_instructionToStepDo_4766, inCompiler) ; - outArgument_instruction = GALGAS_gtlDoInstInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 215)), GALGAS_string::makeEmptyString (), var_instructionToStepDo_4766 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 214)) ; + outArgument_instruction = GALGAS_gtlDoInstInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 215)), GALGAS_string::makeEmptyString (), var_instructionToStepDo_4766 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 214)) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 220)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 220)) ; switch (select_gtl_5F_debugger_5F_parser_8 (inCompiler)) { case 1: { GALGAS_lbigint var_num_4966 = inCompiler->synthetizedAttribute_intValue () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 222)) ; - outArgument_instruction = GALGAS_gtlDoNotInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 224)), GALGAS_string::makeEmptyString (), var_num_4966 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 223)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 222)) ; + outArgument_instruction = GALGAS_gtlDoNotInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 224)), GALGAS_string::makeEmptyString (), var_num_4966 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 223)) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 229)) ; - outArgument_instruction = GALGAS_gtlDoNotAllInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 231)), GALGAS_string::makeEmptyString () COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 230)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 229)) ; + outArgument_instruction = GALGAS_gtlDoNotAllInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 231)), GALGAS_string::makeEmptyString () COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 230)) ; } break ; default: break ; } } break ; case 3: { - outArgument_instruction = GALGAS_gtlDoInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 237)), GALGAS_string::makeEmptyString () COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 236)) ; + outArgument_instruction = GALGAS_gtlDoInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 237)), GALGAS_string::makeEmptyString () COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 236)) ; } break ; default: break ; @@ -6504,20 +6754,20 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_de //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i7_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_do COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 211)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i7_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_do COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 211)) ; switch (select_gtl_5F_debugger_5F_parser_7 (inCompiler)) { case 1: { nt_gtl_5F_step_5F_do_5F_command_parse (inCompiler) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 220)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 220)) ; switch (select_gtl_5F_debugger_5F_parser_8 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 222)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 222)) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 229)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 229)) ; } break ; default: break ; @@ -6533,20 +6783,20 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_de //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i7_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_do COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 211)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i7_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_do COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 211)) ; switch (select_gtl_5F_debugger_5F_parser_7 (inCompiler)) { case 1: { nt_gtl_5F_step_5F_do_5F_command_indexing (inCompiler) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 220)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 220)) ; switch (select_gtl_5F_debugger_5F_parser_8 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 222)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 222)) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 229)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 229)) ; } break ; default: break ; @@ -6562,99 +6812,99 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_de //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i8_ (GALGAS_gtlInstruction & outArgument_instruction, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - outArgument_instruction = GALGAS_gtlStepInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 248)), GALGAS_string::makeEmptyString () COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 247)) ; + outArgument_instruction = GALGAS_gtlStepInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 248)), GALGAS_string::makeEmptyString () COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 247)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i8_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i8_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i8_indexing (Lexique_gtl_5F_debugger_5F_scanner * /* inCompiler */) { +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i8_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * /* inCompiler */) { } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i9_ (GALGAS_gtlInstruction & outArgument_instruction, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_let COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 257)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_let COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 257)) ; GALGAS_gtlVarPath var_variable_5664 ; nt_gtl_5F_variable_ (var_variable_5664, inCompiler) ; switch (select_gtl_5F_debugger_5F_parser_9 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3A__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 260)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 260)) ; GALGAS_gtlExpression var_expression_5732 ; nt_gtl_5F_expression_ (var_expression_5732, inCompiler) ; - outArgument_instruction = GALGAS_gtlLetInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 263)), GALGAS_string::makeEmptyString (), var_variable_5664, var_expression_5732 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 262)) ; + outArgument_instruction = GALGAS_gtlLetInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 263)), GALGAS_string::makeEmptyString (), var_variable_5664, var_expression_5732 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 262)) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2B__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 269)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2B__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 269)) ; GALGAS_gtlExpression var_expression_5906 ; nt_gtl_5F_expression_ (var_expression_5906, inCompiler) ; - outArgument_instruction = GALGAS_gtlLetAddInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 272)), GALGAS_string::makeEmptyString (), var_variable_5664, var_expression_5906 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 271)) ; + outArgument_instruction = GALGAS_gtlLetAddInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 272)), GALGAS_string::makeEmptyString (), var_variable_5664, var_expression_5906 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 271)) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2D__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 278)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2D__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 278)) ; GALGAS_gtlExpression var_expression_6082 ; nt_gtl_5F_expression_ (var_expression_6082, inCompiler) ; - outArgument_instruction = GALGAS_gtlLetSubstractInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 281)), GALGAS_string::makeEmptyString (), var_variable_5664, var_expression_6082 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 280)) ; + outArgument_instruction = GALGAS_gtlLetSubstractInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 281)), GALGAS_string::makeEmptyString (), var_variable_5664, var_expression_6082 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 280)) ; } break ; case 4: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2A__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 287)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2A__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 287)) ; GALGAS_gtlExpression var_expression_6264 ; nt_gtl_5F_expression_ (var_expression_6264, inCompiler) ; - outArgument_instruction = GALGAS_gtlLetMultiplyInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 290)), GALGAS_string::makeEmptyString (), var_variable_5664, var_expression_6264 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 289)) ; + outArgument_instruction = GALGAS_gtlLetMultiplyInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 290)), GALGAS_string::makeEmptyString (), var_variable_5664, var_expression_6264 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 289)) ; } break ; case 5: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2F__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 296)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2F__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 296)) ; GALGAS_gtlExpression var_expression_6445 ; nt_gtl_5F_expression_ (var_expression_6445, inCompiler) ; - outArgument_instruction = GALGAS_gtlLetDivideInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 299)), GALGAS_string::makeEmptyString (), var_variable_5664, var_expression_6445 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 298)) ; + outArgument_instruction = GALGAS_gtlLetDivideInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 299)), GALGAS_string::makeEmptyString (), var_variable_5664, var_expression_6445 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 298)) ; } break ; case 6: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_mod_3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 305)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_mod_3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 305)) ; GALGAS_gtlExpression var_expression_6626 ; nt_gtl_5F_expression_ (var_expression_6626, inCompiler) ; - outArgument_instruction = GALGAS_gtlLetModuloInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 308)), GALGAS_string::makeEmptyString (), var_variable_5664, var_expression_6626 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 307)) ; + outArgument_instruction = GALGAS_gtlLetModuloInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 308)), GALGAS_string::makeEmptyString (), var_variable_5664, var_expression_6626 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 307)) ; } break ; case 7: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3C__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 314)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3C__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 314)) ; GALGAS_gtlExpression var_expression_6806 ; nt_gtl_5F_expression_ (var_expression_6806, inCompiler) ; - outArgument_instruction = GALGAS_gtlLetShiftLeftInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 317)), GALGAS_string::makeEmptyString (), var_variable_5664, var_expression_6806 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 316)) ; + outArgument_instruction = GALGAS_gtlLetShiftLeftInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 317)), GALGAS_string::makeEmptyString (), var_variable_5664, var_expression_6806 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 316)) ; } break ; case 8: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3E__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 323)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3E__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 323)) ; GALGAS_gtlExpression var_expression_6989 ; nt_gtl_5F_expression_ (var_expression_6989, inCompiler) ; - outArgument_instruction = GALGAS_gtlLetShiftRightInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 326)), GALGAS_string::makeEmptyString (), var_variable_5664, var_expression_6989 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 325)) ; + outArgument_instruction = GALGAS_gtlLetShiftRightInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 326)), GALGAS_string::makeEmptyString (), var_variable_5664, var_expression_6989 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 325)) ; } break ; case 9: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__26__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 332)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__26__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 332)) ; GALGAS_gtlExpression var_expression_7172 ; nt_gtl_5F_expression_ (var_expression_7172, inCompiler) ; - outArgument_instruction = GALGAS_gtlLetAndInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 335)), GALGAS_string::makeEmptyString (), var_variable_5664, var_expression_7172 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 334)) ; + outArgument_instruction = GALGAS_gtlLetAndInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 335)), GALGAS_string::makeEmptyString (), var_variable_5664, var_expression_7172 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 334)) ; } break ; case 10: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__7C__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 341)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__7C__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 341)) ; GALGAS_gtlExpression var_expression_7348 ; nt_gtl_5F_expression_ (var_expression_7348, inCompiler) ; - outArgument_instruction = GALGAS_gtlLetOrInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 344)), GALGAS_string::makeEmptyString (), var_variable_5664, var_expression_7348 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 343)) ; + outArgument_instruction = GALGAS_gtlLetOrInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 344)), GALGAS_string::makeEmptyString (), var_variable_5664, var_expression_7348 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 343)) ; } break ; case 11: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5E__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 350)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5E__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 350)) ; GALGAS_gtlExpression var_expression_7523 ; nt_gtl_5F_expression_ (var_expression_7523, inCompiler) ; - outArgument_instruction = GALGAS_gtlLetXorInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 353)), GALGAS_string::makeEmptyString (), var_variable_5664, var_expression_7523 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 352)) ; + outArgument_instruction = GALGAS_gtlLetXorInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 353)), GALGAS_string::makeEmptyString (), var_variable_5664, var_expression_7523 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 352)) ; } break ; case 12: { - outArgument_instruction = GALGAS_gtlLetUnconstructedInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 360)), GALGAS_string::makeEmptyString (), var_variable_5664 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 359)) ; + outArgument_instruction = GALGAS_gtlLetUnconstructedInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 360)), GALGAS_string::makeEmptyString (), var_variable_5664 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 359)) ; } break ; default: break ; @@ -6663,52 +6913,52 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_de //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i9_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_let COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 257)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i9_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_let COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 257)) ; nt_gtl_5F_variable_parse (inCompiler) ; switch (select_gtl_5F_debugger_5F_parser_9 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3A__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 260)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 260)) ; nt_gtl_5F_expression_parse (inCompiler) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2B__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 269)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2B__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 269)) ; nt_gtl_5F_expression_parse (inCompiler) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2D__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 278)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2D__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 278)) ; nt_gtl_5F_expression_parse (inCompiler) ; } break ; case 4: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2A__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 287)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2A__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 287)) ; nt_gtl_5F_expression_parse (inCompiler) ; } break ; case 5: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2F__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 296)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2F__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 296)) ; nt_gtl_5F_expression_parse (inCompiler) ; } break ; case 6: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_mod_3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 305)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_mod_3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 305)) ; nt_gtl_5F_expression_parse (inCompiler) ; } break ; case 7: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3C__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 314)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3C__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 314)) ; nt_gtl_5F_expression_parse (inCompiler) ; } break ; case 8: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3E__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 323)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3E__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 323)) ; nt_gtl_5F_expression_parse (inCompiler) ; } break ; case 9: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__26__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 332)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__26__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 332)) ; nt_gtl_5F_expression_parse (inCompiler) ; } break ; case 10: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__7C__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 341)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__7C__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 341)) ; nt_gtl_5F_expression_parse (inCompiler) ; } break ; case 11: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5E__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 350)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5E__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 350)) ; nt_gtl_5F_expression_parse (inCompiler) ; } break ; case 12: { @@ -6721,52 +6971,52 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_de //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i9_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_let COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 257)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i9_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_let COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 257)) ; nt_gtl_5F_variable_indexing (inCompiler) ; switch (select_gtl_5F_debugger_5F_parser_9 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3A__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 260)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 260)) ; nt_gtl_5F_expression_indexing (inCompiler) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2B__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 269)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2B__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 269)) ; nt_gtl_5F_expression_indexing (inCompiler) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2D__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 278)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2D__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 278)) ; nt_gtl_5F_expression_indexing (inCompiler) ; } break ; case 4: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2A__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 287)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2A__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 287)) ; nt_gtl_5F_expression_indexing (inCompiler) ; } break ; case 5: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2F__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 296)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2F__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 296)) ; nt_gtl_5F_expression_indexing (inCompiler) ; } break ; case 6: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_mod_3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 305)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_mod_3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 305)) ; nt_gtl_5F_expression_indexing (inCompiler) ; } break ; case 7: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3C__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 314)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3C__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 314)) ; nt_gtl_5F_expression_indexing (inCompiler) ; } break ; case 8: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3E__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 323)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3E__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 323)) ; nt_gtl_5F_expression_indexing (inCompiler) ; } break ; case 9: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__26__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 332)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__26__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 332)) ; nt_gtl_5F_expression_indexing (inCompiler) ; } break ; case 10: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__7C__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 341)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__7C__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 341)) ; nt_gtl_5F_expression_indexing (inCompiler) ; } break ; case 11: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5E__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 350)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5E__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 350)) ; nt_gtl_5F_expression_indexing (inCompiler) ; } break ; case 12: { @@ -6779,135 +7029,135 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_de //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i10_ (GALGAS_gtlInstruction & outArgument_instruction, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_unlet COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 371)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_unlet COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 371)) ; GALGAS_gtlVarPath var_variable_7943 ; nt_gtl_5F_variable_ (var_variable_7943, inCompiler) ; - outArgument_instruction = GALGAS_gtlUnletInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 374)), GALGAS_string::makeEmptyString (), var_variable_7943 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 373)) ; + outArgument_instruction = GALGAS_gtlUnletInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 374)), GALGAS_string::makeEmptyString (), var_variable_7943 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 373)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i10_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_unlet COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 371)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i10_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_unlet COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 371)) ; nt_gtl_5F_variable_parse (inCompiler) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i10_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_unlet COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 371)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i10_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_unlet COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 371)) ; nt_gtl_5F_variable_indexing (inCompiler) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i11_ (GALGAS_gtlInstruction & outArgument_instruction, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument nt_gtl_5F_step_5F_do_5F_command_ (outArgument_instruction, inCompiler) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i11_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i11_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { nt_gtl_5F_step_5F_do_5F_command_parse (inCompiler) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i11_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i11_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { nt_gtl_5F_step_5F_do_5F_command_indexing (inCompiler) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i12_ (GALGAS_gtlInstruction & outArgument_instruction, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_variables COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 391)) ; - outArgument_instruction = GALGAS_gtlVariablesInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 393)), GALGAS_string::makeEmptyString (), GALGAS_bool (true) COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 392)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_variables COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 391)) ; + outArgument_instruction = GALGAS_gtlVariablesInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 393)), GALGAS_string::makeEmptyString (), GALGAS_bool (true) COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 392)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i12_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_variables COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 391)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i12_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_variables COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 391)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i12_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_variables COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 391)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i12_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_variables COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 391)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i13_ (GALGAS_gtlInstruction & outArgument_instruction, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_display COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 403)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_display COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 403)) ; GALGAS_gtlVarPath var_variable_8639 ; nt_gtl_5F_variable_ (var_variable_8639, inCompiler) ; - outArgument_instruction = GALGAS_gtlDisplayStatementInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 406)), GALGAS_string::makeEmptyString (), var_variable_8639 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 405)) ; + outArgument_instruction = GALGAS_gtlDisplayStatementInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 406)), GALGAS_string::makeEmptyString (), var_variable_8639 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 405)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i13_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_display COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 403)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i13_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_display COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 403)) ; nt_gtl_5F_variable_parse (inCompiler) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i13_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_display COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 403)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i13_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_display COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 403)) ; nt_gtl_5F_variable_indexing (inCompiler) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i14_ (GALGAS_gtlInstruction & outArgument_instruction, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_print COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 416)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_print COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 416)) ; GALGAS_gtlExpression var_expression_8934 ; nt_gtl_5F_expression_ (var_expression_8934, inCompiler) ; - outArgument_instruction = GALGAS_gtlPrintStatementInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 419)), GALGAS_string::makeEmptyString (), GALGAS_bool (true), var_expression_8934 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 418)) ; + outArgument_instruction = GALGAS_gtlPrintStatementInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 419)), GALGAS_string::makeEmptyString (), GALGAS_bool (true), var_expression_8934 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 418)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i14_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_print COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 416)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i14_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_print COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 416)) ; nt_gtl_5F_expression_parse (inCompiler) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i14_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_print COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 416)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i14_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_print COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 416)) ; nt_gtl_5F_expression_indexing (inCompiler) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i15_ (GALGAS_gtlInstruction & outArgument_instruction, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_list COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 430)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_list COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 430)) ; GALGAS_uint var_window_9206 = GALGAS_uint (uint32_t (5U)) ; switch (select_gtl_5F_debugger_5F_parser_10 (inCompiler)) { case 1: { GALGAS_lbigint var_num_9277 = inCompiler->synthetizedAttribute_intValue () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 433)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 433)) ; var_window_9206 = var_num_9277.readProperty_bigint ().getter_uint (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 434)) ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { @@ -6922,16 +7172,16 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_st default: break ; } - outArgument_instruction = GALGAS_gtlListInstruction::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 439)), GALGAS_string::makeEmptyString (), var_window_9206 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 438)) ; + outArgument_instruction = GALGAS_gtlListInstruction::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 439)), GALGAS_string::makeEmptyString (), var_window_9206 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 438)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i15_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_list COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 430)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i15_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_list COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 430)) ; switch (select_gtl_5F_debugger_5F_parser_10 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 433)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 433)) ; } break ; case 2: { } break ; @@ -6943,11 +7193,11 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_st //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i15_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_list COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 430)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i15_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_list COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 430)) ; switch (select_gtl_5F_debugger_5F_parser_10 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 433)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 433)) ; } break ; case 2: { } break ; @@ -6959,29 +7209,29 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_st //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i16_ (GALGAS_gtlInstruction & outArgument_instruction, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - GALGAS_gtlThenElsifStatementList var_thenElsifList_9753 = GALGAS_gtlThenElsifStatementList::class_func_emptyList (SOURCE_FILE ("gtl_debugger_parser.galgas", 451)) ; - GALGAS_gtlInstructionList var_elseList_9802 = GALGAS_gtlInstructionList::class_func_emptyList (SOURCE_FILE ("gtl_debugger_parser.galgas", 452)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_if COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 454)) ; - GALGAS_location var_where_9850 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 454)) ; + GALGAS_gtlThenElsifStatementList var_thenElsifList_9753 = GALGAS_gtlThenElsifStatementList::constructor_emptyList (SOURCE_FILE ("gtl_debugger_parser.galgas", 451)) ; + GALGAS_gtlInstructionList var_elseList_9802 = GALGAS_gtlInstructionList::constructor_emptyList (SOURCE_FILE ("gtl_debugger_parser.galgas", 452)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_if COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 454)) ; + GALGAS_location var_where_9850 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 454)) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { GALGAS_gtlExpression var_condition_9914 ; nt_gtl_5F_expression_ (var_condition_9914, inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_then COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 457)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_then COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 457)) ; GALGAS_gtlInstructionList var_instructionList_9991 ; nt_gtl_5F_step_5F_do_5F_command_5F_list_ (var_instructionList_9991, inCompiler) ; var_thenElsifList_9753.addAssign_operation (var_condition_9914, var_instructionList_9991 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 460)) ; if (select_gtl_5F_debugger_5F_parser_11 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_elsif COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 462)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_elsif COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 462)) ; }else{ repeatFlag_0 = false ; } } switch (select_gtl_5F_debugger_5F_parser_12 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_else COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 466)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_else COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 466)) ; nt_gtl_5F_step_5F_do_5F_command_5F_list_ (var_elseList_9802, inCompiler) ; } break ; case 2: { @@ -6989,29 +7239,29 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_st default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 470)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_if COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 471)) ; - outArgument_instruction = GALGAS_gtlIfStatementInstruction::class_func_new (var_where_9850, function_signature (var_where_9850, inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 474)), var_thenElsifList_9753, var_elseList_9802 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 473)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 470)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_if COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 471)) ; + outArgument_instruction = GALGAS_gtlIfStatementInstruction::constructor_new (var_where_9850, function_signature (var_where_9850, inCompiler COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 474)), var_thenElsifList_9753, var_elseList_9802 COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 473)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i16_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_if COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 454)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i16_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_if COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 454)) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_then COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 457)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_then COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 457)) ; nt_gtl_5F_step_5F_do_5F_command_5F_list_parse (inCompiler) ; if (select_gtl_5F_debugger_5F_parser_11 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_elsif COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 462)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_elsif COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 462)) ; }else{ repeatFlag_0 = false ; } } switch (select_gtl_5F_debugger_5F_parser_12 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_else COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 466)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_else COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 466)) ; nt_gtl_5F_step_5F_do_5F_command_5F_list_parse (inCompiler) ; } break ; case 2: { @@ -7019,29 +7269,29 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_st default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 470)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_if COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 471)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 470)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_if COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 471)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i16_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_if COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 454)) ; +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_i16_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_if COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 454)) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_then COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 457)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_then COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 457)) ; nt_gtl_5F_step_5F_do_5F_command_5F_list_indexing (inCompiler) ; if (select_gtl_5F_debugger_5F_parser_11 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_elsif COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 462)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_elsif COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 462)) ; }else{ repeatFlag_0 = false ; } } switch (select_gtl_5F_debugger_5F_parser_12 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_else COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 466)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_else COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 466)) ; nt_gtl_5F_step_5F_do_5F_command_5F_list_indexing (inCompiler) ; } break ; case 2: { @@ -7049,16 +7299,16 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_st default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 470)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_if COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 471)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 470)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_if COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 471)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_5F_list_i17_ (GALGAS_gtlInstructionList & outArgument_instructionList, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instructionList.drop () ; // Release 'out' argument - outArgument_instructionList = GALGAS_gtlInstructionList::class_func_emptyList (SOURCE_FILE ("gtl_debugger_parser.galgas", 484)) ; + outArgument_instructionList = GALGAS_gtlInstructionList::constructor_emptyList (SOURCE_FILE ("gtl_debugger_parser.galgas", 484)) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { if (select_gtl_5F_debugger_5F_parser_13 (inCompiler) == 2) { @@ -7073,7 +7323,7 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_st //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_5F_list_i17_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_5F_list_i17_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { bool repeatFlag_0 = true ; while (repeatFlag_0) { if (select_gtl_5F_debugger_5F_parser_13 (inCompiler) == 2) { @@ -7087,7 +7337,7 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_st //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_5F_list_i17_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { +void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_step_5F_do_5F_command_5F_list_i17_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { bool repeatFlag_0 = true ; while (repeatFlag_0) { if (select_gtl_5F_debugger_5F_parser_13 (inCompiler) == 2) { @@ -7103,25 +7353,25 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_st //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_expression_i0_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument nt_gtl_5F_relation_5F_term_ (outArgument_expression, inCompiler) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { switch (select_gtl_5F_debugger_5F_expression_5F_parser_0 (inCompiler)) { case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__7C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 39)) ; - GALGAS_location var_opLocation_1114 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 39)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__7C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 39)) ; + GALGAS_location var_opLocation_1114 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 39)) ; GALGAS_gtlExpression var_rightSon_1177 ; nt_gtl_5F_relation_5F_term_ (var_rightSon_1177, inCompiler) ; - outArgument_expression = GALGAS_gtlOrExpression::class_func_new (var_opLocation_1114, outArgument_expression, var_rightSon_1177 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 41)) ; + outArgument_expression = GALGAS_gtlOrExpression::constructor_new (var_opLocation_1114, outArgument_expression, var_rightSon_1177 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 41)) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 43)) ; - GALGAS_location var_opLocation_1294 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 43)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 43)) ; + GALGAS_location var_opLocation_1294 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 43)) ; GALGAS_gtlExpression var_rightSon_1357 ; nt_gtl_5F_relation_5F_term_ (var_rightSon_1357, inCompiler) ; - outArgument_expression = GALGAS_gtlXorExpression::class_func_new (var_opLocation_1294, outArgument_expression, var_rightSon_1357 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 45)) ; + outArgument_expression = GALGAS_gtlXorExpression::constructor_new (var_opLocation_1294, outArgument_expression, var_rightSon_1357 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 45)) ; } break ; default: repeatFlag_0 = false ; @@ -7132,17 +7382,17 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_expression_i0_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_expression_i0_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { nt_gtl_5F_relation_5F_term_parse (inCompiler) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { switch (select_gtl_5F_debugger_5F_expression_5F_parser_0 (inCompiler)) { case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__7C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 39)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__7C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 39)) ; nt_gtl_5F_relation_5F_term_parse (inCompiler) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 43)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 43)) ; nt_gtl_5F_relation_5F_term_parse (inCompiler) ; } break ; default: @@ -7155,17 +7405,17 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_expression_i0_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_expression_i0_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { nt_gtl_5F_relation_5F_term_indexing (inCompiler) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { switch (select_gtl_5F_debugger_5F_expression_5F_parser_0 (inCompiler)) { case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__7C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 39)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__7C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 39)) ; nt_gtl_5F_relation_5F_term_indexing (inCompiler) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 43)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 43)) ; nt_gtl_5F_relation_5F_term_indexing (inCompiler) ; } break ; default: @@ -7178,17 +7428,17 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_relation_5F_term_i1_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument nt_gtl_5F_relation_5F_factor_ (outArgument_expression, inCompiler) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { if (select_gtl_5F_debugger_5F_expression_5F_parser_1 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__26_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 59)) ; - GALGAS_location var_opLocation_1829 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 59)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__26_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 59)) ; + GALGAS_location var_opLocation_1829 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 59)) ; GALGAS_gtlExpression var_rightSon_1894 ; nt_gtl_5F_relation_5F_factor_ (var_rightSon_1894, inCompiler) ; - outArgument_expression = GALGAS_gtlAndExpression::class_func_new (var_opLocation_1829, outArgument_expression, var_rightSon_1894 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 61)) ; + outArgument_expression = GALGAS_gtlAndExpression::constructor_new (var_opLocation_1829, outArgument_expression, var_rightSon_1894 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 61)) ; }else{ repeatFlag_0 = false ; } @@ -7197,12 +7447,12 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_relation_5F_term_i1_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_relation_5F_term_i1_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { nt_gtl_5F_relation_5F_factor_parse (inCompiler) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { if (select_gtl_5F_debugger_5F_expression_5F_parser_1 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__26_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 59)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__26_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 59)) ; nt_gtl_5F_relation_5F_factor_parse (inCompiler) ; }else{ repeatFlag_0 = false ; @@ -7213,12 +7463,12 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_relation_5F_term_i1_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_relation_5F_term_i1_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { nt_gtl_5F_relation_5F_factor_indexing (inCompiler) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { if (select_gtl_5F_debugger_5F_expression_5F_parser_1 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__26_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 59)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__26_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 59)) ; nt_gtl_5F_relation_5F_factor_indexing (inCompiler) ; }else{ repeatFlag_0 = false ; @@ -7229,53 +7479,53 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_relation_5F_factor_i2_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument nt_gtl_5F_simple_5F_expression_ (outArgument_expression, inCompiler) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_2 (inCompiler)) { case 1: { } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3D__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 75)) ; - GALGAS_location var_opLocation_2368 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 75)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3D__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 75)) ; + GALGAS_location var_opLocation_2368 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 75)) ; GALGAS_gtlExpression var_rightSon_2435 ; nt_gtl_5F_simple_5F_expression_ (var_rightSon_2435, inCompiler) ; - outArgument_expression = GALGAS_gtlEqualExpression::class_func_new (var_opLocation_2368, outArgument_expression, var_rightSon_2435 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 77)) ; + outArgument_expression = GALGAS_gtlEqualExpression::constructor_new (var_opLocation_2368, outArgument_expression, var_rightSon_2435 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 77)) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__21__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 81)) ; - GALGAS_location var_opLocation_2563 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 81)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__21__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 81)) ; + GALGAS_location var_opLocation_2563 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 81)) ; GALGAS_gtlExpression var_rightSon_2630 ; nt_gtl_5F_simple_5F_expression_ (var_rightSon_2630, inCompiler) ; - outArgument_expression = GALGAS_gtlNotEqualExpression::class_func_new (var_opLocation_2563, outArgument_expression, var_rightSon_2630 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 83)) ; + outArgument_expression = GALGAS_gtlNotEqualExpression::constructor_new (var_opLocation_2563, outArgument_expression, var_rightSon_2630 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 83)) ; } break ; case 4: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 87)) ; - GALGAS_location var_opLocation_2761 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 87)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 87)) ; + GALGAS_location var_opLocation_2761 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 87)) ; GALGAS_gtlExpression var_rightSon_2828 ; nt_gtl_5F_simple_5F_expression_ (var_rightSon_2828, inCompiler) ; - outArgument_expression = GALGAS_gtlLowerOrEqualExpression::class_func_new (var_opLocation_2761, outArgument_expression, var_rightSon_2828 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 89)) ; + outArgument_expression = GALGAS_gtlLowerOrEqualExpression::constructor_new (var_opLocation_2761, outArgument_expression, var_rightSon_2828 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 89)) ; } break ; case 5: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 93)) ; - GALGAS_location var_opLocation_2963 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 93)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 93)) ; + GALGAS_location var_opLocation_2963 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 93)) ; GALGAS_gtlExpression var_rightSon_3030 ; nt_gtl_5F_simple_5F_expression_ (var_rightSon_3030, inCompiler) ; - outArgument_expression = GALGAS_gtlGreaterOrEqualExpression::class_func_new (var_opLocation_2963, outArgument_expression, var_rightSon_3030 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 95)) ; + outArgument_expression = GALGAS_gtlGreaterOrEqualExpression::constructor_new (var_opLocation_2963, outArgument_expression, var_rightSon_3030 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 95)) ; } break ; case 6: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 99)) ; - GALGAS_location var_opLocation_3166 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 99)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 99)) ; + GALGAS_location var_opLocation_3166 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 99)) ; GALGAS_gtlExpression var_rightSon_3233 ; nt_gtl_5F_simple_5F_expression_ (var_rightSon_3233, inCompiler) ; - outArgument_expression = GALGAS_gtlGreaterThanExpression::class_func_new (var_opLocation_3166, outArgument_expression, var_rightSon_3233 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 101)) ; + outArgument_expression = GALGAS_gtlGreaterThanExpression::constructor_new (var_opLocation_3166, outArgument_expression, var_rightSon_3233 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 101)) ; } break ; case 7: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 105)) ; - GALGAS_location var_opLocation_3366 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 105)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 105)) ; + GALGAS_location var_opLocation_3366 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 105)) ; GALGAS_gtlExpression var_rightSon_3433 ; nt_gtl_5F_simple_5F_expression_ (var_rightSon_3433, inCompiler) ; - outArgument_expression = GALGAS_gtlLowerThanExpression::class_func_new (var_opLocation_3366, outArgument_expression, var_rightSon_3433 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 107)) ; + outArgument_expression = GALGAS_gtlLowerThanExpression::constructor_new (var_opLocation_3366, outArgument_expression, var_rightSon_3433 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 107)) ; } break ; default: break ; @@ -7284,33 +7534,33 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_relation_5F_factor_i2_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_relation_5F_factor_i2_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { nt_gtl_5F_simple_5F_expression_parse (inCompiler) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_2 (inCompiler)) { case 1: { } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3D__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 75)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3D__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 75)) ; nt_gtl_5F_simple_5F_expression_parse (inCompiler) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__21__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 81)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__21__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 81)) ; nt_gtl_5F_simple_5F_expression_parse (inCompiler) ; } break ; case 4: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 87)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 87)) ; nt_gtl_5F_simple_5F_expression_parse (inCompiler) ; } break ; case 5: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 93)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 93)) ; nt_gtl_5F_simple_5F_expression_parse (inCompiler) ; } break ; case 6: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 99)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 99)) ; nt_gtl_5F_simple_5F_expression_parse (inCompiler) ; } break ; case 7: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 105)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 105)) ; nt_gtl_5F_simple_5F_expression_parse (inCompiler) ; } break ; default: @@ -7321,33 +7571,33 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_relation_5F_factor_i2_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_relation_5F_factor_i2_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { nt_gtl_5F_simple_5F_expression_indexing (inCompiler) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_2 (inCompiler)) { case 1: { } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3D__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 75)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3D__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 75)) ; nt_gtl_5F_simple_5F_expression_indexing (inCompiler) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__21__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 81)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__21__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 81)) ; nt_gtl_5F_simple_5F_expression_indexing (inCompiler) ; } break ; case 4: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 87)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 87)) ; nt_gtl_5F_simple_5F_expression_indexing (inCompiler) ; } break ; case 5: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 93)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 93)) ; nt_gtl_5F_simple_5F_expression_indexing (inCompiler) ; } break ; case 6: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 99)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 99)) ; nt_gtl_5F_simple_5F_expression_indexing (inCompiler) ; } break ; case 7: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 105)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 105)) ; nt_gtl_5F_simple_5F_expression_indexing (inCompiler) ; } break ; default: @@ -7358,36 +7608,36 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_simple_5F_expression_i3_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument nt_gtl_5F_term_ (outArgument_expression, inCompiler) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { switch (select_gtl_5F_debugger_5F_expression_5F_parser_3 (inCompiler)) { case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 123)) ; - GALGAS_location var_opLocation_3916 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 123)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 123)) ; + GALGAS_location var_opLocation_3916 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 123)) ; GALGAS_gtlExpression var_rightSon_3970 ; nt_gtl_5F_term_ (var_rightSon_3970, inCompiler) ; - outArgument_expression = GALGAS_gtlShiftLeftExpression::class_func_new (var_opLocation_3916, outArgument_expression, var_rightSon_3970 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 125)) ; + outArgument_expression = GALGAS_gtlShiftLeftExpression::constructor_new (var_opLocation_3916, outArgument_expression, var_rightSon_3970 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 125)) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 129)) ; - GALGAS_location var_opLocation_4106 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 129)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 129)) ; + GALGAS_location var_opLocation_4106 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 129)) ; GALGAS_gtlExpression var_rightSon_4160 ; nt_gtl_5F_term_ (var_rightSon_4160, inCompiler) ; - outArgument_expression = GALGAS_gtlShiftRightExpression::class_func_new (var_opLocation_4106, outArgument_expression, var_rightSon_4160 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 131)) ; + outArgument_expression = GALGAS_gtlShiftRightExpression::constructor_new (var_opLocation_4106, outArgument_expression, var_rightSon_4160 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 131)) ; } break ; case 4: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 135)) ; - GALGAS_location var_opLocation_4296 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 135)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 135)) ; + GALGAS_location var_opLocation_4296 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 135)) ; GALGAS_gtlExpression var_rightSon_4350 ; nt_gtl_5F_term_ (var_rightSon_4350, inCompiler) ; - outArgument_expression = GALGAS_gtlAddExpression::class_func_new (var_opLocation_4296, outArgument_expression, var_rightSon_4350 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 137)) ; + outArgument_expression = GALGAS_gtlAddExpression::constructor_new (var_opLocation_4296, outArgument_expression, var_rightSon_4350 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 137)) ; } break ; case 5: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 141)) ; - GALGAS_location var_opLocation_4479 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 141)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 141)) ; + GALGAS_location var_opLocation_4479 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 141)) ; enumGalgasBool test_1 = kBoolTrue ; if (kBoolTrue == test_1) { test_1 = GALGAS_bool (gOption_gtl_5F_options_warnDeprecated.readProperty_value ()).boolEnum () ; @@ -7399,14 +7649,14 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex } GALGAS_gtlExpression var_rightSon_4673 ; nt_gtl_5F_term_ (var_rightSon_4673, inCompiler) ; - outArgument_expression = GALGAS_gtlAddExpression::class_func_new (var_opLocation_4479, outArgument_expression, var_rightSon_4673 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 146)) ; + outArgument_expression = GALGAS_gtlAddExpression::constructor_new (var_opLocation_4479, outArgument_expression, var_rightSon_4673 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 146)) ; } break ; case 6: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 150)) ; - GALGAS_location var_opLocation_4802 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 150)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 150)) ; + GALGAS_location var_opLocation_4802 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 150)) ; GALGAS_gtlExpression var_rightSon_4856 ; nt_gtl_5F_term_ (var_rightSon_4856, inCompiler) ; - outArgument_expression = GALGAS_gtlSubstractExpression::class_func_new (var_opLocation_4802, outArgument_expression, var_rightSon_4856 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 152)) ; + outArgument_expression = GALGAS_gtlSubstractExpression::constructor_new (var_opLocation_4802, outArgument_expression, var_rightSon_4856 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 152)) ; } break ; default: repeatFlag_0 = false ; @@ -7417,29 +7667,29 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_simple_5F_expression_i3_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_simple_5F_expression_i3_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { nt_gtl_5F_term_parse (inCompiler) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { switch (select_gtl_5F_debugger_5F_expression_5F_parser_3 (inCompiler)) { case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 123)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 123)) ; nt_gtl_5F_term_parse (inCompiler) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 129)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 129)) ; nt_gtl_5F_term_parse (inCompiler) ; } break ; case 4: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 135)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 135)) ; nt_gtl_5F_term_parse (inCompiler) ; } break ; case 5: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 141)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 141)) ; nt_gtl_5F_term_parse (inCompiler) ; } break ; case 6: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 150)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 150)) ; nt_gtl_5F_term_parse (inCompiler) ; } break ; default: @@ -7452,29 +7702,29 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_simple_5F_expression_i3_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_simple_5F_expression_i3_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { nt_gtl_5F_term_indexing (inCompiler) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { switch (select_gtl_5F_debugger_5F_expression_5F_parser_3 (inCompiler)) { case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 123)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 123)) ; nt_gtl_5F_term_indexing (inCompiler) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 129)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 129)) ; nt_gtl_5F_term_indexing (inCompiler) ; } break ; case 4: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 135)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 135)) ; nt_gtl_5F_term_indexing (inCompiler) ; } break ; case 5: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 141)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 141)) ; nt_gtl_5F_term_indexing (inCompiler) ; } break ; case 6: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 150)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 150)) ; nt_gtl_5F_term_indexing (inCompiler) ; } break ; default: @@ -7487,32 +7737,32 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_term_i4_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument nt_gtl_5F_factor_ (outArgument_expression, inCompiler) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { switch (select_gtl_5F_debugger_5F_expression_5F_parser_4 (inCompiler)) { case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 168)) ; - GALGAS_location var_opLocation_5327 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 168)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 168)) ; + GALGAS_location var_opLocation_5327 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 168)) ; GALGAS_gtlExpression var_rightSon_5383 ; nt_gtl_5F_factor_ (var_rightSon_5383, inCompiler) ; - outArgument_expression = GALGAS_gtlMultiplyExpression::class_func_new (var_opLocation_5327, outArgument_expression, var_rightSon_5383 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 170)) ; + outArgument_expression = GALGAS_gtlMultiplyExpression::constructor_new (var_opLocation_5327, outArgument_expression, var_rightSon_5383 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 170)) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2F_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 174)) ; - GALGAS_location var_opLocation_5517 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 174)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2F_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 174)) ; + GALGAS_location var_opLocation_5517 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 174)) ; GALGAS_gtlExpression var_rightSon_5573 ; nt_gtl_5F_factor_ (var_rightSon_5573, inCompiler) ; - outArgument_expression = GALGAS_gtlDivideExpression::class_func_new (var_opLocation_5517, outArgument_expression, var_rightSon_5573 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 176)) ; + outArgument_expression = GALGAS_gtlDivideExpression::constructor_new (var_opLocation_5517, outArgument_expression, var_rightSon_5573 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 176)) ; } break ; case 4: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_mod COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 180)) ; - GALGAS_location var_opLocation_5707 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 180)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_mod COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 180)) ; + GALGAS_location var_opLocation_5707 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 180)) ; GALGAS_gtlExpression var_rightSon_5763 ; nt_gtl_5F_factor_ (var_rightSon_5763, inCompiler) ; - outArgument_expression = GALGAS_gtlModulusExpression::class_func_new (var_opLocation_5707, outArgument_expression, var_rightSon_5763 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 182)) ; + outArgument_expression = GALGAS_gtlModulusExpression::constructor_new (var_opLocation_5707, outArgument_expression, var_rightSon_5763 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 182)) ; } break ; default: repeatFlag_0 = false ; @@ -7523,21 +7773,21 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_term_i4_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_term_i4_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { nt_gtl_5F_factor_parse (inCompiler) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { switch (select_gtl_5F_debugger_5F_expression_5F_parser_4 (inCompiler)) { case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 168)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 168)) ; nt_gtl_5F_factor_parse (inCompiler) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2F_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 174)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2F_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 174)) ; nt_gtl_5F_factor_parse (inCompiler) ; } break ; case 4: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_mod COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 180)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_mod COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 180)) ; nt_gtl_5F_factor_parse (inCompiler) ; } break ; default: @@ -7550,21 +7800,21 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_term_i4_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_term_i4_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { nt_gtl_5F_factor_indexing (inCompiler) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { switch (select_gtl_5F_debugger_5F_expression_5F_parser_4 (inCompiler)) { case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 168)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 168)) ; nt_gtl_5F_factor_indexing (inCompiler) ; } break ; case 3: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2F_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 174)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2F_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 174)) ; nt_gtl_5F_factor_indexing (inCompiler) ; } break ; case 4: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_mod COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 180)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_mod COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 180)) ; nt_gtl_5F_factor_indexing (inCompiler) ; } break ; default: @@ -7577,288 +7827,288 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i5_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 195)) ; - GALGAS_location var_opLocation_6187 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 195)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 195)) ; + GALGAS_location var_opLocation_6187 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 195)) ; GALGAS_gtlExpression var_factorExpression_6245 ; nt_gtl_5F_expression_ (var_factorExpression_6245, inCompiler) ; - outArgument_expression = GALGAS_gtlParenthesizedExpression::class_func_new (var_opLocation_6187, var_factorExpression_6245 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 197)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 201)) ; + outArgument_expression = GALGAS_gtlParenthesizedExpression::constructor_new (var_opLocation_6187, var_factorExpression_6245 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 197)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 201)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i5_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 195)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i5_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 195)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 201)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 201)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i5_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 195)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i5_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 195)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 201)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 201)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i6_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 211)) ; - GALGAS_location var_opLocation_6679 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 211)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 211)) ; + GALGAS_location var_opLocation_6679 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 211)) ; GALGAS_gtlExpression var_notExpression_6733 ; nt_gtl_5F_factor_ (var_notExpression_6733, inCompiler) ; - outArgument_expression = GALGAS_gtlNotExpression::class_func_new (var_opLocation_6679, var_notExpression_6733 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 213)) ; + outArgument_expression = GALGAS_gtlNotExpression::constructor_new (var_opLocation_6679, var_notExpression_6733 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 213)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i6_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 211)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i6_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 211)) ; nt_gtl_5F_factor_parse (inCompiler) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i6_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 211)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i6_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 211)) ; nt_gtl_5F_factor_indexing (inCompiler) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i7_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__7E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 223)) ; - GALGAS_location var_opLocation_7133 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 223)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__7E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 223)) ; + GALGAS_location var_opLocation_7133 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 223)) ; GALGAS_gtlExpression var_notExpression_7187 ; nt_gtl_5F_factor_ (var_notExpression_7187, inCompiler) ; - outArgument_expression = GALGAS_gtlNotExpression::class_func_new (var_opLocation_7133, var_notExpression_7187 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 225)) ; + outArgument_expression = GALGAS_gtlNotExpression::constructor_new (var_opLocation_7133, var_notExpression_7187 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 225)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i7_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__7E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 223)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i7_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__7E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 223)) ; nt_gtl_5F_factor_parse (inCompiler) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i7_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__7E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 223)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i7_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__7E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 223)) ; nt_gtl_5F_factor_indexing (inCompiler) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i8_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 235)) ; - GALGAS_location var_opLocation_7587 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 235)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 235)) ; + GALGAS_location var_opLocation_7587 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 235)) ; GALGAS_gtlExpression var_minusExpression_7641 ; nt_gtl_5F_factor_ (var_minusExpression_7641, inCompiler) ; - outArgument_expression = GALGAS_gtlMinusExpression::class_func_new (var_opLocation_7587, var_minusExpression_7641 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 237)) ; + outArgument_expression = GALGAS_gtlMinusExpression::constructor_new (var_opLocation_7587, var_minusExpression_7641 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 237)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i8_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 235)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i8_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 235)) ; nt_gtl_5F_factor_parse (inCompiler) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i8_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 235)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i8_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 235)) ; nt_gtl_5F_factor_indexing (inCompiler) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i9_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 247)) ; - GALGAS_location var_opLocation_8047 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 247)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 247)) ; + GALGAS_location var_opLocation_8047 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 247)) ; GALGAS_gtlExpression var_plusExpression_8101 ; nt_gtl_5F_factor_ (var_plusExpression_8101, inCompiler) ; - outArgument_expression = GALGAS_gtlPlusExpression::class_func_new (var_opLocation_8047, var_plusExpression_8101 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 249)) ; + outArgument_expression = GALGAS_gtlPlusExpression::constructor_new (var_opLocation_8047, var_plusExpression_8101 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 249)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i9_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 247)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i9_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 247)) ; nt_gtl_5F_factor_parse (inCompiler) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i9_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 247)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i9_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 247)) ; nt_gtl_5F_factor_indexing (inCompiler) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i10_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_yes COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 259)) ; - GALGAS_location var_opLocation_8506 = GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 259)) ; - outArgument_expression = GALGAS_gtlTerminal::class_func_new (var_opLocation_8506, GALGAS_gtlBool::class_func_new (var_opLocation_8506, function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 261)), GALGAS_bool (true) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 261)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 260)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_yes COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 259)) ; + GALGAS_location var_opLocation_8506 = GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 259)) ; + outArgument_expression = GALGAS_gtlTerminal::constructor_new (var_opLocation_8506, GALGAS_gtlBool::constructor_new (var_opLocation_8506, function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 261)), GALGAS_bool (true) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 261)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 260)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i10_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_yes COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 259)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i10_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_yes COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 259)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i10_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_yes COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 259)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i10_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_yes COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 259)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i11_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_no COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 272)) ; - outArgument_expression = GALGAS_gtlTerminal::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 274)), GALGAS_gtlBool::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 274)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 274)), GALGAS_bool (false) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 274)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 273)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_no COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 272)) ; + outArgument_expression = GALGAS_gtlTerminal::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 274)), GALGAS_gtlBool::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 274)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 274)), GALGAS_bool (false) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 274)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 273)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i11_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_no COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 272)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i11_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_no COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 272)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i11_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_no COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 272)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i11_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_no COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 272)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i12_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument GALGAS_lbigint var_literalInteger_9373 = inCompiler->synthetizedAttribute_intValue () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 285)) ; - outArgument_expression = GALGAS_gtlTerminal::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 287)), GALGAS_gtlInt::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 287)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 287)), var_literalInteger_9373.readProperty_bigint () COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 287)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 286)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 285)) ; + outArgument_expression = GALGAS_gtlTerminal::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 287)), GALGAS_gtlInt::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 287)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 287)), var_literalInteger_9373.readProperty_bigint () COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 287)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 286)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i12_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 285)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i12_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 285)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i12_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 285)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i12_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 285)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i13_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument GALGAS_ldouble var_literalFloat_9830 = inCompiler->synthetizedAttribute_floatValue () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_literal_5F_double COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 298)) ; - outArgument_expression = GALGAS_gtlTerminal::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 300)), GALGAS_gtlFloat::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 300)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 300)), var_literalFloat_9830.readProperty_double () COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 300)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 299)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_literal_5F_double COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 298)) ; + outArgument_expression = GALGAS_gtlTerminal::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 300)), GALGAS_gtlFloat::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 300)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 300)), var_literalFloat_9830.readProperty_double () COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 300)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 299)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i13_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_literal_5F_double COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 298)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i13_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_literal_5F_double COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 298)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i13_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_literal_5F_double COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 298)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i13_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_literal_5F_double COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 298)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i14_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument GALGAS_lstring var_literalString_10277 = inCompiler->synthetizedAttribute_a_5F_string () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 311)) ; - outArgument_expression = GALGAS_gtlTerminal::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 313)), GALGAS_gtlString::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 313)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 313)), var_literalString_10277.readProperty_string () COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 313)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 312)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 311)) ; + outArgument_expression = GALGAS_gtlTerminal::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 313)), GALGAS_gtlString::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 313)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 313)), var_literalString_10277.readProperty_string () COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 313)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 312)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i14_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 311)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i14_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 311)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i14_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 311)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i14_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 311)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i15_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument GALGAS_lchar var_literalChar_10729 = inCompiler->synthetizedAttribute_charValue () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_literal_5F_char COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 324)) ; - outArgument_expression = GALGAS_gtlTerminal::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 326)), GALGAS_gtlChar::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 326)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 326)), var_literalChar_10729.readProperty_char () COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 326)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 325)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_literal_5F_char COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 324)) ; + outArgument_expression = GALGAS_gtlTerminal::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 326)), GALGAS_gtlChar::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 326)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 326)), var_literalChar_10729.readProperty_char () COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 326)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 325)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i15_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_literal_5F_char COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 324)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i15_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_literal_5F_char COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 324)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i15_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_literal_5F_char COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 324)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i15_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_literal_5F_char COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 324)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i16_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 338)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 338)) ; GALGAS_gtlExpression var_target_11272 ; nt_gtl_5F_expression_ (var_target_11272, inCompiler) ; GALGAS_lstring var_getterName_11308 = inCompiler->synthetizedAttribute_tokenString () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 340)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 340)) ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { test_0 = GALGAS_bool (gOption_gtl_5F_options_warnDeprecated.readProperty_value ()).boolEnum () ; @@ -7874,19 +8124,19 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex } } } - GALGAS_gtlExpressionList var_argumentList_11587 = GALGAS_gtlExpressionList::class_func_emptyList (SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 347)) ; + GALGAS_gtlExpressionList var_argumentList_11587 = GALGAS_gtlExpressionList::constructor_emptyList (SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 347)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_5 (inCompiler)) { case 1: { } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 350)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 350)) ; bool repeatFlag_3 = true ; while (repeatFlag_3) { GALGAS_gtlExpression var_argument_11689 ; nt_gtl_5F_expression_ (var_argument_11689, inCompiler) ; var_argumentList_11587.addAssign_operation (var_argument_11689 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 353)) ; if (select_gtl_5F_debugger_5F_expression_5F_parser_6 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 355)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 355)) ; }else{ repeatFlag_3 = false ; } @@ -7895,26 +8145,26 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 358)) ; - outArgument_expression = GALGAS_gtlGetterCallExpression::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 360)), var_target_11272, var_getterName_11308, var_argumentList_11587 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 359)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 358)) ; + outArgument_expression = GALGAS_gtlGetterCallExpression::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 360)), var_target_11272, var_getterName_11308, var_argumentList_11587 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 359)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i16_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 338)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i16_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 338)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 340)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 340)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_5 (inCompiler)) { case 1: { } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 350)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 350)) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { nt_gtl_5F_expression_parse (inCompiler) ; if (select_gtl_5F_debugger_5F_expression_5F_parser_6 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 355)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 355)) ; }else{ repeatFlag_0 = false ; } @@ -7923,26 +8173,26 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 358)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 358)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i16_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 338)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i16_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 338)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 340)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 340)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_5 (inCompiler)) { case 1: { } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 350)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 350)) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { nt_gtl_5F_expression_indexing (inCompiler) ; if (select_gtl_5F_debugger_5F_expression_5F_parser_6 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 355)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 355)) ; }else{ repeatFlag_0 = false ; } @@ -7951,19 +8201,19 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 358)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 358)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i17_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument GALGAS_gtlVarPath var_path_12045 ; nt_gtl_5F_variable_ (var_path_12045, inCompiler) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_7 (inCompiler)) { case 1: { - outArgument_expression = GALGAS_gtlVarRef::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 374)), var_path_12045 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 374)) ; + outArgument_expression = GALGAS_gtlVarRef::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 374)), var_path_12045 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 374)) ; } break ; case 2: { enumGalgasBool test_0 = kBoolTrue ; @@ -7971,11 +8221,11 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex test_0 = GALGAS_bool (kIsStrictSup, var_path_12045.getter_count (SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 376)).objectCompare (GALGAS_uint (uint32_t (1U)))).boolEnum () ; if (kBoolTrue == test_0) { TC_Array fixItArray1 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 377)), GALGAS_string ("illegal function name"), fixItArray1 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 377)) ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 377)), GALGAS_string ("illegal function name"), fixItArray1 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 377)) ; } } - GALGAS_gtlExpressionList var_functionArguments_12218 = GALGAS_gtlExpressionList::class_func_emptyList (SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 379)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 380)) ; + GALGAS_gtlExpressionList var_functionArguments_12218 = GALGAS_gtlExpressionList::constructor_emptyList (SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 379)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 380)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_8 (inCompiler)) { case 1: { bool repeatFlag_2 = true ; @@ -7984,7 +8234,7 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex nt_gtl_5F_expression_ (var_expression_12326, inCompiler) ; var_functionArguments_12218.addAssign_operation (var_expression_12326 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 384)) ; if (select_gtl_5F_debugger_5F_expression_5F_parser_9 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 386)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 386)) ; }else{ repeatFlag_2 = false ; } @@ -7995,9 +8245,9 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 389)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 389)) ; GALGAS_lstring var_functionName_12448 = extensionGetter_pathAsFunctionName (var_path_12045, inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 390)) ; - outArgument_expression = GALGAS_gtlFunctionCallExpression::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 392)), var_functionName_12448, var_functionArguments_12218 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 391)) ; + outArgument_expression = GALGAS_gtlFunctionCallExpression::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 392)), var_functionName_12448, var_functionArguments_12218 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 391)) ; } break ; default: break ; @@ -8006,20 +8256,20 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i17_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i17_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { nt_gtl_5F_variable_parse (inCompiler) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_7 (inCompiler)) { case 1: { } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 380)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 380)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_8 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { nt_gtl_5F_expression_parse (inCompiler) ; if (select_gtl_5F_debugger_5F_expression_5F_parser_9 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 386)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 386)) ; }else{ repeatFlag_0 = false ; } @@ -8030,7 +8280,7 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 389)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 389)) ; } break ; default: break ; @@ -8040,20 +8290,20 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i17_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i17_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { nt_gtl_5F_variable_indexing (inCompiler) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_7 (inCompiler)) { case 1: { } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 380)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 380)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_8 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { nt_gtl_5F_expression_indexing (inCompiler) ; if (select_gtl_5F_debugger_5F_expression_5F_parser_9 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 386)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 386)) ; }else{ repeatFlag_0 = false ; } @@ -8064,7 +8314,7 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 389)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 389)) ; } break ; default: break ; @@ -8074,22 +8324,22 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i18_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_exists COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 404)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_exists COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 404)) ; GALGAS_gtlVarPath var_path_12788 ; nt_gtl_5F_variable_ (var_path_12788, inCompiler) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_10 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_default COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 406)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 407)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_default COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 406)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 407)) ; GALGAS_gtlExpression var_defaultExpression_12865 ; nt_gtl_5F_expression_ (var_defaultExpression_12865, inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 409)) ; - outArgument_expression = GALGAS_gtlExistsDefaultExpression::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 411)), var_path_12788, var_defaultExpression_12865 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 410)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 409)) ; + outArgument_expression = GALGAS_gtlExistsDefaultExpression::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 411)), var_path_12788, var_defaultExpression_12865 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 410)) ; } break ; case 2: { - outArgument_expression = GALGAS_gtlExistsExpression::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 414)), var_path_12788 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 414)) ; + outArgument_expression = GALGAS_gtlExistsExpression::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 414)), var_path_12788 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 414)) ; } break ; default: break ; @@ -8098,15 +8348,15 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i18_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_exists COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 404)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i18_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_exists COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 404)) ; nt_gtl_5F_variable_parse (inCompiler) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_10 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_default COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 406)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 407)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_default COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 406)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 407)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 409)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 409)) ; } break ; case 2: { } break ; @@ -8118,15 +8368,15 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i18_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_exists COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 404)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i18_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_exists COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 404)) ; nt_gtl_5F_variable_indexing (inCompiler) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_10 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_default COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 406)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 407)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_default COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 406)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 407)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 409)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 409)) ; } break ; case 2: { } break ; @@ -8138,111 +8388,111 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i19_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_typeof COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 423)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_typeof COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 423)) ; GALGAS_gtlVarPath var_path_13235 ; nt_gtl_5F_variable_ (var_path_13235, inCompiler) ; - outArgument_expression = GALGAS_gtlTypeOfExpression::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 424)), var_path_13235 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 424)) ; + outArgument_expression = GALGAS_gtlTypeOfExpression::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 424)), var_path_13235 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 424)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i19_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_typeof COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 423)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i19_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_typeof COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 423)) ; nt_gtl_5F_variable_parse (inCompiler) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i19_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_typeof COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 423)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i19_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_typeof COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 423)) ; nt_gtl_5F_variable_indexing (inCompiler) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i20_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_true COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 432)) ; - outArgument_expression = GALGAS_gtlTerminal::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 434)), GALGAS_gtlBool::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 436)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 437)), GALGAS_bool (true) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 435)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 433)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_true COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 432)) ; + outArgument_expression = GALGAS_gtlTerminal::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 434)), GALGAS_gtlBool::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 436)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 437)), GALGAS_bool (true) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 435)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 433)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i20_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_true COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 432)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i20_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_true COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 432)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i20_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_true COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 432)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i20_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_true COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 432)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i21_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_false COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 448)) ; - outArgument_expression = GALGAS_gtlTerminal::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 450)), GALGAS_gtlBool::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 452)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 453)), GALGAS_bool (false) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 451)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 449)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_false COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 448)) ; + outArgument_expression = GALGAS_gtlTerminal::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 450)), GALGAS_gtlBool::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 452)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 453)), GALGAS_bool (false) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 451)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 449)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i21_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_false COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 448)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i21_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_false COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 448)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i21_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_false COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 448)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i21_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_false COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 448)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i22_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument GALGAS_lstring var_enumValue_13996 = inCompiler->synthetizedAttribute_tokenString () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_literal_5F_enum COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 464)) ; - outArgument_expression = GALGAS_gtlTerminal::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 466)), GALGAS_gtlEnum::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 468)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 469)), var_enumValue_13996.readProperty_string () COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 467)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 465)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_literal_5F_enum COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 464)) ; + outArgument_expression = GALGAS_gtlTerminal::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 466)), GALGAS_gtlEnum::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 468)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 469)), var_enumValue_13996.readProperty_string () COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 467)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 465)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i22_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_literal_5F_enum COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 464)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i22_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_literal_5F_enum COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 464)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i22_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_literal_5F_enum COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 464)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i22_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_literal_5F_enum COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 464)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i23_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__40_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 480)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__40_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 480)) ; GALGAS_lstring var_typeName_14303 = inCompiler->synthetizedAttribute_tokenString () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 480)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 480)) ; GALGAS_string var_name_14326 = var_typeName_14303.readProperty_string () ; GALGAS_gtlType var_type_14366 ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { test_0 = GALGAS_bool (kIsEqual, var_name_14326.objectCompare (GALGAS_string ("int"))).boolEnum () ; if (kBoolTrue == test_0) { - var_type_14366 = GALGAS_gtlType::class_func_new (var_typeName_14303.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 484)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlInt) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 484)) ; + var_type_14366 = GALGAS_gtlType::constructor_new (var_typeName_14303.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 484)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlInt) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 484)) ; } } if (kBoolFalse == test_0) { @@ -8250,7 +8500,7 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex if (kBoolTrue == test_1) { test_1 = GALGAS_bool (kIsEqual, var_name_14326.objectCompare (GALGAS_string ("float"))).boolEnum () ; if (kBoolTrue == test_1) { - var_type_14366 = GALGAS_gtlType::class_func_new (var_typeName_14303.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 486)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlFloat) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 486)) ; + var_type_14366 = GALGAS_gtlType::constructor_new (var_typeName_14303.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 486)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlFloat) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 486)) ; } } if (kBoolFalse == test_1) { @@ -8258,7 +8508,7 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex if (kBoolTrue == test_2) { test_2 = GALGAS_bool (kIsEqual, var_name_14326.objectCompare (GALGAS_string ("string"))).boolEnum () ; if (kBoolTrue == test_2) { - var_type_14366 = GALGAS_gtlType::class_func_new (var_typeName_14303.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 488)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlString) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 488)) ; + var_type_14366 = GALGAS_gtlType::constructor_new (var_typeName_14303.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 488)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlString) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 488)) ; } } if (kBoolFalse == test_2) { @@ -8266,7 +8516,7 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex if (kBoolTrue == test_3) { test_3 = GALGAS_bool (kIsEqual, var_name_14326.objectCompare (GALGAS_string ("bool"))).boolEnum () ; if (kBoolTrue == test_3) { - var_type_14366 = GALGAS_gtlType::class_func_new (var_typeName_14303.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 490)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlBool) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 490)) ; + var_type_14366 = GALGAS_gtlType::constructor_new (var_typeName_14303.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 490)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlBool) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 490)) ; } } if (kBoolFalse == test_3) { @@ -8274,7 +8524,7 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex if (kBoolTrue == test_4) { test_4 = GALGAS_bool (kIsEqual, var_name_14326.objectCompare (GALGAS_string ("struct"))).boolEnum () ; if (kBoolTrue == test_4) { - var_type_14366 = GALGAS_gtlType::class_func_new (var_typeName_14303.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 492)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlStruct) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 492)) ; + var_type_14366 = GALGAS_gtlType::constructor_new (var_typeName_14303.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 492)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlStruct) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 492)) ; } } if (kBoolFalse == test_4) { @@ -8282,7 +8532,7 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex if (kBoolTrue == test_5) { test_5 = GALGAS_bool (kIsEqual, var_name_14326.objectCompare (GALGAS_string ("list"))).boolEnum () ; if (kBoolTrue == test_5) { - var_type_14366 = GALGAS_gtlType::class_func_new (var_typeName_14303.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 494)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlList) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 494)) ; + var_type_14366 = GALGAS_gtlType::constructor_new (var_typeName_14303.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 494)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlList) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 494)) ; } } if (kBoolFalse == test_5) { @@ -8290,7 +8540,7 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex if (kBoolTrue == test_6) { test_6 = GALGAS_bool (kIsEqual, var_name_14326.objectCompare (GALGAS_string ("map"))).boolEnum () ; if (kBoolTrue == test_6) { - var_type_14366 = GALGAS_gtlType::class_func_new (var_typeName_14303.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 496)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlMap) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 496)) ; + var_type_14366 = GALGAS_gtlType::constructor_new (var_typeName_14303.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 496)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlMap) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 496)) ; } } if (kBoolFalse == test_6) { @@ -8298,7 +8548,7 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex if (kBoolTrue == test_7) { test_7 = GALGAS_bool (kIsEqual, var_name_14326.objectCompare (GALGAS_string ("enum"))).boolEnum () ; if (kBoolTrue == test_7) { - var_type_14366 = GALGAS_gtlType::class_func_new (var_typeName_14303.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 498)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlEnum) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 498)) ; + var_type_14366 = GALGAS_gtlType::constructor_new (var_typeName_14303.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 498)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlEnum) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 498)) ; } } if (kBoolFalse == test_7) { @@ -8306,7 +8556,7 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex if (kBoolTrue == test_8) { test_8 = GALGAS_bool (kIsEqual, var_name_14326.objectCompare (GALGAS_string ("type"))).boolEnum () ; if (kBoolTrue == test_8) { - var_type_14366 = GALGAS_gtlType::class_func_new (var_typeName_14303.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 500)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlType) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 500)) ; + var_type_14366 = GALGAS_gtlType::constructor_new (var_typeName_14303.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 500)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlType) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 500)) ; } } if (kBoolFalse == test_8) { @@ -8314,7 +8564,7 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex if (kBoolTrue == test_9) { test_9 = GALGAS_bool (kIsEqual, var_name_14326.objectCompare (GALGAS_string ("set"))).boolEnum () ; if (kBoolTrue == test_9) { - var_type_14366 = GALGAS_gtlType::class_func_new (var_typeName_14303.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 502)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlSet) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 502)) ; + var_type_14366 = GALGAS_gtlType::constructor_new (var_typeName_14303.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 502)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlSet) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 502)) ; } } if (kBoolFalse == test_9) { @@ -8322,7 +8572,7 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex if (kBoolTrue == test_10) { test_10 = GALGAS_bool (kIsEqual, var_name_14326.objectCompare (GALGAS_string ("char"))).boolEnum () ; if (kBoolTrue == test_10) { - var_type_14366 = GALGAS_gtlType::class_func_new (var_typeName_14303.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 504)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlChar) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 504)) ; + var_type_14366 = GALGAS_gtlType::constructor_new (var_typeName_14303.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 504)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlChar) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 504)) ; } } if (kBoolFalse == test_10) { @@ -8330,12 +8580,12 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex if (kBoolTrue == test_11) { test_11 = GALGAS_bool (kIsEqual, var_name_14326.objectCompare (GALGAS_string ("unconstructed"))).boolEnum () ; if (kBoolTrue == test_11) { - var_type_14366 = GALGAS_gtlType::class_func_new (var_typeName_14303.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 506)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlUnconstructed) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 506)) ; + var_type_14366 = GALGAS_gtlType::constructor_new (var_typeName_14303.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 506)), GALGAS_type (& kTypeDescriptor_GALGAS_gtlUnconstructed) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 506)) ; } } if (kBoolFalse == test_11) { TC_Array fixItArray12 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 507)), var_name_14326.add_operation (GALGAS_string (" does not name a type"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 507)), fixItArray12 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 507)) ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 507)), var_name_14326.add_operation (GALGAS_string (" does not name a type"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 507)), fixItArray12 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 507)) ; var_type_14366.drop () ; // Release error dropped variable } } @@ -8349,104 +8599,104 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex } } } - outArgument_expression = GALGAS_gtlTerminal::class_func_new (var_typeName_14303.readProperty_location (), var_type_14366 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 509)) ; + outArgument_expression = GALGAS_gtlTerminal::constructor_new (var_typeName_14303.readProperty_location (), var_type_14366 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 509)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i23_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__40_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 480)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 480)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i23_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__40_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 480)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 480)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i23_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__40_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 480)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 480)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i23_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__40_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 480)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 480)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i24_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_emptylist COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 517)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_emptylist COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 517)) ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { test_0 = GALGAS_bool (gOption_gtl_5F_options_warnDeprecated.readProperty_value ()).boolEnum () ; if (kBoolTrue == test_0) { TC_Array fixItArray1 ; appendFixItActions (fixItArray1, kFixItReplace, GALGAS_string ("@( )")) ; - inCompiler->emitSemanticWarning (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 519)), GALGAS_string ("emptylist is deprecated"), fixItArray1 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 519)) ; + inCompiler->emitSemanticWarning (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 519)), GALGAS_string ("emptylist is deprecated"), fixItArray1 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 519)) ; } } - outArgument_expression = GALGAS_gtlTerminal::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 522)), GALGAS_gtlList::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 524)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 525)), GALGAS_list::class_func_emptyList (SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 526)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 523)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 521)) ; + outArgument_expression = GALGAS_gtlTerminal::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 522)), GALGAS_gtlList::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 524)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 525)), GALGAS_list::constructor_emptyList (SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 526)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 523)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 521)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i24_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_emptylist COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 517)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i24_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_emptylist COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 517)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i24_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_emptylist COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 517)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i24_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_emptylist COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 517)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i25_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_emptymap COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 536)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_emptymap COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 536)) ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { test_0 = GALGAS_bool (gOption_gtl_5F_options_warnDeprecated.readProperty_value ()).boolEnum () ; if (kBoolTrue == test_0) { TC_Array fixItArray1 ; appendFixItActions (fixItArray1, kFixItReplace, GALGAS_string ("@[ ]")) ; - inCompiler->emitSemanticWarning (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 538)), GALGAS_string ("emptymap is deprecated"), fixItArray1 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 538)) ; + inCompiler->emitSemanticWarning (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 538)), GALGAS_string ("emptymap is deprecated"), fixItArray1 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 538)) ; } } - outArgument_expression = GALGAS_gtlTerminal::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 541)), GALGAS_gtlMap::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 543)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 544)), GALGAS_gtlVarMap::class_func_emptyMap (SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 545)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 542)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 540)) ; + outArgument_expression = GALGAS_gtlTerminal::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 541)), GALGAS_gtlMap::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 543)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 544)), GALGAS_gtlVarMap::constructor_emptyMap (SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 545)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 542)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 540)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i25_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_emptymap COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 536)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i25_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_emptymap COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 536)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i25_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_emptymap COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 536)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i25_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_emptymap COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 536)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i26_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_mapof COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 555)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_mapof COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 555)) ; GALGAS_gtlExpression var_data_16685 ; nt_gtl_5F_expression_ (var_data_16685, inCompiler) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_11 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_by COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 558)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_by COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 558)) ; GALGAS_lstring var_key_16739 = inCompiler->synthetizedAttribute_tokenString () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 559)) ; - outArgument_expression = GALGAS_gtlMapOfListExpression::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 561)), var_data_16685, var_key_16739 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 560)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 559)) ; + outArgument_expression = GALGAS_gtlMapOfListExpression::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 561)), var_data_16685, var_key_16739 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 560)) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 566)) ; - outArgument_expression = GALGAS_gtlMapOfStructExpression::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 568)), var_data_16685 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 567)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 566)) ; + outArgument_expression = GALGAS_gtlMapOfStructExpression::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 568)), var_data_16685 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 567)) ; } break ; default: break ; @@ -8455,16 +8705,16 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i26_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_mapof COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 555)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i26_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_mapof COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 555)) ; nt_gtl_5F_expression_parse (inCompiler) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_11 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_by COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 558)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 559)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_by COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 558)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 559)) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 566)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 566)) ; } break ; default: break ; @@ -8474,16 +8724,16 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i26_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_mapof COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 555)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i26_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_mapof COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 555)) ; nt_gtl_5F_expression_indexing (inCompiler) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_11 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_by COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 558)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 559)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_by COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 558)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 559)) ; } break ; case 2: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 566)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 566)) ; } break ; default: break ; @@ -8493,39 +8743,39 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i27_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_listof COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 579)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_listof COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 579)) ; GALGAS_gtlExpression var_data_17118 ; nt_gtl_5F_expression_ (var_data_17118, inCompiler) ; - outArgument_expression = GALGAS_gtlListOfExpression::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 581)), var_data_17118 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 581)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 582)) ; + outArgument_expression = GALGAS_gtlListOfExpression::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 581)), var_data_17118 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 581)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 582)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i27_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_listof COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 579)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i27_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_listof COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 579)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 582)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 582)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i27_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_listof COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 579)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i27_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_listof COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 579)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 582)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 582)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i28_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__40__28_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 590)) ; - GALGAS_gtlExpressionList var_expressionList_17350 = GALGAS_gtlExpressionList::class_func_emptyList (SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 591)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__40__28_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 590)) ; + GALGAS_gtlExpressionList var_expressionList_17350 = GALGAS_gtlExpressionList::constructor_emptyList (SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 591)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_12 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; @@ -8534,7 +8784,7 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex nt_gtl_5F_expression_ (var_listItem_17441, inCompiler) ; var_expressionList_17350.addAssign_operation (var_listItem_17441 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 595)) ; if (select_gtl_5F_debugger_5F_expression_5F_parser_13 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 596)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 596)) ; }else{ repeatFlag_0 = false ; } @@ -8545,21 +8795,21 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 600)) ; - outArgument_expression = GALGAS_gtlLiteralListExpression::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 601)), var_expressionList_17350 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 601)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 600)) ; + outArgument_expression = GALGAS_gtlLiteralListExpression::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 601)), var_expressionList_17350 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 601)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i28_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__40__28_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 590)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i28_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__40__28_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 590)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_12 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { nt_gtl_5F_expression_parse (inCompiler) ; if (select_gtl_5F_debugger_5F_expression_5F_parser_13 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 596)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 596)) ; }else{ repeatFlag_0 = false ; } @@ -8570,21 +8820,21 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 600)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 600)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i28_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__40__28_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 590)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i28_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__40__28_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 590)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_12 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { nt_gtl_5F_expression_indexing (inCompiler) ; if (select_gtl_5F_debugger_5F_expression_5F_parser_13 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 596)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 596)) ; }else{ repeatFlag_0 = false ; } @@ -8595,30 +8845,30 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 600)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 600)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i29_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__40__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 609)) ; - GALGAS_gtlExpressionMap var_expressionMap_17756 = GALGAS_gtlExpressionMap::class_func_emptyMap (SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 610)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__40__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 609)) ; + GALGAS_gtlExpressionMap var_expressionMap_17756 = GALGAS_gtlExpressionMap::constructor_emptyMap (SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 610)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_14 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { GALGAS_lstring var_key_17832 = inCompiler->synthetizedAttribute_a_5F_string () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 613)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 614)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 613)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 614)) ; GALGAS_gtlExpression var_mapItem_17889 ; nt_gtl_5F_expression_ (var_mapItem_17889, inCompiler) ; { var_expressionMap_17756.setter_put (var_key_17832, var_mapItem_17889, inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 616)) ; } if (select_gtl_5F_debugger_5F_expression_5F_parser_15 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 617)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 617)) ; }else{ repeatFlag_0 = false ; } @@ -8629,23 +8879,23 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 621)) ; - outArgument_expression = GALGAS_gtlLiteralMapExpression::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 622)), var_expressionMap_17756 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 622)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 621)) ; + outArgument_expression = GALGAS_gtlLiteralMapExpression::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 622)), var_expressionMap_17756 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 622)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i29_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__40__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 609)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i29_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__40__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 609)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_14 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 613)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 614)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 613)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 614)) ; nt_gtl_5F_expression_parse (inCompiler) ; if (select_gtl_5F_debugger_5F_expression_5F_parser_15 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 617)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 617)) ; }else{ repeatFlag_0 = false ; } @@ -8656,23 +8906,23 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 621)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 621)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i29_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__40__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 609)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i29_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__40__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 609)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_14 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 613)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 614)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 613)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 614)) ; nt_gtl_5F_expression_indexing (inCompiler) ; if (select_gtl_5F_debugger_5F_expression_5F_parser_15 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 617)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 617)) ; }else{ repeatFlag_0 = false ; } @@ -8683,30 +8933,30 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 621)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 621)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i30_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__40__7B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 630)) ; - GALGAS_gtlExpressionMap var_expressionMap_18209 = GALGAS_gtlExpressionMap::class_func_emptyMap (SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 631)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__40__7B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 630)) ; + GALGAS_gtlExpressionMap var_expressionMap_18209 = GALGAS_gtlExpressionMap::constructor_emptyMap (SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 631)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_16 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { GALGAS_lstring var_fieldName_18288 = inCompiler->synthetizedAttribute_tokenString () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 634)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 635)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 634)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 635)) ; GALGAS_gtlExpression var_structField_18351 ; nt_gtl_5F_expression_ (var_structField_18351, inCompiler) ; { var_expressionMap_18209.setter_put (var_fieldName_18288, var_structField_18351, inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 637)) ; } if (select_gtl_5F_debugger_5F_expression_5F_parser_17 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 638)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 638)) ; }else{ repeatFlag_0 = false ; } @@ -8717,23 +8967,23 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__7D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 642)) ; - outArgument_expression = GALGAS_gtlLiteralStructExpression::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 643)), var_expressionMap_18209 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 643)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__7D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 642)) ; + outArgument_expression = GALGAS_gtlLiteralStructExpression::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 643)), var_expressionMap_18209 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 643)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i30_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__40__7B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 630)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i30_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__40__7B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 630)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_16 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 634)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 635)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 634)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 635)) ; nt_gtl_5F_expression_parse (inCompiler) ; if (select_gtl_5F_debugger_5F_expression_5F_parser_17 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 638)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 638)) ; }else{ repeatFlag_0 = false ; } @@ -8744,23 +8994,23 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__7D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 642)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__7D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 642)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i30_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__40__7B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 630)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i30_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__40__7B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 630)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_16 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 634)) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 635)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 634)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 635)) ; nt_gtl_5F_expression_indexing (inCompiler) ; if (select_gtl_5F_debugger_5F_expression_5F_parser_17 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 638)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 638)) ; }else{ repeatFlag_0 = false ; } @@ -8771,16 +9021,16 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__7D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 642)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__7D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 642)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i31_ (GALGAS_gtlExpression & outArgument_expression, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__40__21_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 651)) ; - GALGAS_gtlExpressionList var_expressionList_18689 = GALGAS_gtlExpressionList::class_func_emptyList (SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 652)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__40__21_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 651)) ; + GALGAS_gtlExpressionList var_expressionList_18689 = GALGAS_gtlExpressionList::constructor_emptyList (SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 652)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_18 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; @@ -8789,7 +9039,7 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex nt_gtl_5F_expression_ (var_setElement_18780, inCompiler) ; var_expressionList_18689.addAssign_operation (var_setElement_18780 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 656)) ; if (select_gtl_5F_debugger_5F_expression_5F_parser_19 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 657)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 657)) ; }else{ repeatFlag_0 = false ; } @@ -8800,21 +9050,21 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__21_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 661)) ; - outArgument_expression = GALGAS_gtlLiteralSetExpression::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 662)), var_expressionList_18689 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 662)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__21_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 661)) ; + outArgument_expression = GALGAS_gtlLiteralSetExpression::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 662)), var_expressionList_18689 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 662)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i31_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__40__21_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 651)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i31_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__40__21_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 651)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_18 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { nt_gtl_5F_expression_parse (inCompiler) ; if (select_gtl_5F_debugger_5F_expression_5F_parser_19 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 657)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 657)) ; }else{ repeatFlag_0 = false ; } @@ -8825,21 +9075,21 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__21_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 661)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__21_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 661)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i31_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__40__21_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 651)) ; +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i31_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__40__21_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 651)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_18 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { nt_gtl_5F_expression_indexing (inCompiler) ; if (select_gtl_5F_debugger_5F_expression_5F_parser_19 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 657)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 657)) ; }else{ repeatFlag_0 = false ; } @@ -8850,41 +9100,41 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__21_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 661)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__21_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 661)) ; } //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_variable_i32_ (GALGAS_gtlVarPath & outArgument_path, - Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_path.drop () ; // Release 'out' argument - outArgument_path = GALGAS_gtlVarPath::class_func_emptyList (SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 670)) ; + outArgument_path = GALGAS_gtlVarPath::constructor_emptyList (SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 670)) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { GALGAS_lstring var_variableName_19124 = inCompiler->synthetizedAttribute_tokenString () ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 672)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 672)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_21 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 674)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 674)) ; GALGAS_gtlExpression var_expression_19201 ; nt_gtl_5F_expression_ (var_expression_19201, inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 676)) ; - outArgument_path.addAssign_operation (GALGAS_gtlVarItemCollection::class_func_new (var_variableName_19124, var_expression_19201 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 677)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 677)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 676)) ; + outArgument_path.addAssign_operation (GALGAS_gtlVarItemCollection::constructor_new (var_variableName_19124, var_expression_19201 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 677)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 677)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_22 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 679)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 679)) ; GALGAS_gtlExpression var_expression_19363 ; nt_gtl_5F_expression_ (var_expression_19363, inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 681)) ; - outArgument_path.addAssign_operation (GALGAS_gtlVarItemSubCollection::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 682)), var_expression_19363 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 682)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 682)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 681)) ; + outArgument_path.addAssign_operation (GALGAS_gtlVarItemSubCollection::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 682)), var_expression_19363 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 682)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 682)) ; bool repeatFlag_1 = true ; while (repeatFlag_1) { if (select_gtl_5F_debugger_5F_expression_5F_parser_23 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 685)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 685)) ; GALGAS_gtlExpression var_expression_19545 ; nt_gtl_5F_expression_ (var_expression_19545, inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 687)) ; - outArgument_path.addAssign_operation (GALGAS_gtlVarItemSubCollection::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 688)), var_expression_19545 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 688)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 688)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 687)) ; + outArgument_path.addAssign_operation (GALGAS_gtlVarItemSubCollection::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 688)), var_expression_19545 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 688)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 688)) ; }else{ repeatFlag_1 = false ; } @@ -8897,13 +9147,13 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex } } break ; case 2: { - outArgument_path.addAssign_operation (GALGAS_gtlVarItemField::class_func_new (var_variableName_19124 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 693)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 693)) ; + outArgument_path.addAssign_operation (GALGAS_gtlVarItemField::constructor_new (var_variableName_19124 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 693)) COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 693)) ; } break ; default: break ; } if (select_gtl_5F_debugger_5F_expression_5F_parser_20 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3A__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 696)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 696)) ; }else{ repeatFlag_0 = false ; } @@ -8912,26 +9162,26 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_variable_i32_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_variable_i32_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { bool repeatFlag_0 = true ; while (repeatFlag_0) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 672)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 672)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_21 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 674)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 674)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 676)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 676)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_22 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 679)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 679)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 681)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 681)) ; bool repeatFlag_1 = true ; while (repeatFlag_1) { if (select_gtl_5F_debugger_5F_expression_5F_parser_23 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 685)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 685)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 687)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 687)) ; }else{ repeatFlag_1 = false ; } @@ -8949,7 +9199,7 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex break ; } if (select_gtl_5F_debugger_5F_expression_5F_parser_20 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3A__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 696)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 696)) ; }else{ repeatFlag_0 = false ; } @@ -8959,26 +9209,26 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex //---------------------------------------------------------------------------------------------------------------------* -void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_variable_i32_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { +void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_variable_i32_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { bool repeatFlag_0 = true ; while (repeatFlag_0) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 672)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 672)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_21 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 674)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 674)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 676)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 676)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_22 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 679)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 679)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 681)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 681)) ; bool repeatFlag_1 = true ; while (repeatFlag_1) { if (select_gtl_5F_debugger_5F_expression_5F_parser_23 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 685)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 685)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 687)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 687)) ; }else{ repeatFlag_1 = false ; } @@ -8996,24 +9246,24 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex break ; } if (select_gtl_5F_debugger_5F_expression_5F_parser_20 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3A__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 696)) ; + inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 696)) ; }else{ repeatFlag_0 = false ; } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // L E X I Q U E // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "unicode_character_cpp.h" -#include "scanner_actions.h" -#include "cLexiqueIntrospection.h" +#include "strings/unicode_character_cpp.h" +#include "galgas2/scanner_actions.h" +#include "galgas2/cLexiqueIntrospection.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cTokenFor_goil_5F_lexique::cTokenFor_goil_5F_lexique (void) : mLexicalAttribute_a_5F_string (), @@ -9023,26 +9273,26 @@ mLexicalAttribute_integerNumber (), mLexicalAttribute_number () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -Lexique_goil_5F_lexique::Lexique_goil_5F_lexique (Compiler * inCallerCompiler, - const String & inSourceFileName - COMMA_LOCATION_ARGS) : -Lexique (inCallerCompiler, inSourceFileName COMMA_THERE) { +C_Lexique_goil_5F_lexique::C_Lexique_goil_5F_lexique (C_Compiler * inCallerCompiler, + const C_String & inSourceFileName + COMMA_LOCATION_ARGS) : +C_Lexique (inCallerCompiler, inSourceFileName COMMA_THERE) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -Lexique_goil_5F_lexique::Lexique_goil_5F_lexique (Compiler * inCallerCompiler, - const String & inSourceString, - const String & inStringForError - COMMA_LOCATION_ARGS) : -Lexique (inCallerCompiler, inSourceString, inStringForError COMMA_THERE) { +C_Lexique_goil_5F_lexique::C_Lexique_goil_5F_lexique (C_Compiler * inCallerCompiler, + const C_String & inSourceString, + const C_String & inStringForError + COMMA_LOCATION_ARGS) : +C_Lexique (inCallerCompiler, inSourceString, inStringForError COMMA_THERE) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Lexical error message list -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static const char * gLexicalMessage_goil_5F_lexique_decimalNumberTooLarge = "decimal number too large" ; @@ -9056,12 +9306,12 @@ static const char * gLexicalMessage_goil_5F_lexique_unterminatedLitteralString = static const char * gLexicalMessage_goil_5F_lexique_unterminated_comment_error = "unterminated comment" ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // getMessageForTerminal -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String Lexique_goil_5F_lexique::getMessageForTerminal (const int32_t inTerminalIndex) const { - String result = "" ; +C_String C_Lexique_goil_5F_lexique::getMessageForTerminal (const int32_t inTerminalIndex) const { + C_String result = "" ; if ((inTerminalIndex >= 0) && (inTerminalIndex < 41)) { static const char * syntaxErrorMessageArray [41] = {kEndOfSourceLexicalErrorMessage, "a comment", @@ -9110,91 +9360,105 @@ String Lexique_goil_5F_lexique::getMessageForTerminal (const int32_t inTerminalI return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // U N I C O D E S T R I N G S -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -//--- Unicode string for '$*/$' -static const std::initializer_list kUnicodeString_goil_5F_lexique__2A__2F_ = { +//--- Unicode string for '$_2A__2F_$' +static const utf32 kUnicodeString_goil_5F_lexique__2A__2F_ [] = { TO_UNICODE ('*'), TO_UNICODE ('/'), + TO_UNICODE (0) } ; -//--- Unicode string for '$+$' -static const std::initializer_list kUnicodeString_goil_5F_lexique__2B_ = { +//--- Unicode string for '$_2B_$' +static const utf32 kUnicodeString_goil_5F_lexique__2B_ [] = { TO_UNICODE ('+'), + TO_UNICODE (0) } ; -//--- Unicode string for '$,$' -static const std::initializer_list kUnicodeString_goil_5F_lexique__2C_ = { +//--- Unicode string for '$_2C_$' +static const utf32 kUnicodeString_goil_5F_lexique__2C_ [] = { TO_UNICODE (','), + TO_UNICODE (0) } ; -//--- Unicode string for '$-$' -static const std::initializer_list kUnicodeString_goil_5F_lexique__2D_ = { +//--- Unicode string for '$_2D_$' +static const utf32 kUnicodeString_goil_5F_lexique__2D_ [] = { TO_UNICODE ('-'), + TO_UNICODE (0) } ; -//--- Unicode string for '$.$' -static const std::initializer_list kUnicodeString_goil_5F_lexique__2E_ = { +//--- Unicode string for '$_2E_$' +static const utf32 kUnicodeString_goil_5F_lexique__2E_ [] = { TO_UNICODE ('.'), + TO_UNICODE (0) } ; -//--- Unicode string for '$..$' -static const std::initializer_list kUnicodeString_goil_5F_lexique__2E__2E_ = { +//--- Unicode string for '$_2E__2E_$' +static const utf32 kUnicodeString_goil_5F_lexique__2E__2E_ [] = { TO_UNICODE ('.'), TO_UNICODE ('.'), + TO_UNICODE (0) } ; -//--- Unicode string for '$/*$' -static const std::initializer_list kUnicodeString_goil_5F_lexique__2F__2A_ = { +//--- Unicode string for '$_2F__2A_$' +static const utf32 kUnicodeString_goil_5F_lexique__2F__2A_ [] = { TO_UNICODE ('/'), TO_UNICODE ('*'), + TO_UNICODE (0) } ; -//--- Unicode string for '$//$' -static const std::initializer_list kUnicodeString_goil_5F_lexique__2F__2F_ = { +//--- Unicode string for '$_2F__2F_$' +static const utf32 kUnicodeString_goil_5F_lexique__2F__2F_ [] = { TO_UNICODE ('/'), TO_UNICODE ('/'), + TO_UNICODE (0) } ; -//--- Unicode string for '$0X$' -static const std::initializer_list kUnicodeString_goil_5F_lexique__30_X = { +//--- Unicode string for '$_30_X$' +static const utf32 kUnicodeString_goil_5F_lexique__30_X [] = { TO_UNICODE ('0'), TO_UNICODE ('X'), + TO_UNICODE (0) } ; -//--- Unicode string for '$0x$' -static const std::initializer_list kUnicodeString_goil_5F_lexique__30_x = { +//--- Unicode string for '$_30_x$' +static const utf32 kUnicodeString_goil_5F_lexique__30_x [] = { TO_UNICODE ('0'), TO_UNICODE ('x'), + TO_UNICODE (0) } ; -//--- Unicode string for '$:$' -static const std::initializer_list kUnicodeString_goil_5F_lexique__3A_ = { +//--- Unicode string for '$_3A_$' +static const utf32 kUnicodeString_goil_5F_lexique__3A_ [] = { TO_UNICODE (':'), + TO_UNICODE (0) } ; -//--- Unicode string for '$;$' -static const std::initializer_list kUnicodeString_goil_5F_lexique__3B_ = { +//--- Unicode string for '$_3B_$' +static const utf32 kUnicodeString_goil_5F_lexique__3B_ [] = { TO_UNICODE (';'), + TO_UNICODE (0) } ; -//--- Unicode string for '$=$' -static const std::initializer_list kUnicodeString_goil_5F_lexique__3D_ = { +//--- Unicode string for '$_3D_$' +static const utf32 kUnicodeString_goil_5F_lexique__3D_ [] = { TO_UNICODE ('='), + TO_UNICODE (0) } ; //--- Unicode string for '$AUTO$' -static const std::initializer_list kUnicodeString_goil_5F_lexique_AUTO = { +static const utf32 kUnicodeString_goil_5F_lexique_AUTO [] = { TO_UNICODE ('A'), TO_UNICODE ('U'), TO_UNICODE ('T'), TO_UNICODE ('O'), + TO_UNICODE (0) } ; //--- Unicode string for '$BOOLEAN$' -static const std::initializer_list kUnicodeString_goil_5F_lexique_BOOLEAN = { +static const utf32 kUnicodeString_goil_5F_lexique_BOOLEAN [] = { TO_UNICODE ('B'), TO_UNICODE ('O'), TO_UNICODE ('O'), @@ -9202,43 +9466,48 @@ static const std::initializer_list kUnicodeString_goil_5F_lexique_BOOLEA TO_UNICODE ('E'), TO_UNICODE ('A'), TO_UNICODE ('N'), + TO_UNICODE (0) } ; //--- Unicode string for '$CPU$' -static const std::initializer_list kUnicodeString_goil_5F_lexique_CPU = { +static const utf32 kUnicodeString_goil_5F_lexique_CPU [] = { TO_UNICODE ('C'), TO_UNICODE ('P'), TO_UNICODE ('U'), + TO_UNICODE (0) } ; //--- Unicode string for '$ENUM$' -static const std::initializer_list kUnicodeString_goil_5F_lexique_ENUM = { +static const utf32 kUnicodeString_goil_5F_lexique_ENUM [] = { TO_UNICODE ('E'), TO_UNICODE ('N'), TO_UNICODE ('U'), TO_UNICODE ('M'), + TO_UNICODE (0) } ; //--- Unicode string for '$FALSE$' -static const std::initializer_list kUnicodeString_goil_5F_lexique_FALSE = { +static const utf32 kUnicodeString_goil_5F_lexique_FALSE [] = { TO_UNICODE ('F'), TO_UNICODE ('A'), TO_UNICODE ('L'), TO_UNICODE ('S'), TO_UNICODE ('E'), + TO_UNICODE (0) } ; //--- Unicode string for '$FLOAT$' -static const std::initializer_list kUnicodeString_goil_5F_lexique_FLOAT = { +static const utf32 kUnicodeString_goil_5F_lexique_FLOAT [] = { TO_UNICODE ('F'), TO_UNICODE ('L'), TO_UNICODE ('O'), TO_UNICODE ('A'), TO_UNICODE ('T'), + TO_UNICODE (0) } ; //--- Unicode string for '$IDENTIFIER$' -static const std::initializer_list kUnicodeString_goil_5F_lexique_IDENTIFIER = { +static const utf32 kUnicodeString_goil_5F_lexique_IDENTIFIER [] = { TO_UNICODE ('I'), TO_UNICODE ('D'), TO_UNICODE ('E'), @@ -9249,10 +9518,11 @@ static const std::initializer_list kUnicodeString_goil_5F_lexique_IDENTI TO_UNICODE ('I'), TO_UNICODE ('E'), TO_UNICODE ('R'), + TO_UNICODE (0) } ; //--- Unicode string for '$IMPLEMENTATION$' -static const std::initializer_list kUnicodeString_goil_5F_lexique_IMPLEMENTATION = { +static const utf32 kUnicodeString_goil_5F_lexique_IMPLEMENTATION [] = { TO_UNICODE ('I'), TO_UNICODE ('M'), TO_UNICODE ('P'), @@ -9267,28 +9537,31 @@ static const std::initializer_list kUnicodeString_goil_5F_lexique_IMPLEM TO_UNICODE ('I'), TO_UNICODE ('O'), TO_UNICODE ('N'), + TO_UNICODE (0) } ; -//--- Unicode string for '$INT32$' -static const std::initializer_list kUnicodeString_goil_5F_lexique_INT_33__32_ = { +//--- Unicode string for '$INT_33__32_$' +static const utf32 kUnicodeString_goil_5F_lexique_INT_33__32_ [] = { TO_UNICODE ('I'), TO_UNICODE ('N'), TO_UNICODE ('T'), TO_UNICODE ('3'), TO_UNICODE ('2'), + TO_UNICODE (0) } ; -//--- Unicode string for '$INT64$' -static const std::initializer_list kUnicodeString_goil_5F_lexique_INT_36__34_ = { +//--- Unicode string for '$INT_36__34_$' +static const utf32 kUnicodeString_goil_5F_lexique_INT_36__34_ [] = { TO_UNICODE ('I'), TO_UNICODE ('N'), TO_UNICODE ('T'), TO_UNICODE ('6'), TO_UNICODE ('4'), + TO_UNICODE (0) } ; -//--- Unicode string for '$NO_DEFAULT$' -static const std::initializer_list kUnicodeString_goil_5F_lexique_NO_5F_DEFAULT = { +//--- Unicode string for '$NO_5F_DEFAULT$' +static const utf32 kUnicodeString_goil_5F_lexique_NO_5F_DEFAULT [] = { TO_UNICODE ('N'), TO_UNICODE ('O'), TO_UNICODE ('_'), @@ -9299,10 +9572,11 @@ static const std::initializer_list kUnicodeString_goil_5F_lexique_NO_5F_ TO_UNICODE ('U'), TO_UNICODE ('L'), TO_UNICODE ('T'), + TO_UNICODE (0) } ; -//--- Unicode string for '$OIL_VERSION$' -static const std::initializer_list kUnicodeString_goil_5F_lexique_OIL_5F_VERSION = { +//--- Unicode string for '$OIL_5F_VERSION$' +static const utf32 kUnicodeString_goil_5F_lexique_OIL_5F_VERSION [] = { TO_UNICODE ('O'), TO_UNICODE ('I'), TO_UNICODE ('L'), @@ -9314,58 +9588,64 @@ static const std::initializer_list kUnicodeString_goil_5F_lexique_OIL_5F TO_UNICODE ('I'), TO_UNICODE ('O'), TO_UNICODE ('N'), + TO_UNICODE (0) } ; //--- Unicode string for '$STRING$' -static const std::initializer_list kUnicodeString_goil_5F_lexique_STRING = { +static const utf32 kUnicodeString_goil_5F_lexique_STRING [] = { TO_UNICODE ('S'), TO_UNICODE ('T'), TO_UNICODE ('R'), TO_UNICODE ('I'), TO_UNICODE ('N'), TO_UNICODE ('G'), + TO_UNICODE (0) } ; //--- Unicode string for '$STRUCT$' -static const std::initializer_list kUnicodeString_goil_5F_lexique_STRUCT = { +static const utf32 kUnicodeString_goil_5F_lexique_STRUCT [] = { TO_UNICODE ('S'), TO_UNICODE ('T'), TO_UNICODE ('R'), TO_UNICODE ('U'), TO_UNICODE ('C'), TO_UNICODE ('T'), + TO_UNICODE (0) } ; //--- Unicode string for '$TRUE$' -static const std::initializer_list kUnicodeString_goil_5F_lexique_TRUE = { +static const utf32 kUnicodeString_goil_5F_lexique_TRUE [] = { TO_UNICODE ('T'), TO_UNICODE ('R'), TO_UNICODE ('U'), TO_UNICODE ('E'), + TO_UNICODE (0) } ; -//--- Unicode string for '$UINT32$' -static const std::initializer_list kUnicodeString_goil_5F_lexique_UINT_33__32_ = { +//--- Unicode string for '$UINT_33__32_$' +static const utf32 kUnicodeString_goil_5F_lexique_UINT_33__32_ [] = { TO_UNICODE ('U'), TO_UNICODE ('I'), TO_UNICODE ('N'), TO_UNICODE ('T'), TO_UNICODE ('3'), TO_UNICODE ('2'), + TO_UNICODE (0) } ; -//--- Unicode string for '$UINT64$' -static const std::initializer_list kUnicodeString_goil_5F_lexique_UINT_36__34_ = { +//--- Unicode string for '$UINT_36__34_$' +static const utf32 kUnicodeString_goil_5F_lexique_UINT_36__34_ [] = { TO_UNICODE ('U'), TO_UNICODE ('I'), TO_UNICODE ('N'), TO_UNICODE ('T'), TO_UNICODE ('6'), TO_UNICODE ('4'), + TO_UNICODE (0) } ; -//--- Unicode string for '$WITH_AUTO$' -static const std::initializer_list kUnicodeString_goil_5F_lexique_WITH_5F_AUTO = { +//--- Unicode string for '$WITH_5F_AUTO$' +static const utf32 kUnicodeString_goil_5F_lexique_WITH_5F_AUTO [] = { TO_UNICODE ('W'), TO_UNICODE ('I'), TO_UNICODE ('T'), @@ -9375,20 +9655,23 @@ static const std::initializer_list kUnicodeString_goil_5F_lexique_WITH_5 TO_UNICODE ('U'), TO_UNICODE ('T'), TO_UNICODE ('O'), + TO_UNICODE (0) } ; -//--- Unicode string for '$[$' -static const std::initializer_list kUnicodeString_goil_5F_lexique__5B_ = { +//--- Unicode string for '$_5B_$' +static const utf32 kUnicodeString_goil_5F_lexique__5B_ [] = { TO_UNICODE ('['), + TO_UNICODE (0) } ; -//--- Unicode string for '$]$' -static const std::initializer_list kUnicodeString_goil_5F_lexique__5D_ = { +//--- Unicode string for '$_5D_$' +static const utf32 kUnicodeString_goil_5F_lexique__5D_ [] = { TO_UNICODE (']'), + TO_UNICODE (0) } ; //--- Unicode string for '$include$' -static const std::initializer_list kUnicodeString_goil_5F_lexique_include = { +static const utf32 kUnicodeString_goil_5F_lexique_include [] = { TO_UNICODE ('i'), TO_UNICODE ('n'), TO_UNICODE ('c'), @@ -9396,10 +9679,11 @@ static const std::initializer_list kUnicodeString_goil_5F_lexique_includ TO_UNICODE ('u'), TO_UNICODE ('d'), TO_UNICODE ('e'), + TO_UNICODE (0) } ; //--- Unicode string for '$includeifexists$' -static const std::initializer_list kUnicodeString_goil_5F_lexique_includeifexists = { +static const utf32 kUnicodeString_goil_5F_lexique_includeifexists [] = { TO_UNICODE ('i'), TO_UNICODE ('n'), TO_UNICODE ('c'), @@ -9415,369 +9699,372 @@ static const std::initializer_list kUnicodeString_goil_5F_lexique_includ TO_UNICODE ('s'), TO_UNICODE ('t'), TO_UNICODE ('s'), + TO_UNICODE (0) } ; -//--- Unicode string for '${$' -static const std::initializer_list kUnicodeString_goil_5F_lexique__7B_ = { +//--- Unicode string for '$_7B_$' +static const utf32 kUnicodeString_goil_5F_lexique__7B_ [] = { TO_UNICODE ('{'), + TO_UNICODE (0) } ; -//--- Unicode string for '$}$' -static const std::initializer_list kUnicodeString_goil_5F_lexique__7D_ = { +//--- Unicode string for '$_7D_$' +static const utf32 kUnicodeString_goil_5F_lexique__7D_ [] = { TO_UNICODE ('}'), + TO_UNICODE (0) } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Key words table 'OILDelimiters' -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static const int32_t ktable_size_goil_5F_lexique_OILDelimiters = 12 ; static const C_unicode_lexique_table_entry ktable_for_goil_5F_lexique_OILDelimiters [ktable_size_goil_5F_lexique_OILDelimiters] = { - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique__2B_, Lexique_goil_5F_lexique::kToken__2B_), - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique__2C_, Lexique_goil_5F_lexique::kToken__2C_), - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique__2D_, Lexique_goil_5F_lexique::kToken__2D_), - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique__2E_, Lexique_goil_5F_lexique::kToken__2E_), - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique__3A_, Lexique_goil_5F_lexique::kToken__3A_), - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique__3B_, Lexique_goil_5F_lexique::kToken__3B_), - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique__3D_, Lexique_goil_5F_lexique::kToken__3D_), - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique__5B_, Lexique_goil_5F_lexique::kToken__5B_), - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique__5D_, Lexique_goil_5F_lexique::kToken__5D_), - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique__7B_, Lexique_goil_5F_lexique::kToken__7B_), - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique__7D_, Lexique_goil_5F_lexique::kToken__7D_), - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique__2E__2E_, Lexique_goil_5F_lexique::kToken__2E__2E_) -} ; - -int32_t Lexique_goil_5F_lexique::search_into_OILDelimiters (const String & inSearchedString) { + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique__2B_, 1, C_Lexique_goil_5F_lexique::kToken__2B_), + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique__2C_, 1, C_Lexique_goil_5F_lexique::kToken__2C_), + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique__2D_, 1, C_Lexique_goil_5F_lexique::kToken__2D_), + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique__2E_, 1, C_Lexique_goil_5F_lexique::kToken__2E_), + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique__3A_, 1, C_Lexique_goil_5F_lexique::kToken__3A_), + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique__3B_, 1, C_Lexique_goil_5F_lexique::kToken__3B_), + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique__3D_, 1, C_Lexique_goil_5F_lexique::kToken__3D_), + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique__5B_, 1, C_Lexique_goil_5F_lexique::kToken__5B_), + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique__5D_, 1, C_Lexique_goil_5F_lexique::kToken__5D_), + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique__7B_, 1, C_Lexique_goil_5F_lexique::kToken__7B_), + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique__7D_, 1, C_Lexique_goil_5F_lexique::kToken__7D_), + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique__2E__2E_, 2, C_Lexique_goil_5F_lexique::kToken__2E__2E_) +} ; + +int32_t C_Lexique_goil_5F_lexique::search_into_OILDelimiters (const C_String & inSearchedString) { return searchInList (inSearchedString, ktable_for_goil_5F_lexique_OILDelimiters, ktable_size_goil_5F_lexique_OILDelimiters) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Key words table 'boolean' -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static const int32_t ktable_size_goil_5F_lexique_boolean = 2 ; static const C_unicode_lexique_table_entry ktable_for_goil_5F_lexique_boolean [ktable_size_goil_5F_lexique_boolean] = { - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_TRUE, Lexique_goil_5F_lexique::kToken_TRUE), - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_FALSE, Lexique_goil_5F_lexique::kToken_FALSE) + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_TRUE, 4, C_Lexique_goil_5F_lexique::kToken_TRUE), + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_FALSE, 5, C_Lexique_goil_5F_lexique::kToken_FALSE) } ; -int32_t Lexique_goil_5F_lexique::search_into_boolean (const String & inSearchedString) { +int32_t C_Lexique_goil_5F_lexique::search_into_boolean (const C_String & inSearchedString) { return searchInList (inSearchedString, ktable_for_goil_5F_lexique_boolean, ktable_size_goil_5F_lexique_boolean) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Key words table 'commands' -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static const int32_t ktable_size_goil_5F_lexique_commands = 2 ; static const C_unicode_lexique_table_entry ktable_for_goil_5F_lexique_commands [ktable_size_goil_5F_lexique_commands] = { - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_include, Lexique_goil_5F_lexique::kToken_include), - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_includeifexists, Lexique_goil_5F_lexique::kToken_includeifexists) + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_include, 7, C_Lexique_goil_5F_lexique::kToken_include), + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_includeifexists, 15, C_Lexique_goil_5F_lexique::kToken_includeifexists) } ; -int32_t Lexique_goil_5F_lexique::search_into_commands (const String & inSearchedString) { +int32_t C_Lexique_goil_5F_lexique::search_into_commands (const C_String & inSearchedString) { return searchInList (inSearchedString, ktable_for_goil_5F_lexique_commands, ktable_size_goil_5F_lexique_commands) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Key words table 'dataTypes' -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static const int32_t ktable_size_goil_5F_lexique_dataTypes = 10 ; static const C_unicode_lexique_table_entry ktable_for_goil_5F_lexique_dataTypes [ktable_size_goil_5F_lexique_dataTypes] = { - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_ENUM, Lexique_goil_5F_lexique::kToken_ENUM), - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_FLOAT, Lexique_goil_5F_lexique::kToken_FLOAT), - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_INT_33__32_, Lexique_goil_5F_lexique::kToken_INT_33__32_), - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_INT_36__34_, Lexique_goil_5F_lexique::kToken_INT_36__34_), - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_STRING, Lexique_goil_5F_lexique::kToken_STRING), - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_STRUCT, Lexique_goil_5F_lexique::kToken_STRUCT), - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_UINT_33__32_, Lexique_goil_5F_lexique::kToken_UINT_33__32_), - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_UINT_36__34_, Lexique_goil_5F_lexique::kToken_UINT_36__34_), - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_BOOLEAN, Lexique_goil_5F_lexique::kToken_BOOLEAN), - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_IDENTIFIER, Lexique_goil_5F_lexique::kToken_IDENTIFIER) -} ; - -int32_t Lexique_goil_5F_lexique::search_into_dataTypes (const String & inSearchedString) { + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_ENUM, 4, C_Lexique_goil_5F_lexique::kToken_ENUM), + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_FLOAT, 5, C_Lexique_goil_5F_lexique::kToken_FLOAT), + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_INT_33__32_, 5, C_Lexique_goil_5F_lexique::kToken_INT_33__32_), + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_INT_36__34_, 5, C_Lexique_goil_5F_lexique::kToken_INT_36__34_), + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_STRING, 6, C_Lexique_goil_5F_lexique::kToken_STRING), + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_STRUCT, 6, C_Lexique_goil_5F_lexique::kToken_STRUCT), + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_UINT_33__32_, 6, C_Lexique_goil_5F_lexique::kToken_UINT_33__32_), + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_UINT_36__34_, 6, C_Lexique_goil_5F_lexique::kToken_UINT_36__34_), + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_BOOLEAN, 7, C_Lexique_goil_5F_lexique::kToken_BOOLEAN), + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_IDENTIFIER, 10, C_Lexique_goil_5F_lexique::kToken_IDENTIFIER) +} ; + +int32_t C_Lexique_goil_5F_lexique::search_into_dataTypes (const C_String & inSearchedString) { return searchInList (inSearchedString, ktable_for_goil_5F_lexique_dataTypes, ktable_size_goil_5F_lexique_dataTypes) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Key words table 'miscSpecifiers' -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static const int32_t ktable_size_goil_5F_lexique_miscSpecifiers = 3 ; static const C_unicode_lexique_table_entry ktable_for_goil_5F_lexique_miscSpecifiers [ktable_size_goil_5F_lexique_miscSpecifiers] = { - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_AUTO, Lexique_goil_5F_lexique::kToken_AUTO), - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_WITH_5F_AUTO, Lexique_goil_5F_lexique::kToken_WITH_5F_AUTO), - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_NO_5F_DEFAULT, Lexique_goil_5F_lexique::kToken_NO_5F_DEFAULT) + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_AUTO, 4, C_Lexique_goil_5F_lexique::kToken_AUTO), + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_WITH_5F_AUTO, 9, C_Lexique_goil_5F_lexique::kToken_WITH_5F_AUTO), + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_NO_5F_DEFAULT, 10, C_Lexique_goil_5F_lexique::kToken_NO_5F_DEFAULT) } ; -int32_t Lexique_goil_5F_lexique::search_into_miscSpecifiers (const String & inSearchedString) { +int32_t C_Lexique_goil_5F_lexique::search_into_miscSpecifiers (const C_String & inSearchedString) { return searchInList (inSearchedString, ktable_for_goil_5F_lexique_miscSpecifiers, ktable_size_goil_5F_lexique_miscSpecifiers) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Key words table 'oilDefinitions' -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static const int32_t ktable_size_goil_5F_lexique_oilDefinitions = 2 ; static const C_unicode_lexique_table_entry ktable_for_goil_5F_lexique_oilDefinitions [ktable_size_goil_5F_lexique_oilDefinitions] = { - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_CPU, Lexique_goil_5F_lexique::kToken_CPU), - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_IMPLEMENTATION, Lexique_goil_5F_lexique::kToken_IMPLEMENTATION) + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_CPU, 3, C_Lexique_goil_5F_lexique::kToken_CPU), + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_IMPLEMENTATION, 14, C_Lexique_goil_5F_lexique::kToken_IMPLEMENTATION) } ; -int32_t Lexique_goil_5F_lexique::search_into_oilDefinitions (const String & inSearchedString) { +int32_t C_Lexique_goil_5F_lexique::search_into_oilDefinitions (const C_String & inSearchedString) { return searchInList (inSearchedString, ktable_for_goil_5F_lexique_oilDefinitions, ktable_size_goil_5F_lexique_oilDefinitions) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Key words table 'oilVersion' -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static const int32_t ktable_size_goil_5F_lexique_oilVersion = 1 ; static const C_unicode_lexique_table_entry ktable_for_goil_5F_lexique_oilVersion [ktable_size_goil_5F_lexique_oilVersion] = { - C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_OIL_5F_VERSION, Lexique_goil_5F_lexique::kToken_OIL_5F_VERSION) + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_OIL_5F_VERSION, 11, C_Lexique_goil_5F_lexique::kToken_OIL_5F_VERSION) } ; -int32_t Lexique_goil_5F_lexique::search_into_oilVersion (const String & inSearchedString) { +int32_t C_Lexique_goil_5F_lexique::search_into_oilVersion (const C_String & inSearchedString) { return searchInList (inSearchedString, ktable_for_goil_5F_lexique_oilVersion, ktable_size_goil_5F_lexique_oilVersion) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // getCurrentTokenString -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String Lexique_goil_5F_lexique::getCurrentTokenString (const cToken * inTokenPtr) const { +C_String C_Lexique_goil_5F_lexique::getCurrentTokenString (const cToken * inTokenPtr) const { const cTokenFor_goil_5F_lexique * ptr = (const cTokenFor_goil_5F_lexique *) inTokenPtr ; - String s ; + C_String s ; if (ptr == nullptr) { - s.appendCString ("$$") ; + s.appendCString("$$") ; }else{ switch (ptr->mTokenCode) { case kToken_: - s.appendCString ("$$") ; + s.appendCString("$$") ; break ; case kToken_comment: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("comment") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_idf: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("idf") ; - s.appendChar (TO_UNICODE ('$')) ; - s.appendChar (TO_UNICODE (' ')) ; - s.appendStringAsCLiteralStringConstant (ptr->mLexicalAttribute_att_5F_token) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; + s.appendCLiteralStringConstant (ptr->mLexicalAttribute_att_5F_token) ; break ; case kToken_string: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("string") ; - s.appendChar (TO_UNICODE ('$')) ; - s.appendChar (TO_UNICODE (' ')) ; - s.appendStringAsCLiteralStringConstant (ptr->mLexicalAttribute_a_5F_string) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; + s.appendCLiteralStringConstant (ptr->mLexicalAttribute_a_5F_string) ; break ; case kToken_g_5F_string: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("g_string") ; - s.appendChar (TO_UNICODE ('$')) ; - s.appendChar (TO_UNICODE (' ')) ; - s.appendStringAsCLiteralStringConstant (ptr->mLexicalAttribute_a_5F_string) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; + s.appendCLiteralStringConstant (ptr->mLexicalAttribute_a_5F_string) ; break ; case kToken_uint_5F_number: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("uint_number") ; - s.appendChar (TO_UNICODE ('$')) ; - s.appendChar (TO_UNICODE (' ')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; s.appendUnsigned (ptr->mLexicalAttribute_integerNumber) ; break ; case kToken_float_5F_number: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("float_number") ; - s.appendChar (TO_UNICODE ('$')) ; - s.appendChar (TO_UNICODE (' ')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; s.appendDouble (ptr->mLexicalAttribute_floatNumber) ; break ; case kToken_set_5F_start_5F_uint_5F_number: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("set_start_uint_number") ; - s.appendChar (TO_UNICODE ('$')) ; - s.appendChar (TO_UNICODE (' ')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; s.appendUnsigned (ptr->mLexicalAttribute_integerNumber) ; break ; case kToken_command: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("command") ; - s.appendChar (TO_UNICODE ('$')) ; - s.appendChar (TO_UNICODE (' ')) ; - s.appendStringAsCLiteralStringConstant (ptr->mLexicalAttribute_att_5F_token) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; + s.appendCLiteralStringConstant (ptr->mLexicalAttribute_att_5F_token) ; break ; case kToken_OIL_5F_VERSION: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("OIL_VERSION") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_IMPLEMENTATION: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("IMPLEMENTATION") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_CPU: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("CPU") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_UINT_33__32_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("UINT32") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_INT_33__32_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("INT32") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_UINT_36__34_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("UINT64") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_INT_36__34_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("INT64") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_FLOAT: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("FLOAT") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_ENUM: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("ENUM") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_STRING: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("STRING") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_BOOLEAN: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("BOOLEAN") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_IDENTIFIER: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("IDENTIFIER") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_STRUCT: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("STRUCT") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_WITH_5F_AUTO: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("WITH_AUTO") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_NO_5F_DEFAULT: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("NO_DEFAULT") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_AUTO: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("AUTO") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_FALSE: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("FALSE") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_TRUE: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("TRUE") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3B_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString (";") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3A_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString (":") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__3D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("=") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__7B_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("{") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__7D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("}") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2E__2E_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("..") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__5B_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("[") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__5D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("]") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2C_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString (",") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2E_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString (".") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2B_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("+") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken__2D_: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("-") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_include: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("include") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; case kToken_includeifexists: - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; s.appendCString ("includeifexists") ; - s.appendChar (TO_UNICODE ('$')) ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; break ; default: break ; @@ -9786,35 +10073,35 @@ String Lexique_goil_5F_lexique::getCurrentTokenString (const cToken * inTokenPtr return s ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Template Delimiters -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Template Replacements -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Terminal Symbols as end of script in template mark -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // INTERNAL PARSE LEXICAL TOKEN -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void Lexique_goil_5F_lexique::internalParseLexicalToken (cTokenFor_goil_5F_lexique & token) { +void C_Lexique_goil_5F_lexique::internalParseLexicalToken (cTokenFor_goil_5F_lexique & token) { bool loop = true ; - token.mLexicalAttribute_a_5F_string.removeAllKeepingCapacity () ; - token.mLexicalAttribute_att_5F_token.removeAllKeepingCapacity () ; + token.mLexicalAttribute_a_5F_string.setLengthToZero () ; + token.mLexicalAttribute_att_5F_token.setLengthToZero () ; token.mLexicalAttribute_floatNumber = 0.0 ; token.mLexicalAttribute_integerNumber = 0 ; - token.mLexicalAttribute_number.removeAllKeepingCapacity () ; + token.mLexicalAttribute_number.setLengthToZero () ; mTokenStartLocation = mCurrentLocation ; try{ - if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2F__2F_, true)) { + if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2F__2F_, 2, true)) { do { if (testForInputUTF32CharRange (TO_UNICODE (1), TO_UNICODE ('\t')) || testForInputUTF32Char (TO_UNICODE ('\v')) || testForInputUTF32Char (TO_UNICODE ('\f')) || testForInputUTF32CharRange (TO_UNICODE (14), TO_UNICODE (65533))) { }else{ @@ -9823,9 +10110,9 @@ void Lexique_goil_5F_lexique::internalParseLexicalToken (cTokenFor_goil_5F_lexiq }while (loop) ; loop = true ; enterDroppedTerminal (kToken_comment) ; - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2F__2A_, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2F__2A_, 2, true)) { do { - if (notTestForInputUTF32String (kUnicodeString_goil_5F_lexique__2A__2F_, gLexicalMessage_goil_5F_lexique_unterminated_comment_error COMMA_LINE_AND_SOURCE_FILE)) { + if (notTestForInputUTF32String (kUnicodeString_goil_5F_lexique__2A__2F_, 2, gLexicalMessage_goil_5F_lexique_unterminated_comment_error COMMA_LINE_AND_SOURCE_FILE)) { }else{ loop = false ; } @@ -9860,40 +10147,40 @@ void Lexique_goil_5F_lexique::internalParseLexicalToken (cTokenFor_goil_5F_lexiq token.mTokenCode = kToken_idf ; } enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2E__2E_, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2E__2E_, 2, true)) { token.mTokenCode = kToken__2E__2E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__7D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__7D_, 1, true)) { token.mTokenCode = kToken__7D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__7B_, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__7B_, 1, true)) { token.mTokenCode = kToken__7B_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__5D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__5D_, 1, true)) { token.mTokenCode = kToken__5D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__5B_, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__5B_, 1, true)) { token.mTokenCode = kToken__5B_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__3D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__3D_, 1, true)) { token.mTokenCode = kToken__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__3B_, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__3B_, 1, true)) { token.mTokenCode = kToken__3B_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__3A_, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__3A_, 1, true)) { token.mTokenCode = kToken__3A_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2E_, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2E_, 1, true)) { token.mTokenCode = kToken__2E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2D_, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2D_, 1, true)) { token.mTokenCode = kToken__2D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2C_, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2C_, 1, true)) { token.mTokenCode = kToken__2C_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2B_, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2B_, 1, true)) { token.mTokenCode = kToken__2B_ ; enterToken (token) ; }else if (testForInputUTF32CharRange (TO_UNICODE (1), TO_UNICODE (' '))) { @@ -9954,7 +10241,7 @@ void Lexique_goil_5F_lexique::internalParseLexicalToken (cTokenFor_goil_5F_lexiq }else{ lexicalError (gLexicalMessage_goil_5F_lexique_unterminatedLitteralString COMMA_LINE_AND_SOURCE_FILE) ; } - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__30_x, true) || testForInputUTF32String (kUnicodeString_goil_5F_lexique__30_X, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__30_x, 2, true) || testForInputUTF32String (kUnicodeString_goil_5F_lexique__30_X, 2, true)) { do { if (testForInputUTF32CharRange (TO_UNICODE ('0'), TO_UNICODE ('9')) || testForInputUTF32CharRange (TO_UNICODE ('a'), TO_UNICODE ('f')) || testForInputUTF32CharRange (TO_UNICODE ('A'), TO_UNICODE ('F'))) { ::scanner_routine_enterHexDigitIntoUInt64 (*this, previousChar (), token.mLexicalAttribute_integerNumber, gLexicalMessage_goil_5F_lexique_decimalNumberTooLarge, gLexicalMessage_goil_5F_lexique_internalError) ; @@ -10025,11 +10312,11 @@ void Lexique_goil_5F_lexique::internalParseLexicalToken (cTokenFor_goil_5F_lexiq } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // P A R S E L E X I C A L T O K E N -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool Lexique_goil_5F_lexique::parseLexicalToken (void) { +bool C_Lexique_goil_5F_lexique::parseLexicalToken (void) { cTokenFor_goil_5F_lexique token ; token.mTokenCode = -1 ; while ((token.mTokenCode < 0) && (UNICODE_VALUE (mCurrentChar) != '\0')) { @@ -10042,14 +10329,15 @@ bool Lexique_goil_5F_lexique::parseLexicalToken (void) { return token.mTokenCode > 0 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // E N T E R T O K E N -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void Lexique_goil_5F_lexique::enterToken (cTokenFor_goil_5F_lexique & ioToken) { +void C_Lexique_goil_5F_lexique::enterToken (cTokenFor_goil_5F_lexique & ioToken) { cTokenFor_goil_5F_lexique * ptr = nullptr ; macroMyNew (ptr, cTokenFor_goil_5F_lexique ()) ; ptr->mTokenCode = ioToken.mTokenCode ; + // ptr->mIsOptional = ioToken.mIsOptional ; ptr->mStartLocation = mTokenStartLocation ; ptr->mEndLocation = mTokenEndLocation ; ptr->mTemplateStringBeforeToken = ioToken.mTemplateStringBeforeToken ; @@ -10062,48 +10350,48 @@ void Lexique_goil_5F_lexique::enterToken (cTokenFor_goil_5F_lexique & ioToken) { enterTokenFromPointer (ptr) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // A T T R I B U T E A C C E S S -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String Lexique_goil_5F_lexique::attributeValue_a_5F_string (void) const { +C_String C_Lexique_goil_5F_lexique::attributeValue_a_5F_string (void) const { cTokenFor_goil_5F_lexique * ptr = (cTokenFor_goil_5F_lexique *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_a_5F_string ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String Lexique_goil_5F_lexique::attributeValue_att_5F_token (void) const { +C_String C_Lexique_goil_5F_lexique::attributeValue_att_5F_token (void) const { cTokenFor_goil_5F_lexique * ptr = (cTokenFor_goil_5F_lexique *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_att_5F_token ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -double Lexique_goil_5F_lexique::attributeValue_floatNumber (void) const { +double C_Lexique_goil_5F_lexique::attributeValue_floatNumber (void) const { cTokenFor_goil_5F_lexique * ptr = (cTokenFor_goil_5F_lexique *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_floatNumber ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -uint64_t Lexique_goil_5F_lexique::attributeValue_integerNumber (void) const { +uint64_t C_Lexique_goil_5F_lexique::attributeValue_integerNumber (void) const { cTokenFor_goil_5F_lexique * ptr = (cTokenFor_goil_5F_lexique *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_integerNumber ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String Lexique_goil_5F_lexique::attributeValue_number (void) const { +C_String C_Lexique_goil_5F_lexique::attributeValue_number (void) const { cTokenFor_goil_5F_lexique * ptr = (cTokenFor_goil_5F_lexique *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_number ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // A S S I G N F R O M A T T R I B U T E -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring Lexique_goil_5F_lexique::synthetizedAttribute_a_5F_string (void) const { +GALGAS_lstring C_Lexique_goil_5F_lexique::synthetizedAttribute_a_5F_string (void) const { cTokenFor_goil_5F_lexique * ptr = (cTokenFor_goil_5F_lexique *) currentTokenPtr (HERE) ; macroValidSharedObject (ptr, cTokenFor_goil_5F_lexique) ; GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; @@ -10112,9 +10400,9 @@ GALGAS_lstring Lexique_goil_5F_lexique::synthetizedAttribute_a_5F_string (void) return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring Lexique_goil_5F_lexique::synthetizedAttribute_att_5F_token (void) const { +GALGAS_lstring C_Lexique_goil_5F_lexique::synthetizedAttribute_att_5F_token (void) const { cTokenFor_goil_5F_lexique * ptr = (cTokenFor_goil_5F_lexique *) currentTokenPtr (HERE) ; macroValidSharedObject (ptr, cTokenFor_goil_5F_lexique) ; GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; @@ -10123,9 +10411,9 @@ GALGAS_lstring Lexique_goil_5F_lexique::synthetizedAttribute_att_5F_token (void) return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_ldouble Lexique_goil_5F_lexique::synthetizedAttribute_floatNumber (void) const { +GALGAS_ldouble C_Lexique_goil_5F_lexique::synthetizedAttribute_floatNumber (void) const { cTokenFor_goil_5F_lexique * ptr = (cTokenFor_goil_5F_lexique *) currentTokenPtr (HERE) ; macroValidSharedObject (ptr, cTokenFor_goil_5F_lexique) ; GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; @@ -10134,9 +10422,9 @@ GALGAS_ldouble Lexique_goil_5F_lexique::synthetizedAttribute_floatNumber (void) return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_luint_36__34_ Lexique_goil_5F_lexique::synthetizedAttribute_integerNumber (void) const { +GALGAS_luint_36__34_ C_Lexique_goil_5F_lexique::synthetizedAttribute_integerNumber (void) const { cTokenFor_goil_5F_lexique * ptr = (cTokenFor_goil_5F_lexique *) currentTokenPtr (HERE) ; macroValidSharedObject (ptr, cTokenFor_goil_5F_lexique) ; GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; @@ -10145,9 +10433,9 @@ GALGAS_luint_36__34_ Lexique_goil_5F_lexique::synthetizedAttribute_integerNumber return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring Lexique_goil_5F_lexique::synthetizedAttribute_number (void) const { +GALGAS_lstring C_Lexique_goil_5F_lexique::synthetizedAttribute_number (void) const { cTokenFor_goil_5F_lexique * ptr = (cTokenFor_goil_5F_lexique *) currentTokenPtr (HERE) ; macroValidSharedObject (ptr, cTokenFor_goil_5F_lexique) ; GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; @@ -10156,58 +10444,58 @@ GALGAS_lstring Lexique_goil_5F_lexique::synthetizedAttribute_number (void) const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // I N T R O S P E C T I O N -//-------------------------------------------------------------------------------------------------- - -GALGAS_stringlist Lexique_goil_5F_lexique::symbols (LOCATION_ARGS) { - GALGAS_stringlist result = GALGAS_stringlist::class_func_emptyList (THERE) ; - result.addAssign_operation (GALGAS_string ("comment") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("idf") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("string") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("g_string") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("uint_number") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("float_number") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("set_start_uint_number") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("command") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("OIL_VERSION") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("IMPLEMENTATION") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("CPU") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("UINT32") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("INT32") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("UINT64") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("INT64") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("FLOAT") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("ENUM") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("STRING") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("BOOLEAN") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("IDENTIFIER") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("STRUCT") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("WITH_AUTO") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("NO_DEFAULT") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("AUTO") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("FALSE") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("TRUE") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string (";") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string (":") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("{") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("}") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("..") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("[") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("]") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string (",") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string (".") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("+") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("-") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("include") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("includeifexists") COMMA_HERE) ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -static void getKeywordLists_goil_5F_lexique (TC_UniqueArray & ioList) { +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_stringlist C_Lexique_goil_5F_lexique::symbols (LOCATION_ARGS) { + GALGAS_stringlist result = GALGAS_stringlist::constructor_emptyList (THERE) ; + result.addAssign_operation (GALGAS_string ("comment") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("idf") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("string") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("g_string") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("uint_number") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("float_number") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("set_start_uint_number") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("command") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("OIL_VERSION") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("IMPLEMENTATION") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("CPU") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("UINT32") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("INT32") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("UINT64") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("INT64") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("FLOAT") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("ENUM") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("STRING") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("BOOLEAN") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("IDENTIFIER") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("STRUCT") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("WITH_AUTO") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("NO_DEFAULT") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("AUTO") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("FALSE") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("TRUE") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string (";") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string (":") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("{") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("}") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("..") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("[") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("]") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string (",") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string (".") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("+") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("-") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("include") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("includeifexists") COMMA_THERE) ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +static void getKeywordLists_goil_5F_lexique (TC_UniqueArray & ioList) { ioList.appendObject ("goil_lexique:OILDelimiters") ; ioList.appendObject ("goil_lexique:boolean") ; ioList.appendObject ("goil_lexique:commands") ; @@ -10217,11 +10505,11 @@ static void getKeywordLists_goil_5F_lexique (TC_UniqueArray & ioList) { ioList.appendObject ("goil_lexique:oilVersion") ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static void getKeywordsForIdentifier_goil_5F_lexique (const String & inIdentifier, +static void getKeywordsForIdentifier_goil_5F_lexique (const C_String & inIdentifier, bool & ioFound, - TC_UniqueArray & ioList) { + TC_UniqueArray & ioList) { if (inIdentifier == "goil_lexique:OILDelimiters") { ioFound = true ; ioList.appendObject ("+") ; @@ -10284,17 +10572,17 @@ static void getKeywordsForIdentifier_goil_5F_lexique (const String & inIdentifie } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static cLexiqueIntrospection lexiqueIntrospection_goil_5F_lexique __attribute__ ((used)) __attribute__ ((unused)) (getKeywordLists_goil_5F_lexique, getKeywordsForIdentifier_goil_5F_lexique) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // S T Y L E I N D E X F O R T E R M I N A L -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -uint32_t Lexique_goil_5F_lexique::styleIndexForTerminal (const int32_t inTerminalIndex) const { +uint32_t C_Lexique_goil_5F_lexique::styleIndexForTerminal (const int32_t inTerminalIndex) const { static const uint32_t kTerminalSymbolStyles [41] = {0, 9 /* goil_lexique_1_comment */, 2 /* goil_lexique_1_idf */, @@ -10340,12 +10628,12 @@ uint32_t Lexique_goil_5F_lexique::styleIndexForTerminal (const int32_t inTermina return (inTerminalIndex >= 0) ? kTerminalSymbolStyles [inTerminalIndex] : 0 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // S T Y L E N A M E F O R S T Y L E I N D E X -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String Lexique_goil_5F_lexique::styleNameForIndex (const uint32_t inStyleIndex) const { - String result ; +C_String C_Lexique_goil_5F_lexique::styleNameForIndex (const uint32_t inStyleIndex) const { + C_String result ; if (inStyleIndex < 10) { static const char * kStyleArray [10] = { "", @@ -10364,193 +10652,193 @@ String Lexique_goil_5F_lexique::styleNameForIndex (const uint32_t inStyleIndex) return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_dataType::GALGAS_dataType (void) : mEnum (kNotBuilt) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_dataType GALGAS_dataType::class_func_void (UNUSED_LOCATION_ARGS) { +GALGAS_dataType GALGAS_dataType::constructor_void (UNUSED_LOCATION_ARGS) { GALGAS_dataType result ; result.mEnum = kEnum_void ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_dataType GALGAS_dataType::class_func_uint_33__32_Number (UNUSED_LOCATION_ARGS) { +GALGAS_dataType GALGAS_dataType::constructor_uint_33__32_Number (UNUSED_LOCATION_ARGS) { GALGAS_dataType result ; result.mEnum = kEnum_uint_33__32_Number ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_dataType GALGAS_dataType::class_func_sint_33__32_Number (UNUSED_LOCATION_ARGS) { +GALGAS_dataType GALGAS_dataType::constructor_sint_33__32_Number (UNUSED_LOCATION_ARGS) { GALGAS_dataType result ; result.mEnum = kEnum_sint_33__32_Number ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_dataType GALGAS_dataType::class_func_uint_36__34_Number (UNUSED_LOCATION_ARGS) { +GALGAS_dataType GALGAS_dataType::constructor_uint_36__34_Number (UNUSED_LOCATION_ARGS) { GALGAS_dataType result ; result.mEnum = kEnum_uint_36__34_Number ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_dataType GALGAS_dataType::class_func_sint_36__34_Number (UNUSED_LOCATION_ARGS) { +GALGAS_dataType GALGAS_dataType::constructor_sint_36__34_Number (UNUSED_LOCATION_ARGS) { GALGAS_dataType result ; result.mEnum = kEnum_sint_36__34_Number ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_dataType GALGAS_dataType::class_func_floatNumber (UNUSED_LOCATION_ARGS) { +GALGAS_dataType GALGAS_dataType::constructor_floatNumber (UNUSED_LOCATION_ARGS) { GALGAS_dataType result ; result.mEnum = kEnum_floatNumber ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_dataType GALGAS_dataType::class_func_string (UNUSED_LOCATION_ARGS) { +GALGAS_dataType GALGAS_dataType::constructor_string (UNUSED_LOCATION_ARGS) { GALGAS_dataType result ; result.mEnum = kEnum_string ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_dataType GALGAS_dataType::class_func_enumeration (UNUSED_LOCATION_ARGS) { +GALGAS_dataType GALGAS_dataType::constructor_enumeration (UNUSED_LOCATION_ARGS) { GALGAS_dataType result ; result.mEnum = kEnum_enumeration ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_dataType GALGAS_dataType::class_func_boolean (UNUSED_LOCATION_ARGS) { +GALGAS_dataType GALGAS_dataType::constructor_boolean (UNUSED_LOCATION_ARGS) { GALGAS_dataType result ; result.mEnum = kEnum_boolean ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_dataType GALGAS_dataType::class_func_identifier (UNUSED_LOCATION_ARGS) { +GALGAS_dataType GALGAS_dataType::constructor_identifier (UNUSED_LOCATION_ARGS) { GALGAS_dataType result ; result.mEnum = kEnum_identifier ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_dataType GALGAS_dataType::class_func_objectType (UNUSED_LOCATION_ARGS) { +GALGAS_dataType GALGAS_dataType::constructor_objectType (UNUSED_LOCATION_ARGS) { GALGAS_dataType result ; result.mEnum = kEnum_objectType ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_dataType GALGAS_dataType::class_func_structType (UNUSED_LOCATION_ARGS) { +GALGAS_dataType GALGAS_dataType::constructor_structType (UNUSED_LOCATION_ARGS) { GALGAS_dataType result ; result.mEnum = kEnum_structType ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool GALGAS_dataType::optional_void () const { const bool ok = mEnum == kEnum_void ; return ok ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool GALGAS_dataType::optional_uint_33__32_Number () const { const bool ok = mEnum == kEnum_uint_33__32_Number ; return ok ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool GALGAS_dataType::optional_sint_33__32_Number () const { const bool ok = mEnum == kEnum_sint_33__32_Number ; return ok ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool GALGAS_dataType::optional_uint_36__34_Number () const { const bool ok = mEnum == kEnum_uint_36__34_Number ; return ok ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool GALGAS_dataType::optional_sint_36__34_Number () const { const bool ok = mEnum == kEnum_sint_36__34_Number ; return ok ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool GALGAS_dataType::optional_floatNumber () const { const bool ok = mEnum == kEnum_floatNumber ; return ok ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool GALGAS_dataType::optional_string () const { const bool ok = mEnum == kEnum_string ; return ok ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool GALGAS_dataType::optional_enumeration () const { const bool ok = mEnum == kEnum_enumeration ; return ok ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool GALGAS_dataType::optional_boolean () const { const bool ok = mEnum == kEnum_boolean ; return ok ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool GALGAS_dataType::optional_identifier () const { const bool ok = mEnum == kEnum_identifier ; return ok ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool GALGAS_dataType::optional_objectType () const { const bool ok = mEnum == kEnum_objectType ; return ok ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool GALGAS_dataType::optional_structType () const { const bool ok = mEnum == kEnum_structType ; return ok ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- static const char * gEnumNameArrayFor_dataType [13] = { "(not built)", @@ -10568,88 +10856,87 @@ static const char * gEnumNameArrayFor_dataType [13] = { "structType" } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_dataType::getter_isVoid (UNUSED_LOCATION_ARGS) const { return GALGAS_bool (kNotBuilt != mEnum, kEnum_void == mEnum) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_dataType::getter_isUint_33__32_Number (UNUSED_LOCATION_ARGS) const { return GALGAS_bool (kNotBuilt != mEnum, kEnum_uint_33__32_Number == mEnum) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_dataType::getter_isSint_33__32_Number (UNUSED_LOCATION_ARGS) const { return GALGAS_bool (kNotBuilt != mEnum, kEnum_sint_33__32_Number == mEnum) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_dataType::getter_isUint_36__34_Number (UNUSED_LOCATION_ARGS) const { return GALGAS_bool (kNotBuilt != mEnum, kEnum_uint_36__34_Number == mEnum) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_dataType::getter_isSint_36__34_Number (UNUSED_LOCATION_ARGS) const { return GALGAS_bool (kNotBuilt != mEnum, kEnum_sint_36__34_Number == mEnum) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_dataType::getter_isFloatNumber (UNUSED_LOCATION_ARGS) const { return GALGAS_bool (kNotBuilt != mEnum, kEnum_floatNumber == mEnum) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_dataType::getter_isString (UNUSED_LOCATION_ARGS) const { return GALGAS_bool (kNotBuilt != mEnum, kEnum_string == mEnum) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_dataType::getter_isEnumeration (UNUSED_LOCATION_ARGS) const { return GALGAS_bool (kNotBuilt != mEnum, kEnum_enumeration == mEnum) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_dataType::getter_isBoolean (UNUSED_LOCATION_ARGS) const { return GALGAS_bool (kNotBuilt != mEnum, kEnum_boolean == mEnum) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_dataType::getter_isIdentifier (UNUSED_LOCATION_ARGS) const { return GALGAS_bool (kNotBuilt != mEnum, kEnum_identifier == mEnum) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_dataType::getter_isObjectType (UNUSED_LOCATION_ARGS) const { return GALGAS_bool (kNotBuilt != mEnum, kEnum_objectType == mEnum) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_dataType::getter_isStructType (UNUSED_LOCATION_ARGS) const { return GALGAS_bool (kNotBuilt != mEnum, kEnum_structType == mEnum) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_dataType::description (String & ioString, +void GALGAS_dataType::description (C_String & ioString, const int32_t /* inIndentation */) const { - ioString.appendCString ("") ; + ioString << "" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_dataType::objectCompare (const GALGAS_dataType & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -10665,22 +10952,23 @@ typeComparisonResult GALGAS_dataType::objectCompare (const GALGAS_dataType & inO return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @dataType generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_dataType ("dataType", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_dataType ("dataType", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_dataType::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_dataType ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_dataType::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -10690,10 +10978,10 @@ AC_GALGAS_root * GALGAS_dataType::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_dataType GALGAS_dataType::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_dataType result ; const GALGAS_dataType * p = (const GALGAS_dataType *) inObject.embeddedObject () ; @@ -10707,14 +10995,14 @@ GALGAS_dataType GALGAS_dataType::extractObject (const GALGAS_object & inObject, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension Getter '@dataType oilType' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string extensionGetter_oilType (const GALGAS_dataType & inObject, - Compiler * + C_Compiler * COMMA_UNUSED_LOCATION_ARGS) { GALGAS_string result_result ; // Returned variable const GALGAS_dataType temp_0 = inObject ; @@ -10789,14 +11077,14 @@ GALGAS_string extensionGetter_oilType (const GALGAS_dataType & inObject, -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension Getter '@dataType arxmlType' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_string extensionGetter_arxmlType (const GALGAS_dataType & inObject, - Compiler * + C_Compiler * COMMA_UNUSED_LOCATION_ARGS) { GALGAS_string result_result ; // Returned variable const GALGAS_dataType temp_0 = inObject ; @@ -10871,16 +11159,16 @@ GALGAS_string extensionGetter_arxmlType (const GALGAS_dataType & inObject, -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Class for element of '@uint_33__32_List' list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cCollectionElement_uint_33__32_List : public cCollectionElement { public: GALGAS_uint_33__32_List_2D_element mObject ; -//--- Class functions +//--- Constructors public: cCollectionElement_uint_33__32_List (const GALGAS_location & in_location, const GALGAS_uint & in_value COMMA_LOCATION_ARGS) ; @@ -10896,10 +11184,10 @@ class cCollectionElement_uint_33__32_List : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_uint_33__32_List::cCollectionElement_uint_33__32_List (const GALGAS_location & in_location, const GALGAS_uint & in_value @@ -10908,20 +11196,20 @@ cCollectionElement (THERE), mObject (in_location, in_value) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_uint_33__32_List::cCollectionElement_uint_33__32_List (const GALGAS_uint_33__32_List_2D_element & inElement COMMA_LOCATION_ARGS) : cCollectionElement (THERE), mObject (inElement.mProperty_location, inElement.mProperty_value) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cCollectionElement_uint_33__32_List::isValid (void) const { return true ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement * cCollectionElement_uint_33__32_List::copy (void) { cCollectionElement * result = nullptr ; @@ -10929,20 +11217,20 @@ cCollectionElement * cCollectionElement_uint_33__32_List::copy (void) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cCollectionElement_uint_33__32_List::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("location" ":") ; +void cCollectionElement_uint_33__32_List::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "location" ":" ; mObject.mProperty_location.description (ioString, inIndentation) ; - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("value" ":") ; + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "value" ":" ; mObject.mProperty_value.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_uint_33__32_List::compare (const cCollectionElement * inOperand) const { cCollectionElement_uint_33__32_List * operand = (cCollectionElement_uint_33__32_List *) inOperand ; @@ -10950,29 +11238,29 @@ typeComparisonResult cCollectionElement_uint_33__32_List::compare (const cCollec return mObject.objectCompare (operand->mObject) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_33__32_List::GALGAS_uint_33__32_List (void) : AC_GALGAS_list () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_33__32_List::GALGAS_uint_33__32_List (const capCollectionElementArray & inSharedArray) : AC_GALGAS_list (inSharedArray) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint_33__32_List GALGAS_uint_33__32_List::class_func_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_uint_33__32_List (capCollectionElementArray ()) ; +GALGAS_uint_33__32_List GALGAS_uint_33__32_List::constructor_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_uint_33__32_List (capCollectionElementArray ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint_33__32_List GALGAS_uint_33__32_List::class_func_listWithValue (const GALGAS_location & inOperand0, - const GALGAS_uint & inOperand1 - COMMA_LOCATION_ARGS) { +GALGAS_uint_33__32_List GALGAS_uint_33__32_List::constructor_listWithValue (const GALGAS_location & inOperand0, + const GALGAS_uint & inOperand1 + COMMA_LOCATION_ARGS) { GALGAS_uint_33__32_List result ; if (inOperand0.isValid () && inOperand1.isValid ()) { result = GALGAS_uint_33__32_List (capCollectionElementArray ()) ; @@ -10983,7 +11271,7 @@ GALGAS_uint_33__32_List GALGAS_uint_33__32_List::class_func_listWithValue (const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_33__32_List::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_location & in_location, @@ -10996,7 +11284,7 @@ void GALGAS_uint_33__32_List::makeAttributesFromObjects (capCollectionElement & macroDetachSharedObject (p) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_33__32_List::addAssign_operation (const GALGAS_location & inOperand0, const GALGAS_uint & inOperand1 @@ -11011,11 +11299,11 @@ void GALGAS_uint_33__32_List::addAssign_operation (const GALGAS_location & inOpe } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_33__32_List::setter_append (const GALGAS_location inOperand0, const GALGAS_uint inOperand1, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -11027,12 +11315,12 @@ void GALGAS_uint_33__32_List::setter_append (const GALGAS_location inOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_33__32_List::setter_insertAtIndex (const GALGAS_location inOperand0, const GALGAS_uint inOperand1, const GALGAS_uint inInsertionIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid () && inOperand1.isValid ()) { @@ -11048,12 +11336,12 @@ void GALGAS_uint_33__32_List::setter_insertAtIndex (const GALGAS_location inOper } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_33__32_List::setter_removeAtIndex (GALGAS_location & outOperand0, GALGAS_uint & outOperand1, const GALGAS_uint inRemoveIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -11080,11 +11368,11 @@ void GALGAS_uint_33__32_List::setter_removeAtIndex (GALGAS_location & outOperand } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_33__32_List::setter_popFirst (GALGAS_location & outOperand0, GALGAS_uint & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -11099,11 +11387,11 @@ void GALGAS_uint_33__32_List::setter_popFirst (GALGAS_location & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_33__32_List::setter_popLast (GALGAS_location & outOperand0, GALGAS_uint & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -11118,11 +11406,11 @@ void GALGAS_uint_33__32_List::setter_popLast (GALGAS_location & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_33__32_List::method_first (GALGAS_location & outOperand0, GALGAS_uint & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -11137,11 +11425,11 @@ void GALGAS_uint_33__32_List::method_first (GALGAS_location & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_33__32_List::method_last (GALGAS_location & outOperand0, GALGAS_uint & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -11156,10 +11444,10 @@ void GALGAS_uint_33__32_List::method_last (GALGAS_location & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_33__32_List GALGAS_uint_33__32_List::add_operation (const GALGAS_uint_33__32_List & inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_uint_33__32_List result ; if (isValid () && inOperand.isValid ()) { @@ -11169,49 +11457,49 @@ GALGAS_uint_33__32_List GALGAS_uint_33__32_List::add_operation (const GALGAS_uin return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_33__32_List GALGAS_uint_33__32_List::getter_subListWithRange (const GALGAS_range & inRange, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_uint_33__32_List result = GALGAS_uint_33__32_List::class_func_emptyList (THERE) ; + GALGAS_uint_33__32_List result = GALGAS_uint_33__32_List::constructor_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_33__32_List GALGAS_uint_33__32_List::getter_subListFromIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_uint_33__32_List result = GALGAS_uint_33__32_List::class_func_emptyList (THERE) ; + GALGAS_uint_33__32_List result = GALGAS_uint_33__32_List::constructor_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_33__32_List GALGAS_uint_33__32_List::getter_subListToIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_uint_33__32_List result = GALGAS_uint_33__32_List::class_func_emptyList (THERE) ; + GALGAS_uint_33__32_List result = GALGAS_uint_33__32_List::constructor_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_33__32_List::plusAssign_operation (const GALGAS_uint_33__32_List inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_33__32_List::setter_setLocationAtIndex (GALGAS_location inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_uint_33__32_List * p = (cCollectionElement_uint_33__32_List *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -11221,10 +11509,10 @@ void GALGAS_uint_33__32_List::setter_setLocationAtIndex (GALGAS_location inOpera } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_location GALGAS_uint_33__32_List::getter_locationAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_uint_33__32_List * p = (cCollectionElement_uint_33__32_List *) attributes.ptr () ; @@ -11236,11 +11524,11 @@ GALGAS_location GALGAS_uint_33__32_List::getter_locationAtIndex (const GALGAS_ui return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_33__32_List::setter_setValueAtIndex (GALGAS_uint inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_uint_33__32_List * p = (cCollectionElement_uint_33__32_List *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -11250,10 +11538,10 @@ void GALGAS_uint_33__32_List::setter_setValueAtIndex (GALGAS_uint inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint_33__32_List::getter_valueAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_uint_33__32_List * p = (cCollectionElement_uint_33__32_List *) attributes.ptr () ; @@ -11267,7 +11555,7 @@ GALGAS_uint GALGAS_uint_33__32_List::getter_valueAtIndex (const GALGAS_uint & in -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_uint_33__32_List::cEnumerator_uint_33__32_List (const GALGAS_uint_33__32_List & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -11275,7 +11563,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_33__32_List_2D_element cEnumerator_uint_33__32_List::current (LOCATION_ARGS) const { const cCollectionElement_uint_33__32_List * p = (const cCollectionElement_uint_33__32_List *) currentObjectPtr (THERE) ; @@ -11284,7 +11572,7 @@ GALGAS_uint_33__32_List_2D_element cEnumerator_uint_33__32_List::current (LOCATI } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_location cEnumerator_uint_33__32_List::current_location (LOCATION_ARGS) const { const cCollectionElement_uint_33__32_List * p = (const cCollectionElement_uint_33__32_List *) currentObjectPtr (THERE) ; @@ -11292,7 +11580,7 @@ GALGAS_location cEnumerator_uint_33__32_List::current_location (LOCATION_ARGS) c return p->mObject.mProperty_location ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint cEnumerator_uint_33__32_List::current_value (LOCATION_ARGS) const { const cCollectionElement_uint_33__32_List * p = (const cCollectionElement_uint_33__32_List *) currentObjectPtr (THERE) ; @@ -11303,22 +11591,23 @@ GALGAS_uint cEnumerator_uint_33__32_List::current_value (LOCATION_ARGS) const { -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @uint32List generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_uint_33__32_List ("uint32List", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_uint_33__32_List ("uint32List", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_uint_33__32_List::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_uint_33__32_List ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_uint_33__32_List::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -11328,10 +11617,10 @@ AC_GALGAS_root * GALGAS_uint_33__32_List::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_33__32_List GALGAS_uint_33__32_List::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_uint_33__32_List result ; const GALGAS_uint_33__32_List * p = (const GALGAS_uint_33__32_List *) inObject.embeddedObject () ; @@ -11345,16 +11634,16 @@ GALGAS_uint_33__32_List GALGAS_uint_33__32_List::extractObject (const GALGAS_obj return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Class for element of '@uint_36__34_List' list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cCollectionElement_uint_36__34_List : public cCollectionElement { public: GALGAS_uint_36__34_List_2D_element mObject ; -//--- Class functions +//--- Constructors public: cCollectionElement_uint_36__34_List (const GALGAS_location & in_location, const GALGAS_uint_36__34_ & in_value COMMA_LOCATION_ARGS) ; @@ -11370,10 +11659,10 @@ class cCollectionElement_uint_36__34_List : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_uint_36__34_List::cCollectionElement_uint_36__34_List (const GALGAS_location & in_location, const GALGAS_uint_36__34_ & in_value @@ -11382,20 +11671,20 @@ cCollectionElement (THERE), mObject (in_location, in_value) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_uint_36__34_List::cCollectionElement_uint_36__34_List (const GALGAS_uint_36__34_List_2D_element & inElement COMMA_LOCATION_ARGS) : cCollectionElement (THERE), mObject (inElement.mProperty_location, inElement.mProperty_value) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cCollectionElement_uint_36__34_List::isValid (void) const { return true ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement * cCollectionElement_uint_36__34_List::copy (void) { cCollectionElement * result = nullptr ; @@ -11403,20 +11692,20 @@ cCollectionElement * cCollectionElement_uint_36__34_List::copy (void) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cCollectionElement_uint_36__34_List::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("location" ":") ; +void cCollectionElement_uint_36__34_List::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "location" ":" ; mObject.mProperty_location.description (ioString, inIndentation) ; - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("value" ":") ; + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "value" ":" ; mObject.mProperty_value.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_uint_36__34_List::compare (const cCollectionElement * inOperand) const { cCollectionElement_uint_36__34_List * operand = (cCollectionElement_uint_36__34_List *) inOperand ; @@ -11424,29 +11713,29 @@ typeComparisonResult cCollectionElement_uint_36__34_List::compare (const cCollec return mObject.objectCompare (operand->mObject) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_List::GALGAS_uint_36__34_List (void) : AC_GALGAS_list () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_List::GALGAS_uint_36__34_List (const capCollectionElementArray & inSharedArray) : AC_GALGAS_list (inSharedArray) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint_36__34_List GALGAS_uint_36__34_List::class_func_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_uint_36__34_List (capCollectionElementArray ()) ; +GALGAS_uint_36__34_List GALGAS_uint_36__34_List::constructor_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_uint_36__34_List (capCollectionElementArray ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint_36__34_List GALGAS_uint_36__34_List::class_func_listWithValue (const GALGAS_location & inOperand0, - const GALGAS_uint_36__34_ & inOperand1 - COMMA_LOCATION_ARGS) { +GALGAS_uint_36__34_List GALGAS_uint_36__34_List::constructor_listWithValue (const GALGAS_location & inOperand0, + const GALGAS_uint_36__34_ & inOperand1 + COMMA_LOCATION_ARGS) { GALGAS_uint_36__34_List result ; if (inOperand0.isValid () && inOperand1.isValid ()) { result = GALGAS_uint_36__34_List (capCollectionElementArray ()) ; @@ -11457,7 +11746,7 @@ GALGAS_uint_36__34_List GALGAS_uint_36__34_List::class_func_listWithValue (const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_36__34_List::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_location & in_location, @@ -11470,7 +11759,7 @@ void GALGAS_uint_36__34_List::makeAttributesFromObjects (capCollectionElement & macroDetachSharedObject (p) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_36__34_List::addAssign_operation (const GALGAS_location & inOperand0, const GALGAS_uint_36__34_ & inOperand1 @@ -11485,11 +11774,11 @@ void GALGAS_uint_36__34_List::addAssign_operation (const GALGAS_location & inOpe } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_36__34_List::setter_append (const GALGAS_location inOperand0, const GALGAS_uint_36__34_ inOperand1, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -11501,12 +11790,12 @@ void GALGAS_uint_36__34_List::setter_append (const GALGAS_location inOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_36__34_List::setter_insertAtIndex (const GALGAS_location inOperand0, const GALGAS_uint_36__34_ inOperand1, const GALGAS_uint inInsertionIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid () && inOperand1.isValid ()) { @@ -11522,12 +11811,12 @@ void GALGAS_uint_36__34_List::setter_insertAtIndex (const GALGAS_location inOper } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_36__34_List::setter_removeAtIndex (GALGAS_location & outOperand0, GALGAS_uint_36__34_ & outOperand1, const GALGAS_uint inRemoveIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -11554,11 +11843,11 @@ void GALGAS_uint_36__34_List::setter_removeAtIndex (GALGAS_location & outOperand } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_36__34_List::setter_popFirst (GALGAS_location & outOperand0, GALGAS_uint_36__34_ & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -11573,11 +11862,11 @@ void GALGAS_uint_36__34_List::setter_popFirst (GALGAS_location & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_36__34_List::setter_popLast (GALGAS_location & outOperand0, GALGAS_uint_36__34_ & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -11592,11 +11881,11 @@ void GALGAS_uint_36__34_List::setter_popLast (GALGAS_location & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_36__34_List::method_first (GALGAS_location & outOperand0, GALGAS_uint_36__34_ & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -11611,11 +11900,11 @@ void GALGAS_uint_36__34_List::method_first (GALGAS_location & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_36__34_List::method_last (GALGAS_location & outOperand0, GALGAS_uint_36__34_ & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -11630,10 +11919,10 @@ void GALGAS_uint_36__34_List::method_last (GALGAS_location & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_List GALGAS_uint_36__34_List::add_operation (const GALGAS_uint_36__34_List & inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_uint_36__34_List result ; if (isValid () && inOperand.isValid ()) { @@ -11643,49 +11932,49 @@ GALGAS_uint_36__34_List GALGAS_uint_36__34_List::add_operation (const GALGAS_uin return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_List GALGAS_uint_36__34_List::getter_subListWithRange (const GALGAS_range & inRange, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_uint_36__34_List result = GALGAS_uint_36__34_List::class_func_emptyList (THERE) ; + GALGAS_uint_36__34_List result = GALGAS_uint_36__34_List::constructor_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_List GALGAS_uint_36__34_List::getter_subListFromIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_uint_36__34_List result = GALGAS_uint_36__34_List::class_func_emptyList (THERE) ; + GALGAS_uint_36__34_List result = GALGAS_uint_36__34_List::constructor_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_List GALGAS_uint_36__34_List::getter_subListToIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_uint_36__34_List result = GALGAS_uint_36__34_List::class_func_emptyList (THERE) ; + GALGAS_uint_36__34_List result = GALGAS_uint_36__34_List::constructor_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_36__34_List::plusAssign_operation (const GALGAS_uint_36__34_List inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_36__34_List::setter_setLocationAtIndex (GALGAS_location inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_uint_36__34_List * p = (cCollectionElement_uint_36__34_List *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -11695,10 +11984,10 @@ void GALGAS_uint_36__34_List::setter_setLocationAtIndex (GALGAS_location inOpera } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_location GALGAS_uint_36__34_List::getter_locationAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_uint_36__34_List * p = (cCollectionElement_uint_36__34_List *) attributes.ptr () ; @@ -11710,11 +11999,11 @@ GALGAS_location GALGAS_uint_36__34_List::getter_locationAtIndex (const GALGAS_ui return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_36__34_List::setter_setValueAtIndex (GALGAS_uint_36__34_ inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_uint_36__34_List * p = (cCollectionElement_uint_36__34_List *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -11724,10 +12013,10 @@ void GALGAS_uint_36__34_List::setter_setValueAtIndex (GALGAS_uint_36__34_ inOper } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_ GALGAS_uint_36__34_List::getter_valueAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_uint_36__34_List * p = (cCollectionElement_uint_36__34_List *) attributes.ptr () ; @@ -11741,7 +12030,7 @@ GALGAS_uint_36__34_ GALGAS_uint_36__34_List::getter_valueAtIndex (const GALGAS_u -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_uint_36__34_List::cEnumerator_uint_36__34_List (const GALGAS_uint_36__34_List & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -11749,7 +12038,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_List_2D_element cEnumerator_uint_36__34_List::current (LOCATION_ARGS) const { const cCollectionElement_uint_36__34_List * p = (const cCollectionElement_uint_36__34_List *) currentObjectPtr (THERE) ; @@ -11758,7 +12047,7 @@ GALGAS_uint_36__34_List_2D_element cEnumerator_uint_36__34_List::current (LOCATI } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_location cEnumerator_uint_36__34_List::current_location (LOCATION_ARGS) const { const cCollectionElement_uint_36__34_List * p = (const cCollectionElement_uint_36__34_List *) currentObjectPtr (THERE) ; @@ -11766,7 +12055,7 @@ GALGAS_location cEnumerator_uint_36__34_List::current_location (LOCATION_ARGS) c return p->mObject.mProperty_location ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_ cEnumerator_uint_36__34_List::current_value (LOCATION_ARGS) const { const cCollectionElement_uint_36__34_List * p = (const cCollectionElement_uint_36__34_List *) currentObjectPtr (THERE) ; @@ -11777,22 +12066,23 @@ GALGAS_uint_36__34_ cEnumerator_uint_36__34_List::current_value (LOCATION_ARGS) -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @uint64List generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_uint_36__34_List ("uint64List", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_uint_36__34_List ("uint64List", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_uint_36__34_List::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_uint_36__34_List ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_uint_36__34_List::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -11802,10 +12092,10 @@ AC_GALGAS_root * GALGAS_uint_36__34_List::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_List GALGAS_uint_36__34_List::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_uint_36__34_List result ; const GALGAS_uint_36__34_List * p = (const GALGAS_uint_36__34_List *) inObject.embeddedObject () ; @@ -11819,16 +12109,16 @@ GALGAS_uint_36__34_List GALGAS_uint_36__34_List::extractObject (const GALGAS_obj return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Class for element of '@sint_33__32_List' list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cCollectionElement_sint_33__32_List : public cCollectionElement { public: GALGAS_sint_33__32_List_2D_element mObject ; -//--- Class functions +//--- Constructors public: cCollectionElement_sint_33__32_List (const GALGAS_location & in_location, const GALGAS_sint & in_value COMMA_LOCATION_ARGS) ; @@ -11844,10 +12134,10 @@ class cCollectionElement_sint_33__32_List : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_sint_33__32_List::cCollectionElement_sint_33__32_List (const GALGAS_location & in_location, const GALGAS_sint & in_value @@ -11856,20 +12146,20 @@ cCollectionElement (THERE), mObject (in_location, in_value) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_sint_33__32_List::cCollectionElement_sint_33__32_List (const GALGAS_sint_33__32_List_2D_element & inElement COMMA_LOCATION_ARGS) : cCollectionElement (THERE), mObject (inElement.mProperty_location, inElement.mProperty_value) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cCollectionElement_sint_33__32_List::isValid (void) const { return true ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement * cCollectionElement_sint_33__32_List::copy (void) { cCollectionElement * result = nullptr ; @@ -11877,20 +12167,20 @@ cCollectionElement * cCollectionElement_sint_33__32_List::copy (void) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cCollectionElement_sint_33__32_List::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("location" ":") ; +void cCollectionElement_sint_33__32_List::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "location" ":" ; mObject.mProperty_location.description (ioString, inIndentation) ; - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("value" ":") ; + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "value" ":" ; mObject.mProperty_value.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_sint_33__32_List::compare (const cCollectionElement * inOperand) const { cCollectionElement_sint_33__32_List * operand = (cCollectionElement_sint_33__32_List *) inOperand ; @@ -11898,29 +12188,29 @@ typeComparisonResult cCollectionElement_sint_33__32_List::compare (const cCollec return mObject.objectCompare (operand->mObject) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_33__32_List::GALGAS_sint_33__32_List (void) : AC_GALGAS_list () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_33__32_List::GALGAS_sint_33__32_List (const capCollectionElementArray & inSharedArray) : AC_GALGAS_list (inSharedArray) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_sint_33__32_List GALGAS_sint_33__32_List::class_func_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_sint_33__32_List (capCollectionElementArray ()) ; +GALGAS_sint_33__32_List GALGAS_sint_33__32_List::constructor_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_sint_33__32_List (capCollectionElementArray ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_sint_33__32_List GALGAS_sint_33__32_List::class_func_listWithValue (const GALGAS_location & inOperand0, - const GALGAS_sint & inOperand1 - COMMA_LOCATION_ARGS) { +GALGAS_sint_33__32_List GALGAS_sint_33__32_List::constructor_listWithValue (const GALGAS_location & inOperand0, + const GALGAS_sint & inOperand1 + COMMA_LOCATION_ARGS) { GALGAS_sint_33__32_List result ; if (inOperand0.isValid () && inOperand1.isValid ()) { result = GALGAS_sint_33__32_List (capCollectionElementArray ()) ; @@ -11931,7 +12221,7 @@ GALGAS_sint_33__32_List GALGAS_sint_33__32_List::class_func_listWithValue (const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_33__32_List::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_location & in_location, @@ -11944,7 +12234,7 @@ void GALGAS_sint_33__32_List::makeAttributesFromObjects (capCollectionElement & macroDetachSharedObject (p) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_33__32_List::addAssign_operation (const GALGAS_location & inOperand0, const GALGAS_sint & inOperand1 @@ -11959,11 +12249,11 @@ void GALGAS_sint_33__32_List::addAssign_operation (const GALGAS_location & inOpe } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_33__32_List::setter_append (const GALGAS_location inOperand0, const GALGAS_sint inOperand1, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -11975,12 +12265,12 @@ void GALGAS_sint_33__32_List::setter_append (const GALGAS_location inOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_33__32_List::setter_insertAtIndex (const GALGAS_location inOperand0, const GALGAS_sint inOperand1, const GALGAS_uint inInsertionIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid () && inOperand1.isValid ()) { @@ -11996,12 +12286,12 @@ void GALGAS_sint_33__32_List::setter_insertAtIndex (const GALGAS_location inOper } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_33__32_List::setter_removeAtIndex (GALGAS_location & outOperand0, GALGAS_sint & outOperand1, const GALGAS_uint inRemoveIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -12028,11 +12318,11 @@ void GALGAS_sint_33__32_List::setter_removeAtIndex (GALGAS_location & outOperand } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_33__32_List::setter_popFirst (GALGAS_location & outOperand0, GALGAS_sint & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -12047,11 +12337,11 @@ void GALGAS_sint_33__32_List::setter_popFirst (GALGAS_location & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_33__32_List::setter_popLast (GALGAS_location & outOperand0, GALGAS_sint & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -12066,11 +12356,11 @@ void GALGAS_sint_33__32_List::setter_popLast (GALGAS_location & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_33__32_List::method_first (GALGAS_location & outOperand0, GALGAS_sint & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -12085,11 +12375,11 @@ void GALGAS_sint_33__32_List::method_first (GALGAS_location & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_33__32_List::method_last (GALGAS_location & outOperand0, GALGAS_sint & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -12104,10 +12394,10 @@ void GALGAS_sint_33__32_List::method_last (GALGAS_location & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_33__32_List GALGAS_sint_33__32_List::add_operation (const GALGAS_sint_33__32_List & inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_sint_33__32_List result ; if (isValid () && inOperand.isValid ()) { @@ -12117,49 +12407,49 @@ GALGAS_sint_33__32_List GALGAS_sint_33__32_List::add_operation (const GALGAS_sin return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_33__32_List GALGAS_sint_33__32_List::getter_subListWithRange (const GALGAS_range & inRange, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_sint_33__32_List result = GALGAS_sint_33__32_List::class_func_emptyList (THERE) ; + GALGAS_sint_33__32_List result = GALGAS_sint_33__32_List::constructor_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_33__32_List GALGAS_sint_33__32_List::getter_subListFromIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_sint_33__32_List result = GALGAS_sint_33__32_List::class_func_emptyList (THERE) ; + GALGAS_sint_33__32_List result = GALGAS_sint_33__32_List::constructor_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_33__32_List GALGAS_sint_33__32_List::getter_subListToIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_sint_33__32_List result = GALGAS_sint_33__32_List::class_func_emptyList (THERE) ; + GALGAS_sint_33__32_List result = GALGAS_sint_33__32_List::constructor_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_33__32_List::plusAssign_operation (const GALGAS_sint_33__32_List inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_33__32_List::setter_setLocationAtIndex (GALGAS_location inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_sint_33__32_List * p = (cCollectionElement_sint_33__32_List *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -12169,10 +12459,10 @@ void GALGAS_sint_33__32_List::setter_setLocationAtIndex (GALGAS_location inOpera } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_location GALGAS_sint_33__32_List::getter_locationAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_sint_33__32_List * p = (cCollectionElement_sint_33__32_List *) attributes.ptr () ; @@ -12184,11 +12474,11 @@ GALGAS_location GALGAS_sint_33__32_List::getter_locationAtIndex (const GALGAS_ui return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_33__32_List::setter_setValueAtIndex (GALGAS_sint inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_sint_33__32_List * p = (cCollectionElement_sint_33__32_List *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -12198,10 +12488,10 @@ void GALGAS_sint_33__32_List::setter_setValueAtIndex (GALGAS_sint inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint GALGAS_sint_33__32_List::getter_valueAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_sint_33__32_List * p = (cCollectionElement_sint_33__32_List *) attributes.ptr () ; @@ -12215,7 +12505,7 @@ GALGAS_sint GALGAS_sint_33__32_List::getter_valueAtIndex (const GALGAS_uint & in -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_sint_33__32_List::cEnumerator_sint_33__32_List (const GALGAS_sint_33__32_List & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -12223,7 +12513,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_33__32_List_2D_element cEnumerator_sint_33__32_List::current (LOCATION_ARGS) const { const cCollectionElement_sint_33__32_List * p = (const cCollectionElement_sint_33__32_List *) currentObjectPtr (THERE) ; @@ -12232,7 +12522,7 @@ GALGAS_sint_33__32_List_2D_element cEnumerator_sint_33__32_List::current (LOCATI } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_location cEnumerator_sint_33__32_List::current_location (LOCATION_ARGS) const { const cCollectionElement_sint_33__32_List * p = (const cCollectionElement_sint_33__32_List *) currentObjectPtr (THERE) ; @@ -12240,7 +12530,7 @@ GALGAS_location cEnumerator_sint_33__32_List::current_location (LOCATION_ARGS) c return p->mObject.mProperty_location ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint cEnumerator_sint_33__32_List::current_value (LOCATION_ARGS) const { const cCollectionElement_sint_33__32_List * p = (const cCollectionElement_sint_33__32_List *) currentObjectPtr (THERE) ; @@ -12251,22 +12541,23 @@ GALGAS_sint cEnumerator_sint_33__32_List::current_value (LOCATION_ARGS) const { -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @sint32List generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_sint_33__32_List ("sint32List", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_sint_33__32_List ("sint32List", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_sint_33__32_List::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_sint_33__32_List ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_sint_33__32_List::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -12276,10 +12567,10 @@ AC_GALGAS_root * GALGAS_sint_33__32_List::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_33__32_List GALGAS_sint_33__32_List::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_sint_33__32_List result ; const GALGAS_sint_33__32_List * p = (const GALGAS_sint_33__32_List *) inObject.embeddedObject () ; @@ -12293,16 +12584,16 @@ GALGAS_sint_33__32_List GALGAS_sint_33__32_List::extractObject (const GALGAS_obj return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Class for element of '@sint_36__34_List' list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cCollectionElement_sint_36__34_List : public cCollectionElement { public: GALGAS_sint_36__34_List_2D_element mObject ; -//--- Class functions +//--- Constructors public: cCollectionElement_sint_36__34_List (const GALGAS_location & in_location, const GALGAS_sint_36__34_ & in_value COMMA_LOCATION_ARGS) ; @@ -12318,10 +12609,10 @@ class cCollectionElement_sint_36__34_List : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_sint_36__34_List::cCollectionElement_sint_36__34_List (const GALGAS_location & in_location, const GALGAS_sint_36__34_ & in_value @@ -12330,20 +12621,20 @@ cCollectionElement (THERE), mObject (in_location, in_value) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_sint_36__34_List::cCollectionElement_sint_36__34_List (const GALGAS_sint_36__34_List_2D_element & inElement COMMA_LOCATION_ARGS) : cCollectionElement (THERE), mObject (inElement.mProperty_location, inElement.mProperty_value) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cCollectionElement_sint_36__34_List::isValid (void) const { return true ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement * cCollectionElement_sint_36__34_List::copy (void) { cCollectionElement * result = nullptr ; @@ -12351,20 +12642,20 @@ cCollectionElement * cCollectionElement_sint_36__34_List::copy (void) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cCollectionElement_sint_36__34_List::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("location" ":") ; +void cCollectionElement_sint_36__34_List::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "location" ":" ; mObject.mProperty_location.description (ioString, inIndentation) ; - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("value" ":") ; + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "value" ":" ; mObject.mProperty_value.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_sint_36__34_List::compare (const cCollectionElement * inOperand) const { cCollectionElement_sint_36__34_List * operand = (cCollectionElement_sint_36__34_List *) inOperand ; @@ -12372,29 +12663,29 @@ typeComparisonResult cCollectionElement_sint_36__34_List::compare (const cCollec return mObject.objectCompare (operand->mObject) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_List::GALGAS_sint_36__34_List (void) : AC_GALGAS_list () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_List::GALGAS_sint_36__34_List (const capCollectionElementArray & inSharedArray) : AC_GALGAS_list (inSharedArray) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_sint_36__34_List GALGAS_sint_36__34_List::class_func_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_sint_36__34_List (capCollectionElementArray ()) ; +GALGAS_sint_36__34_List GALGAS_sint_36__34_List::constructor_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_sint_36__34_List (capCollectionElementArray ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_sint_36__34_List GALGAS_sint_36__34_List::class_func_listWithValue (const GALGAS_location & inOperand0, - const GALGAS_sint_36__34_ & inOperand1 - COMMA_LOCATION_ARGS) { +GALGAS_sint_36__34_List GALGAS_sint_36__34_List::constructor_listWithValue (const GALGAS_location & inOperand0, + const GALGAS_sint_36__34_ & inOperand1 + COMMA_LOCATION_ARGS) { GALGAS_sint_36__34_List result ; if (inOperand0.isValid () && inOperand1.isValid ()) { result = GALGAS_sint_36__34_List (capCollectionElementArray ()) ; @@ -12405,7 +12696,7 @@ GALGAS_sint_36__34_List GALGAS_sint_36__34_List::class_func_listWithValue (const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_36__34_List::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_location & in_location, @@ -12418,7 +12709,7 @@ void GALGAS_sint_36__34_List::makeAttributesFromObjects (capCollectionElement & macroDetachSharedObject (p) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_36__34_List::addAssign_operation (const GALGAS_location & inOperand0, const GALGAS_sint_36__34_ & inOperand1 @@ -12433,11 +12724,11 @@ void GALGAS_sint_36__34_List::addAssign_operation (const GALGAS_location & inOpe } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_36__34_List::setter_append (const GALGAS_location inOperand0, const GALGAS_sint_36__34_ inOperand1, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -12449,12 +12740,12 @@ void GALGAS_sint_36__34_List::setter_append (const GALGAS_location inOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_36__34_List::setter_insertAtIndex (const GALGAS_location inOperand0, const GALGAS_sint_36__34_ inOperand1, const GALGAS_uint inInsertionIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid () && inOperand1.isValid ()) { @@ -12470,12 +12761,12 @@ void GALGAS_sint_36__34_List::setter_insertAtIndex (const GALGAS_location inOper } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_36__34_List::setter_removeAtIndex (GALGAS_location & outOperand0, GALGAS_sint_36__34_ & outOperand1, const GALGAS_uint inRemoveIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -12502,11 +12793,11 @@ void GALGAS_sint_36__34_List::setter_removeAtIndex (GALGAS_location & outOperand } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_36__34_List::setter_popFirst (GALGAS_location & outOperand0, GALGAS_sint_36__34_ & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -12521,11 +12812,11 @@ void GALGAS_sint_36__34_List::setter_popFirst (GALGAS_location & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_36__34_List::setter_popLast (GALGAS_location & outOperand0, GALGAS_sint_36__34_ & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -12540,11 +12831,11 @@ void GALGAS_sint_36__34_List::setter_popLast (GALGAS_location & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_36__34_List::method_first (GALGAS_location & outOperand0, GALGAS_sint_36__34_ & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -12559,11 +12850,11 @@ void GALGAS_sint_36__34_List::method_first (GALGAS_location & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_36__34_List::method_last (GALGAS_location & outOperand0, GALGAS_sint_36__34_ & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -12578,10 +12869,10 @@ void GALGAS_sint_36__34_List::method_last (GALGAS_location & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_List GALGAS_sint_36__34_List::add_operation (const GALGAS_sint_36__34_List & inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_sint_36__34_List result ; if (isValid () && inOperand.isValid ()) { @@ -12591,49 +12882,49 @@ GALGAS_sint_36__34_List GALGAS_sint_36__34_List::add_operation (const GALGAS_sin return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_List GALGAS_sint_36__34_List::getter_subListWithRange (const GALGAS_range & inRange, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_sint_36__34_List result = GALGAS_sint_36__34_List::class_func_emptyList (THERE) ; + GALGAS_sint_36__34_List result = GALGAS_sint_36__34_List::constructor_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_List GALGAS_sint_36__34_List::getter_subListFromIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_sint_36__34_List result = GALGAS_sint_36__34_List::class_func_emptyList (THERE) ; + GALGAS_sint_36__34_List result = GALGAS_sint_36__34_List::constructor_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_List GALGAS_sint_36__34_List::getter_subListToIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_sint_36__34_List result = GALGAS_sint_36__34_List::class_func_emptyList (THERE) ; + GALGAS_sint_36__34_List result = GALGAS_sint_36__34_List::constructor_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_36__34_List::plusAssign_operation (const GALGAS_sint_36__34_List inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_36__34_List::setter_setLocationAtIndex (GALGAS_location inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_sint_36__34_List * p = (cCollectionElement_sint_36__34_List *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -12643,10 +12934,10 @@ void GALGAS_sint_36__34_List::setter_setLocationAtIndex (GALGAS_location inOpera } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_location GALGAS_sint_36__34_List::getter_locationAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_sint_36__34_List * p = (cCollectionElement_sint_36__34_List *) attributes.ptr () ; @@ -12658,11 +12949,11 @@ GALGAS_location GALGAS_sint_36__34_List::getter_locationAtIndex (const GALGAS_ui return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_36__34_List::setter_setValueAtIndex (GALGAS_sint_36__34_ inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_sint_36__34_List * p = (cCollectionElement_sint_36__34_List *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -12672,10 +12963,10 @@ void GALGAS_sint_36__34_List::setter_setValueAtIndex (GALGAS_sint_36__34_ inOper } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_ GALGAS_sint_36__34_List::getter_valueAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_sint_36__34_List * p = (cCollectionElement_sint_36__34_List *) attributes.ptr () ; @@ -12689,7 +12980,7 @@ GALGAS_sint_36__34_ GALGAS_sint_36__34_List::getter_valueAtIndex (const GALGAS_u -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_sint_36__34_List::cEnumerator_sint_36__34_List (const GALGAS_sint_36__34_List & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -12697,7 +12988,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_List_2D_element cEnumerator_sint_36__34_List::current (LOCATION_ARGS) const { const cCollectionElement_sint_36__34_List * p = (const cCollectionElement_sint_36__34_List *) currentObjectPtr (THERE) ; @@ -12706,7 +12997,7 @@ GALGAS_sint_36__34_List_2D_element cEnumerator_sint_36__34_List::current (LOCATI } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_location cEnumerator_sint_36__34_List::current_location (LOCATION_ARGS) const { const cCollectionElement_sint_36__34_List * p = (const cCollectionElement_sint_36__34_List *) currentObjectPtr (THERE) ; @@ -12714,7 +13005,7 @@ GALGAS_location cEnumerator_sint_36__34_List::current_location (LOCATION_ARGS) c return p->mObject.mProperty_location ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_ cEnumerator_sint_36__34_List::current_value (LOCATION_ARGS) const { const cCollectionElement_sint_36__34_List * p = (const cCollectionElement_sint_36__34_List *) currentObjectPtr (THERE) ; @@ -12725,22 +13016,23 @@ GALGAS_sint_36__34_ cEnumerator_sint_36__34_List::current_value (LOCATION_ARGS) -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @sint64List generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_sint_36__34_List ("sint64List", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_sint_36__34_List ("sint64List", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_sint_36__34_List::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_sint_36__34_List ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_sint_36__34_List::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -12750,10 +13042,10 @@ AC_GALGAS_root * GALGAS_sint_36__34_List::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_List GALGAS_sint_36__34_List::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_sint_36__34_List result ; const GALGAS_sint_36__34_List * p = (const GALGAS_sint_36__34_List *) inObject.embeddedObject () ; @@ -12767,16 +13059,16 @@ GALGAS_sint_36__34_List GALGAS_sint_36__34_List::extractObject (const GALGAS_obj return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Class for element of '@floatList' list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cCollectionElement_floatList : public cCollectionElement { public: GALGAS_floatList_2D_element mObject ; -//--- Class functions +//--- Constructors public: cCollectionElement_floatList (const GALGAS_location & in_location, const GALGAS_double & in_value COMMA_LOCATION_ARGS) ; @@ -12792,10 +13084,10 @@ class cCollectionElement_floatList : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_floatList::cCollectionElement_floatList (const GALGAS_location & in_location, const GALGAS_double & in_value @@ -12804,20 +13096,20 @@ cCollectionElement (THERE), mObject (in_location, in_value) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_floatList::cCollectionElement_floatList (const GALGAS_floatList_2D_element & inElement COMMA_LOCATION_ARGS) : cCollectionElement (THERE), mObject (inElement.mProperty_location, inElement.mProperty_value) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cCollectionElement_floatList::isValid (void) const { return true ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement * cCollectionElement_floatList::copy (void) { cCollectionElement * result = nullptr ; @@ -12825,20 +13117,20 @@ cCollectionElement * cCollectionElement_floatList::copy (void) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cCollectionElement_floatList::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("location" ":") ; +void cCollectionElement_floatList::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "location" ":" ; mObject.mProperty_location.description (ioString, inIndentation) ; - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("value" ":") ; + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "value" ":" ; mObject.mProperty_value.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_floatList::compare (const cCollectionElement * inOperand) const { cCollectionElement_floatList * operand = (cCollectionElement_floatList *) inOperand ; @@ -12846,29 +13138,29 @@ typeComparisonResult cCollectionElement_floatList::compare (const cCollectionEle return mObject.objectCompare (operand->mObject) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_floatList::GALGAS_floatList (void) : AC_GALGAS_list () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_floatList::GALGAS_floatList (const capCollectionElementArray & inSharedArray) : AC_GALGAS_list (inSharedArray) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_floatList GALGAS_floatList::class_func_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_floatList (capCollectionElementArray ()) ; +GALGAS_floatList GALGAS_floatList::constructor_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_floatList (capCollectionElementArray ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_floatList GALGAS_floatList::class_func_listWithValue (const GALGAS_location & inOperand0, - const GALGAS_double & inOperand1 - COMMA_LOCATION_ARGS) { +GALGAS_floatList GALGAS_floatList::constructor_listWithValue (const GALGAS_location & inOperand0, + const GALGAS_double & inOperand1 + COMMA_LOCATION_ARGS) { GALGAS_floatList result ; if (inOperand0.isValid () && inOperand1.isValid ()) { result = GALGAS_floatList (capCollectionElementArray ()) ; @@ -12879,7 +13171,7 @@ GALGAS_floatList GALGAS_floatList::class_func_listWithValue (const GALGAS_locati return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_floatList::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_location & in_location, @@ -12892,7 +13184,7 @@ void GALGAS_floatList::makeAttributesFromObjects (capCollectionElement & outAttr macroDetachSharedObject (p) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_floatList::addAssign_operation (const GALGAS_location & inOperand0, const GALGAS_double & inOperand1 @@ -12907,11 +13199,11 @@ void GALGAS_floatList::addAssign_operation (const GALGAS_location & inOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_floatList::setter_append (const GALGAS_location inOperand0, const GALGAS_double inOperand1, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -12923,12 +13215,12 @@ void GALGAS_floatList::setter_append (const GALGAS_location inOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_floatList::setter_insertAtIndex (const GALGAS_location inOperand0, const GALGAS_double inOperand1, const GALGAS_uint inInsertionIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid () && inOperand1.isValid ()) { @@ -12944,12 +13236,12 @@ void GALGAS_floatList::setter_insertAtIndex (const GALGAS_location inOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_floatList::setter_removeAtIndex (GALGAS_location & outOperand0, GALGAS_double & outOperand1, const GALGAS_uint inRemoveIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -12976,11 +13268,11 @@ void GALGAS_floatList::setter_removeAtIndex (GALGAS_location & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_floatList::setter_popFirst (GALGAS_location & outOperand0, GALGAS_double & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -12995,11 +13287,11 @@ void GALGAS_floatList::setter_popFirst (GALGAS_location & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_floatList::setter_popLast (GALGAS_location & outOperand0, GALGAS_double & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -13014,11 +13306,11 @@ void GALGAS_floatList::setter_popLast (GALGAS_location & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_floatList::method_first (GALGAS_location & outOperand0, GALGAS_double & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -13033,11 +13325,11 @@ void GALGAS_floatList::method_first (GALGAS_location & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_floatList::method_last (GALGAS_location & outOperand0, GALGAS_double & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -13052,10 +13344,10 @@ void GALGAS_floatList::method_last (GALGAS_location & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_floatList GALGAS_floatList::add_operation (const GALGAS_floatList & inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_floatList result ; if (isValid () && inOperand.isValid ()) { @@ -13065,49 +13357,49 @@ GALGAS_floatList GALGAS_floatList::add_operation (const GALGAS_floatList & inOpe return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_floatList GALGAS_floatList::getter_subListWithRange (const GALGAS_range & inRange, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_floatList result = GALGAS_floatList::class_func_emptyList (THERE) ; + GALGAS_floatList result = GALGAS_floatList::constructor_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_floatList GALGAS_floatList::getter_subListFromIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_floatList result = GALGAS_floatList::class_func_emptyList (THERE) ; + GALGAS_floatList result = GALGAS_floatList::constructor_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_floatList GALGAS_floatList::getter_subListToIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_floatList result = GALGAS_floatList::class_func_emptyList (THERE) ; + GALGAS_floatList result = GALGAS_floatList::constructor_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_floatList::plusAssign_operation (const GALGAS_floatList inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_floatList::setter_setLocationAtIndex (GALGAS_location inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_floatList * p = (cCollectionElement_floatList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -13117,10 +13409,10 @@ void GALGAS_floatList::setter_setLocationAtIndex (GALGAS_location inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_location GALGAS_floatList::getter_locationAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_floatList * p = (cCollectionElement_floatList *) attributes.ptr () ; @@ -13132,11 +13424,11 @@ GALGAS_location GALGAS_floatList::getter_locationAtIndex (const GALGAS_uint & in return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_floatList::setter_setValueAtIndex (GALGAS_double inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_floatList * p = (cCollectionElement_floatList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -13146,10 +13438,10 @@ void GALGAS_floatList::setter_setValueAtIndex (GALGAS_double inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_floatList::getter_valueAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_floatList * p = (cCollectionElement_floatList *) attributes.ptr () ; @@ -13163,7 +13455,7 @@ GALGAS_double GALGAS_floatList::getter_valueAtIndex (const GALGAS_uint & inIndex -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_floatList::cEnumerator_floatList (const GALGAS_floatList & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -13171,7 +13463,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_floatList_2D_element cEnumerator_floatList::current (LOCATION_ARGS) const { const cCollectionElement_floatList * p = (const cCollectionElement_floatList *) currentObjectPtr (THERE) ; @@ -13180,7 +13472,7 @@ GALGAS_floatList_2D_element cEnumerator_floatList::current (LOCATION_ARGS) const } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_location cEnumerator_floatList::current_location (LOCATION_ARGS) const { const cCollectionElement_floatList * p = (const cCollectionElement_floatList *) currentObjectPtr (THERE) ; @@ -13188,7 +13480,7 @@ GALGAS_location cEnumerator_floatList::current_location (LOCATION_ARGS) const { return p->mObject.mProperty_location ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_double cEnumerator_floatList::current_value (LOCATION_ARGS) const { const cCollectionElement_floatList * p = (const cCollectionElement_floatList *) currentObjectPtr (THERE) ; @@ -13199,22 +13491,23 @@ GALGAS_double cEnumerator_floatList::current_value (LOCATION_ARGS) const { -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @floatList generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_floatList ("floatList", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_floatList ("floatList", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_floatList::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_floatList ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_floatList::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -13224,10 +13517,10 @@ AC_GALGAS_root * GALGAS_floatList::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_floatList GALGAS_floatList::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_floatList result ; const GALGAS_floatList * p = (const GALGAS_floatList *) inObject.embeddedObject () ; @@ -13241,16 +13534,16 @@ GALGAS_floatList GALGAS_floatList::extractObject (const GALGAS_object & inObject return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Class for element of '@numberList' list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cCollectionElement_numberList : public cCollectionElement { public: GALGAS_numberList_2D_element mObject ; -//--- Class functions +//--- Constructors public: cCollectionElement_numberList (const GALGAS_location & in_location, const GALGAS_object_5F_t & in_value COMMA_LOCATION_ARGS) ; @@ -13266,10 +13559,10 @@ class cCollectionElement_numberList : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_numberList::cCollectionElement_numberList (const GALGAS_location & in_location, const GALGAS_object_5F_t & in_value @@ -13278,20 +13571,20 @@ cCollectionElement (THERE), mObject (in_location, in_value) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement_numberList::cCollectionElement_numberList (const GALGAS_numberList_2D_element & inElement COMMA_LOCATION_ARGS) : cCollectionElement (THERE), mObject (inElement.mProperty_location, inElement.mProperty_value) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- bool cCollectionElement_numberList::isValid (void) const { return true ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cCollectionElement * cCollectionElement_numberList::copy (void) { cCollectionElement * result = nullptr ; @@ -13299,20 +13592,20 @@ cCollectionElement * cCollectionElement_numberList::copy (void) { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cCollectionElement_numberList::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("location" ":") ; +void cCollectionElement_numberList::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "location" ":" ; mObject.mProperty_location.description (ioString, inIndentation) ; - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("value" ":") ; + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "value" ":" ; mObject.mProperty_value.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_numberList::compare (const cCollectionElement * inOperand) const { cCollectionElement_numberList * operand = (cCollectionElement_numberList *) inOperand ; @@ -13320,29 +13613,29 @@ typeComparisonResult cCollectionElement_numberList::compare (const cCollectionEl return mObject.objectCompare (operand->mObject) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_numberList::GALGAS_numberList (void) : AC_GALGAS_list () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_numberList::GALGAS_numberList (const capCollectionElementArray & inSharedArray) : AC_GALGAS_list (inSharedArray) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_numberList GALGAS_numberList::class_func_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_numberList (capCollectionElementArray ()) ; +GALGAS_numberList GALGAS_numberList::constructor_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_numberList (capCollectionElementArray ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_numberList GALGAS_numberList::class_func_listWithValue (const GALGAS_location & inOperand0, - const GALGAS_object_5F_t & inOperand1 - COMMA_LOCATION_ARGS) { +GALGAS_numberList GALGAS_numberList::constructor_listWithValue (const GALGAS_location & inOperand0, + const GALGAS_object_5F_t & inOperand1 + COMMA_LOCATION_ARGS) { GALGAS_numberList result ; if (inOperand0.isValid () && inOperand1.isValid ()) { result = GALGAS_numberList (capCollectionElementArray ()) ; @@ -13353,7 +13646,7 @@ GALGAS_numberList GALGAS_numberList::class_func_listWithValue (const GALGAS_loca return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_numberList::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_location & in_location, @@ -13366,7 +13659,7 @@ void GALGAS_numberList::makeAttributesFromObjects (capCollectionElement & outAtt macroDetachSharedObject (p) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_numberList::addAssign_operation (const GALGAS_location & inOperand0, const GALGAS_object_5F_t & inOperand1 @@ -13381,11 +13674,11 @@ void GALGAS_numberList::addAssign_operation (const GALGAS_location & inOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_numberList::setter_append (const GALGAS_location inOperand0, const GALGAS_object_5F_t inOperand1, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -13397,12 +13690,12 @@ void GALGAS_numberList::setter_append (const GALGAS_location inOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_numberList::setter_insertAtIndex (const GALGAS_location inOperand0, const GALGAS_object_5F_t inOperand1, const GALGAS_uint inInsertionIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid () && inOperand1.isValid ()) { @@ -13418,12 +13711,12 @@ void GALGAS_numberList::setter_insertAtIndex (const GALGAS_location inOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_numberList::setter_removeAtIndex (GALGAS_location & outOperand0, GALGAS_object_5F_t & outOperand1, const GALGAS_uint inRemoveIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -13450,11 +13743,11 @@ void GALGAS_numberList::setter_removeAtIndex (GALGAS_location & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_numberList::setter_popFirst (GALGAS_location & outOperand0, GALGAS_object_5F_t & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -13469,11 +13762,11 @@ void GALGAS_numberList::setter_popFirst (GALGAS_location & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_numberList::setter_popLast (GALGAS_location & outOperand0, GALGAS_object_5F_t & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -13488,11 +13781,11 @@ void GALGAS_numberList::setter_popLast (GALGAS_location & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_numberList::method_first (GALGAS_location & outOperand0, GALGAS_object_5F_t & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -13507,11 +13800,11 @@ void GALGAS_numberList::method_first (GALGAS_location & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_numberList::method_last (GALGAS_location & outOperand0, GALGAS_object_5F_t & outOperand1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -13526,10 +13819,10 @@ void GALGAS_numberList::method_last (GALGAS_location & outOperand0, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_numberList GALGAS_numberList::add_operation (const GALGAS_numberList & inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_numberList result ; if (isValid () && inOperand.isValid ()) { @@ -13539,49 +13832,49 @@ GALGAS_numberList GALGAS_numberList::add_operation (const GALGAS_numberList & in return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_numberList GALGAS_numberList::getter_subListWithRange (const GALGAS_range & inRange, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_numberList result = GALGAS_numberList::class_func_emptyList (THERE) ; + GALGAS_numberList result = GALGAS_numberList::constructor_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_numberList GALGAS_numberList::getter_subListFromIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_numberList result = GALGAS_numberList::class_func_emptyList (THERE) ; + GALGAS_numberList result = GALGAS_numberList::constructor_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_numberList GALGAS_numberList::getter_subListToIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_numberList result = GALGAS_numberList::class_func_emptyList (THERE) ; + GALGAS_numberList result = GALGAS_numberList::constructor_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_numberList::plusAssign_operation (const GALGAS_numberList inOperand, - Compiler * /* inCompiler */ + C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_numberList::setter_setLocationAtIndex (GALGAS_location inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_numberList * p = (cCollectionElement_numberList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -13591,10 +13884,10 @@ void GALGAS_numberList::setter_setLocationAtIndex (GALGAS_location inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_location GALGAS_numberList::getter_locationAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_numberList * p = (cCollectionElement_numberList *) attributes.ptr () ; @@ -13606,11 +13899,11 @@ GALGAS_location GALGAS_numberList::getter_locationAtIndex (const GALGAS_uint & i return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_numberList::setter_setValueAtIndex (GALGAS_object_5F_t inOperand, GALGAS_uint inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_numberList * p = (cCollectionElement_numberList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -13620,10 +13913,10 @@ void GALGAS_numberList::setter_setValueAtIndex (GALGAS_object_5F_t inOperand, } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_object_5F_t GALGAS_numberList::getter_valueAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_numberList * p = (cCollectionElement_numberList *) attributes.ptr () ; @@ -13637,7 +13930,7 @@ GALGAS_object_5F_t GALGAS_numberList::getter_valueAtIndex (const GALGAS_uint & i -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cEnumerator_numberList::cEnumerator_numberList (const GALGAS_numberList & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -13645,7 +13938,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_numberList_2D_element cEnumerator_numberList::current (LOCATION_ARGS) const { const cCollectionElement_numberList * p = (const cCollectionElement_numberList *) currentObjectPtr (THERE) ; @@ -13654,7 +13947,7 @@ GALGAS_numberList_2D_element cEnumerator_numberList::current (LOCATION_ARGS) con } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_location cEnumerator_numberList::current_location (LOCATION_ARGS) const { const cCollectionElement_numberList * p = (const cCollectionElement_numberList *) currentObjectPtr (THERE) ; @@ -13662,7 +13955,7 @@ GALGAS_location cEnumerator_numberList::current_location (LOCATION_ARGS) const { return p->mObject.mProperty_location ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_object_5F_t cEnumerator_numberList::current_value (LOCATION_ARGS) const { const cCollectionElement_numberList * p = (const cCollectionElement_numberList *) currentObjectPtr (THERE) ; @@ -13673,22 +13966,23 @@ GALGAS_object_5F_t cEnumerator_numberList::current_value (LOCATION_ARGS) const { -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @numberList generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_numberList ("numberList", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_numberList ("numberList", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_numberList::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_numberList ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_numberList::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -13698,10 +13992,10 @@ AC_GALGAS_root * GALGAS_numberList::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_numberList GALGAS_numberList::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_numberList result ; const GALGAS_numberList * p = (const GALGAS_numberList *) inObject.embeddedObject () ; @@ -13715,9 +14009,9 @@ GALGAS_numberList GALGAS_numberList::extractObject (const GALGAS_object & inObje return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- @@ -13737,19 +14031,19 @@ typeComparisonResult GALGAS_attributeRange::objectCompare (const GALGAS_attribut return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_attributeRange::GALGAS_attributeRange (void) : AC_GALGAS_value_class () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_attributeRange::GALGAS_attributeRange (const cPtr_attributeRange * inSourcePtr) : AC_GALGAS_value_class (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_attributeRange) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_location GALGAS_attributeRange::readProperty_location (void) const { if (nullptr == mObjectPtr) { @@ -13761,13 +14055,13 @@ GALGAS_location GALGAS_attributeRange::readProperty_location (void) const { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_location cPtr_attributeRange::getter_location (UNUSED_LOCATION_ARGS) const { return mProperty_location ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_attributeRange::setter_setLocation (GALGAS_location inValue COMMA_LOCATION_ARGS) { @@ -13779,16 +14073,16 @@ void GALGAS_attributeRange::setter_setLocation (GALGAS_location inValue } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_attributeRange::setter_setLocation (GALGAS_location inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_location = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @attributeRange class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_attributeRange::cPtr_attributeRange (const GALGAS_location & in_location COMMA_LOCATION_ARGS) : @@ -13797,22 +14091,23 @@ mProperty_location (in_location) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @attributeRange generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_attributeRange ("attributeRange", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_attributeRange ("attributeRange", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_attributeRange::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_attributeRange ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_attributeRange::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -13822,10 +14117,10 @@ AC_GALGAS_root * GALGAS_attributeRange::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_attributeRange GALGAS_attributeRange::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_attributeRange result ; const GALGAS_attributeRange * p = (const GALGAS_attributeRange *) inObject.embeddedObject () ; @@ -13839,16 +14134,16 @@ GALGAS_attributeRange GALGAS_attributeRange::extractObject (const GALGAS_object return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension method '@attributeRange enclose' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionMethod_enclose (cPtr_attributeRange * inObject, GALGAS_bool & out_isWithin, const GALGAS_attributeRange constin_value, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { //--- Drop output arguments out_isWithin.drop () ; @@ -13858,9 +14153,9 @@ void callExtensionMethod_enclose (cPtr_attributeRange * inObject, inObject->method_enclose (out_isWithin, constin_value, inCompiler COMMA_THERE) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_noRange::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -13872,7 +14167,7 @@ typeComparisonResult cPtr_noRange::dynamicObjectCompare (const acPtr_class * inO return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_noRange::objectCompare (const GALGAS_noRange & inOperand) const { @@ -13891,22 +14186,29 @@ typeComparisonResult GALGAS_noRange::objectCompare (const GALGAS_noRange & inOpe return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_noRange::GALGAS_noRange (void) : GALGAS_attributeRange () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_noRange GALGAS_noRange::constructor_default (LOCATION_ARGS) { + return GALGAS_noRange::constructor_new (GALGAS_location::constructor_nowhere (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_noRange::GALGAS_noRange (const cPtr_noRange * inSourcePtr) : GALGAS_attributeRange (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_noRange) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_noRange GALGAS_noRange::class_func_new (const GALGAS_location & inAttribute_location - COMMA_LOCATION_ARGS) { +GALGAS_noRange GALGAS_noRange::constructor_new (const GALGAS_location & inAttribute_location + COMMA_LOCATION_ARGS) { GALGAS_noRange result ; if (inAttribute_location.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_noRange (inAttribute_location COMMA_THERE)) ; @@ -13914,29 +14216,29 @@ GALGAS_noRange GALGAS_noRange::class_func_new (const GALGAS_location & inAttribu return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @noRange class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_noRange::cPtr_noRange (const GALGAS_location & in_location COMMA_LOCATION_ARGS) : cPtr_attributeRange (in_location COMMA_THERE) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_noRange::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_noRange ; } -void cPtr_noRange::description (String & ioString, +void cPtr_noRange::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@noRange:") ; + ioString << "[@noRange:" ; mProperty_location.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_noRange::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -13945,22 +14247,23 @@ acPtr_class * cPtr_noRange::duplicate (LOCATION_ARGS) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @noRange generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_noRange ("noRange", - & kTypeDescriptor_GALGAS_attributeRange) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_noRange ("noRange", + & kTypeDescriptor_GALGAS_attributeRange) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_noRange::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_noRange ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_noRange::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -13970,10 +14273,10 @@ AC_GALGAS_root * GALGAS_noRange::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_noRange GALGAS_noRange::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_noRange result ; const GALGAS_noRange * p = (const GALGAS_noRange *) inObject.embeddedObject () ; @@ -13987,9 +14290,9 @@ GALGAS_noRange GALGAS_noRange::extractObject (const GALGAS_object & inObject, return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_uint_33__32_AttributeSet::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -14004,7 +14307,7 @@ typeComparisonResult cPtr_uint_33__32_AttributeSet::dynamicObjectCompare (const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_uint_33__32_AttributeSet::objectCompare (const GALGAS_uint_33__32_AttributeSet & inOperand) const { @@ -14023,23 +14326,31 @@ typeComparisonResult GALGAS_uint_33__32_AttributeSet::objectCompare (const GALGA return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_33__32_AttributeSet::GALGAS_uint_33__32_AttributeSet (void) : GALGAS_attributeRange () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_uint_33__32_AttributeSet GALGAS_uint_33__32_AttributeSet::constructor_default (LOCATION_ARGS) { + return GALGAS_uint_33__32_AttributeSet::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_uint_33__32_List::constructor_emptyList (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_33__32_AttributeSet::GALGAS_uint_33__32_AttributeSet (const cPtr_uint_33__32_AttributeSet * inSourcePtr) : GALGAS_attributeRange (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_uint_33__32_AttributeSet) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint_33__32_AttributeSet GALGAS_uint_33__32_AttributeSet::class_func_new (const GALGAS_location & inAttribute_location, - const GALGAS_uint_33__32_List & inAttribute_valueList - COMMA_LOCATION_ARGS) { +GALGAS_uint_33__32_AttributeSet GALGAS_uint_33__32_AttributeSet::constructor_new (const GALGAS_location & inAttribute_location, + const GALGAS_uint_33__32_List & inAttribute_valueList + COMMA_LOCATION_ARGS) { GALGAS_uint_33__32_AttributeSet result ; if (inAttribute_location.isValid () && inAttribute_valueList.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_uint_33__32_AttributeSet (inAttribute_location, inAttribute_valueList COMMA_THERE)) ; @@ -14047,7 +14358,7 @@ GALGAS_uint_33__32_AttributeSet GALGAS_uint_33__32_AttributeSet::class_func_new return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_33__32_List GALGAS_uint_33__32_AttributeSet::readProperty_valueList (void) const { if (nullptr == mObjectPtr) { @@ -14059,13 +14370,13 @@ GALGAS_uint_33__32_List GALGAS_uint_33__32_AttributeSet::readProperty_valueList } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_33__32_List cPtr_uint_33__32_AttributeSet::getter_valueList (UNUSED_LOCATION_ARGS) const { return mProperty_valueList ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_33__32_AttributeSet::setter_setValueList (GALGAS_uint_33__32_List inValue COMMA_LOCATION_ARGS) { @@ -14077,16 +14388,16 @@ void GALGAS_uint_33__32_AttributeSet::setter_setValueList (GALGAS_uint_33__32_Li } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_uint_33__32_AttributeSet::setter_setValueList (GALGAS_uint_33__32_List inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_valueList = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @uint32AttributeSet class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_uint_33__32_AttributeSet::cPtr_uint_33__32_AttributeSet (const GALGAS_location & in_location, const GALGAS_uint_33__32_List & in_valueList @@ -14095,22 +14406,22 @@ cPtr_attributeRange (in_location COMMA_THERE), mProperty_valueList (in_valueList) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_uint_33__32_AttributeSet::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_uint_33__32_AttributeSet ; } -void cPtr_uint_33__32_AttributeSet::description (String & ioString, +void cPtr_uint_33__32_AttributeSet::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@uint32AttributeSet:") ; + ioString << "[@uint32AttributeSet:" ; mProperty_location.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_valueList.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_uint_33__32_AttributeSet::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -14119,22 +14430,23 @@ acPtr_class * cPtr_uint_33__32_AttributeSet::duplicate (LOCATION_ARGS) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @uint32AttributeSet generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_uint_33__32_AttributeSet ("uint32AttributeSet", - & kTypeDescriptor_GALGAS_attributeRange) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_uint_33__32_AttributeSet ("uint32AttributeSet", + & kTypeDescriptor_GALGAS_attributeRange) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_uint_33__32_AttributeSet::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_uint_33__32_AttributeSet ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_uint_33__32_AttributeSet::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -14144,10 +14456,10 @@ AC_GALGAS_root * GALGAS_uint_33__32_AttributeSet::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_33__32_AttributeSet GALGAS_uint_33__32_AttributeSet::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_uint_33__32_AttributeSet result ; const GALGAS_uint_33__32_AttributeSet * p = (const GALGAS_uint_33__32_AttributeSet *) inObject.embeddedObject () ; @@ -14161,9 +14473,9 @@ GALGAS_uint_33__32_AttributeSet GALGAS_uint_33__32_AttributeSet::extractObject ( return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_uint_36__34_AttributeSet::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -14178,7 +14490,7 @@ typeComparisonResult cPtr_uint_36__34_AttributeSet::dynamicObjectCompare (const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_uint_36__34_AttributeSet::objectCompare (const GALGAS_uint_36__34_AttributeSet & inOperand) const { @@ -14197,23 +14509,31 @@ typeComparisonResult GALGAS_uint_36__34_AttributeSet::objectCompare (const GALGA return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_AttributeSet::GALGAS_uint_36__34_AttributeSet (void) : GALGAS_attributeRange () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_uint_36__34_AttributeSet GALGAS_uint_36__34_AttributeSet::constructor_default (LOCATION_ARGS) { + return GALGAS_uint_36__34_AttributeSet::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_uint_36__34_List::constructor_emptyList (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_AttributeSet::GALGAS_uint_36__34_AttributeSet (const cPtr_uint_36__34_AttributeSet * inSourcePtr) : GALGAS_attributeRange (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_uint_36__34_AttributeSet) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint_36__34_AttributeSet GALGAS_uint_36__34_AttributeSet::class_func_new (const GALGAS_location & inAttribute_location, - const GALGAS_uint_36__34_List & inAttribute_valueList - COMMA_LOCATION_ARGS) { +GALGAS_uint_36__34_AttributeSet GALGAS_uint_36__34_AttributeSet::constructor_new (const GALGAS_location & inAttribute_location, + const GALGAS_uint_36__34_List & inAttribute_valueList + COMMA_LOCATION_ARGS) { GALGAS_uint_36__34_AttributeSet result ; if (inAttribute_location.isValid () && inAttribute_valueList.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_uint_36__34_AttributeSet (inAttribute_location, inAttribute_valueList COMMA_THERE)) ; @@ -14221,7 +14541,7 @@ GALGAS_uint_36__34_AttributeSet GALGAS_uint_36__34_AttributeSet::class_func_new return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_List GALGAS_uint_36__34_AttributeSet::readProperty_valueList (void) const { if (nullptr == mObjectPtr) { @@ -14233,13 +14553,13 @@ GALGAS_uint_36__34_List GALGAS_uint_36__34_AttributeSet::readProperty_valueList } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_List cPtr_uint_36__34_AttributeSet::getter_valueList (UNUSED_LOCATION_ARGS) const { return mProperty_valueList ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_36__34_AttributeSet::setter_setValueList (GALGAS_uint_36__34_List inValue COMMA_LOCATION_ARGS) { @@ -14251,16 +14571,16 @@ void GALGAS_uint_36__34_AttributeSet::setter_setValueList (GALGAS_uint_36__34_Li } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_uint_36__34_AttributeSet::setter_setValueList (GALGAS_uint_36__34_List inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_valueList = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @uint64AttributeSet class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_uint_36__34_AttributeSet::cPtr_uint_36__34_AttributeSet (const GALGAS_location & in_location, const GALGAS_uint_36__34_List & in_valueList @@ -14269,22 +14589,22 @@ cPtr_attributeRange (in_location COMMA_THERE), mProperty_valueList (in_valueList) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_uint_36__34_AttributeSet::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_uint_36__34_AttributeSet ; } -void cPtr_uint_36__34_AttributeSet::description (String & ioString, +void cPtr_uint_36__34_AttributeSet::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@uint64AttributeSet:") ; + ioString << "[@uint64AttributeSet:" ; mProperty_location.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_valueList.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_uint_36__34_AttributeSet::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -14293,22 +14613,23 @@ acPtr_class * cPtr_uint_36__34_AttributeSet::duplicate (LOCATION_ARGS) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @uint64AttributeSet generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_uint_36__34_AttributeSet ("uint64AttributeSet", - & kTypeDescriptor_GALGAS_attributeRange) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_uint_36__34_AttributeSet ("uint64AttributeSet", + & kTypeDescriptor_GALGAS_attributeRange) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_uint_36__34_AttributeSet::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_uint_36__34_AttributeSet ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_uint_36__34_AttributeSet::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -14318,10 +14639,10 @@ AC_GALGAS_root * GALGAS_uint_36__34_AttributeSet::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_AttributeSet GALGAS_uint_36__34_AttributeSet::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_uint_36__34_AttributeSet result ; const GALGAS_uint_36__34_AttributeSet * p = (const GALGAS_uint_36__34_AttributeSet *) inObject.embeddedObject () ; @@ -14335,9 +14656,9 @@ GALGAS_uint_36__34_AttributeSet GALGAS_uint_36__34_AttributeSet::extractObject ( return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_sint_33__32_AttributeSet::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -14352,7 +14673,7 @@ typeComparisonResult cPtr_sint_33__32_AttributeSet::dynamicObjectCompare (const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_sint_33__32_AttributeSet::objectCompare (const GALGAS_sint_33__32_AttributeSet & inOperand) const { @@ -14371,23 +14692,31 @@ typeComparisonResult GALGAS_sint_33__32_AttributeSet::objectCompare (const GALGA return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_33__32_AttributeSet::GALGAS_sint_33__32_AttributeSet (void) : GALGAS_attributeRange () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_sint_33__32_AttributeSet GALGAS_sint_33__32_AttributeSet::constructor_default (LOCATION_ARGS) { + return GALGAS_sint_33__32_AttributeSet::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_sint_33__32_List::constructor_emptyList (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_33__32_AttributeSet::GALGAS_sint_33__32_AttributeSet (const cPtr_sint_33__32_AttributeSet * inSourcePtr) : GALGAS_attributeRange (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_sint_33__32_AttributeSet) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_sint_33__32_AttributeSet GALGAS_sint_33__32_AttributeSet::class_func_new (const GALGAS_location & inAttribute_location, - const GALGAS_sint_33__32_List & inAttribute_valueList - COMMA_LOCATION_ARGS) { +GALGAS_sint_33__32_AttributeSet GALGAS_sint_33__32_AttributeSet::constructor_new (const GALGAS_location & inAttribute_location, + const GALGAS_sint_33__32_List & inAttribute_valueList + COMMA_LOCATION_ARGS) { GALGAS_sint_33__32_AttributeSet result ; if (inAttribute_location.isValid () && inAttribute_valueList.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_sint_33__32_AttributeSet (inAttribute_location, inAttribute_valueList COMMA_THERE)) ; @@ -14395,7 +14724,7 @@ GALGAS_sint_33__32_AttributeSet GALGAS_sint_33__32_AttributeSet::class_func_new return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_33__32_List GALGAS_sint_33__32_AttributeSet::readProperty_valueList (void) const { if (nullptr == mObjectPtr) { @@ -14407,13 +14736,13 @@ GALGAS_sint_33__32_List GALGAS_sint_33__32_AttributeSet::readProperty_valueList } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_33__32_List cPtr_sint_33__32_AttributeSet::getter_valueList (UNUSED_LOCATION_ARGS) const { return mProperty_valueList ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_33__32_AttributeSet::setter_setValueList (GALGAS_sint_33__32_List inValue COMMA_LOCATION_ARGS) { @@ -14425,16 +14754,16 @@ void GALGAS_sint_33__32_AttributeSet::setter_setValueList (GALGAS_sint_33__32_Li } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_sint_33__32_AttributeSet::setter_setValueList (GALGAS_sint_33__32_List inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_valueList = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @sint32AttributeSet class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_sint_33__32_AttributeSet::cPtr_sint_33__32_AttributeSet (const GALGAS_location & in_location, const GALGAS_sint_33__32_List & in_valueList @@ -14443,22 +14772,22 @@ cPtr_attributeRange (in_location COMMA_THERE), mProperty_valueList (in_valueList) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_sint_33__32_AttributeSet::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_sint_33__32_AttributeSet ; } -void cPtr_sint_33__32_AttributeSet::description (String & ioString, +void cPtr_sint_33__32_AttributeSet::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@sint32AttributeSet:") ; + ioString << "[@sint32AttributeSet:" ; mProperty_location.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_valueList.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_sint_33__32_AttributeSet::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -14467,22 +14796,23 @@ acPtr_class * cPtr_sint_33__32_AttributeSet::duplicate (LOCATION_ARGS) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @sint32AttributeSet generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_sint_33__32_AttributeSet ("sint32AttributeSet", - & kTypeDescriptor_GALGAS_attributeRange) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_sint_33__32_AttributeSet ("sint32AttributeSet", + & kTypeDescriptor_GALGAS_attributeRange) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_sint_33__32_AttributeSet::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_sint_33__32_AttributeSet ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_sint_33__32_AttributeSet::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -14492,10 +14822,10 @@ AC_GALGAS_root * GALGAS_sint_33__32_AttributeSet::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_33__32_AttributeSet GALGAS_sint_33__32_AttributeSet::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_sint_33__32_AttributeSet result ; const GALGAS_sint_33__32_AttributeSet * p = (const GALGAS_sint_33__32_AttributeSet *) inObject.embeddedObject () ; @@ -14509,9 +14839,9 @@ GALGAS_sint_33__32_AttributeSet GALGAS_sint_33__32_AttributeSet::extractObject ( return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_sint_36__34_AttributeSet::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -14526,7 +14856,7 @@ typeComparisonResult cPtr_sint_36__34_AttributeSet::dynamicObjectCompare (const return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_sint_36__34_AttributeSet::objectCompare (const GALGAS_sint_36__34_AttributeSet & inOperand) const { @@ -14545,23 +14875,31 @@ typeComparisonResult GALGAS_sint_36__34_AttributeSet::objectCompare (const GALGA return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_AttributeSet::GALGAS_sint_36__34_AttributeSet (void) : GALGAS_attributeRange () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_sint_36__34_AttributeSet GALGAS_sint_36__34_AttributeSet::constructor_default (LOCATION_ARGS) { + return GALGAS_sint_36__34_AttributeSet::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_sint_36__34_List::constructor_emptyList (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_AttributeSet::GALGAS_sint_36__34_AttributeSet (const cPtr_sint_36__34_AttributeSet * inSourcePtr) : GALGAS_attributeRange (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_sint_36__34_AttributeSet) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_sint_36__34_AttributeSet GALGAS_sint_36__34_AttributeSet::class_func_new (const GALGAS_location & inAttribute_location, - const GALGAS_sint_36__34_List & inAttribute_valueList - COMMA_LOCATION_ARGS) { +GALGAS_sint_36__34_AttributeSet GALGAS_sint_36__34_AttributeSet::constructor_new (const GALGAS_location & inAttribute_location, + const GALGAS_sint_36__34_List & inAttribute_valueList + COMMA_LOCATION_ARGS) { GALGAS_sint_36__34_AttributeSet result ; if (inAttribute_location.isValid () && inAttribute_valueList.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_sint_36__34_AttributeSet (inAttribute_location, inAttribute_valueList COMMA_THERE)) ; @@ -14569,7 +14907,7 @@ GALGAS_sint_36__34_AttributeSet GALGAS_sint_36__34_AttributeSet::class_func_new return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_List GALGAS_sint_36__34_AttributeSet::readProperty_valueList (void) const { if (nullptr == mObjectPtr) { @@ -14581,13 +14919,13 @@ GALGAS_sint_36__34_List GALGAS_sint_36__34_AttributeSet::readProperty_valueList } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_List cPtr_sint_36__34_AttributeSet::getter_valueList (UNUSED_LOCATION_ARGS) const { return mProperty_valueList ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_sint_36__34_AttributeSet::setter_setValueList (GALGAS_sint_36__34_List inValue COMMA_LOCATION_ARGS) { @@ -14599,16 +14937,16 @@ void GALGAS_sint_36__34_AttributeSet::setter_setValueList (GALGAS_sint_36__34_Li } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_sint_36__34_AttributeSet::setter_setValueList (GALGAS_sint_36__34_List inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_valueList = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @sint64AttributeSet class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_sint_36__34_AttributeSet::cPtr_sint_36__34_AttributeSet (const GALGAS_location & in_location, const GALGAS_sint_36__34_List & in_valueList @@ -14617,22 +14955,22 @@ cPtr_attributeRange (in_location COMMA_THERE), mProperty_valueList (in_valueList) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_sint_36__34_AttributeSet::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_sint_36__34_AttributeSet ; } -void cPtr_sint_36__34_AttributeSet::description (String & ioString, +void cPtr_sint_36__34_AttributeSet::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@sint64AttributeSet:") ; + ioString << "[@sint64AttributeSet:" ; mProperty_location.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_valueList.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_sint_36__34_AttributeSet::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -14641,22 +14979,23 @@ acPtr_class * cPtr_sint_36__34_AttributeSet::duplicate (LOCATION_ARGS) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @sint64AttributeSet generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_sint_36__34_AttributeSet ("sint64AttributeSet", - & kTypeDescriptor_GALGAS_attributeRange) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_sint_36__34_AttributeSet ("sint64AttributeSet", + & kTypeDescriptor_GALGAS_attributeRange) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_sint_36__34_AttributeSet::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_sint_36__34_AttributeSet ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_sint_36__34_AttributeSet::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -14666,10 +15005,10 @@ AC_GALGAS_root * GALGAS_sint_36__34_AttributeSet::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_AttributeSet GALGAS_sint_36__34_AttributeSet::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_sint_36__34_AttributeSet result ; const GALGAS_sint_36__34_AttributeSet * p = (const GALGAS_sint_36__34_AttributeSet *) inObject.embeddedObject () ; @@ -14683,9 +15022,9 @@ GALGAS_sint_36__34_AttributeSet GALGAS_sint_36__34_AttributeSet::extractObject ( return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_floatAttributeSet::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -14700,7 +15039,7 @@ typeComparisonResult cPtr_floatAttributeSet::dynamicObjectCompare (const acPtr_c return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_floatAttributeSet::objectCompare (const GALGAS_floatAttributeSet & inOperand) const { @@ -14719,23 +15058,31 @@ typeComparisonResult GALGAS_floatAttributeSet::objectCompare (const GALGAS_float return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_floatAttributeSet::GALGAS_floatAttributeSet (void) : GALGAS_attributeRange () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_floatAttributeSet GALGAS_floatAttributeSet::constructor_default (LOCATION_ARGS) { + return GALGAS_floatAttributeSet::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_floatList::constructor_emptyList (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_floatAttributeSet::GALGAS_floatAttributeSet (const cPtr_floatAttributeSet * inSourcePtr) : GALGAS_attributeRange (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_floatAttributeSet) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_floatAttributeSet GALGAS_floatAttributeSet::class_func_new (const GALGAS_location & inAttribute_location, - const GALGAS_floatList & inAttribute_valueList - COMMA_LOCATION_ARGS) { +GALGAS_floatAttributeSet GALGAS_floatAttributeSet::constructor_new (const GALGAS_location & inAttribute_location, + const GALGAS_floatList & inAttribute_valueList + COMMA_LOCATION_ARGS) { GALGAS_floatAttributeSet result ; if (inAttribute_location.isValid () && inAttribute_valueList.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_floatAttributeSet (inAttribute_location, inAttribute_valueList COMMA_THERE)) ; @@ -14743,7 +15090,7 @@ GALGAS_floatAttributeSet GALGAS_floatAttributeSet::class_func_new (const GALGAS_ return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_floatList GALGAS_floatAttributeSet::readProperty_valueList (void) const { if (nullptr == mObjectPtr) { @@ -14755,13 +15102,13 @@ GALGAS_floatList GALGAS_floatAttributeSet::readProperty_valueList (void) const { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_floatList cPtr_floatAttributeSet::getter_valueList (UNUSED_LOCATION_ARGS) const { return mProperty_valueList ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_floatAttributeSet::setter_setValueList (GALGAS_floatList inValue COMMA_LOCATION_ARGS) { @@ -14773,16 +15120,16 @@ void GALGAS_floatAttributeSet::setter_setValueList (GALGAS_floatList inValue } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_floatAttributeSet::setter_setValueList (GALGAS_floatList inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_valueList = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @floatAttributeSet class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_floatAttributeSet::cPtr_floatAttributeSet (const GALGAS_location & in_location, const GALGAS_floatList & in_valueList @@ -14791,22 +15138,22 @@ cPtr_attributeRange (in_location COMMA_THERE), mProperty_valueList (in_valueList) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_floatAttributeSet::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_floatAttributeSet ; } -void cPtr_floatAttributeSet::description (String & ioString, +void cPtr_floatAttributeSet::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@floatAttributeSet:") ; + ioString << "[@floatAttributeSet:" ; mProperty_location.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_valueList.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_floatAttributeSet::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -14815,22 +15162,23 @@ acPtr_class * cPtr_floatAttributeSet::duplicate (LOCATION_ARGS) const { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @floatAttributeSet generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_floatAttributeSet ("floatAttributeSet", - & kTypeDescriptor_GALGAS_attributeRange) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_floatAttributeSet ("floatAttributeSet", + & kTypeDescriptor_GALGAS_attributeRange) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_floatAttributeSet::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_floatAttributeSet ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_floatAttributeSet::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -14840,10 +15188,10 @@ AC_GALGAS_root * GALGAS_floatAttributeSet::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_floatAttributeSet GALGAS_floatAttributeSet::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_floatAttributeSet result ; const GALGAS_floatAttributeSet * p = (const GALGAS_floatAttributeSet *) inObject.embeddedObject () ; @@ -14857,9 +15205,9 @@ GALGAS_floatAttributeSet GALGAS_floatAttributeSet::extractObject (const GALGAS_o return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_uint_33__32_AttributeMinMax::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -14877,7 +15225,7 @@ typeComparisonResult cPtr_uint_33__32_AttributeMinMax::dynamicObjectCompare (con return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_uint_33__32_AttributeMinMax::objectCompare (const GALGAS_uint_33__32_AttributeMinMax & inOperand) const { @@ -14896,24 +15244,33 @@ typeComparisonResult GALGAS_uint_33__32_AttributeMinMax::objectCompare (const GA return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_33__32_AttributeMinMax::GALGAS_uint_33__32_AttributeMinMax (void) : GALGAS_attributeRange () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_uint_33__32_AttributeMinMax GALGAS_uint_33__32_AttributeMinMax::constructor_default (LOCATION_ARGS) { + return GALGAS_uint_33__32_AttributeMinMax::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_uint::constructor_default (HERE), + GALGAS_uint::constructor_default (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_33__32_AttributeMinMax::GALGAS_uint_33__32_AttributeMinMax (const cPtr_uint_33__32_AttributeMinMax * inSourcePtr) : GALGAS_attributeRange (inSourcePtr) { macroNullOrValidSharedObject (inSourcePtr, cPtr_uint_33__32_AttributeMinMax) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint_33__32_AttributeMinMax GALGAS_uint_33__32_AttributeMinMax::class_func_new (const GALGAS_location & inAttribute_location, - const GALGAS_uint & inAttribute_min, - const GALGAS_uint & inAttribute_max - COMMA_LOCATION_ARGS) { +GALGAS_uint_33__32_AttributeMinMax GALGAS_uint_33__32_AttributeMinMax::constructor_new (const GALGAS_location & inAttribute_location, + const GALGAS_uint & inAttribute_min, + const GALGAS_uint & inAttribute_max + COMMA_LOCATION_ARGS) { GALGAS_uint_33__32_AttributeMinMax result ; if (inAttribute_location.isValid () && inAttribute_min.isValid () && inAttribute_max.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_uint_33__32_AttributeMinMax (inAttribute_location, inAttribute_min, inAttribute_max COMMA_THERE)) ; @@ -14921,7 +15278,7 @@ GALGAS_uint_33__32_AttributeMinMax GALGAS_uint_33__32_AttributeMinMax::class_fun return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint_33__32_AttributeMinMax::readProperty_min (void) const { if (nullptr == mObjectPtr) { @@ -14933,13 +15290,13 @@ GALGAS_uint GALGAS_uint_33__32_AttributeMinMax::readProperty_min (void) const { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint cPtr_uint_33__32_AttributeMinMax::getter_min (UNUSED_LOCATION_ARGS) const { return mProperty_min ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint_33__32_AttributeMinMax::readProperty_max (void) const { if (nullptr == mObjectPtr) { @@ -14951,13 +15308,13 @@ GALGAS_uint GALGAS_uint_33__32_AttributeMinMax::readProperty_max (void) const { } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint cPtr_uint_33__32_AttributeMinMax::getter_max (UNUSED_LOCATION_ARGS) const { return mProperty_max ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_33__32_AttributeMinMax::setter_setMin (GALGAS_uint inValue COMMA_LOCATION_ARGS) { @@ -14969,14 +15326,14 @@ void GALGAS_uint_33__32_AttributeMinMax::setter_setMin (GALGAS_uint inValue } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_uint_33__32_AttributeMinMax::setter_setMin (GALGAS_uint inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_min = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_uint_33__32_AttributeMinMax::setter_setMax (GALGAS_uint inValue COMMA_LOCATION_ARGS) { @@ -14988,16 +15345,16 @@ void GALGAS_uint_33__32_AttributeMinMax::setter_setMax (GALGAS_uint inValue } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void cPtr_uint_33__32_AttributeMinMax::setter_setMax (GALGAS_uint inValue COMMA_UNUSED_LOCATION_ARGS) { mProperty_max = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- //Pointer class for @uint32AttributeMinMax class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- cPtr_uint_33__32_AttributeMinMax::cPtr_uint_33__32_AttributeMinMax (const GALGAS_location & in_location, const GALGAS_uint & in_min, @@ -15008,24 +15365,24 @@ mProperty_min (in_min), mProperty_max (in_max) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * cPtr_uint_33__32_AttributeMinMax::classDescriptor (void) const { return & kTypeDescriptor_GALGAS_uint_33__32_AttributeMinMax ; } -void cPtr_uint_33__32_AttributeMinMax::description (String & ioString, +void cPtr_uint_33__32_AttributeMinMax::description (C_String & ioString, const int32_t inIndentation) const { - ioString.appendCString ("[@uint32AttributeMinMax:") ; + ioString << "[@uint32AttributeMinMax:" ; mProperty_location.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_min.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_max.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- acPtr_class * cPtr_uint_33__32_AttributeMinMax::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -15034,22 +15391,23 @@ acPtr_class * cPtr_uint_33__32_AttributeMinMax::duplicate (LOCATION_ARGS) const } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // @uint32AttributeMinMax generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_uint_33__32_AttributeMinMax ("uint32AttributeMinMax", - & kTypeDescriptor_GALGAS_attributeRange) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_uint_33__32_AttributeMinMax ("uint32AttributeMinMax", + & kTypeDescriptor_GALGAS_attributeRange) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- const C_galgas_type_descriptor * GALGAS_uint_33__32_AttributeMinMax::staticTypeDescriptor (void) const { return & kTypeDescriptor_GALGAS_uint_33__32_AttributeMinMax ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- AC_GALGAS_root * GALGAS_uint_33__32_AttributeMinMax::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; @@ -15059,10 +15417,10 @@ AC_GALGAS_root * GALGAS_uint_33__32_AttributeMinMax::clonedObject (void) const { return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- GALGAS_uint_33__32_AttributeMinMax GALGAS_uint_33__32_AttributeMinMax::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_uint_33__32_AttributeMinMax result ; const GALGAS_uint_33__32_AttributeMinMax * p = (const GALGAS_uint_33__32_AttributeMinMax *) inObject.embeddedObject () ; @@ -15076,660 +15434,3 @@ GALGAS_uint_33__32_AttributeMinMax GALGAS_uint_33__32_AttributeMinMax::extractOb return result ; } -//-------------------------------------------------------------------------------------------------- -// Object comparison -//-------------------------------------------------------------------------------------------------- - -typeComparisonResult cPtr_uint_36__34_AttributeMinMax::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { - typeComparisonResult result = kOperandEqual ; - const cPtr_uint_36__34_AttributeMinMax * p = (const cPtr_uint_36__34_AttributeMinMax *) inOperandPtr ; - macroValidSharedObject (p, cPtr_uint_36__34_AttributeMinMax) ; - if (kOperandEqual == result) { - result = mProperty_location.objectCompare (p->mProperty_location) ; - } - if (kOperandEqual == result) { - result = mProperty_min.objectCompare (p->mProperty_min) ; - } - if (kOperandEqual == result) { - result = mProperty_max.objectCompare (p->mProperty_max) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - - -typeComparisonResult GALGAS_uint_36__34_AttributeMinMax::objectCompare (const GALGAS_uint_36__34_AttributeMinMax & inOperand) const { - typeComparisonResult result = kOperandNotValid ; - if (isValid () && inOperand.isValid ()) { - const int32_t mySlot = mObjectPtr->classDescriptor ()->mSlotID ; - const int32_t operandSlot = inOperand.mObjectPtr->classDescriptor ()->mSlotID ; - if (mySlot < operandSlot) { - result = kFirstOperandLowerThanSecond ; - }else if (mySlot > operandSlot) { - result = kFirstOperandGreaterThanSecond ; - }else{ - result = mObjectPtr->dynamicObjectCompare (inOperand.mObjectPtr) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_uint_36__34_AttributeMinMax::GALGAS_uint_36__34_AttributeMinMax (void) : -GALGAS_attributeRange () { -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_uint_36__34_AttributeMinMax::GALGAS_uint_36__34_AttributeMinMax (const cPtr_uint_36__34_AttributeMinMax * inSourcePtr) : -GALGAS_attributeRange (inSourcePtr) { - macroNullOrValidSharedObject (inSourcePtr, cPtr_uint_36__34_AttributeMinMax) ; -} -//-------------------------------------------------------------------------------------------------- - -GALGAS_uint_36__34_AttributeMinMax GALGAS_uint_36__34_AttributeMinMax::class_func_new (const GALGAS_location & inAttribute_location, - const GALGAS_uint_36__34_ & inAttribute_min, - const GALGAS_uint_36__34_ & inAttribute_max - COMMA_LOCATION_ARGS) { - GALGAS_uint_36__34_AttributeMinMax result ; - if (inAttribute_location.isValid () && inAttribute_min.isValid () && inAttribute_max.isValid ()) { - macroMyNew (result.mObjectPtr, cPtr_uint_36__34_AttributeMinMax (inAttribute_location, inAttribute_min, inAttribute_max COMMA_THERE)) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_uint_36__34_ GALGAS_uint_36__34_AttributeMinMax::readProperty_min (void) const { - if (nullptr == mObjectPtr) { - return GALGAS_uint_36__34_ () ; - }else{ - const cPtr_uint_36__34_AttributeMinMax * p = (const cPtr_uint_36__34_AttributeMinMax *) mObjectPtr ; - macroValidSharedObject (p, cPtr_uint_36__34_AttributeMinMax) ; - return p->mProperty_min ; - } -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_uint_36__34_ cPtr_uint_36__34_AttributeMinMax::getter_min (UNUSED_LOCATION_ARGS) const { - return mProperty_min ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_uint_36__34_ GALGAS_uint_36__34_AttributeMinMax::readProperty_max (void) const { - if (nullptr == mObjectPtr) { - return GALGAS_uint_36__34_ () ; - }else{ - const cPtr_uint_36__34_AttributeMinMax * p = (const cPtr_uint_36__34_AttributeMinMax *) mObjectPtr ; - macroValidSharedObject (p, cPtr_uint_36__34_AttributeMinMax) ; - return p->mProperty_max ; - } -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_uint_36__34_ cPtr_uint_36__34_AttributeMinMax::getter_max (UNUSED_LOCATION_ARGS) const { - return mProperty_max ; -} - -//-------------------------------------------------------------------------------------------------- - -void GALGAS_uint_36__34_AttributeMinMax::setter_setMin (GALGAS_uint_36__34_ inValue - COMMA_LOCATION_ARGS) { - if (nullptr != mObjectPtr) { - insulate (THERE) ; - cPtr_uint_36__34_AttributeMinMax * p = (cPtr_uint_36__34_AttributeMinMax *) mObjectPtr ; - macroValidSharedObject (p, cPtr_uint_36__34_AttributeMinMax) ; - p->mProperty_min = inValue ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void cPtr_uint_36__34_AttributeMinMax::setter_setMin (GALGAS_uint_36__34_ inValue - COMMA_UNUSED_LOCATION_ARGS) { - mProperty_min = inValue ; -} - -//-------------------------------------------------------------------------------------------------- - -void GALGAS_uint_36__34_AttributeMinMax::setter_setMax (GALGAS_uint_36__34_ inValue - COMMA_LOCATION_ARGS) { - if (nullptr != mObjectPtr) { - insulate (THERE) ; - cPtr_uint_36__34_AttributeMinMax * p = (cPtr_uint_36__34_AttributeMinMax *) mObjectPtr ; - macroValidSharedObject (p, cPtr_uint_36__34_AttributeMinMax) ; - p->mProperty_max = inValue ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void cPtr_uint_36__34_AttributeMinMax::setter_setMax (GALGAS_uint_36__34_ inValue - COMMA_UNUSED_LOCATION_ARGS) { - mProperty_max = inValue ; -} - -//-------------------------------------------------------------------------------------------------- -//Pointer class for @uint64AttributeMinMax class -//-------------------------------------------------------------------------------------------------- - -cPtr_uint_36__34_AttributeMinMax::cPtr_uint_36__34_AttributeMinMax (const GALGAS_location & in_location, - const GALGAS_uint_36__34_ & in_min, - const GALGAS_uint_36__34_ & in_max - COMMA_LOCATION_ARGS) : -cPtr_attributeRange (in_location COMMA_THERE), -mProperty_min (in_min), -mProperty_max (in_max) { -} - -//-------------------------------------------------------------------------------------------------- - -const C_galgas_type_descriptor * cPtr_uint_36__34_AttributeMinMax::classDescriptor (void) const { - return & kTypeDescriptor_GALGAS_uint_36__34_AttributeMinMax ; -} - -void cPtr_uint_36__34_AttributeMinMax::description (String & ioString, - const int32_t inIndentation) const { - ioString.appendCString ("[@uint64AttributeMinMax:") ; - mProperty_location.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; - mProperty_min.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; - mProperty_max.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; -} - -//-------------------------------------------------------------------------------------------------- - -acPtr_class * cPtr_uint_36__34_AttributeMinMax::duplicate (LOCATION_ARGS) const { - acPtr_class * ptr = nullptr ; - macroMyNew (ptr, cPtr_uint_36__34_AttributeMinMax (mProperty_location, mProperty_min, mProperty_max COMMA_THERE)) ; - return ptr ; -} - - -//-------------------------------------------------------------------------------------------------- -// -// @uint64AttributeMinMax generic code implementation -// -//-------------------------------------------------------------------------------------------------- - -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_uint_36__34_AttributeMinMax ("uint64AttributeMinMax", - & kTypeDescriptor_GALGAS_attributeRange) ; - -//-------------------------------------------------------------------------------------------------- - -const C_galgas_type_descriptor * GALGAS_uint_36__34_AttributeMinMax::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_uint_36__34_AttributeMinMax ; -} - -//-------------------------------------------------------------------------------------------------- - -AC_GALGAS_root * GALGAS_uint_36__34_AttributeMinMax::clonedObject (void) const { - AC_GALGAS_root * result = nullptr ; - if (isValid ()) { - macroMyNew (result, GALGAS_uint_36__34_AttributeMinMax (*this)) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_uint_36__34_AttributeMinMax GALGAS_uint_36__34_AttributeMinMax::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_uint_36__34_AttributeMinMax result ; - const GALGAS_uint_36__34_AttributeMinMax * p = (const GALGAS_uint_36__34_AttributeMinMax *) inObject.embeddedObject () ; - if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { - result = *p ; - }else{ - inCompiler->castError ("uint64AttributeMinMax", p->dynamicTypeDescriptor () COMMA_THERE) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- -// Object comparison -//-------------------------------------------------------------------------------------------------- - -typeComparisonResult cPtr_sint_33__32_AttributeMinMax::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { - typeComparisonResult result = kOperandEqual ; - const cPtr_sint_33__32_AttributeMinMax * p = (const cPtr_sint_33__32_AttributeMinMax *) inOperandPtr ; - macroValidSharedObject (p, cPtr_sint_33__32_AttributeMinMax) ; - if (kOperandEqual == result) { - result = mProperty_location.objectCompare (p->mProperty_location) ; - } - if (kOperandEqual == result) { - result = mProperty_min.objectCompare (p->mProperty_min) ; - } - if (kOperandEqual == result) { - result = mProperty_max.objectCompare (p->mProperty_max) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - - -typeComparisonResult GALGAS_sint_33__32_AttributeMinMax::objectCompare (const GALGAS_sint_33__32_AttributeMinMax & inOperand) const { - typeComparisonResult result = kOperandNotValid ; - if (isValid () && inOperand.isValid ()) { - const int32_t mySlot = mObjectPtr->classDescriptor ()->mSlotID ; - const int32_t operandSlot = inOperand.mObjectPtr->classDescriptor ()->mSlotID ; - if (mySlot < operandSlot) { - result = kFirstOperandLowerThanSecond ; - }else if (mySlot > operandSlot) { - result = kFirstOperandGreaterThanSecond ; - }else{ - result = mObjectPtr->dynamicObjectCompare (inOperand.mObjectPtr) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_sint_33__32_AttributeMinMax::GALGAS_sint_33__32_AttributeMinMax (void) : -GALGAS_attributeRange () { -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_sint_33__32_AttributeMinMax::GALGAS_sint_33__32_AttributeMinMax (const cPtr_sint_33__32_AttributeMinMax * inSourcePtr) : -GALGAS_attributeRange (inSourcePtr) { - macroNullOrValidSharedObject (inSourcePtr, cPtr_sint_33__32_AttributeMinMax) ; -} -//-------------------------------------------------------------------------------------------------- - -GALGAS_sint_33__32_AttributeMinMax GALGAS_sint_33__32_AttributeMinMax::class_func_new (const GALGAS_location & inAttribute_location, - const GALGAS_sint & inAttribute_min, - const GALGAS_sint & inAttribute_max - COMMA_LOCATION_ARGS) { - GALGAS_sint_33__32_AttributeMinMax result ; - if (inAttribute_location.isValid () && inAttribute_min.isValid () && inAttribute_max.isValid ()) { - macroMyNew (result.mObjectPtr, cPtr_sint_33__32_AttributeMinMax (inAttribute_location, inAttribute_min, inAttribute_max COMMA_THERE)) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_sint GALGAS_sint_33__32_AttributeMinMax::readProperty_min (void) const { - if (nullptr == mObjectPtr) { - return GALGAS_sint () ; - }else{ - const cPtr_sint_33__32_AttributeMinMax * p = (const cPtr_sint_33__32_AttributeMinMax *) mObjectPtr ; - macroValidSharedObject (p, cPtr_sint_33__32_AttributeMinMax) ; - return p->mProperty_min ; - } -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_sint cPtr_sint_33__32_AttributeMinMax::getter_min (UNUSED_LOCATION_ARGS) const { - return mProperty_min ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_sint GALGAS_sint_33__32_AttributeMinMax::readProperty_max (void) const { - if (nullptr == mObjectPtr) { - return GALGAS_sint () ; - }else{ - const cPtr_sint_33__32_AttributeMinMax * p = (const cPtr_sint_33__32_AttributeMinMax *) mObjectPtr ; - macroValidSharedObject (p, cPtr_sint_33__32_AttributeMinMax) ; - return p->mProperty_max ; - } -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_sint cPtr_sint_33__32_AttributeMinMax::getter_max (UNUSED_LOCATION_ARGS) const { - return mProperty_max ; -} - -//-------------------------------------------------------------------------------------------------- - -void GALGAS_sint_33__32_AttributeMinMax::setter_setMin (GALGAS_sint inValue - COMMA_LOCATION_ARGS) { - if (nullptr != mObjectPtr) { - insulate (THERE) ; - cPtr_sint_33__32_AttributeMinMax * p = (cPtr_sint_33__32_AttributeMinMax *) mObjectPtr ; - macroValidSharedObject (p, cPtr_sint_33__32_AttributeMinMax) ; - p->mProperty_min = inValue ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void cPtr_sint_33__32_AttributeMinMax::setter_setMin (GALGAS_sint inValue - COMMA_UNUSED_LOCATION_ARGS) { - mProperty_min = inValue ; -} - -//-------------------------------------------------------------------------------------------------- - -void GALGAS_sint_33__32_AttributeMinMax::setter_setMax (GALGAS_sint inValue - COMMA_LOCATION_ARGS) { - if (nullptr != mObjectPtr) { - insulate (THERE) ; - cPtr_sint_33__32_AttributeMinMax * p = (cPtr_sint_33__32_AttributeMinMax *) mObjectPtr ; - macroValidSharedObject (p, cPtr_sint_33__32_AttributeMinMax) ; - p->mProperty_max = inValue ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void cPtr_sint_33__32_AttributeMinMax::setter_setMax (GALGAS_sint inValue - COMMA_UNUSED_LOCATION_ARGS) { - mProperty_max = inValue ; -} - -//-------------------------------------------------------------------------------------------------- -//Pointer class for @sint32AttributeMinMax class -//-------------------------------------------------------------------------------------------------- - -cPtr_sint_33__32_AttributeMinMax::cPtr_sint_33__32_AttributeMinMax (const GALGAS_location & in_location, - const GALGAS_sint & in_min, - const GALGAS_sint & in_max - COMMA_LOCATION_ARGS) : -cPtr_attributeRange (in_location COMMA_THERE), -mProperty_min (in_min), -mProperty_max (in_max) { -} - -//-------------------------------------------------------------------------------------------------- - -const C_galgas_type_descriptor * cPtr_sint_33__32_AttributeMinMax::classDescriptor (void) const { - return & kTypeDescriptor_GALGAS_sint_33__32_AttributeMinMax ; -} - -void cPtr_sint_33__32_AttributeMinMax::description (String & ioString, - const int32_t inIndentation) const { - ioString.appendCString ("[@sint32AttributeMinMax:") ; - mProperty_location.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; - mProperty_min.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; - mProperty_max.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; -} - -//-------------------------------------------------------------------------------------------------- - -acPtr_class * cPtr_sint_33__32_AttributeMinMax::duplicate (LOCATION_ARGS) const { - acPtr_class * ptr = nullptr ; - macroMyNew (ptr, cPtr_sint_33__32_AttributeMinMax (mProperty_location, mProperty_min, mProperty_max COMMA_THERE)) ; - return ptr ; -} - - -//-------------------------------------------------------------------------------------------------- -// -// @sint32AttributeMinMax generic code implementation -// -//-------------------------------------------------------------------------------------------------- - -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_sint_33__32_AttributeMinMax ("sint32AttributeMinMax", - & kTypeDescriptor_GALGAS_attributeRange) ; - -//-------------------------------------------------------------------------------------------------- - -const C_galgas_type_descriptor * GALGAS_sint_33__32_AttributeMinMax::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_sint_33__32_AttributeMinMax ; -} - -//-------------------------------------------------------------------------------------------------- - -AC_GALGAS_root * GALGAS_sint_33__32_AttributeMinMax::clonedObject (void) const { - AC_GALGAS_root * result = nullptr ; - if (isValid ()) { - macroMyNew (result, GALGAS_sint_33__32_AttributeMinMax (*this)) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_sint_33__32_AttributeMinMax GALGAS_sint_33__32_AttributeMinMax::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_sint_33__32_AttributeMinMax result ; - const GALGAS_sint_33__32_AttributeMinMax * p = (const GALGAS_sint_33__32_AttributeMinMax *) inObject.embeddedObject () ; - if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { - result = *p ; - }else{ - inCompiler->castError ("sint32AttributeMinMax", p->dynamicTypeDescriptor () COMMA_THERE) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- -// Object comparison -//-------------------------------------------------------------------------------------------------- - -typeComparisonResult cPtr_sint_36__34_AttributeMinMax::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { - typeComparisonResult result = kOperandEqual ; - const cPtr_sint_36__34_AttributeMinMax * p = (const cPtr_sint_36__34_AttributeMinMax *) inOperandPtr ; - macroValidSharedObject (p, cPtr_sint_36__34_AttributeMinMax) ; - if (kOperandEqual == result) { - result = mProperty_location.objectCompare (p->mProperty_location) ; - } - if (kOperandEqual == result) { - result = mProperty_min.objectCompare (p->mProperty_min) ; - } - if (kOperandEqual == result) { - result = mProperty_max.objectCompare (p->mProperty_max) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - - -typeComparisonResult GALGAS_sint_36__34_AttributeMinMax::objectCompare (const GALGAS_sint_36__34_AttributeMinMax & inOperand) const { - typeComparisonResult result = kOperandNotValid ; - if (isValid () && inOperand.isValid ()) { - const int32_t mySlot = mObjectPtr->classDescriptor ()->mSlotID ; - const int32_t operandSlot = inOperand.mObjectPtr->classDescriptor ()->mSlotID ; - if (mySlot < operandSlot) { - result = kFirstOperandLowerThanSecond ; - }else if (mySlot > operandSlot) { - result = kFirstOperandGreaterThanSecond ; - }else{ - result = mObjectPtr->dynamicObjectCompare (inOperand.mObjectPtr) ; - } - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_sint_36__34_AttributeMinMax::GALGAS_sint_36__34_AttributeMinMax (void) : -GALGAS_attributeRange () { -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_sint_36__34_AttributeMinMax::GALGAS_sint_36__34_AttributeMinMax (const cPtr_sint_36__34_AttributeMinMax * inSourcePtr) : -GALGAS_attributeRange (inSourcePtr) { - macroNullOrValidSharedObject (inSourcePtr, cPtr_sint_36__34_AttributeMinMax) ; -} -//-------------------------------------------------------------------------------------------------- - -GALGAS_sint_36__34_AttributeMinMax GALGAS_sint_36__34_AttributeMinMax::class_func_new (const GALGAS_location & inAttribute_location, - const GALGAS_sint_36__34_ & inAttribute_min, - const GALGAS_sint_36__34_ & inAttribute_max - COMMA_LOCATION_ARGS) { - GALGAS_sint_36__34_AttributeMinMax result ; - if (inAttribute_location.isValid () && inAttribute_min.isValid () && inAttribute_max.isValid ()) { - macroMyNew (result.mObjectPtr, cPtr_sint_36__34_AttributeMinMax (inAttribute_location, inAttribute_min, inAttribute_max COMMA_THERE)) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_sint_36__34_ GALGAS_sint_36__34_AttributeMinMax::readProperty_min (void) const { - if (nullptr == mObjectPtr) { - return GALGAS_sint_36__34_ () ; - }else{ - const cPtr_sint_36__34_AttributeMinMax * p = (const cPtr_sint_36__34_AttributeMinMax *) mObjectPtr ; - macroValidSharedObject (p, cPtr_sint_36__34_AttributeMinMax) ; - return p->mProperty_min ; - } -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_sint_36__34_ cPtr_sint_36__34_AttributeMinMax::getter_min (UNUSED_LOCATION_ARGS) const { - return mProperty_min ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_sint_36__34_ GALGAS_sint_36__34_AttributeMinMax::readProperty_max (void) const { - if (nullptr == mObjectPtr) { - return GALGAS_sint_36__34_ () ; - }else{ - const cPtr_sint_36__34_AttributeMinMax * p = (const cPtr_sint_36__34_AttributeMinMax *) mObjectPtr ; - macroValidSharedObject (p, cPtr_sint_36__34_AttributeMinMax) ; - return p->mProperty_max ; - } -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_sint_36__34_ cPtr_sint_36__34_AttributeMinMax::getter_max (UNUSED_LOCATION_ARGS) const { - return mProperty_max ; -} - -//-------------------------------------------------------------------------------------------------- - -void GALGAS_sint_36__34_AttributeMinMax::setter_setMin (GALGAS_sint_36__34_ inValue - COMMA_LOCATION_ARGS) { - if (nullptr != mObjectPtr) { - insulate (THERE) ; - cPtr_sint_36__34_AttributeMinMax * p = (cPtr_sint_36__34_AttributeMinMax *) mObjectPtr ; - macroValidSharedObject (p, cPtr_sint_36__34_AttributeMinMax) ; - p->mProperty_min = inValue ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void cPtr_sint_36__34_AttributeMinMax::setter_setMin (GALGAS_sint_36__34_ inValue - COMMA_UNUSED_LOCATION_ARGS) { - mProperty_min = inValue ; -} - -//-------------------------------------------------------------------------------------------------- - -void GALGAS_sint_36__34_AttributeMinMax::setter_setMax (GALGAS_sint_36__34_ inValue - COMMA_LOCATION_ARGS) { - if (nullptr != mObjectPtr) { - insulate (THERE) ; - cPtr_sint_36__34_AttributeMinMax * p = (cPtr_sint_36__34_AttributeMinMax *) mObjectPtr ; - macroValidSharedObject (p, cPtr_sint_36__34_AttributeMinMax) ; - p->mProperty_max = inValue ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void cPtr_sint_36__34_AttributeMinMax::setter_setMax (GALGAS_sint_36__34_ inValue - COMMA_UNUSED_LOCATION_ARGS) { - mProperty_max = inValue ; -} - -//-------------------------------------------------------------------------------------------------- -//Pointer class for @sint64AttributeMinMax class -//-------------------------------------------------------------------------------------------------- - -cPtr_sint_36__34_AttributeMinMax::cPtr_sint_36__34_AttributeMinMax (const GALGAS_location & in_location, - const GALGAS_sint_36__34_ & in_min, - const GALGAS_sint_36__34_ & in_max - COMMA_LOCATION_ARGS) : -cPtr_attributeRange (in_location COMMA_THERE), -mProperty_min (in_min), -mProperty_max (in_max) { -} - -//-------------------------------------------------------------------------------------------------- - -const C_galgas_type_descriptor * cPtr_sint_36__34_AttributeMinMax::classDescriptor (void) const { - return & kTypeDescriptor_GALGAS_sint_36__34_AttributeMinMax ; -} - -void cPtr_sint_36__34_AttributeMinMax::description (String & ioString, - const int32_t inIndentation) const { - ioString.appendCString ("[@sint64AttributeMinMax:") ; - mProperty_location.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; - mProperty_min.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; - mProperty_max.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; -} - -//-------------------------------------------------------------------------------------------------- - -acPtr_class * cPtr_sint_36__34_AttributeMinMax::duplicate (LOCATION_ARGS) const { - acPtr_class * ptr = nullptr ; - macroMyNew (ptr, cPtr_sint_36__34_AttributeMinMax (mProperty_location, mProperty_min, mProperty_max COMMA_THERE)) ; - return ptr ; -} - - -//-------------------------------------------------------------------------------------------------- -// -// @sint64AttributeMinMax generic code implementation -// -//-------------------------------------------------------------------------------------------------- - -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_sint_36__34_AttributeMinMax ("sint64AttributeMinMax", - & kTypeDescriptor_GALGAS_attributeRange) ; - -//-------------------------------------------------------------------------------------------------- - -const C_galgas_type_descriptor * GALGAS_sint_36__34_AttributeMinMax::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_sint_36__34_AttributeMinMax ; -} - -//-------------------------------------------------------------------------------------------------- - -AC_GALGAS_root * GALGAS_sint_36__34_AttributeMinMax::clonedObject (void) const { - AC_GALGAS_root * result = nullptr ; - if (isValid ()) { - macroMyNew (result, GALGAS_sint_36__34_AttributeMinMax (*this)) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_sint_36__34_AttributeMinMax GALGAS_sint_36__34_AttributeMinMax::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_sint_36__34_AttributeMinMax result ; - const GALGAS_sint_36__34_AttributeMinMax * p = (const GALGAS_sint_36__34_AttributeMinMax *) inObject.embeddedObject () ; - if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { - result = *p ; - }else{ - inCompiler->castError ("sint64AttributeMinMax", p->dynamicTypeDescriptor () COMMA_THERE) ; - } - } - return result ; -} - diff --git a/goil/build/output/all-declarations-1.h b/goil/build/output/all-declarations-1.h index 6dcdaa61f..8ea307bfe 100644 --- a/goil/build/output/all-declarations-1.h +++ b/goil/build/output/all-declarations-1.h @@ -1,140 +1,140 @@ #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-declarations-0.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@gtlVarPath stringRepresentation' (as function) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string extensionGetter_stringRepresentation (const class GALGAS_gtlVarPath & inObject, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension getter '@gtlVarItem stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string callExtensionGetter_stringRepresentation (const class cPtr_gtlVarItem * inObject, const class GALGAS_string constin_concatString, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@gtlExpressionList stringRepresentation' (as function) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string extensionGetter_stringRepresentation (const class GALGAS_gtlExpressionList & inObject, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension getter '@gtlExpression stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string callExtensionGetter_stringRepresentation (const class cPtr_gtlExpression * inObject, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@gtlExpressionMap mapRepresentation' (as function) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string extensionGetter_mapRepresentation (const class GALGAS_gtlExpressionMap & inObject, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@gtlExpressionMap structRepresentation' (as function) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string extensionGetter_structRepresentation (const class GALGAS_gtlExpressionMap & inObject, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@gtlArgumentList stringRepresentation' (as function) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string extensionGetter_stringRepresentation (const class GALGAS_gtlArgumentList & inObject, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@type typeName' (as function) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string extensionGetter_typeName (const class GALGAS_type & inObject, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@sortingKeyList stringRepresentation' (as function) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string extensionGetter_stringRepresentation (const class GALGAS_sortingKeyList & inObject, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@lsint stringRepresentation' (as function) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string extensionGetter_stringRepresentation (const class GALGAS_lsint & inObject, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@gtlInstruction shortLocation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string callExtensionGetter_shortLocation (const cPtr_gtlInstruction * inObject, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension method '@gtlInstruction displayWithLocation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionMethod_displayWithLocation (class cPtr_gtlInstruction * inObject, const class GALGAS_debuggerContext constin_context, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlDoInstInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlDoInstInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor @@ -151,21 +151,21 @@ class GALGAS_gtlDoInstInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_gtlInstruction readProperty_instructionToDo (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlDoInstInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlDoInstInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_gtlInstruction & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlDoInstInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_gtlInstruction & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlDoInstInstruction & inOperand) const ; @@ -188,27 +188,27 @@ class GALGAS_gtlDoInstInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlDoInstInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlDoInstInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlDoInstInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlDoInstInstruction : public cPtr_gtlInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -227,7 +227,7 @@ class cPtr_gtlDoInstInstruction : public cPtr_gtlInstruction { public: VIRTUAL_IN_DEBUG GALGAS_gtlInstruction getter_instructionToDo (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setInstructionToDo (GALGAS_gtlInstruction inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -236,16 +236,19 @@ class cPtr_gtlDoInstInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlDoNotAllInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlDoNotAllInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor public: GALGAS_gtlDoNotAllInstruction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlDoNotAllInstruction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlDoNotAllInstruction * ptr (void) const { return (const cPtr_gtlDoNotAllInstruction *) mObjectPtr ; @@ -255,20 +258,20 @@ class GALGAS_gtlDoNotAllInstruction : public GALGAS_gtlInstruction { public: GALGAS_gtlDoNotAllInstruction (const cPtr_gtlDoNotAllInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlDoNotAllInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlDoNotAllInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlDoNotAllInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlDoNotAllInstruction & inOperand) const ; @@ -288,27 +291,27 @@ class GALGAS_gtlDoNotAllInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlDoNotAllInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlDoNotAllInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlDoNotAllInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlDoNotAllInstruction : public cPtr_gtlInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -323,7 +326,7 @@ class cPtr_gtlDoNotAllInstruction : public cPtr_gtlInstruction { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -332,16 +335,19 @@ class cPtr_gtlDoNotAllInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlDoInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlDoInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor public: GALGAS_gtlDoInstruction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlDoInstruction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlDoInstruction * ptr (void) const { return (const cPtr_gtlDoInstruction *) mObjectPtr ; @@ -351,20 +357,20 @@ class GALGAS_gtlDoInstruction : public GALGAS_gtlInstruction { public: GALGAS_gtlDoInstruction (const cPtr_gtlDoInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlDoInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlDoInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlDoInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlDoInstruction & inOperand) const ; @@ -384,27 +390,27 @@ class GALGAS_gtlDoInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlDoInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlDoInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlDoInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlDoInstruction : public cPtr_gtlInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -419,7 +425,7 @@ class cPtr_gtlDoInstruction : public cPtr_gtlInstruction { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -428,16 +434,19 @@ class cPtr_gtlDoInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlContinueInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlContinueInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor public: GALGAS_gtlContinueInstruction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlContinueInstruction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlContinueInstruction * ptr (void) const { return (const cPtr_gtlContinueInstruction *) mObjectPtr ; @@ -447,20 +456,20 @@ class GALGAS_gtlContinueInstruction : public GALGAS_gtlInstruction { public: GALGAS_gtlContinueInstruction (const cPtr_gtlContinueInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlContinueInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlContinueInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlContinueInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlContinueInstruction & inOperand) const ; @@ -480,27 +489,27 @@ class GALGAS_gtlContinueInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlContinueInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlContinueInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlContinueInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlContinueInstruction : public cPtr_gtlInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -515,7 +524,7 @@ class cPtr_gtlContinueInstruction : public cPtr_gtlInstruction { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -524,16 +533,19 @@ class cPtr_gtlContinueInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlBreakpointInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlBreakpointInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor public: GALGAS_gtlBreakpointInstruction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlBreakpointInstruction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlBreakpointInstruction * ptr (void) const { return (const cPtr_gtlBreakpointInstruction *) mObjectPtr ; @@ -547,22 +559,22 @@ class GALGAS_gtlBreakpointInstruction : public GALGAS_gtlInstruction { public: class GALGAS_uint readProperty_lineNum (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlBreakpointInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlBreakpointInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_string & inOperand2, - const class GALGAS_uint & inOperand3 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlBreakpointInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_string & inOperand2, + const class GALGAS_uint & inOperand3 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlBreakpointInstruction & inOperand) const ; @@ -588,27 +600,27 @@ class GALGAS_gtlBreakpointInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlBreakpointInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlBreakpointInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlBreakpointInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlBreakpointInstruction : public cPtr_gtlInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -631,7 +643,7 @@ class cPtr_gtlBreakpointInstruction : public cPtr_gtlInstruction { public: VIRTUAL_IN_DEBUG GALGAS_uint getter_lineNum (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setLineNum (GALGAS_uint inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -640,16 +652,19 @@ class cPtr_gtlBreakpointInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlBreakpointListInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlBreakpointListInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor public: GALGAS_gtlBreakpointListInstruction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlBreakpointListInstruction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlBreakpointListInstruction * ptr (void) const { return (const cPtr_gtlBreakpointListInstruction *) mObjectPtr ; @@ -659,20 +674,20 @@ class GALGAS_gtlBreakpointListInstruction : public GALGAS_gtlInstruction { public: GALGAS_gtlBreakpointListInstruction (const cPtr_gtlBreakpointListInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlBreakpointListInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlBreakpointListInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlBreakpointListInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlBreakpointListInstruction & inOperand) const ; @@ -692,27 +707,27 @@ class GALGAS_gtlBreakpointListInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlBreakpointListInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlBreakpointListInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlBreakpointListInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlBreakpointListInstruction : public cPtr_gtlInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -727,7 +742,7 @@ class cPtr_gtlBreakpointListInstruction : public cPtr_gtlInstruction { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -736,16 +751,19 @@ class cPtr_gtlBreakpointListInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlBreakpointDeleteInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlBreakpointDeleteInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor public: GALGAS_gtlBreakpointDeleteInstruction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlBreakpointDeleteInstruction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlBreakpointDeleteInstruction * ptr (void) const { return (const cPtr_gtlBreakpointDeleteInstruction *) mObjectPtr ; @@ -757,21 +775,21 @@ class GALGAS_gtlBreakpointDeleteInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_lbigint readProperty_numToDelete (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlBreakpointDeleteInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlBreakpointDeleteInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_lbigint & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlBreakpointDeleteInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_lbigint & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlBreakpointDeleteInstruction & inOperand) const ; @@ -794,27 +812,27 @@ class GALGAS_gtlBreakpointDeleteInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlBreakpointDeleteInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlBreakpointDeleteInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlBreakpointDeleteInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlBreakpointDeleteInstruction : public cPtr_gtlInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -833,7 +851,7 @@ class cPtr_gtlBreakpointDeleteInstruction : public cPtr_gtlInstruction { public: VIRTUAL_IN_DEBUG GALGAS_lbigint getter_numToDelete (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setNumToDelete (GALGAS_lbigint inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -842,16 +860,19 @@ class cPtr_gtlBreakpointDeleteInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlBreakpointDeleteAllInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlBreakpointDeleteAllInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor public: GALGAS_gtlBreakpointDeleteAllInstruction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlBreakpointDeleteAllInstruction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlBreakpointDeleteAllInstruction * ptr (void) const { return (const cPtr_gtlBreakpointDeleteAllInstruction *) mObjectPtr ; @@ -861,20 +882,20 @@ class GALGAS_gtlBreakpointDeleteAllInstruction : public GALGAS_gtlInstruction { public: GALGAS_gtlBreakpointDeleteAllInstruction (const cPtr_gtlBreakpointDeleteAllInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlBreakpointDeleteAllInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlBreakpointDeleteAllInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlBreakpointDeleteAllInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlBreakpointDeleteAllInstruction & inOperand) const ; @@ -894,27 +915,27 @@ class GALGAS_gtlBreakpointDeleteAllInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlBreakpointDeleteAllInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlBreakpointDeleteAllInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlBreakpointDeleteAllInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlBreakpointDeleteAllInstruction : public cPtr_gtlInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -929,7 +950,7 @@ class cPtr_gtlBreakpointDeleteAllInstruction : public cPtr_gtlInstruction { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -938,16 +959,19 @@ class cPtr_gtlBreakpointDeleteAllInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlWatchpointListInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlWatchpointListInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor public: GALGAS_gtlWatchpointListInstruction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlWatchpointListInstruction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlWatchpointListInstruction * ptr (void) const { return (const cPtr_gtlWatchpointListInstruction *) mObjectPtr ; @@ -957,20 +981,20 @@ class GALGAS_gtlWatchpointListInstruction : public GALGAS_gtlInstruction { public: GALGAS_gtlWatchpointListInstruction (const cPtr_gtlWatchpointListInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlWatchpointListInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlWatchpointListInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlWatchpointListInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlWatchpointListInstruction & inOperand) const ; @@ -990,27 +1014,27 @@ class GALGAS_gtlWatchpointListInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlWatchpointListInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlWatchpointListInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlWatchpointListInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlWatchpointListInstruction : public cPtr_gtlInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -1025,7 +1049,7 @@ class cPtr_gtlWatchpointListInstruction : public cPtr_gtlInstruction { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -1034,16 +1058,19 @@ class cPtr_gtlWatchpointListInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlWatchpointDeleteInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlWatchpointDeleteInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor public: GALGAS_gtlWatchpointDeleteInstruction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlWatchpointDeleteInstruction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlWatchpointDeleteInstruction * ptr (void) const { return (const cPtr_gtlWatchpointDeleteInstruction *) mObjectPtr ; @@ -1055,21 +1082,21 @@ class GALGAS_gtlWatchpointDeleteInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_lbigint readProperty_numToDelete (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlWatchpointDeleteInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlWatchpointDeleteInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_lbigint & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlWatchpointDeleteInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_lbigint & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlWatchpointDeleteInstruction & inOperand) const ; @@ -1092,27 +1119,27 @@ class GALGAS_gtlWatchpointDeleteInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlWatchpointDeleteInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlWatchpointDeleteInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlWatchpointDeleteInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlWatchpointDeleteInstruction : public cPtr_gtlInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -1131,7 +1158,7 @@ class cPtr_gtlWatchpointDeleteInstruction : public cPtr_gtlInstruction { public: VIRTUAL_IN_DEBUG GALGAS_lbigint getter_numToDelete (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setNumToDelete (GALGAS_lbigint inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -1140,16 +1167,19 @@ class cPtr_gtlWatchpointDeleteInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlWatchpointDeleteAllInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlWatchpointDeleteAllInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor public: GALGAS_gtlWatchpointDeleteAllInstruction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlWatchpointDeleteAllInstruction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlWatchpointDeleteAllInstruction * ptr (void) const { return (const cPtr_gtlWatchpointDeleteAllInstruction *) mObjectPtr ; @@ -1159,20 +1189,20 @@ class GALGAS_gtlWatchpointDeleteAllInstruction : public GALGAS_gtlInstruction { public: GALGAS_gtlWatchpointDeleteAllInstruction (const cPtr_gtlWatchpointDeleteAllInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlWatchpointDeleteAllInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlWatchpointDeleteAllInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlWatchpointDeleteAllInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlWatchpointDeleteAllInstruction & inOperand) const ; @@ -1192,27 +1222,27 @@ class GALGAS_gtlWatchpointDeleteAllInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlWatchpointDeleteAllInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlWatchpointDeleteAllInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlWatchpointDeleteAllInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlWatchpointDeleteAllInstruction : public cPtr_gtlInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -1227,7 +1257,7 @@ class cPtr_gtlWatchpointDeleteAllInstruction : public cPtr_gtlInstruction { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -1236,16 +1266,19 @@ class cPtr_gtlWatchpointDeleteAllInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlListInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlListInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor public: GALGAS_gtlListInstruction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlListInstruction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlListInstruction * ptr (void) const { return (const cPtr_gtlListInstruction *) mObjectPtr ; @@ -1257,21 +1290,21 @@ class GALGAS_gtlListInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_uint readProperty_window (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlListInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlListInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_uint & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlListInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_uint & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlListInstruction & inOperand) const ; @@ -1294,27 +1327,27 @@ class GALGAS_gtlListInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlListInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlListInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlListInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlListInstruction : public cPtr_gtlInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -1333,7 +1366,7 @@ class cPtr_gtlListInstruction : public cPtr_gtlInstruction { public: VIRTUAL_IN_DEBUG GALGAS_uint getter_window (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setWindow (GALGAS_uint inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -1342,16 +1375,19 @@ class cPtr_gtlListInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlHistoryInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlHistoryInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor public: GALGAS_gtlHistoryInstruction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlHistoryInstruction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlHistoryInstruction * ptr (void) const { return (const cPtr_gtlHistoryInstruction *) mObjectPtr ; @@ -1361,20 +1397,20 @@ class GALGAS_gtlHistoryInstruction : public GALGAS_gtlInstruction { public: GALGAS_gtlHistoryInstruction (const cPtr_gtlHistoryInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlHistoryInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlHistoryInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlHistoryInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlHistoryInstruction & inOperand) const ; @@ -1394,27 +1430,27 @@ class GALGAS_gtlHistoryInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlHistoryInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlHistoryInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlHistoryInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlHistoryInstruction : public cPtr_gtlInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -1429,7 +1465,7 @@ class cPtr_gtlHistoryInstruction : public cPtr_gtlInstruction { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -1438,16 +1474,19 @@ class cPtr_gtlHistoryInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLoadInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlLoadInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor public: GALGAS_gtlLoadInstruction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlLoadInstruction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlLoadInstruction * ptr (void) const { return (const cPtr_gtlLoadInstruction *) mObjectPtr ; @@ -1459,21 +1498,21 @@ class GALGAS_gtlLoadInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_string readProperty_fileName (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLoadInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlLoadInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_string & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlLoadInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_string & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLoadInstruction & inOperand) const ; @@ -1496,27 +1535,27 @@ class GALGAS_gtlLoadInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlLoadInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlLoadInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlLoadInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlLoadInstruction : public cPtr_gtlInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -1535,7 +1574,7 @@ class cPtr_gtlLoadInstruction : public cPtr_gtlInstruction { public: VIRTUAL_IN_DEBUG GALGAS_string getter_fileName (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setFileName (GALGAS_string inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -1544,16 +1583,19 @@ class cPtr_gtlLoadInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlHelpInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlHelpInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor public: GALGAS_gtlHelpInstruction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlHelpInstruction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlHelpInstruction * ptr (void) const { return (const cPtr_gtlHelpInstruction *) mObjectPtr ; @@ -1563,20 +1605,20 @@ class GALGAS_gtlHelpInstruction : public GALGAS_gtlInstruction { public: GALGAS_gtlHelpInstruction (const cPtr_gtlHelpInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlHelpInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlHelpInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlHelpInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlHelpInstruction & inOperand) const ; @@ -1596,27 +1638,27 @@ class GALGAS_gtlHelpInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlHelpInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlHelpInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlHelpInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlHelpInstruction : public cPtr_gtlInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -1631,7 +1673,7 @@ class cPtr_gtlHelpInstruction : public cPtr_gtlInstruction { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -1640,49 +1682,52 @@ class cPtr_gtlHelpInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension setter '@debugCommandInput getCommand' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- typedef void (*extensionSetterSignature_debugCommandInput_getCommand) (class cPtr_debugCommandInput * inObject, class GALGAS_string & outArgument0, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void enterExtensionSetter_getCommand (const int32_t inClassIndex, extensionSetterSignature_debugCommandInput_getCommand inModifier) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionSetter_getCommand (class cPtr_debugCommandInput * inObject, GALGAS_string & out_command, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension method '@debugCommandInput listHistory' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionMethod_listHistory (class cPtr_debugCommandInput * inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlDoNotInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlDoNotInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor public: GALGAS_gtlDoNotInstruction (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_gtlDoNotInstruction constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_gtlDoNotInstruction * ptr (void) const { return (const cPtr_gtlDoNotInstruction *) mObjectPtr ; @@ -1694,21 +1739,21 @@ class GALGAS_gtlDoNotInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_lbigint readProperty_numToDelete (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlDoNotInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlDoNotInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_lbigint & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlDoNotInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_lbigint & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlDoNotInstruction & inOperand) const ; @@ -1731,27 +1776,27 @@ class GALGAS_gtlDoNotInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlDoNotInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlDoNotInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlDoNotInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlDoNotInstruction : public cPtr_gtlInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -1770,7 +1815,7 @@ class cPtr_gtlDoNotInstruction : public cPtr_gtlInstruction { public: VIRTUAL_IN_DEBUG GALGAS_lbigint getter_numToDelete (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setNumToDelete (GALGAS_lbigint inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -1779,11 +1824,11 @@ class cPtr_gtlDoNotInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlAssignInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlAssignInstruction : public GALGAS_gtlLetUnconstructedInstruction { //--------------------------------- Default constructor @@ -1800,14 +1845,14 @@ class GALGAS_gtlAssignInstruction : public GALGAS_gtlLetUnconstructedInstruction //--------------------------------- Property read access public: class GALGAS_gtlExpression readProperty_rValue (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlAssignInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison @@ -1831,15 +1876,15 @@ class GALGAS_gtlAssignInstruction : public GALGAS_gtlLetUnconstructedInstruction } ; // End of GALGAS_gtlAssignInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlAssignInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlAssignInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlAssignInstruction : public cPtr_gtlLetUnconstructedInstruction { @@ -1858,7 +1903,7 @@ class cPtr_gtlAssignInstruction : public cPtr_gtlLetUnconstructedInstruction { public: VIRTUAL_IN_DEBUG GALGAS_gtlExpression getter_rValue (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setRValue (GALGAS_gtlExpression inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override = 0 ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override = 0 ; @@ -1867,11 +1912,11 @@ class cPtr_gtlAssignInstruction : public cPtr_gtlLetUnconstructedInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLetAddInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlLetAddInstruction : public GALGAS_gtlAssignInstruction { //--------------------------------- Default constructor @@ -1886,22 +1931,22 @@ class GALGAS_gtlLetAddInstruction : public GALGAS_gtlAssignInstruction { public: GALGAS_gtlLetAddInstruction (const cPtr_gtlLetAddInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLetAddInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlLetAddInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_gtlVarPath & inOperand2, - const class GALGAS_gtlExpression & inOperand3 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlLetAddInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_gtlVarPath & inOperand2, + const class GALGAS_gtlExpression & inOperand3 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLetAddInstruction & inOperand) const ; @@ -1921,27 +1966,27 @@ class GALGAS_gtlLetAddInstruction : public GALGAS_gtlAssignInstruction { } ; // End of GALGAS_gtlLetAddInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlLetAddInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlLetAddInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlLetAddInstruction : public cPtr_gtlAssignInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -1958,7 +2003,7 @@ class cPtr_gtlLetAddInstruction : public cPtr_gtlAssignInstruction { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -1967,11 +2012,11 @@ class cPtr_gtlLetAddInstruction : public cPtr_gtlAssignInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLetAndInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlLetAndInstruction : public GALGAS_gtlAssignInstruction { //--------------------------------- Default constructor @@ -1986,22 +2031,22 @@ class GALGAS_gtlLetAndInstruction : public GALGAS_gtlAssignInstruction { public: GALGAS_gtlLetAndInstruction (const cPtr_gtlLetAndInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLetAndInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlLetAndInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_gtlVarPath & inOperand2, - const class GALGAS_gtlExpression & inOperand3 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlLetAndInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_gtlVarPath & inOperand2, + const class GALGAS_gtlExpression & inOperand3 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLetAndInstruction & inOperand) const ; @@ -2021,27 +2066,27 @@ class GALGAS_gtlLetAndInstruction : public GALGAS_gtlAssignInstruction { } ; // End of GALGAS_gtlLetAndInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlLetAndInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlLetAndInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlLetAndInstruction : public cPtr_gtlAssignInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -2058,7 +2103,7 @@ class cPtr_gtlLetAndInstruction : public cPtr_gtlAssignInstruction { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -2067,11 +2112,11 @@ class cPtr_gtlLetAndInstruction : public cPtr_gtlAssignInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLetDivideInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlLetDivideInstruction : public GALGAS_gtlAssignInstruction { //--------------------------------- Default constructor @@ -2086,22 +2131,22 @@ class GALGAS_gtlLetDivideInstruction : public GALGAS_gtlAssignInstruction { public: GALGAS_gtlLetDivideInstruction (const cPtr_gtlLetDivideInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLetDivideInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlLetDivideInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_gtlVarPath & inOperand2, - const class GALGAS_gtlExpression & inOperand3 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlLetDivideInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_gtlVarPath & inOperand2, + const class GALGAS_gtlExpression & inOperand3 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLetDivideInstruction & inOperand) const ; @@ -2121,27 +2166,27 @@ class GALGAS_gtlLetDivideInstruction : public GALGAS_gtlAssignInstruction { } ; // End of GALGAS_gtlLetDivideInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlLetDivideInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlLetDivideInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlLetDivideInstruction : public cPtr_gtlAssignInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -2158,7 +2203,7 @@ class cPtr_gtlLetDivideInstruction : public cPtr_gtlAssignInstruction { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -2167,11 +2212,11 @@ class cPtr_gtlLetDivideInstruction : public cPtr_gtlAssignInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLetInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlLetInstruction : public GALGAS_gtlAssignInstruction { //--------------------------------- Default constructor @@ -2186,22 +2231,22 @@ class GALGAS_gtlLetInstruction : public GALGAS_gtlAssignInstruction { public: GALGAS_gtlLetInstruction (const cPtr_gtlLetInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLetInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlLetInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_gtlVarPath & inOperand2, - const class GALGAS_gtlExpression & inOperand3 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlLetInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_gtlVarPath & inOperand2, + const class GALGAS_gtlExpression & inOperand3 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLetInstruction & inOperand) const ; @@ -2221,27 +2266,27 @@ class GALGAS_gtlLetInstruction : public GALGAS_gtlAssignInstruction { } ; // End of GALGAS_gtlLetInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlLetInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlLetInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlLetInstruction : public cPtr_gtlAssignInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -2258,7 +2303,7 @@ class cPtr_gtlLetInstruction : public cPtr_gtlAssignInstruction { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -2267,11 +2312,11 @@ class cPtr_gtlLetInstruction : public cPtr_gtlAssignInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLetModuloInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlLetModuloInstruction : public GALGAS_gtlAssignInstruction { //--------------------------------- Default constructor @@ -2286,22 +2331,22 @@ class GALGAS_gtlLetModuloInstruction : public GALGAS_gtlAssignInstruction { public: GALGAS_gtlLetModuloInstruction (const cPtr_gtlLetModuloInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLetModuloInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlLetModuloInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_gtlVarPath & inOperand2, - const class GALGAS_gtlExpression & inOperand3 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlLetModuloInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_gtlVarPath & inOperand2, + const class GALGAS_gtlExpression & inOperand3 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLetModuloInstruction & inOperand) const ; @@ -2321,27 +2366,27 @@ class GALGAS_gtlLetModuloInstruction : public GALGAS_gtlAssignInstruction { } ; // End of GALGAS_gtlLetModuloInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlLetModuloInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlLetModuloInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlLetModuloInstruction : public cPtr_gtlAssignInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -2358,7 +2403,7 @@ class cPtr_gtlLetModuloInstruction : public cPtr_gtlAssignInstruction { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -2367,11 +2412,11 @@ class cPtr_gtlLetModuloInstruction : public cPtr_gtlAssignInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLetMultiplyInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlLetMultiplyInstruction : public GALGAS_gtlAssignInstruction { //--------------------------------- Default constructor @@ -2386,22 +2431,22 @@ class GALGAS_gtlLetMultiplyInstruction : public GALGAS_gtlAssignInstruction { public: GALGAS_gtlLetMultiplyInstruction (const cPtr_gtlLetMultiplyInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLetMultiplyInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlLetMultiplyInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_gtlVarPath & inOperand2, - const class GALGAS_gtlExpression & inOperand3 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlLetMultiplyInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_gtlVarPath & inOperand2, + const class GALGAS_gtlExpression & inOperand3 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLetMultiplyInstruction & inOperand) const ; @@ -2421,27 +2466,27 @@ class GALGAS_gtlLetMultiplyInstruction : public GALGAS_gtlAssignInstruction { } ; // End of GALGAS_gtlLetMultiplyInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlLetMultiplyInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlLetMultiplyInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlLetMultiplyInstruction : public cPtr_gtlAssignInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -2458,7 +2503,7 @@ class cPtr_gtlLetMultiplyInstruction : public cPtr_gtlAssignInstruction { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -2467,11 +2512,11 @@ class cPtr_gtlLetMultiplyInstruction : public cPtr_gtlAssignInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLetOrInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlLetOrInstruction : public GALGAS_gtlAssignInstruction { //--------------------------------- Default constructor @@ -2486,22 +2531,22 @@ class GALGAS_gtlLetOrInstruction : public GALGAS_gtlAssignInstruction { public: GALGAS_gtlLetOrInstruction (const cPtr_gtlLetOrInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLetOrInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlLetOrInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_gtlVarPath & inOperand2, - const class GALGAS_gtlExpression & inOperand3 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlLetOrInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_gtlVarPath & inOperand2, + const class GALGAS_gtlExpression & inOperand3 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLetOrInstruction & inOperand) const ; @@ -2521,27 +2566,27 @@ class GALGAS_gtlLetOrInstruction : public GALGAS_gtlAssignInstruction { } ; // End of GALGAS_gtlLetOrInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlLetOrInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlLetOrInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlLetOrInstruction : public cPtr_gtlAssignInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -2558,7 +2603,7 @@ class cPtr_gtlLetOrInstruction : public cPtr_gtlAssignInstruction { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -2567,11 +2612,11 @@ class cPtr_gtlLetOrInstruction : public cPtr_gtlAssignInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLetShiftLeftInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlLetShiftLeftInstruction : public GALGAS_gtlAssignInstruction { //--------------------------------- Default constructor @@ -2586,22 +2631,22 @@ class GALGAS_gtlLetShiftLeftInstruction : public GALGAS_gtlAssignInstruction { public: GALGAS_gtlLetShiftLeftInstruction (const cPtr_gtlLetShiftLeftInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLetShiftLeftInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlLetShiftLeftInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_gtlVarPath & inOperand2, - const class GALGAS_gtlExpression & inOperand3 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlLetShiftLeftInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_gtlVarPath & inOperand2, + const class GALGAS_gtlExpression & inOperand3 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLetShiftLeftInstruction & inOperand) const ; @@ -2621,27 +2666,27 @@ class GALGAS_gtlLetShiftLeftInstruction : public GALGAS_gtlAssignInstruction { } ; // End of GALGAS_gtlLetShiftLeftInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlLetShiftLeftInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlLetShiftLeftInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlLetShiftLeftInstruction : public cPtr_gtlAssignInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -2658,7 +2703,7 @@ class cPtr_gtlLetShiftLeftInstruction : public cPtr_gtlAssignInstruction { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -2667,11 +2712,11 @@ class cPtr_gtlLetShiftLeftInstruction : public cPtr_gtlAssignInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLetShiftRightInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlLetShiftRightInstruction : public GALGAS_gtlAssignInstruction { //--------------------------------- Default constructor @@ -2686,22 +2731,22 @@ class GALGAS_gtlLetShiftRightInstruction : public GALGAS_gtlAssignInstruction { public: GALGAS_gtlLetShiftRightInstruction (const cPtr_gtlLetShiftRightInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLetShiftRightInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlLetShiftRightInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_gtlVarPath & inOperand2, - const class GALGAS_gtlExpression & inOperand3 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlLetShiftRightInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_gtlVarPath & inOperand2, + const class GALGAS_gtlExpression & inOperand3 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLetShiftRightInstruction & inOperand) const ; @@ -2721,27 +2766,27 @@ class GALGAS_gtlLetShiftRightInstruction : public GALGAS_gtlAssignInstruction { } ; // End of GALGAS_gtlLetShiftRightInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlLetShiftRightInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlLetShiftRightInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlLetShiftRightInstruction : public cPtr_gtlAssignInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -2758,7 +2803,7 @@ class cPtr_gtlLetShiftRightInstruction : public cPtr_gtlAssignInstruction { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -2767,11 +2812,11 @@ class cPtr_gtlLetShiftRightInstruction : public cPtr_gtlAssignInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLetSubstractInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlLetSubstractInstruction : public GALGAS_gtlAssignInstruction { //--------------------------------- Default constructor @@ -2786,22 +2831,22 @@ class GALGAS_gtlLetSubstractInstruction : public GALGAS_gtlAssignInstruction { public: GALGAS_gtlLetSubstractInstruction (const cPtr_gtlLetSubstractInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLetSubstractInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlLetSubstractInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_gtlVarPath & inOperand2, - const class GALGAS_gtlExpression & inOperand3 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlLetSubstractInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_gtlVarPath & inOperand2, + const class GALGAS_gtlExpression & inOperand3 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLetSubstractInstruction & inOperand) const ; @@ -2821,27 +2866,27 @@ class GALGAS_gtlLetSubstractInstruction : public GALGAS_gtlAssignInstruction { } ; // End of GALGAS_gtlLetSubstractInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlLetSubstractInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlLetSubstractInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlLetSubstractInstruction : public cPtr_gtlAssignInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -2858,7 +2903,7 @@ class cPtr_gtlLetSubstractInstruction : public cPtr_gtlAssignInstruction { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -2867,11 +2912,11 @@ class cPtr_gtlLetSubstractInstruction : public cPtr_gtlAssignInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLetXorInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlLetXorInstruction : public GALGAS_gtlAssignInstruction { //--------------------------------- Default constructor @@ -2886,22 +2931,22 @@ class GALGAS_gtlLetXorInstruction : public GALGAS_gtlAssignInstruction { public: GALGAS_gtlLetXorInstruction (const cPtr_gtlLetXorInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLetXorInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlLetXorInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_gtlVarPath & inOperand2, - const class GALGAS_gtlExpression & inOperand3 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlLetXorInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_gtlVarPath & inOperand2, + const class GALGAS_gtlExpression & inOperand3 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLetXorInstruction & inOperand) const ; @@ -2921,27 +2966,27 @@ class GALGAS_gtlLetXorInstruction : public GALGAS_gtlAssignInstruction { } ; // End of GALGAS_gtlLetXorInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlLetXorInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlLetXorInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlLetXorInstruction : public cPtr_gtlAssignInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -2958,7 +3003,7 @@ class cPtr_gtlLetXorInstruction : public cPtr_gtlAssignInstruction { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -2967,11 +3012,11 @@ class cPtr_gtlLetXorInstruction : public cPtr_gtlAssignInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlPrintStatementInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlPrintStatementInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor @@ -2990,22 +3035,22 @@ class GALGAS_gtlPrintStatementInstruction : public GALGAS_gtlInstruction { public: class GALGAS_gtlExpression readProperty_messageToPrint (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlPrintStatementInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlPrintStatementInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_bool & inOperand2, - const class GALGAS_gtlExpression & inOperand3 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlPrintStatementInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_bool & inOperand2, + const class GALGAS_gtlExpression & inOperand3 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlPrintStatementInstruction & inOperand) const ; @@ -3031,27 +3076,27 @@ class GALGAS_gtlPrintStatementInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlPrintStatementInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlPrintStatementInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlPrintStatementInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlPrintStatementInstruction : public cPtr_gtlInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -3074,7 +3119,7 @@ class cPtr_gtlPrintStatementInstruction : public cPtr_gtlInstruction { public: VIRTUAL_IN_DEBUG GALGAS_gtlExpression getter_messageToPrint (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setMessageToPrint (GALGAS_gtlExpression inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -3083,11 +3128,11 @@ class cPtr_gtlPrintStatementInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @gtlWatchpointInstruction value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_gtlWatchpointInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor @@ -3104,21 +3149,21 @@ class GALGAS_gtlWatchpointInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_gtlExpression readProperty_watchExpression (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlWatchpointInstruction extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_gtlWatchpointInstruction class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_string & inOperand1, - const class GALGAS_gtlExpression & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_gtlWatchpointInstruction constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1, + const class GALGAS_gtlExpression & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlWatchpointInstruction & inOperand) const ; @@ -3141,27 +3186,27 @@ class GALGAS_gtlWatchpointInstruction : public GALGAS_gtlInstruction { } ; // End of GALGAS_gtlWatchpointInstruction class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_gtlWatchpointInstruction ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlWatchpointInstruction class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_gtlWatchpointInstruction : public cPtr_gtlInstruction { //--- Extension method display - public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method execute public: virtual void method_execute (class GALGAS_gtlContext & context, class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -3180,7 +3225,7 @@ class cPtr_gtlWatchpointInstruction : public cPtr_gtlInstruction { public: VIRTUAL_IN_DEBUG GALGAS_gtlExpression getter_watchExpression (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setWatchExpression (GALGAS_gtlExpression inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -3189,59 +3234,59 @@ class cPtr_gtlWatchpointInstruction : public cPtr_gtlInstruction { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'signature' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string function_signature (class GALGAS_location inArgument0, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //LEXIQUE goil_5F_lexique // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -#include "Lexique.h" +#include "galgas2/C_Lexique.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // E X T E R N R O U T I N E S -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // E X T E R N F U N C T I O N S -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // T O K E N C L A S S -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cTokenFor_goil_5F_lexique : public cToken { - public: String mLexicalAttribute_a_5F_string ; - public: String mLexicalAttribute_att_5F_token ; + public: C_String mLexicalAttribute_a_5F_string ; + public: C_String mLexicalAttribute_att_5F_token ; public: double mLexicalAttribute_floatNumber ; public: uint64_t mLexicalAttribute_integerNumber ; - public: String mLexicalAttribute_number ; + public: C_String mLexicalAttribute_number ; public: cTokenFor_goil_5F_lexique (void) ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // S C A N N E R C L A S S -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class Lexique_goil_5F_lexique : public Lexique { +class C_Lexique_goil_5F_lexique : public C_Lexique { //--- Constructors - public: Lexique_goil_5F_lexique (Compiler * inCallerCompiler, - const String & inSourceFileName + public: C_Lexique_goil_5F_lexique (C_Compiler * inCallerCompiler, + const C_String & inSourceFileName COMMA_LOCATION_ARGS) ; - public: Lexique_goil_5F_lexique (Compiler * inCallerCompiler, - const String & inSourceString, - const String & inStringForError + public: C_Lexique_goil_5F_lexique (C_Compiler * inCallerCompiler, + const C_String & inSourceString, + const C_String & inStringForError COMMA_LOCATION_ARGS) ; //--- Instrospection @@ -3249,76 +3294,76 @@ class Lexique_goil_5F_lexique : public Lexique { //--- Declaring a protected virtual destructor enables the compiler to raise // an error if a direct delete is performed; only the static method -// SharedObject::detachPointer may invoke delete. +// C_SharedObject::detachPointer may invoke delete. #ifndef DO_NOT_GENERATE_CHECKINGS - protected: virtual ~ Lexique_goil_5F_lexique (void) {} + protected: virtual ~ C_Lexique_goil_5F_lexique (void) {} #endif //--- Terminal symbols enumeration public: enum {kToken_, - kToken_comment /* 1 */ , - kToken_idf /* 2 */ , - kToken_string /* 3 */ , - kToken_g_5F_string /* 4 */ , - kToken_uint_5F_number /* 5 */ , - kToken_float_5F_number /* 6 */ , - kToken_set_5F_start_5F_uint_5F_number /* 7 */ , - kToken_command /* 8 */ , - kToken_OIL_5F_VERSION /* 9 */ , - kToken_IMPLEMENTATION /* 10 */ , - kToken_CPU /* 11 */ , - kToken_UINT_33__32_ /* 12 */ , - kToken_INT_33__32_ /* 13 */ , - kToken_UINT_36__34_ /* 14 */ , - kToken_INT_36__34_ /* 15 */ , - kToken_FLOAT /* 16 */ , - kToken_ENUM /* 17 */ , - kToken_STRING /* 18 */ , - kToken_BOOLEAN /* 19 */ , - kToken_IDENTIFIER /* 20 */ , - kToken_STRUCT /* 21 */ , - kToken_WITH_5F_AUTO /* 22 */ , - kToken_NO_5F_DEFAULT /* 23 */ , - kToken_AUTO /* 24 */ , - kToken_FALSE /* 25 */ , - kToken_TRUE /* 26 */ , - kToken__3B_ /* 27 */ , - kToken__3A_ /* 28 */ , - kToken__3D_ /* 29 */ , - kToken__7B_ /* 30 */ , - kToken__7D_ /* 31 */ , - kToken__2E__2E_ /* 32 */ , - kToken__5B_ /* 33 */ , - kToken__5D_ /* 34 */ , - kToken__2C_ /* 35 */ , - kToken__2E_ /* 36 */ , - kToken__2B_ /* 37 */ , - kToken__2D_ /* 38 */ , - kToken_include /* 39 */ , - kToken_includeifexists /* 40 */ } ; + kToken_comment, + kToken_idf, + kToken_string, + kToken_g_5F_string, + kToken_uint_5F_number, + kToken_float_5F_number, + kToken_set_5F_start_5F_uint_5F_number, + kToken_command, + kToken_OIL_5F_VERSION, + kToken_IMPLEMENTATION, + kToken_CPU, + kToken_UINT_33__32_, + kToken_INT_33__32_, + kToken_UINT_36__34_, + kToken_INT_36__34_, + kToken_FLOAT, + kToken_ENUM, + kToken_STRING, + kToken_BOOLEAN, + kToken_IDENTIFIER, + kToken_STRUCT, + kToken_WITH_5F_AUTO, + kToken_NO_5F_DEFAULT, + kToken_AUTO, + kToken_FALSE, + kToken_TRUE, + kToken__3B_, + kToken__3A_, + kToken__3D_, + kToken__7B_, + kToken__7D_, + kToken__2E__2E_, + kToken__5B_, + kToken__5D_, + kToken__2C_, + kToken__2E_, + kToken__2B_, + kToken__2D_, + kToken_include, + kToken_includeifexists} ; //--- Key words table 'oilVersion' - public: static int32_t search_into_oilVersion (const String & inSearchedString) ; + public: static int32_t search_into_oilVersion (const C_String & inSearchedString) ; //--- Key words table 'oilDefinitions' - public: static int32_t search_into_oilDefinitions (const String & inSearchedString) ; + public: static int32_t search_into_oilDefinitions (const C_String & inSearchedString) ; //--- Key words table 'dataTypes' - public: static int32_t search_into_dataTypes (const String & inSearchedString) ; + public: static int32_t search_into_dataTypes (const C_String & inSearchedString) ; //--- Key words table 'miscSpecifiers' - public: static int32_t search_into_miscSpecifiers (const String & inSearchedString) ; + public: static int32_t search_into_miscSpecifiers (const C_String & inSearchedString) ; //--- Key words table 'boolean' - public: static int32_t search_into_boolean (const String & inSearchedString) ; + public: static int32_t search_into_boolean (const C_String & inSearchedString) ; //--- Key words table 'OILDelimiters' - public: static int32_t search_into_OILDelimiters (const String & inSearchedString) ; + public: static int32_t search_into_OILDelimiters (const C_String & inSearchedString) ; //--- Key words table 'commands' - public: static int32_t search_into_commands (const String & inSearchedString) ; + public: static int32_t search_into_commands (const C_String & inSearchedString) ; //--- Assign from attribute @@ -3330,41 +3375,41 @@ class Lexique_goil_5F_lexique : public Lexique { //--- Attribute access - public: String attributeValue_a_5F_string (void) const ; - public: String attributeValue_att_5F_token (void) const ; + public: C_String attributeValue_a_5F_string (void) const ; + public: C_String attributeValue_att_5F_token (void) const ; public: double attributeValue_floatNumber (void) const ; public: uint64_t attributeValue_integerNumber (void) const ; - public: String attributeValue_number (void) const ; + public: C_String attributeValue_number (void) const ; -//--- indexing keys +//--- Indexing keys //--- Parse lexical token protected: void internalParseLexicalToken (cTokenFor_goil_5F_lexique & token) ; protected: virtual bool parseLexicalToken (void) override ; //--- Get terminal message - protected: virtual String getMessageForTerminal (const int32_t inTerminalSymbol) const override ; + protected: virtual C_String getMessageForTerminal (const int32_t inTerminalSymbol) const override ; //--- Get terminal count public: virtual int32_t terminalVocabularyCount (void) const override { return 40 ; } //--- Get Token String - public: virtual String getCurrentTokenString (const cToken * inTokenPtr) const override ; + public: virtual C_String getCurrentTokenString (const cToken * inTokenPtr) const override ; //--- Enter Token protected: void enterToken (cTokenFor_goil_5F_lexique & ioToken) ; //--- Style name for Latex - protected: virtual String styleNameForIndex (const uint32_t inStyleIndex) const override ; + protected: virtual C_String styleNameForIndex (const uint32_t inStyleIndex) const override ; protected: virtual uint32_t styleIndexForTerminal (const int32_t inTerminalIndex) const override ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @dataType enum * // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_dataType : public AC_GALGAS_root { //--------------------------------- Default constructor @@ -3395,44 +3440,44 @@ class GALGAS_dataType : public AC_GALGAS_root { public: VIRTUAL_IN_DEBUG inline void drop (void) override { mEnum = kNotBuilt ; } public: inline enumeration enumValue (void) const { return mEnum ; } -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_dataType extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_dataType class_func_boolean (LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_dataType constructor_boolean (LOCATION_ARGS) ; - public: static class GALGAS_dataType class_func_enumeration (LOCATION_ARGS) ; + public: static class GALGAS_dataType constructor_enumeration (LOCATION_ARGS) ; - public: static class GALGAS_dataType class_func_floatNumber (LOCATION_ARGS) ; + public: static class GALGAS_dataType constructor_floatNumber (LOCATION_ARGS) ; - public: static class GALGAS_dataType class_func_identifier (LOCATION_ARGS) ; + public: static class GALGAS_dataType constructor_identifier (LOCATION_ARGS) ; - public: static class GALGAS_dataType class_func_objectType (LOCATION_ARGS) ; + public: static class GALGAS_dataType constructor_objectType (LOCATION_ARGS) ; - public: static class GALGAS_dataType class_func_sint_33__32_Number (LOCATION_ARGS) ; + public: static class GALGAS_dataType constructor_sint_33__32_Number (LOCATION_ARGS) ; - public: static class GALGAS_dataType class_func_sint_36__34_Number (LOCATION_ARGS) ; + public: static class GALGAS_dataType constructor_sint_36__34_Number (LOCATION_ARGS) ; - public: static class GALGAS_dataType class_func_string (LOCATION_ARGS) ; + public: static class GALGAS_dataType constructor_string (LOCATION_ARGS) ; - public: static class GALGAS_dataType class_func_structType (LOCATION_ARGS) ; + public: static class GALGAS_dataType constructor_structType (LOCATION_ARGS) ; - public: static class GALGAS_dataType class_func_uint_33__32_Number (LOCATION_ARGS) ; + public: static class GALGAS_dataType constructor_uint_33__32_Number (LOCATION_ARGS) ; - public: static class GALGAS_dataType class_func_uint_36__34_Number (LOCATION_ARGS) ; + public: static class GALGAS_dataType constructor_uint_36__34_Number (LOCATION_ARGS) ; - public: static class GALGAS_dataType class_func_void (LOCATION_ARGS) ; + public: static class GALGAS_dataType constructor_void (LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_dataType & inOperand) const ; @@ -3499,35 +3544,35 @@ class GALGAS_dataType : public AC_GALGAS_root { } ; // End of GALGAS_dataType class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_dataType ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@dataType oilType' (as function) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string extensionGetter_oilType (const class GALGAS_dataType & inObject, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Extension getter '@dataType arxmlType' (as function) // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string extensionGetter_arxmlType (const class GALGAS_dataType & inObject, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @uint32List list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_uint_33__32_List : public AC_GALGAS_list { //--------------------------------- Default constructor @@ -3542,26 +3587,26 @@ class GALGAS_uint_33__32_List : public AC_GALGAS_list { const class GALGAS_uint & in_value COMMA_LOCATION_ARGS) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_uint_33__32_List extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_uint_33__32_List class_func_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_uint_33__32_List constructor_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_uint_33__32_List class_func_listWithValue (const class GALGAS_location & inOperand0, - const class GALGAS_uint & inOperand1 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_uint_33__32_List constructor_listWithValue (const class GALGAS_location & inOperand0, + const class GALGAS_uint & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_uint_33__32_List inOperand, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -3570,81 +3615,81 @@ class GALGAS_uint_33__32_List : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_uint_33__32_List add_operation (const GALGAS_uint_33__32_List & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_location constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_location constinArgument0, class GALGAS_uint constinArgument1, class GALGAS_uint constinArgument2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_location & outArgument0, class GALGAS_uint & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_location & outArgument0, class GALGAS_uint & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_location & outArgument0, class GALGAS_uint & outArgument1, class GALGAS_uint constinArgument2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setLocationAtIndex (class GALGAS_location constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setValueAtIndex (class GALGAS_uint constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_location & outArgument0, class GALGAS_uint & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_location & outArgument0, class GALGAS_uint & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_location getter_locationAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_uint_33__32_List getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_uint_33__32_List getter_subListToIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_uint_33__32_List getter_subListWithRange (const class GALGAS_range & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_uint getter_valueAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -3658,9 +3703,9 @@ class GALGAS_uint_33__32_List : public AC_GALGAS_list { } ; // End of GALGAS_uint_33__32_List class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Enumerator declaration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cEnumerator_uint_33__32_List : public cGenericAbstractEnumerator { public: cEnumerator_uint_33__32_List (const GALGAS_uint_33__32_List & inEnumeratedObject, @@ -3673,15 +3718,15 @@ class cEnumerator_uint_33__32_List : public cGenericAbstractEnumerator { public: class GALGAS_uint_33__32_List_2D_element current (LOCATION_ARGS) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_uint_33__32_List ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @uint_33__32_List_2D_element struct // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_uint_33__32_List_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -3699,6 +3744,9 @@ class GALGAS_uint_33__32_List_2D_element : public AC_GALGAS_root { public: VIRTUAL_IN_DEBUG bool isValid (void) const override ; public: VIRTUAL_IN_DEBUG void drop (void) override ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_uint_33__32_List_2D_element constructor_default (LOCATION_ARGS) ; + //--------------------------------- Default constructor public: GALGAS_uint_33__32_List_2D_element (void) ; @@ -3718,25 +3766,24 @@ class GALGAS_uint_33__32_List_2D_element : public AC_GALGAS_root { public: GALGAS_uint_33__32_List_2D_element (const GALGAS_location & in_location, const GALGAS_uint & in_value) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_uint_33__32_List_2D_element extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_uint_33__32_List_2D_element class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_uint & inOperand1, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_uint_33__32_List_2D_element constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_uint & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_uint_33__32_List_2D_element & inOperand) const ; @@ -3755,15 +3802,15 @@ class GALGAS_uint_33__32_List_2D_element : public AC_GALGAS_root { } ; // End of GALGAS_uint_33__32_List_2D_element class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_uint_33__32_List_2D_element ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @uint64List list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_uint_36__34_List : public AC_GALGAS_list { //--------------------------------- Default constructor @@ -3778,26 +3825,26 @@ class GALGAS_uint_36__34_List : public AC_GALGAS_list { const class GALGAS_uint_36__34_ & in_value COMMA_LOCATION_ARGS) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_uint_36__34_List extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_uint_36__34_List class_func_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_uint_36__34_List constructor_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_uint_36__34_List class_func_listWithValue (const class GALGAS_location & inOperand0, - const class GALGAS_uint_36__34_ & inOperand1 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_uint_36__34_List constructor_listWithValue (const class GALGAS_location & inOperand0, + const class GALGAS_uint_36__34_ & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_uint_36__34_List inOperand, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -3806,81 +3853,81 @@ class GALGAS_uint_36__34_List : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_uint_36__34_List add_operation (const GALGAS_uint_36__34_List & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_location constinArgument0, class GALGAS_uint_36__34_ constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_location constinArgument0, class GALGAS_uint_36__34_ constinArgument1, class GALGAS_uint constinArgument2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_location & outArgument0, class GALGAS_uint_36__34_ & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_location & outArgument0, class GALGAS_uint_36__34_ & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_location & outArgument0, class GALGAS_uint_36__34_ & outArgument1, class GALGAS_uint constinArgument2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setLocationAtIndex (class GALGAS_location constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setValueAtIndex (class GALGAS_uint_36__34_ constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_location & outArgument0, class GALGAS_uint_36__34_ & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_location & outArgument0, class GALGAS_uint_36__34_ & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_location getter_locationAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_uint_36__34_List getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_uint_36__34_List getter_subListToIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_uint_36__34_List getter_subListWithRange (const class GALGAS_range & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_uint_36__34_ getter_valueAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -3894,9 +3941,9 @@ class GALGAS_uint_36__34_List : public AC_GALGAS_list { } ; // End of GALGAS_uint_36__34_List class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Enumerator declaration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cEnumerator_uint_36__34_List : public cGenericAbstractEnumerator { public: cEnumerator_uint_36__34_List (const GALGAS_uint_36__34_List & inEnumeratedObject, @@ -3909,15 +3956,15 @@ class cEnumerator_uint_36__34_List : public cGenericAbstractEnumerator { public: class GALGAS_uint_36__34_List_2D_element current (LOCATION_ARGS) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_uint_36__34_List ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @uint_36__34_List_2D_element struct // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_uint_36__34_List_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -3935,6 +3982,9 @@ class GALGAS_uint_36__34_List_2D_element : public AC_GALGAS_root { public: VIRTUAL_IN_DEBUG bool isValid (void) const override ; public: VIRTUAL_IN_DEBUG void drop (void) override ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_uint_36__34_List_2D_element constructor_default (LOCATION_ARGS) ; + //--------------------------------- Default constructor public: GALGAS_uint_36__34_List_2D_element (void) ; @@ -3954,25 +4004,24 @@ class GALGAS_uint_36__34_List_2D_element : public AC_GALGAS_root { public: GALGAS_uint_36__34_List_2D_element (const GALGAS_location & in_location, const GALGAS_uint_36__34_ & in_value) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_uint_36__34_List_2D_element extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_uint_36__34_List_2D_element class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_uint_36__34_ & inOperand1, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_uint_36__34_List_2D_element constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_uint_36__34_ & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_uint_36__34_List_2D_element & inOperand) const ; @@ -3991,15 +4040,15 @@ class GALGAS_uint_36__34_List_2D_element : public AC_GALGAS_root { } ; // End of GALGAS_uint_36__34_List_2D_element class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_uint_36__34_List_2D_element ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @sint32List list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_sint_33__32_List : public AC_GALGAS_list { //--------------------------------- Default constructor @@ -4014,26 +4063,26 @@ class GALGAS_sint_33__32_List : public AC_GALGAS_list { const class GALGAS_sint & in_value COMMA_LOCATION_ARGS) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_sint_33__32_List extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_sint_33__32_List class_func_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_sint_33__32_List constructor_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_sint_33__32_List class_func_listWithValue (const class GALGAS_location & inOperand0, - const class GALGAS_sint & inOperand1 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_sint_33__32_List constructor_listWithValue (const class GALGAS_location & inOperand0, + const class GALGAS_sint & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_sint_33__32_List inOperand, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -4042,81 +4091,81 @@ class GALGAS_sint_33__32_List : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_sint_33__32_List add_operation (const GALGAS_sint_33__32_List & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_location constinArgument0, class GALGAS_sint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_location constinArgument0, class GALGAS_sint constinArgument1, class GALGAS_uint constinArgument2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_location & outArgument0, class GALGAS_sint & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_location & outArgument0, class GALGAS_sint & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_location & outArgument0, class GALGAS_sint & outArgument1, class GALGAS_uint constinArgument2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setLocationAtIndex (class GALGAS_location constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setValueAtIndex (class GALGAS_sint constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_location & outArgument0, class GALGAS_sint & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_location & outArgument0, class GALGAS_sint & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_location getter_locationAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_sint_33__32_List getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_sint_33__32_List getter_subListToIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_sint_33__32_List getter_subListWithRange (const class GALGAS_range & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_sint getter_valueAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -4130,9 +4179,9 @@ class GALGAS_sint_33__32_List : public AC_GALGAS_list { } ; // End of GALGAS_sint_33__32_List class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Enumerator declaration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cEnumerator_sint_33__32_List : public cGenericAbstractEnumerator { public: cEnumerator_sint_33__32_List (const GALGAS_sint_33__32_List & inEnumeratedObject, @@ -4145,15 +4194,15 @@ class cEnumerator_sint_33__32_List : public cGenericAbstractEnumerator { public: class GALGAS_sint_33__32_List_2D_element current (LOCATION_ARGS) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_sint_33__32_List ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @sint_33__32_List_2D_element struct // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_sint_33__32_List_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -4171,6 +4220,9 @@ class GALGAS_sint_33__32_List_2D_element : public AC_GALGAS_root { public: VIRTUAL_IN_DEBUG bool isValid (void) const override ; public: VIRTUAL_IN_DEBUG void drop (void) override ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_sint_33__32_List_2D_element constructor_default (LOCATION_ARGS) ; + //--------------------------------- Default constructor public: GALGAS_sint_33__32_List_2D_element (void) ; @@ -4190,25 +4242,24 @@ class GALGAS_sint_33__32_List_2D_element : public AC_GALGAS_root { public: GALGAS_sint_33__32_List_2D_element (const GALGAS_location & in_location, const GALGAS_sint & in_value) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_sint_33__32_List_2D_element extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_sint_33__32_List_2D_element class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_sint & inOperand1, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_sint_33__32_List_2D_element constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_sint & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_sint_33__32_List_2D_element & inOperand) const ; @@ -4227,15 +4278,15 @@ class GALGAS_sint_33__32_List_2D_element : public AC_GALGAS_root { } ; // End of GALGAS_sint_33__32_List_2D_element class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_sint_33__32_List_2D_element ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @sint64List list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_sint_36__34_List : public AC_GALGAS_list { //--------------------------------- Default constructor @@ -4250,26 +4301,26 @@ class GALGAS_sint_36__34_List : public AC_GALGAS_list { const class GALGAS_sint_36__34_ & in_value COMMA_LOCATION_ARGS) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_sint_36__34_List extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_sint_36__34_List class_func_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_sint_36__34_List constructor_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_sint_36__34_List class_func_listWithValue (const class GALGAS_location & inOperand0, - const class GALGAS_sint_36__34_ & inOperand1 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_sint_36__34_List constructor_listWithValue (const class GALGAS_location & inOperand0, + const class GALGAS_sint_36__34_ & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_sint_36__34_List inOperand, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -4278,81 +4329,81 @@ class GALGAS_sint_36__34_List : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_sint_36__34_List add_operation (const GALGAS_sint_36__34_List & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_location constinArgument0, class GALGAS_sint_36__34_ constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_location constinArgument0, class GALGAS_sint_36__34_ constinArgument1, class GALGAS_uint constinArgument2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_location & outArgument0, class GALGAS_sint_36__34_ & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_location & outArgument0, class GALGAS_sint_36__34_ & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_location & outArgument0, class GALGAS_sint_36__34_ & outArgument1, class GALGAS_uint constinArgument2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setLocationAtIndex (class GALGAS_location constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setValueAtIndex (class GALGAS_sint_36__34_ constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_location & outArgument0, class GALGAS_sint_36__34_ & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_location & outArgument0, class GALGAS_sint_36__34_ & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_location getter_locationAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_sint_36__34_List getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_sint_36__34_List getter_subListToIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_sint_36__34_List getter_subListWithRange (const class GALGAS_range & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_sint_36__34_ getter_valueAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -4366,9 +4417,9 @@ class GALGAS_sint_36__34_List : public AC_GALGAS_list { } ; // End of GALGAS_sint_36__34_List class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Enumerator declaration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cEnumerator_sint_36__34_List : public cGenericAbstractEnumerator { public: cEnumerator_sint_36__34_List (const GALGAS_sint_36__34_List & inEnumeratedObject, @@ -4381,15 +4432,15 @@ class cEnumerator_sint_36__34_List : public cGenericAbstractEnumerator { public: class GALGAS_sint_36__34_List_2D_element current (LOCATION_ARGS) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_sint_36__34_List ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @sint_36__34_List_2D_element struct // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_sint_36__34_List_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -4407,6 +4458,9 @@ class GALGAS_sint_36__34_List_2D_element : public AC_GALGAS_root { public: VIRTUAL_IN_DEBUG bool isValid (void) const override ; public: VIRTUAL_IN_DEBUG void drop (void) override ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_sint_36__34_List_2D_element constructor_default (LOCATION_ARGS) ; + //--------------------------------- Default constructor public: GALGAS_sint_36__34_List_2D_element (void) ; @@ -4426,25 +4480,24 @@ class GALGAS_sint_36__34_List_2D_element : public AC_GALGAS_root { public: GALGAS_sint_36__34_List_2D_element (const GALGAS_location & in_location, const GALGAS_sint_36__34_ & in_value) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_sint_36__34_List_2D_element extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_sint_36__34_List_2D_element class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_sint_36__34_ & inOperand1, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_sint_36__34_List_2D_element constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_sint_36__34_ & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_sint_36__34_List_2D_element & inOperand) const ; @@ -4463,15 +4516,15 @@ class GALGAS_sint_36__34_List_2D_element : public AC_GALGAS_root { } ; // End of GALGAS_sint_36__34_List_2D_element class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_sint_36__34_List_2D_element ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @floatList list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_floatList : public AC_GALGAS_list { //--------------------------------- Default constructor @@ -4486,26 +4539,26 @@ class GALGAS_floatList : public AC_GALGAS_list { const class GALGAS_double & in_value COMMA_LOCATION_ARGS) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_floatList extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_floatList class_func_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_floatList constructor_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_floatList class_func_listWithValue (const class GALGAS_location & inOperand0, - const class GALGAS_double & inOperand1 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_floatList constructor_listWithValue (const class GALGAS_location & inOperand0, + const class GALGAS_double & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_floatList inOperand, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -4514,81 +4567,81 @@ class GALGAS_floatList : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_floatList add_operation (const GALGAS_floatList & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_location constinArgument0, class GALGAS_double constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_location constinArgument0, class GALGAS_double constinArgument1, class GALGAS_uint constinArgument2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_location & outArgument0, class GALGAS_double & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_location & outArgument0, class GALGAS_double & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_location & outArgument0, class GALGAS_double & outArgument1, class GALGAS_uint constinArgument2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setLocationAtIndex (class GALGAS_location constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setValueAtIndex (class GALGAS_double constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_location & outArgument0, class GALGAS_double & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_location & outArgument0, class GALGAS_double & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_location getter_locationAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_floatList getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_floatList getter_subListToIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_floatList getter_subListWithRange (const class GALGAS_range & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_double getter_valueAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -4602,9 +4655,9 @@ class GALGAS_floatList : public AC_GALGAS_list { } ; // End of GALGAS_floatList class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Enumerator declaration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cEnumerator_floatList : public cGenericAbstractEnumerator { public: cEnumerator_floatList (const GALGAS_floatList & inEnumeratedObject, @@ -4617,15 +4670,15 @@ class cEnumerator_floatList : public cGenericAbstractEnumerator { public: class GALGAS_floatList_2D_element current (LOCATION_ARGS) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_floatList ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @floatList_2D_element struct // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_floatList_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -4643,6 +4696,9 @@ class GALGAS_floatList_2D_element : public AC_GALGAS_root { public: VIRTUAL_IN_DEBUG bool isValid (void) const override ; public: VIRTUAL_IN_DEBUG void drop (void) override ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_floatList_2D_element constructor_default (LOCATION_ARGS) ; + //--------------------------------- Default constructor public: GALGAS_floatList_2D_element (void) ; @@ -4662,25 +4718,24 @@ class GALGAS_floatList_2D_element : public AC_GALGAS_root { public: GALGAS_floatList_2D_element (const GALGAS_location & in_location, const GALGAS_double & in_value) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_floatList_2D_element extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_floatList_2D_element class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_double & inOperand1, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_floatList_2D_element constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_double & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_floatList_2D_element & inOperand) const ; @@ -4699,15 +4754,15 @@ class GALGAS_floatList_2D_element : public AC_GALGAS_root { } ; // End of GALGAS_floatList_2D_element class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_floatList_2D_element ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @numberList list // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_numberList : public AC_GALGAS_list { //--------------------------------- Default constructor @@ -4722,26 +4777,26 @@ class GALGAS_numberList : public AC_GALGAS_list { const class GALGAS_object_5F_t & in_value COMMA_LOCATION_ARGS) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_numberList extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_numberList class_func_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_numberList constructor_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_numberList class_func_listWithValue (const class GALGAS_location & inOperand0, - const class GALGAS_object_5F_t & inOperand1 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_numberList constructor_listWithValue (const class GALGAS_location & inOperand0, + const class GALGAS_object_5F_t & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_numberList inOperand, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -4750,81 +4805,81 @@ class GALGAS_numberList : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_numberList add_operation (const GALGAS_numberList & inOperand, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_location constinArgument0, class GALGAS_object_5F_t constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_location constinArgument0, class GALGAS_object_5F_t constinArgument1, class GALGAS_uint constinArgument2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_location & outArgument0, class GALGAS_object_5F_t & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_location & outArgument0, class GALGAS_object_5F_t & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_location & outArgument0, class GALGAS_object_5F_t & outArgument1, class GALGAS_uint constinArgument2, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setLocationAtIndex (class GALGAS_location constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setValueAtIndex (class GALGAS_object_5F_t constinArgument0, class GALGAS_uint constinArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_location & outArgument0, class GALGAS_object_5F_t & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_location & outArgument0, class GALGAS_object_5F_t & outArgument1, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_location getter_locationAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_numberList getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_numberList getter_subListToIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_numberList getter_subListWithRange (const class GALGAS_range & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_object_5F_t getter_valueAtIndex (const class GALGAS_uint & constinOperand0, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -4838,9 +4893,9 @@ class GALGAS_numberList : public AC_GALGAS_list { } ; // End of GALGAS_numberList class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Enumerator declaration -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cEnumerator_numberList : public cGenericAbstractEnumerator { public: cEnumerator_numberList (const GALGAS_numberList & inEnumeratedObject, @@ -4853,15 +4908,15 @@ class cEnumerator_numberList : public cGenericAbstractEnumerator { public: class GALGAS_numberList_2D_element current (LOCATION_ARGS) const ; } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_numberList ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @object_5F_t value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_object_5F_t : public AC_GALGAS_value_class { //--------------------------------- Default constructor @@ -4880,14 +4935,14 @@ class GALGAS_object_5F_t : public AC_GALGAS_value_class { public: class GALGAS_location readProperty_location (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_object_5F_t extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison @@ -4914,27 +4969,27 @@ class GALGAS_object_5F_t : public AC_GALGAS_value_class { } ; // End of GALGAS_object_5F_t class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_object_5F_t ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @object_t class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_object_5F_t : public acPtr_class { //--- Extension method set public: virtual void method_set (const class GALGAS_lstring name, class GALGAS_gtlData & result, - Compiler * COMMA_LOCATION_ARGS) ; + C_Compiler * COMMA_LOCATION_ARGS) ; //--- Extension method verifyCrossReferences public: virtual void method_verifyCrossReferences (const class GALGAS_objectsMap allObjects, const class GALGAS_impType type, - Compiler * COMMA_LOCATION_ARGS) ; + C_Compiler * COMMA_LOCATION_ARGS) ; //--- Properties @@ -4952,7 +5007,7 @@ class cPtr_object_5F_t : public acPtr_class { public: VIRTUAL_IN_DEBUG GALGAS_location getter_location (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setLocation (GALGAS_location inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override = 0 ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override = 0 ; @@ -4961,11 +5016,11 @@ class cPtr_object_5F_t : public acPtr_class { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @numberList_2D_element struct // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_numberList_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -5002,25 +5057,24 @@ class GALGAS_numberList_2D_element : public AC_GALGAS_root { public: GALGAS_numberList_2D_element (const GALGAS_location & in_location, const GALGAS_object_5F_t & in_value) ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_numberList_2D_element extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_numberList_2D_element class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_object_5F_t & inOperand1, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_numberList_2D_element constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_object_5F_t & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_numberList_2D_element & inOperand) const ; @@ -5039,15 +5093,15 @@ class GALGAS_numberList_2D_element : public AC_GALGAS_root { } ; // End of GALGAS_numberList_2D_element class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_numberList_2D_element ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @attributeRange value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_attributeRange : public AC_GALGAS_value_class { //--------------------------------- Default constructor @@ -5064,14 +5118,14 @@ class GALGAS_attributeRange : public AC_GALGAS_value_class { //--------------------------------- Property read access public: class GALGAS_location readProperty_location (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_attributeRange extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison @@ -5095,29 +5149,29 @@ class GALGAS_attributeRange : public AC_GALGAS_value_class { } ; // End of GALGAS_attributeRange class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_attributeRange ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @attributeRange class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_attributeRange : public acPtr_class { //--- Extension getter contains public: virtual class GALGAS_bool getter_contains (const class GALGAS_object_5F_t obj, - Compiler * COMMA_LOCATION_ARGS) const = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const = 0 ; + public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension method enclose public: virtual void method_enclose (class GALGAS_bool & isWithin, const class GALGAS_attributeRange value, - Compiler * COMMA_LOCATION_ARGS) = 0 ; + C_Compiler * COMMA_LOCATION_ARGS) = 0 ; //--- Properties @@ -5131,7 +5185,7 @@ class cPtr_attributeRange : public acPtr_class { public: VIRTUAL_IN_DEBUG GALGAS_location getter_location (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setLocation (GALGAS_location inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override = 0 ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override = 0 ; @@ -5140,28 +5194,31 @@ class cPtr_attributeRange : public acPtr_class { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Abstract extension method '@attributeRange enclose' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- void callExtensionMethod_enclose (class cPtr_attributeRange * inObject, class GALGAS_bool & out_isWithin, const class GALGAS_attributeRange constin_value, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @noRange value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_noRange : public GALGAS_attributeRange { //--------------------------------- Default constructor public: GALGAS_noRange (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_noRange constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_noRange * ptr (void) const { return (const cPtr_noRange *) mObjectPtr ; @@ -5171,19 +5228,19 @@ class GALGAS_noRange : public GALGAS_attributeRange { public: GALGAS_noRange (const cPtr_noRange * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_noRange extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_noRange class_func_new (const class GALGAS_location & inOperand0 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_noRange constructor_new (const class GALGAS_location & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_noRange & inOperand) const ; @@ -5203,29 +5260,29 @@ class GALGAS_noRange : public GALGAS_attributeRange { } ; // End of GALGAS_noRange class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_noRange ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @noRange class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_noRange : public cPtr_attributeRange { //--- Extension getter contains public: virtual class GALGAS_bool getter_contains (const class GALGAS_object_5F_t obj, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method enclose public: virtual void method_enclose (class GALGAS_bool & isWithin, const class GALGAS_attributeRange value, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -5239,7 +5296,7 @@ class cPtr_noRange : public cPtr_attributeRange { //--- Attribute accessors //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -5248,16 +5305,19 @@ class cPtr_noRange : public cPtr_attributeRange { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @uint_33__32_AttributeSet value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_uint_33__32_AttributeSet : public GALGAS_attributeRange { //--------------------------------- Default constructor public: GALGAS_uint_33__32_AttributeSet (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_uint_33__32_AttributeSet constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_uint_33__32_AttributeSet * ptr (void) const { return (const cPtr_uint_33__32_AttributeSet *) mObjectPtr ; @@ -5269,20 +5329,20 @@ class GALGAS_uint_33__32_AttributeSet : public GALGAS_attributeRange { //--------------------------------- Property read access public: class GALGAS_uint_33__32_List readProperty_valueList (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_uint_33__32_AttributeSet extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_uint_33__32_AttributeSet class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_uint_33__32_List & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_uint_33__32_AttributeSet constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_uint_33__32_List & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_uint_33__32_AttributeSet & inOperand) const ; @@ -5305,29 +5365,29 @@ class GALGAS_uint_33__32_AttributeSet : public GALGAS_attributeRange { } ; // End of GALGAS_uint_33__32_AttributeSet class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_uint_33__32_AttributeSet ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @uint32AttributeSet class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_uint_33__32_AttributeSet : public cPtr_attributeRange { //--- Extension getter contains public: virtual class GALGAS_bool getter_contains (const class GALGAS_object_5F_t obj, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method enclose public: virtual void method_enclose (class GALGAS_bool & isWithin, const class GALGAS_attributeRange value, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -5345,7 +5405,7 @@ class cPtr_uint_33__32_AttributeSet : public cPtr_attributeRange { public: VIRTUAL_IN_DEBUG GALGAS_uint_33__32_List getter_valueList (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setValueList (GALGAS_uint_33__32_List inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -5354,16 +5414,19 @@ class cPtr_uint_33__32_AttributeSet : public cPtr_attributeRange { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @uint_36__34_AttributeSet value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_uint_36__34_AttributeSet : public GALGAS_attributeRange { //--------------------------------- Default constructor public: GALGAS_uint_36__34_AttributeSet (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_uint_36__34_AttributeSet constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_uint_36__34_AttributeSet * ptr (void) const { return (const cPtr_uint_36__34_AttributeSet *) mObjectPtr ; @@ -5375,20 +5438,20 @@ class GALGAS_uint_36__34_AttributeSet : public GALGAS_attributeRange { //--------------------------------- Property read access public: class GALGAS_uint_36__34_List readProperty_valueList (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_uint_36__34_AttributeSet extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_uint_36__34_AttributeSet class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_uint_36__34_List & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_uint_36__34_AttributeSet constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_uint_36__34_List & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_uint_36__34_AttributeSet & inOperand) const ; @@ -5411,29 +5474,29 @@ class GALGAS_uint_36__34_AttributeSet : public GALGAS_attributeRange { } ; // End of GALGAS_uint_36__34_AttributeSet class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_uint_36__34_AttributeSet ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @uint64AttributeSet class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_uint_36__34_AttributeSet : public cPtr_attributeRange { //--- Extension getter contains public: virtual class GALGAS_bool getter_contains (const class GALGAS_object_5F_t obj, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method enclose public: virtual void method_enclose (class GALGAS_bool & isWithin, const class GALGAS_attributeRange value, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -5451,7 +5514,7 @@ class cPtr_uint_36__34_AttributeSet : public cPtr_attributeRange { public: VIRTUAL_IN_DEBUG GALGAS_uint_36__34_List getter_valueList (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setValueList (GALGAS_uint_36__34_List inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -5460,16 +5523,19 @@ class cPtr_uint_36__34_AttributeSet : public cPtr_attributeRange { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @sint_33__32_AttributeSet value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_sint_33__32_AttributeSet : public GALGAS_attributeRange { //--------------------------------- Default constructor public: GALGAS_sint_33__32_AttributeSet (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_sint_33__32_AttributeSet constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_sint_33__32_AttributeSet * ptr (void) const { return (const cPtr_sint_33__32_AttributeSet *) mObjectPtr ; @@ -5481,20 +5547,20 @@ class GALGAS_sint_33__32_AttributeSet : public GALGAS_attributeRange { //--------------------------------- Property read access public: class GALGAS_sint_33__32_List readProperty_valueList (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_sint_33__32_AttributeSet extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_sint_33__32_AttributeSet class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_sint_33__32_List & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_sint_33__32_AttributeSet constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_sint_33__32_List & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_sint_33__32_AttributeSet & inOperand) const ; @@ -5517,29 +5583,29 @@ class GALGAS_sint_33__32_AttributeSet : public GALGAS_attributeRange { } ; // End of GALGAS_sint_33__32_AttributeSet class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_sint_33__32_AttributeSet ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @sint32AttributeSet class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_sint_33__32_AttributeSet : public cPtr_attributeRange { //--- Extension getter contains public: virtual class GALGAS_bool getter_contains (const class GALGAS_object_5F_t obj, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method enclose public: virtual void method_enclose (class GALGAS_bool & isWithin, const class GALGAS_attributeRange value, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -5557,7 +5623,7 @@ class cPtr_sint_33__32_AttributeSet : public cPtr_attributeRange { public: VIRTUAL_IN_DEBUG GALGAS_sint_33__32_List getter_valueList (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setValueList (GALGAS_sint_33__32_List inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -5566,16 +5632,19 @@ class cPtr_sint_33__32_AttributeSet : public cPtr_attributeRange { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @sint_36__34_AttributeSet value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_sint_36__34_AttributeSet : public GALGAS_attributeRange { //--------------------------------- Default constructor public: GALGAS_sint_36__34_AttributeSet (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_sint_36__34_AttributeSet constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_sint_36__34_AttributeSet * ptr (void) const { return (const cPtr_sint_36__34_AttributeSet *) mObjectPtr ; @@ -5587,20 +5656,20 @@ class GALGAS_sint_36__34_AttributeSet : public GALGAS_attributeRange { //--------------------------------- Property read access public: class GALGAS_sint_36__34_List readProperty_valueList (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_sint_36__34_AttributeSet extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_sint_36__34_AttributeSet class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_sint_36__34_List & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_sint_36__34_AttributeSet constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_sint_36__34_List & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_sint_36__34_AttributeSet & inOperand) const ; @@ -5623,29 +5692,29 @@ class GALGAS_sint_36__34_AttributeSet : public GALGAS_attributeRange { } ; // End of GALGAS_sint_36__34_AttributeSet class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_sint_36__34_AttributeSet ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @sint64AttributeSet class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_sint_36__34_AttributeSet : public cPtr_attributeRange { //--- Extension getter contains public: virtual class GALGAS_bool getter_contains (const class GALGAS_object_5F_t obj, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method enclose public: virtual void method_enclose (class GALGAS_bool & isWithin, const class GALGAS_attributeRange value, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -5663,7 +5732,7 @@ class cPtr_sint_36__34_AttributeSet : public cPtr_attributeRange { public: VIRTUAL_IN_DEBUG GALGAS_sint_36__34_List getter_valueList (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setValueList (GALGAS_sint_36__34_List inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -5672,16 +5741,19 @@ class cPtr_sint_36__34_AttributeSet : public cPtr_attributeRange { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @floatAttributeSet value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_floatAttributeSet : public GALGAS_attributeRange { //--------------------------------- Default constructor public: GALGAS_floatAttributeSet (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_floatAttributeSet constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_floatAttributeSet * ptr (void) const { return (const cPtr_floatAttributeSet *) mObjectPtr ; @@ -5693,20 +5765,20 @@ class GALGAS_floatAttributeSet : public GALGAS_attributeRange { //--------------------------------- Property read access public: class GALGAS_floatList readProperty_valueList (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_floatAttributeSet extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_floatAttributeSet class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_floatList & inOperand1 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_floatAttributeSet constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_floatList & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_floatAttributeSet & inOperand) const ; @@ -5729,29 +5801,29 @@ class GALGAS_floatAttributeSet : public GALGAS_attributeRange { } ; // End of GALGAS_floatAttributeSet class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_floatAttributeSet ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @floatAttributeSet class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_floatAttributeSet : public cPtr_attributeRange { //--- Extension getter contains public: virtual class GALGAS_bool getter_contains (const class GALGAS_object_5F_t obj, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method enclose public: virtual void method_enclose (class GALGAS_bool & isWithin, const class GALGAS_attributeRange value, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -5769,7 +5841,7 @@ class cPtr_floatAttributeSet : public cPtr_attributeRange { public: VIRTUAL_IN_DEBUG GALGAS_floatList getter_valueList (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setValueList (GALGAS_floatList inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -5778,16 +5850,19 @@ class cPtr_floatAttributeSet : public cPtr_attributeRange { } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 1: @uint_33__32_AttributeMinMax value class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_uint_33__32_AttributeMinMax : public GALGAS_attributeRange { //--------------------------------- Default constructor public: GALGAS_uint_33__32_AttributeMinMax (void) ; +//--------------------------------- Default GALGAS constructor + public: static GALGAS_uint_33__32_AttributeMinMax constructor_default (LOCATION_ARGS) ; + //--------------------------------- Embedded object pointer public: inline const class cPtr_uint_33__32_AttributeMinMax * ptr (void) const { return (const cPtr_uint_33__32_AttributeMinMax *) mObjectPtr ; @@ -5801,21 +5876,21 @@ class GALGAS_uint_33__32_AttributeMinMax : public GALGAS_attributeRange { public: class GALGAS_uint readProperty_max (void) const ; -//-- Start of type generic part +//-- Start of generic part --* //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_uint_33__32_AttributeMinMax extractObject (const GALGAS_object & inObject, - Compiler * inCompiler + C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS class functions - public: static class GALGAS_uint_33__32_AttributeMinMax class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_uint & inOperand1, - const class GALGAS_uint & inOperand2 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS constructors + public: static class GALGAS_uint_33__32_AttributeMinMax constructor_new (const class GALGAS_location & inOperand0, + const class GALGAS_uint & inOperand1, + const class GALGAS_uint & inOperand2 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_uint_33__32_AttributeMinMax & inOperand) const ; @@ -5841,29 +5916,29 @@ class GALGAS_uint_33__32_AttributeMinMax : public GALGAS_attributeRange { } ; // End of GALGAS_uint_33__32_AttributeMinMax class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_uint_33__32_AttributeMinMax ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @uint32AttributeMinMax class // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class cPtr_uint_33__32_AttributeMinMax : public cPtr_attributeRange { //--- Extension getter contains public: virtual class GALGAS_bool getter_contains (const class GALGAS_object_5F_t obj, - Compiler * COMMA_LOCATION_ARGS) const override ; + C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method enclose public: virtual void method_enclose (class GALGAS_bool & isWithin, const class GALGAS_attributeRange value, - Compiler * COMMA_LOCATION_ARGS) override ; + C_Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -5885,355 +5960,7 @@ class cPtr_uint_33__32_AttributeMinMax : public cPtr_attributeRange { public: VIRTUAL_IN_DEBUG GALGAS_uint getter_max (LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void setter_setMax (GALGAS_uint inValue COMMA_LOCATION_ARGS) ; //--- Description - public: virtual void description (String & ioString, - const int32_t inIndentation) const override ; - - public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; - - public: virtual const C_galgas_type_descriptor * classDescriptor (void) const override ; - -} ; - -//-------------------------------------------------------------------------------------------------- -// -// Phase 1: @uint_36__34_AttributeMinMax value class -// -//-------------------------------------------------------------------------------------------------- - -class GALGAS_uint_36__34_AttributeMinMax : public GALGAS_attributeRange { -//--------------------------------- Default constructor - public: GALGAS_uint_36__34_AttributeMinMax (void) ; - -//--------------------------------- Embedded object pointer - public: inline const class cPtr_uint_36__34_AttributeMinMax * ptr (void) const { - return (const cPtr_uint_36__34_AttributeMinMax *) mObjectPtr ; - } - -//--------------------------------- Constructor from pointer - public: GALGAS_uint_36__34_AttributeMinMax (const cPtr_uint_36__34_AttributeMinMax * inSourcePtr) ; - -//--------------------------------- Property read access - public: class GALGAS_uint_36__34_ readProperty_min (void) const ; - - public: class GALGAS_uint_36__34_ readProperty_max (void) const ; - -//-- Start of type generic part - -//--------------------------------- Object cloning - protected: virtual AC_GALGAS_root * clonedObject (void) const override ; - -//--------------------------------- Object extraction - public: static GALGAS_uint_36__34_AttributeMinMax extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//--------------------------------- GALGAS class functions - public: static class GALGAS_uint_36__34_AttributeMinMax class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_uint_36__34_ & inOperand1, - const class GALGAS_uint_36__34_ & inOperand2 - COMMA_LOCATION_ARGS) ; - -//--------------------------------- Comparison - public: typeComparisonResult objectCompare (const GALGAS_uint_36__34_AttributeMinMax & inOperand) const ; - -//--------------------------------- Setters - public: VIRTUAL_IN_DEBUG void setter_setMax (class GALGAS_uint_36__34_ inArgument0 - COMMA_LOCATION_ARGS) ; - - public: VIRTUAL_IN_DEBUG void setter_setMin (class GALGAS_uint_36__34_ inArgument0 - COMMA_LOCATION_ARGS) ; - - -//--------------------------------- Instance Methods -//--------------------------------- Class Methods - -//--------------------------------- Getters - -//--------------------------------- Optional Methods - -//--------------------------------- Introspection - public: VIRTUAL_IN_DEBUG const C_galgas_type_descriptor * staticTypeDescriptor (void) const override ; - -} ; // End of GALGAS_uint_36__34_AttributeMinMax class - - -//-------------------------------------------------------------------------------------------------- - -extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_uint_36__34_AttributeMinMax ; - -//-------------------------------------------------------------------------------------------------- -// -// Phase 2: pointer class for @uint64AttributeMinMax class -// -//-------------------------------------------------------------------------------------------------- - -class cPtr_uint_36__34_AttributeMinMax : public cPtr_attributeRange { - -//--- Extension getter contains - public: virtual class GALGAS_bool getter_contains (const class GALGAS_object_5F_t obj, - Compiler * COMMA_LOCATION_ARGS) const override ; - -//--- Extension getter string - public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; - -//--- Extension method enclose - public: virtual void method_enclose (class GALGAS_bool & isWithin, - const class GALGAS_attributeRange value, - Compiler * COMMA_LOCATION_ARGS) override ; - - -//--- Properties - public: GALGAS_uint_36__34_ mProperty_min ; - public: GALGAS_uint_36__34_ mProperty_max ; - -//--- Constructor - public: cPtr_uint_36__34_AttributeMinMax (const GALGAS_location & in_location, - const GALGAS_uint_36__34_ & in_min, - const GALGAS_uint_36__34_ & in_max - COMMA_LOCATION_ARGS) ; - -//--- Duplication - public: virtual acPtr_class * duplicate (LOCATION_ARGS) const override ; - -//--- Attribute accessors - public: VIRTUAL_IN_DEBUG GALGAS_uint_36__34_ getter_min (LOCATION_ARGS) const ; - public: VIRTUAL_IN_DEBUG void setter_setMin (GALGAS_uint_36__34_ inValue COMMA_LOCATION_ARGS) ; - public: VIRTUAL_IN_DEBUG GALGAS_uint_36__34_ getter_max (LOCATION_ARGS) const ; - public: VIRTUAL_IN_DEBUG void setter_setMax (GALGAS_uint_36__34_ inValue COMMA_LOCATION_ARGS) ; -//--- Description - public: virtual void description (String & ioString, - const int32_t inIndentation) const override ; - - public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; - - public: virtual const C_galgas_type_descriptor * classDescriptor (void) const override ; - -} ; - -//-------------------------------------------------------------------------------------------------- -// -// Phase 1: @sint_33__32_AttributeMinMax value class -// -//-------------------------------------------------------------------------------------------------- - -class GALGAS_sint_33__32_AttributeMinMax : public GALGAS_attributeRange { -//--------------------------------- Default constructor - public: GALGAS_sint_33__32_AttributeMinMax (void) ; - -//--------------------------------- Embedded object pointer - public: inline const class cPtr_sint_33__32_AttributeMinMax * ptr (void) const { - return (const cPtr_sint_33__32_AttributeMinMax *) mObjectPtr ; - } - -//--------------------------------- Constructor from pointer - public: GALGAS_sint_33__32_AttributeMinMax (const cPtr_sint_33__32_AttributeMinMax * inSourcePtr) ; - -//--------------------------------- Property read access - public: class GALGAS_sint readProperty_min (void) const ; - - public: class GALGAS_sint readProperty_max (void) const ; - -//-- Start of type generic part - -//--------------------------------- Object cloning - protected: virtual AC_GALGAS_root * clonedObject (void) const override ; - -//--------------------------------- Object extraction - public: static GALGAS_sint_33__32_AttributeMinMax extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//--------------------------------- GALGAS class functions - public: static class GALGAS_sint_33__32_AttributeMinMax class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_sint & inOperand1, - const class GALGAS_sint & inOperand2 - COMMA_LOCATION_ARGS) ; - -//--------------------------------- Comparison - public: typeComparisonResult objectCompare (const GALGAS_sint_33__32_AttributeMinMax & inOperand) const ; - -//--------------------------------- Setters - public: VIRTUAL_IN_DEBUG void setter_setMax (class GALGAS_sint inArgument0 - COMMA_LOCATION_ARGS) ; - - public: VIRTUAL_IN_DEBUG void setter_setMin (class GALGAS_sint inArgument0 - COMMA_LOCATION_ARGS) ; - - -//--------------------------------- Instance Methods -//--------------------------------- Class Methods - -//--------------------------------- Getters - -//--------------------------------- Optional Methods - -//--------------------------------- Introspection - public: VIRTUAL_IN_DEBUG const C_galgas_type_descriptor * staticTypeDescriptor (void) const override ; - -} ; // End of GALGAS_sint_33__32_AttributeMinMax class - - -//-------------------------------------------------------------------------------------------------- - -extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_sint_33__32_AttributeMinMax ; - -//-------------------------------------------------------------------------------------------------- -// -// Phase 2: pointer class for @sint32AttributeMinMax class -// -//-------------------------------------------------------------------------------------------------- - -class cPtr_sint_33__32_AttributeMinMax : public cPtr_attributeRange { - -//--- Extension getter contains - public: virtual class GALGAS_bool getter_contains (const class GALGAS_object_5F_t obj, - Compiler * COMMA_LOCATION_ARGS) const override ; - -//--- Extension getter string - public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; - -//--- Extension method enclose - public: virtual void method_enclose (class GALGAS_bool & isWithin, - const class GALGAS_attributeRange value, - Compiler * COMMA_LOCATION_ARGS) override ; - - -//--- Properties - public: GALGAS_sint mProperty_min ; - public: GALGAS_sint mProperty_max ; - -//--- Constructor - public: cPtr_sint_33__32_AttributeMinMax (const GALGAS_location & in_location, - const GALGAS_sint & in_min, - const GALGAS_sint & in_max - COMMA_LOCATION_ARGS) ; - -//--- Duplication - public: virtual acPtr_class * duplicate (LOCATION_ARGS) const override ; - -//--- Attribute accessors - public: VIRTUAL_IN_DEBUG GALGAS_sint getter_min (LOCATION_ARGS) const ; - public: VIRTUAL_IN_DEBUG void setter_setMin (GALGAS_sint inValue COMMA_LOCATION_ARGS) ; - public: VIRTUAL_IN_DEBUG GALGAS_sint getter_max (LOCATION_ARGS) const ; - public: VIRTUAL_IN_DEBUG void setter_setMax (GALGAS_sint inValue COMMA_LOCATION_ARGS) ; -//--- Description - public: virtual void description (String & ioString, - const int32_t inIndentation) const override ; - - public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; - - public: virtual const C_galgas_type_descriptor * classDescriptor (void) const override ; - -} ; - -//-------------------------------------------------------------------------------------------------- -// -// Phase 1: @sint_36__34_AttributeMinMax value class -// -//-------------------------------------------------------------------------------------------------- - -class GALGAS_sint_36__34_AttributeMinMax : public GALGAS_attributeRange { -//--------------------------------- Default constructor - public: GALGAS_sint_36__34_AttributeMinMax (void) ; - -//--------------------------------- Embedded object pointer - public: inline const class cPtr_sint_36__34_AttributeMinMax * ptr (void) const { - return (const cPtr_sint_36__34_AttributeMinMax *) mObjectPtr ; - } - -//--------------------------------- Constructor from pointer - public: GALGAS_sint_36__34_AttributeMinMax (const cPtr_sint_36__34_AttributeMinMax * inSourcePtr) ; - -//--------------------------------- Property read access - public: class GALGAS_sint_36__34_ readProperty_min (void) const ; - - public: class GALGAS_sint_36__34_ readProperty_max (void) const ; - -//-- Start of type generic part - -//--------------------------------- Object cloning - protected: virtual AC_GALGAS_root * clonedObject (void) const override ; - -//--------------------------------- Object extraction - public: static GALGAS_sint_36__34_AttributeMinMax extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//--------------------------------- GALGAS class functions - public: static class GALGAS_sint_36__34_AttributeMinMax class_func_new (const class GALGAS_location & inOperand0, - const class GALGAS_sint_36__34_ & inOperand1, - const class GALGAS_sint_36__34_ & inOperand2 - COMMA_LOCATION_ARGS) ; - -//--------------------------------- Comparison - public: typeComparisonResult objectCompare (const GALGAS_sint_36__34_AttributeMinMax & inOperand) const ; - -//--------------------------------- Setters - public: VIRTUAL_IN_DEBUG void setter_setMax (class GALGAS_sint_36__34_ inArgument0 - COMMA_LOCATION_ARGS) ; - - public: VIRTUAL_IN_DEBUG void setter_setMin (class GALGAS_sint_36__34_ inArgument0 - COMMA_LOCATION_ARGS) ; - - -//--------------------------------- Instance Methods -//--------------------------------- Class Methods - -//--------------------------------- Getters - -//--------------------------------- Optional Methods - -//--------------------------------- Introspection - public: VIRTUAL_IN_DEBUG const C_galgas_type_descriptor * staticTypeDescriptor (void) const override ; - -} ; // End of GALGAS_sint_36__34_AttributeMinMax class - - -//-------------------------------------------------------------------------------------------------- - -extern const C_galgas_type_descriptor kTypeDescriptor_GALGAS_sint_36__34_AttributeMinMax ; - -//-------------------------------------------------------------------------------------------------- -// -// Phase 2: pointer class for @sint64AttributeMinMax class -// -//-------------------------------------------------------------------------------------------------- - -class cPtr_sint_36__34_AttributeMinMax : public cPtr_attributeRange { - -//--- Extension getter contains - public: virtual class GALGAS_bool getter_contains (const class GALGAS_object_5F_t obj, - Compiler * COMMA_LOCATION_ARGS) const override ; - -//--- Extension getter string - public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; - -//--- Extension method enclose - public: virtual void method_enclose (class GALGAS_bool & isWithin, - const class GALGAS_attributeRange value, - Compiler * COMMA_LOCATION_ARGS) override ; - - -//--- Properties - public: GALGAS_sint_36__34_ mProperty_min ; - public: GALGAS_sint_36__34_ mProperty_max ; - -//--- Constructor - public: cPtr_sint_36__34_AttributeMinMax (const GALGAS_location & in_location, - const GALGAS_sint_36__34_ & in_min, - const GALGAS_sint_36__34_ & in_max - COMMA_LOCATION_ARGS) ; - -//--- Duplication - public: virtual acPtr_class * duplicate (LOCATION_ARGS) const override ; - -//--- Attribute accessors - public: VIRTUAL_IN_DEBUG GALGAS_sint_36__34_ getter_min (LOCATION_ARGS) const ; - public: VIRTUAL_IN_DEBUG void setter_setMin (GALGAS_sint_36__34_ inValue COMMA_LOCATION_ARGS) ; - public: VIRTUAL_IN_DEBUG GALGAS_sint_36__34_ getter_max (LOCATION_ARGS) const ; - public: VIRTUAL_IN_DEBUG void setter_setMax (GALGAS_sint_36__34_ inValue COMMA_LOCATION_ARGS) ; -//--- Description - public: virtual void description (String & ioString, + public: virtual void description (C_String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; diff --git a/goil/build/output/all-declarations-10.cpp b/goil/build/output/all-declarations-10.cpp index 8aa243991..125887a06 100644 --- a/goil/build/output/all-declarations-10.cpp +++ b/goil/build/output/all-declarations-10.cpp @@ -1,10787 +1,12159 @@ -#include "Compiler.h" -#include "C_galgas_io.h" -#include "C_galgas_CLI_Options.h" -#include "PrologueEpilogue.h" +#include "galgas2/C_Compiler.h" +#include "galgas2/C_galgas_io.h" +#include "galgas2/C_galgas_CLI_Options.h" +#include "utilities/C_PrologueEpilogue.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-declarations-10.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlTemplateInstruction display' +//Overriding extension method '@gtlForeachStatementInstruction execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_gtlTemplateInstruction::method_display (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string temp_0 ; - const enumGalgasBool test_1 = this->mProperty_isGlobal.boolEnum () ; - if (kBoolTrue == test_1) { - temp_0 = GALGAS_string::makeEmptyString () ; - }else if (kBoolFalse == test_1) { - temp_0 = GALGAS_string ("( ").add_operation (extensionGetter_stringRepresentation (this->mProperty_arguments, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1344)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1344)).add_operation (GALGAS_string (" ) "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1344)) ; - } - GALGAS_string temp_2 ; - const enumGalgasBool test_3 = this->mProperty_ifExists.boolEnum () ; - if (kBoolTrue == test_3) { - temp_2 = GALGAS_string ("if exists ") ; - }else if (kBoolFalse == test_3) { - temp_2 = GALGAS_string::makeEmptyString () ; - } - GALGAS_string temp_4 ; - const enumGalgasBool test_5 = GALGAS_bool (kIsEqual, GALGAS_string::makeEmptyString ().objectCompare (this->mProperty_prefix.readProperty_string ())).boolEnum () ; - if (kBoolTrue == test_5) { - temp_4 = GALGAS_string (" ") ; - }else if (kBoolFalse == test_5) { - temp_4 = GALGAS_string (" in ").add_operation (this->mProperty_prefix.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1347)).add_operation (GALGAS_string (" "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1347)) ; - } - GALGAS_string temp_6 ; - const enumGalgasBool test_7 = this->mProperty_ifExists.operator_and (GALGAS_bool (kIsStrictSup, this->mProperty_instructionsIfNotFound.getter_count (SOURCE_FILE ("gtl_debugger.galgas", 1348)).objectCompare (GALGAS_uint (uint32_t (0U)))) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1348)).boolEnum () ; - if (kBoolTrue == test_7) { - temp_6 = GALGAS_string ("or ...") ; - }else if (kBoolFalse == test_7) { - temp_6 = GALGAS_string::makeEmptyString () ; +void cPtr_gtlForeachStatementInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & ioArgument_vars, + GALGAS_library & ioArgument_lib, + GALGAS_string & ioArgument_outputString, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_gtlData var_localMap_20558 = callExtensionGetter_overrideMap ((const cPtr_gtlData *) ioArgument_vars.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 706)) ; + GALGAS_gtlData var_iterableData_20603 = callExtensionGetter_eval ((const cPtr_gtlExpression *) this->mProperty_iterable.ptr (), ioArgument_context, var_localMap_20558, ioArgument_lib, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 707)) ; + if (var_iterableData_20603.isValid ()) { + if (var_iterableData_20603.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_gtlMap) { + GALGAS_gtlMap cast_20697_iterableMap ((cPtr_gtlMap *) var_iterableData_20603.ptr ()) ; + const GALGAS_gtlForeachStatementInstruction temp_0 = this ; + callExtensionMethod_iterateOnMap ((cPtr_gtlForeachStatementInstruction *) temp_0.ptr (), ioArgument_context, var_localMap_20558, ioArgument_lib, ioArgument_outputString, cast_20697_iterableMap, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 710)) ; + }else if (var_iterableData_20603.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_gtlList) { + GALGAS_gtlList cast_20808_iterableList ((cPtr_gtlList *) var_iterableData_20603.ptr ()) ; + const GALGAS_gtlForeachStatementInstruction temp_1 = this ; + callExtensionMethod_iterateOnList ((cPtr_gtlForeachStatementInstruction *) temp_1.ptr (), ioArgument_context, var_localMap_20558, ioArgument_lib, ioArgument_outputString, cast_20808_iterableList, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 712)) ; + }else if (var_iterableData_20603.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_gtlSet) { + GALGAS_gtlSet cast_20922_iterableSet ((cPtr_gtlSet *) var_iterableData_20603.ptr ()) ; + const GALGAS_gtlForeachStatementInstruction temp_2 = this ; + callExtensionMethod_iterateOnSet ((cPtr_gtlForeachStatementInstruction *) temp_2.ptr (), ioArgument_context, var_localMap_20558, ioArgument_lib, ioArgument_outputString, cast_20922_iterableSet, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 714)) ; + }else{ + TC_Array fixItArray3 ; + inCompiler->emitSemanticError (callExtensionGetter_location ((const cPtr_gtlExpression *) this->mProperty_iterable.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 716)), GALGAS_string ("Map, list or set expected"), fixItArray3 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 716)) ; + } } - inCompiler->printMessage (GALGAS_string ("template ").add_operation (temp_0, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1343)).add_operation (temp_2, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1344)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_fileName.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1346)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1345)).add_operation (temp_4, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1346)).add_operation (temp_6, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1347)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1343)) ; -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlEmitInstruction display' -// -//-------------------------------------------------------------------------------------------------- - -void cPtr_gtlEmitInstruction::method_display (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("! ").add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rValue.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1354)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1354)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1354)) ; -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlIfStatementInstruction display' -// -//-------------------------------------------------------------------------------------------------- - -void cPtr_gtlIfStatementInstruction::method_display (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("if ").add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_thenElsifList.getter_conditionAtIndex (GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1361)).ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1361)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1360)).add_operation (GALGAS_string (" then"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1361)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1360)) ; + ioArgument_vars = callExtensionGetter_overriddenMap ((const cPtr_gtlData *) var_localMap_20558.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 718)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlForStatementInstruction display' +//Overriding extension method '@gtlForStatementInstruction execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_gtlForStatementInstruction::method_display (Compiler * inCompiler +void cPtr_gtlForStatementInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & ioArgument_vars, + GALGAS_library & ioArgument_lib, + GALGAS_string & ioArgument_outputString, + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("for ").add_operation (this->mProperty_identifier.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1368)).add_operation (GALGAS_string (" in "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1369)).add_operation (extensionGetter_stringRepresentation (this->mProperty_iterable, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1371)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1370)).add_operation (GALGAS_string (" do"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1371)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1368)) ; -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlForeachStatementInstruction display' -// -//-------------------------------------------------------------------------------------------------- - -void cPtr_gtlForeachStatementInstruction::method_display (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string temp_0 ; - const enumGalgasBool test_1 = GALGAS_bool (kIsEqual, GALGAS_string::makeEmptyString ().objectCompare (this->mProperty_keyName.readProperty_string ())).boolEnum () ; - if (kBoolTrue == test_1) { - temp_0 = GALGAS_string::makeEmptyString () ; - }else if (kBoolFalse == test_1) { - temp_0 = this->mProperty_keyName.readProperty_string ().add_operation (GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1379)) ; + GALGAS_lstring var_indexName_21672 = GALGAS_lstring::constructor_new (GALGAS_string ("INDEX"), this->mProperty_where COMMA_SOURCE_FILE ("gtl_instructions.galgas", 737)) ; + GALGAS_gtlData var_localMap_21717 = callExtensionGetter_overrideMap ((const cPtr_gtlData *) ioArgument_vars.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 738)) ; + cEnumerator_gtlExpressionList enumerator_21753 (this->mProperty_iterable, kENUMERATION_UP) ; + GALGAS_uint index_21749 ((uint32_t) 0) ; + while (enumerator_21753.hasCurrentObject ()) { + GALGAS_gtlData var_value_21798 = callExtensionGetter_eval ((const cPtr_gtlExpression *) enumerator_21753.current_expression (HERE).ptr (), ioArgument_context, var_localMap_21717, ioArgument_lib, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 741)) ; + { + var_localMap_21717.insulate (HERE) ; + cPtr_gtlData * ptr_21855 = (cPtr_gtlData *) var_localMap_21717.ptr () ; + callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_21855, this->mProperty_identifier, var_value_21798, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 742)) ; + } + { + var_localMap_21717.insulate (HERE) ; + cPtr_gtlData * ptr_21906 = (cPtr_gtlData *) var_localMap_21717.ptr () ; + callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_21906, var_indexName_21672, GALGAS_gtlInt::constructor_new (this->mProperty_where, function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 745)), index_21749.getter_bigint (SOURCE_FILE ("gtl_instructions.galgas", 745)) COMMA_SOURCE_FILE ("gtl_instructions.galgas", 745)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 743)) ; + } + extensionMethod_execute (this->mProperty_doList, ioArgument_context, var_localMap_21717, ioArgument_lib, ioArgument_outputString, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 747)) ; + if (enumerator_21753.hasNextObject ()) { + extensionMethod_execute (this->mProperty_betweenList, ioArgument_context, var_localMap_21717, ioArgument_lib, ioArgument_outputString, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 749)) ; + } + enumerator_21753.gotoNextObject () ; + index_21749.increment_operation (inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 739)) ; } - inCompiler->printMessage (GALGAS_string ("foreach ").add_operation (temp_0, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1378)).add_operation (this->mProperty_variableName.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1379)).add_operation (GALGAS_string (" ("), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1380)).add_operation (this->mProperty_indexName.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1381)).add_operation (GALGAS_string (") "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1381)).add_operation (GALGAS_string (" in "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1381)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_iterable.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1383)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1382)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1378)) ; -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlGetColumnInstruction display' -// -//-------------------------------------------------------------------------------------------------- - -void cPtr_gtlGetColumnInstruction::method_display (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("\? ").add_operation (extensionGetter_stringRepresentation (this->mProperty_destVariable, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1389)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1389)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1389)) ; + ioArgument_vars = callExtensionGetter_overriddenMap ((const cPtr_gtlData *) var_localMap_21717.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 751)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlLibrariesInstruction display' +//Overriding extension method '@gtlLoopStatementInstruction execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_gtlLibrariesInstruction::method_display (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("libraries") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1395)) ; +void cPtr_gtlLoopStatementInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & ioArgument_vars, + GALGAS_library & ioArgument_lib, + GALGAS_string & ioArgument_outputString, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_gtlData var_localMap_22891 = callExtensionGetter_overrideMap ((const cPtr_gtlData *) ioArgument_vars.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 775)) ; + GALGAS_gtlData var_startData_22936 = callExtensionGetter_eval ((const cPtr_gtlExpression *) this->mProperty_start.ptr (), ioArgument_context, var_localMap_22891, ioArgument_lib, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 776)) ; + GALGAS_gtlData var_stopData_23000 = callExtensionGetter_eval ((const cPtr_gtlExpression *) this->mProperty_stop.ptr (), ioArgument_context, var_localMap_22891, ioArgument_lib, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 777)) ; + GALGAS_gtlData var_stepData_23064 = callExtensionGetter_eval ((const cPtr_gtlExpression *) this->mProperty_step.ptr (), ioArgument_context, var_localMap_22891, ioArgument_lib, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 778)) ; + GALGAS_bigint var_startVal_23123 ; + GALGAS_bigint var_stopVal_23146 ; + GALGAS_bigint var_stepVal_23168 ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (var_startData_22936.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_gtlInt).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_gtlInt temp_1 ; + if (var_startData_22936.isValid ()) { + if (nullptr != dynamic_cast (var_startData_22936.ptr ())) { + temp_1 = (cPtr_gtlInt *) var_startData_22936.ptr () ; + }else{ + inCompiler->castError ("gtlInt", var_startData_22936.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("gtl_instructions.galgas", 783)) ; + } + } + var_startVal_23123 = temp_1.readProperty_value () ; + } + } + if (kBoolFalse == test_0) { + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (callExtensionGetter_location ((const cPtr_gtlExpression *) this->mProperty_start.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 785)), GALGAS_string ("int expected"), fixItArray2 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 785)) ; + var_startVal_23123.drop () ; // Release error dropped variable + } + enumGalgasBool test_3 = kBoolTrue ; + if (kBoolTrue == test_3) { + test_3 = GALGAS_bool (var_stopData_23000.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_gtlInt).boolEnum () ; + if (kBoolTrue == test_3) { + GALGAS_gtlInt temp_4 ; + if (var_stopData_23000.isValid ()) { + if (nullptr != dynamic_cast (var_stopData_23000.ptr ())) { + temp_4 = (cPtr_gtlInt *) var_stopData_23000.ptr () ; + }else{ + inCompiler->castError ("gtlInt", var_stopData_23000.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("gtl_instructions.galgas", 788)) ; + } + } + var_stopVal_23146 = temp_4.readProperty_value () ; + } + } + if (kBoolFalse == test_3) { + TC_Array fixItArray5 ; + inCompiler->emitSemanticError (callExtensionGetter_location ((const cPtr_gtlExpression *) this->mProperty_stop.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 790)), GALGAS_string ("int expected"), fixItArray5 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 790)) ; + var_stopVal_23146.drop () ; // Release error dropped variable + } + enumGalgasBool test_6 = kBoolTrue ; + if (kBoolTrue == test_6) { + test_6 = GALGAS_bool (var_stepData_23064.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_gtlInt).boolEnum () ; + if (kBoolTrue == test_6) { + GALGAS_gtlInt temp_7 ; + if (var_stepData_23064.isValid ()) { + if (nullptr != dynamic_cast (var_stepData_23064.ptr ())) { + temp_7 = (cPtr_gtlInt *) var_stepData_23064.ptr () ; + }else{ + inCompiler->castError ("gtlInt", var_stepData_23064.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("gtl_instructions.galgas", 793)) ; + } + } + var_stepVal_23168 = temp_7.readProperty_value ().multiply_operation (this->mProperty_upDown.getter_bigint (SOURCE_FILE ("gtl_instructions.galgas", 793)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 793)) ; + } + } + if (kBoolFalse == test_6) { + TC_Array fixItArray8 ; + inCompiler->emitSemanticError (callExtensionGetter_location ((const cPtr_gtlExpression *) this->mProperty_step.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 795)), GALGAS_string ("int expected"), fixItArray8 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 795)) ; + var_stepVal_23168.drop () ; // Release error dropped variable + } + GALGAS_bigint var_direction_23628 = GALGAS_bigint ("1", inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 797)) ; + enumGalgasBool test_9 = kBoolTrue ; + if (kBoolTrue == test_9) { + test_9 = GALGAS_bool (kIsStrictInf, var_stepVal_23168.objectCompare (GALGAS_bigint ("0", inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 798)))).boolEnum () ; + if (kBoolTrue == test_9) { + var_direction_23628 = GALGAS_bigint ("-1", inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 798)) ; + } + } + enumGalgasBool test_10 = kBoolTrue ; + if (kBoolTrue == test_10) { + test_10 = GALGAS_bool (kIsSupOrEqual, var_stopVal_23146.substract_operation (var_startVal_23123, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 799)).multiply_operation (var_direction_23628, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 799)).objectCompare (GALGAS_bigint ("0", inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 799)))).boolEnum () ; + if (kBoolTrue == test_10) { + extensionMethod_execute (this->mProperty_beforeList, ioArgument_context, var_localMap_22891, ioArgument_lib, ioArgument_outputString, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 800)) ; + GALGAS_uint var_count_23812 = var_stopVal_23146.substract_operation (var_startVal_23123, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 801)).multiply_operation (var_direction_23628, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 801)).add_operation (GALGAS_bigint ("1", inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 801)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 801)).getter_uint (inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 801)) ; + if (var_count_23812.isValid ()) { + uint32_t variant_23868 = var_count_23812.uintValue () ; + bool loop_23868 = true ; + while (loop_23868) { + { + var_localMap_22891.insulate (HERE) ; + cPtr_gtlData * ptr_23890 = (cPtr_gtlData *) var_localMap_22891.ptr () ; + callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_23890, this->mProperty_identifier, GALGAS_gtlInt::constructor_new (this->mProperty_identifier.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 805)), var_startVal_23123 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 805)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 803)) ; + } + extensionMethod_execute (this->mProperty_doList, ioArgument_context, var_localMap_22891, ioArgument_lib, ioArgument_outputString, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 807)) ; + var_startVal_23123 = var_startVal_23123.add_operation (var_stepVal_23168, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 808)) ; + loop_23868 = GALGAS_bool (kIsSupOrEqual, var_stopVal_23146.substract_operation (var_startVal_23123, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 809)).multiply_operation (var_direction_23628, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 809)).objectCompare (GALGAS_bigint ("0", inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 809)))).isValid () ; + if (loop_23868) { + loop_23868 = GALGAS_bool (kIsSupOrEqual, var_stopVal_23146.substract_operation (var_startVal_23123, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 809)).multiply_operation (var_direction_23628, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 809)).objectCompare (GALGAS_bigint ("0", inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 809)))).boolValue () ; + } + if (loop_23868 && (0 == variant_23868)) { + loop_23868 = false ; + inCompiler->loopRunTimeVariantError (SOURCE_FILE ("gtl_instructions.galgas", 802)) ; + } + if (loop_23868) { + variant_23868 -- ; + extensionMethod_execute (this->mProperty_betweenList, ioArgument_context, var_localMap_22891, ioArgument_lib, ioArgument_outputString, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 810)) ; + } + } + } + extensionMethod_execute (this->mProperty_afterList, ioArgument_context, var_localMap_22891, ioArgument_lib, ioArgument_outputString, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 812)) ; + } + } + ioArgument_vars = callExtensionGetter_overriddenMap ((const cPtr_gtlData *) var_localMap_22891.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 814)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlRepeatStatementInstruction display' +//Overriding extension method '@gtlRepeatStatementInstruction execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_gtlRepeatStatementInstruction::method_display (Compiler * inCompiler +void cPtr_gtlRepeatStatementInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & ioArgument_vars, + GALGAS_library & ioArgument_lib, + GALGAS_string & ioArgument_outputString, + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("repeat ") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1401)) ; - if (this->mProperty_limit.isValid ()) { - if (this->mProperty_limit.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_gtlTerminal) { - GALGAS_gtlTerminal cast_42105_term ((cPtr_gtlTerminal *) this->mProperty_limit.ptr ()) ; - if (cast_42105_term.readProperty_value ().isValid ()) { - if (cast_42105_term.readProperty_value ().dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_gtlInt) { - GALGAS_gtlInt cast_42153_intLimit ((cPtr_gtlInt *) cast_42105_term.readProperty_value ().ptr ()) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsNotEqual, cast_42153_intLimit.readProperty_value ().getter_uint (inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1406)).objectCompare (GALGAS_uint::class_func_max (SOURCE_FILE ("gtl_debugger.galgas", 1406)))).boolEnum () ; - if (kBoolTrue == test_0) { - inCompiler->printMessage (GALGAS_string (" (").add_operation (callExtensionGetter_string ((const cPtr_gtlInt *) cast_42153_intLimit.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1407)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1407)).add_operation (GALGAS_string (")"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1407)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1407)) ; + GALGAS_gtlData var_localMap_24901 = callExtensionGetter_overrideMap ((const cPtr_gtlData *) ioArgument_vars.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 833)) ; + GALGAS_bool var_boolCondition_24939 = GALGAS_bool (false) ; + GALGAS_gtlData var_limitData_24976 = callExtensionGetter_eval ((const cPtr_gtlExpression *) this->mProperty_limit.ptr (), ioArgument_context, ioArgument_vars, ioArgument_lib, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 835)) ; + GALGAS_uint var_limitVal_25033 ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (var_limitData_24976.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_gtlInt).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_gtlInt temp_1 ; + if (var_limitData_24976.isValid ()) { + if (nullptr != dynamic_cast (var_limitData_24976.ptr ())) { + temp_1 = (cPtr_gtlInt *) var_limitData_24976.ptr () ; + }else{ + inCompiler->castError ("gtlInt", var_limitData_24976.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("gtl_instructions.galgas", 839)) ; + } + } + var_limitVal_25033 = temp_1.readProperty_value ().getter_uint (inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 839)) ; + } + } + if (kBoolFalse == test_0) { + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (callExtensionGetter_location ((const cPtr_gtlExpression *) this->mProperty_limit.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 841)), GALGAS_string ("int exprected"), fixItArray2 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 841)) ; + var_limitVal_25033.drop () ; // Release error dropped variable + } + if (var_limitVal_25033.isValid ()) { + uint32_t variant_25193 = var_limitVal_25033.uintValue () ; + bool loop_25193 = true ; + while (loop_25193) { + extensionMethod_execute (this->mProperty_continueList, ioArgument_context, var_localMap_24901, ioArgument_lib, ioArgument_outputString, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 845)) ; + GALGAS_gtlData var_conditionData_25295 = callExtensionGetter_eval ((const cPtr_gtlExpression *) this->mProperty_condition.ptr (), ioArgument_context, var_localMap_24901, ioArgument_lib, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 846)) ; + enumGalgasBool test_3 = kBoolTrue ; + if (kBoolTrue == test_3) { + test_3 = GALGAS_bool (kIsEqual, var_conditionData_25295.getter_dynamicType (SOURCE_FILE ("gtl_instructions.galgas", 847)).objectCompare (GALGAS_type (& kTypeDescriptor_GALGAS_gtlBool))).boolEnum () ; + if (kBoolTrue == test_3) { + GALGAS_gtlBool temp_4 ; + if (var_conditionData_25295.isValid ()) { + if (nullptr != dynamic_cast (var_conditionData_25295.ptr ())) { + temp_4 = (cPtr_gtlBool *) var_conditionData_25295.ptr () ; + }else{ + inCompiler->castError ("gtlBool", var_conditionData_25295.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("gtl_instructions.galgas", 848)) ; + } } + var_boolCondition_24939 = temp_4.readProperty_value () ; } } + if (kBoolFalse == test_3) { + TC_Array fixItArray5 ; + inCompiler->emitSemanticError (callExtensionGetter_location ((const cPtr_gtlData *) var_conditionData_25295.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 850)), GALGAS_string ("bool expected"), fixItArray5 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 850)) ; + } + loop_25193 = var_boolCondition_24939.isValid () ; + if (loop_25193) { + loop_25193 = var_boolCondition_24939.boolValue () ; + } + if (loop_25193 && (0 == variant_25193)) { + loop_25193 = false ; + inCompiler->loopRunTimeVariantError (SOURCE_FILE ("gtl_instructions.galgas", 844)) ; + } + if (loop_25193) { + variant_25193 -- ; + extensionMethod_execute (this->mProperty_doList, ioArgument_context, var_localMap_24901, ioArgument_lib, ioArgument_outputString, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 853)) ; } - }else{ - inCompiler->printMessage (GALGAS_string (" (").add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_limit.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1411)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1411)).add_operation (GALGAS_string (")"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1411)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1411)) ; } } + ioArgument_vars = callExtensionGetter_overriddenMap ((const cPtr_gtlData *) var_localMap_24901.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 855)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlSetterCallInstruction display' +//Overriding extension method '@gtlErrorStatementInstruction execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_gtlSetterCallInstruction::method_display (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string temp_0 ; - const enumGalgasBool test_1 = GALGAS_bool (kIsStrictSup, this->mProperty_arguments.getter_count (SOURCE_FILE ("gtl_debugger.galgas", 1421)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; +void cPtr_gtlErrorStatementInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & ioArgument_vars, + GALGAS_library & ioArgument_lib, + GALGAS_string & /* ioArgument_outputString */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_location var_errorLocation_26180 ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = this->mProperty_hereInstead.boolEnum () ; + if (kBoolTrue == test_0) { + var_errorLocation_26180 = this->mProperty_where ; + } + } + if (kBoolFalse == test_0) { + var_errorLocation_26180 = extensionGetter_get (this->mProperty_identifier, ioArgument_context, ioArgument_vars, ioArgument_lib, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 877)).readProperty_where () ; + } + GALGAS_gtlData var_errorMessageData_26336 = callExtensionGetter_eval ((const cPtr_gtlExpression *) this->mProperty_errorMessage.ptr (), ioArgument_context, ioArgument_vars, ioArgument_lib, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 879)) ; + enumGalgasBool test_1 = kBoolTrue ; if (kBoolTrue == test_1) { - temp_0 = GALGAS_string (": ").add_operation (extensionGetter_stringRepresentation (this->mProperty_arguments, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1422)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1422)).add_operation (GALGAS_string ("]"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1422)) ; - }else if (kBoolFalse == test_1) { - temp_0 = GALGAS_string ("]") ; + test_1 = GALGAS_bool (kIsEqual, var_errorMessageData_26336.getter_dynamicType (SOURCE_FILE ("gtl_instructions.galgas", 880)).objectCompare (GALGAS_type (& kTypeDescriptor_GALGAS_gtlString))).boolEnum () ; + if (kBoolTrue == test_1) { + GALGAS_gtlString temp_2 ; + if (var_errorMessageData_26336.isValid ()) { + if (nullptr != dynamic_cast (var_errorMessageData_26336.ptr ())) { + temp_2 = (cPtr_gtlString *) var_errorMessageData_26336.ptr () ; + }else{ + inCompiler->castError ("gtlString", var_errorMessageData_26336.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("gtl_instructions.galgas", 881)) ; + } + } + TC_Array fixItArray3 ; + inCompiler->emitSemanticError (var_errorLocation_26180, temp_2.readProperty_value (), fixItArray3 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 881)) ; + { + ioArgument_context.setter_setPropagateError (GALGAS_bool (false) COMMA_SOURCE_FILE ("gtl_instructions.galgas", 882)) ; + } + } + } + if (kBoolFalse == test_1) { + TC_Array fixItArray4 ; + inCompiler->emitSemanticError (callExtensionGetter_location ((const cPtr_gtlExpression *) this->mProperty_errorMessage.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 884)), GALGAS_string ("string expected"), fixItArray4 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 884)) ; } - inCompiler->printMessage (GALGAS_string ("[!").add_operation (extensionGetter_stringRepresentation (this->mProperty_target, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1419)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1418)).add_operation (this->mProperty_setterName.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1419)).add_operation (temp_0, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1420)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1418)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlVariablesInstruction display' +//Overriding extension method '@gtlWarningStatementInstruction execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_gtlVariablesInstruction::method_display (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("variables") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1431)) ; +void cPtr_gtlWarningStatementInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & ioArgument_vars, + GALGAS_library & ioArgument_lib, + GALGAS_string & /* ioArgument_outputString */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_location var_warningLocation_27162 ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = this->mProperty_hereInstead.boolEnum () ; + if (kBoolTrue == test_0) { + var_warningLocation_27162 = this->mProperty_where ; + } + } + if (kBoolFalse == test_0) { + var_warningLocation_27162 = extensionGetter_get (this->mProperty_identifier, ioArgument_context, ioArgument_vars, ioArgument_lib, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 907)).readProperty_where () ; + } + GALGAS_gtlData var_warningMessageData_27324 = callExtensionGetter_eval ((const cPtr_gtlExpression *) this->mProperty_warningMessage.ptr (), ioArgument_context, ioArgument_vars, ioArgument_lib, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 909)) ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = GALGAS_bool (kIsEqual, var_warningMessageData_27324.getter_dynamicType (SOURCE_FILE ("gtl_instructions.galgas", 910)).objectCompare (GALGAS_type (& kTypeDescriptor_GALGAS_gtlString))).boolEnum () ; + if (kBoolTrue == test_1) { + GALGAS_gtlString temp_2 ; + if (var_warningMessageData_27324.isValid ()) { + if (nullptr != dynamic_cast (var_warningMessageData_27324.ptr ())) { + temp_2 = (cPtr_gtlString *) var_warningMessageData_27324.ptr () ; + }else{ + inCompiler->castError ("gtlString", var_warningMessageData_27324.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("gtl_instructions.galgas", 911)) ; + } + } + TC_Array fixItArray3 ; + inCompiler->emitSemanticWarning (var_warningLocation_27162, temp_2.readProperty_value (), fixItArray3 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 911)) ; + } + } + if (kBoolFalse == test_1) { + TC_Array fixItArray4 ; + inCompiler->emitSemanticError (callExtensionGetter_location ((const cPtr_gtlExpression *) this->mProperty_warningMessage.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 913)), GALGAS_string ("string expected"), fixItArray4 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 913)) ; + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlWriteToInstruction display' +//Overriding extension method '@gtlPrintStatementInstruction execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_gtlWriteToInstruction::method_display (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string temp_0 ; - const enumGalgasBool test_1 = this->mProperty_isExecutable.boolEnum () ; - if (kBoolTrue == test_1) { - temp_0 = GALGAS_string ("executable ") ; - }else if (kBoolFalse == test_1) { - temp_0 = GALGAS_string::makeEmptyString () ; +void cPtr_gtlPrintStatementInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & ioArgument_vars, + GALGAS_library & ioArgument_lib, + GALGAS_string & /* ioArgument_outputString */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string var_messageToPrintString_28089 = callExtensionGetter_string ((const cPtr_gtlData *) callExtensionGetter_eval ((const cPtr_gtlExpression *) this->mProperty_messageToPrint.ptr (), ioArgument_context, ioArgument_vars, ioArgument_lib, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 932)).ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 932)) ; + inCompiler->printMessage (var_messageToPrintString_28089 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 933)) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = this->mProperty_carriageReturn.boolEnum () ; + if (kBoolTrue == test_0) { + inCompiler->printMessage (GALGAS_string ("\n") COMMA_SOURCE_FILE ("gtl_instructions.galgas", 934)) ; + } } - inCompiler->printMessage (GALGAS_string ("write to ").add_operation (temp_0, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1437)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_fileNameExpression.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1439)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1438)).add_operation (GALGAS_string (" :"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1439)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1437)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlTabStatementInstruction display' +//Overriding extension method '@gtlDisplayStatementInstruction execute' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_gtlDisplayStatementInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & ioArgument_vars, + GALGAS_library & ioArgument_lib, + GALGAS_string & /* ioArgument_outputString */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_gtlData var_variable_28714 = extensionGetter_get (this->mProperty_variablePath, ioArgument_context, ioArgument_vars, ioArgument_lib, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 950)) ; + inCompiler->printMessage (extensionGetter_stringPath (this->mProperty_variablePath, ioArgument_context, ioArgument_vars, ioArgument_lib, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 951)).add_operation (GALGAS_string (" from "), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 951)).add_operation (this->mProperty_where.getter_endLocationString (inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 952)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 952)).add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 952)).add_operation (callExtensionGetter_desc ((const cPtr_gtlData *) var_variable_28714.ptr (), GALGAS_uint (uint32_t (4U)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 953)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 952)) COMMA_SOURCE_FILE ("gtl_instructions.galgas", 951)) ; +} +//---------------------------------------------------------------------------------------------------------------------- // -//-------------------------------------------------------------------------------------------------- +//Overriding extension method '@gtlAbstractSortInstruction execute' +// +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_gtlTabStatementInstruction::method_display (Compiler * inCompiler +void cPtr_gtlAbstractSortInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & ioArgument_vars, + GALGAS_library & ioArgument_lib, + GALGAS_string & /* ioArgument_outputString */, + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("tab ").add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_tabValue.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1447)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1447)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1447)) ; + GALGAS_gtlData var_variable_30650 = extensionGetter_get (this->mProperty_variablePath, ioArgument_context, ioArgument_vars, ioArgument_lib, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1024)) ; + if (var_variable_30650.isValid ()) { + if (var_variable_30650.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_gtlList) { + GALGAS_gtlList cast_30735_variableList ((cPtr_gtlList *) var_variable_30650.ptr ()) ; + GALGAS_list var_listToSort_30759 = cast_30735_variableList.readProperty_value () ; + GALGAS_uint var_length_30807 = var_listToSort_30759.getter_count (SOURCE_FILE ("gtl_instructions.galgas", 1028)) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsStrictSup, var_length_30807.objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + if (kBoolTrue == test_0) { + const GALGAS_gtlAbstractSortInstruction temp_1 = this ; + callExtensionMethod_sort ((cPtr_gtlAbstractSortInstruction *) temp_1.ptr (), var_listToSort_30759, GALGAS_uint (uint32_t (0U)), var_length_30807.substract_operation (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1030)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1030)) ; + } + } + extensionMethod_set (this->mProperty_variablePath, ioArgument_context, ioArgument_vars, ioArgument_lib, GALGAS_gtlList::constructor_new (this->mProperty_where, function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1036)), var_listToSort_30759 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1036)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1032)) ; + }else{ + GALGAS_gtlVarItem var_lastComponent_31089 ; + this->mProperty_variablePath.method_last (var_lastComponent_31089, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1039)) ; + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (callExtensionGetter_location ((const cPtr_gtlVarItem *) var_lastComponent_31089.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1040)), GALGAS_string ("list expected"), fixItArray2 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1040)) ; + } + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlDisplayStatementInstruction mayExecuteWithoutError' +//Overriding extension getter '@gtlSortStatementStructInstruction compare' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_bool cPtr_gtlDisplayStatementInstruction::getter_mayExecuteWithoutError (const GALGAS_gtlContext constinArgument_exeContext, - const GALGAS_gtlData constinArgument_context, - const GALGAS_library constinArgument_lib, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_bool result_may ; // Returned variable - result_may = extensionGetter_exists (this->mProperty_variablePath, constinArgument_exeContext, constinArgument_context, constinArgument_lib, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1468)) ; +GALGAS_sint cPtr_gtlSortStatementStructInstruction::getter_compare (const GALGAS_gtlData constinArgument_s_31_, + const GALGAS_gtlData constinArgument_s_32_, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_sint result_result ; // Returned variable + const GALGAS_gtlSortStatementStructInstruction temp_0 = this ; + result_result = callExtensionGetter_compareElements ((const cPtr_gtlSortStatementStructInstruction *) temp_0.ptr (), constinArgument_s_31_, constinArgument_s_32_, this->mProperty_sortingKey, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1054)) ; //--- - return result_may ; + return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlStepInstruction execute' +//Overriding extension getter '@gtlSortStatementInstruction compare' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_gtlStepInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, - GALGAS_gtlData & /* ioArgument_vars */, - GALGAS_library & /* ioArgument_lib */, - GALGAS_string & /* ioArgument_outputString */, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - { - ioArgument_context.insulate (HERE) ; - cPtr_gtlContext * ptr_44266 = (cPtr_gtlContext *) ioArgument_context.ptr () ; - callExtensionSetter_setLoopOnCommand ((cPtr_gtlContext *) ptr_44266, GALGAS_bool (false), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1482)) ; - } -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlStepInstruction display' -// -//-------------------------------------------------------------------------------------------------- - -void cPtr_gtlStepInstruction::method_display (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("step") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1487)) ; -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlDoInstInstruction execute' -// -//-------------------------------------------------------------------------------------------------- - -void cPtr_gtlDoInstInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, - GALGAS_gtlData & /* ioArgument_vars */, - GALGAS_library & /* ioArgument_lib */, - GALGAS_string & /* ioArgument_outputString */, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - { - ioArgument_context.insulate (HERE) ; - cPtr_gtlContext * ptr_44830 = (cPtr_gtlContext *) ioArgument_context.ptr () ; - callExtensionSetter_appendInstructionToStepDo ((cPtr_gtlContext *) ptr_44830, this->mProperty_instructionToDo, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1504)) ; - } -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlDoInstInstruction display' -// -//-------------------------------------------------------------------------------------------------- - -void cPtr_gtlDoInstInstruction::method_display (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("do ") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1509)) ; - callExtensionMethod_display ((cPtr_gtlInstruction *) this->mProperty_instructionToDo.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1510)) ; -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlDoNotInstruction execute' -// -//-------------------------------------------------------------------------------------------------- - -void cPtr_gtlDoNotInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, - GALGAS_gtlData & /* ioArgument_vars */, - GALGAS_library & /* ioArgument_lib */, - GALGAS_string & /* ioArgument_outputString */, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - { - ioArgument_context.insulate (HERE) ; - cPtr_gtlContext * ptr_45425 = (cPtr_gtlContext *) ioArgument_context.ptr () ; - callExtensionSetter_deleteStepDoInstruction ((cPtr_gtlContext *) ptr_45425, this->mProperty_numToDelete, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1527)) ; +GALGAS_sint cPtr_gtlSortStatementInstruction::getter_compare (const GALGAS_gtlData constinArgument_s_31_, + const GALGAS_gtlData constinArgument_s_32_, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_sint result_result ; // Returned variable + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = callExtensionGetter_bool ((const cPtr_gtlData *) callExtensionGetter_ltOp ((const cPtr_gtlData *) constinArgument_s_31_.ptr (), constinArgument_s_32_, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1101)).ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1108)).boolEnum () ; + if (kBoolTrue == test_0) { + result_result = GALGAS_bigint ("-1", inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1102)).multiply_operation (this->mProperty_order.readProperty_sint ().getter_bigint (SOURCE_FILE ("gtl_instructions.galgas", 1102)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1102)).getter_sint (inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1102)) ; + } } -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlDoNotInstruction display' -// -//-------------------------------------------------------------------------------------------------- - -void cPtr_gtlDoNotInstruction::method_display (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("do not ").add_operation (this->mProperty_numToDelete.readProperty_bigint ().getter_string (SOURCE_FILE ("gtl_debugger.galgas", 1532)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1532)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1532)) ; -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlDoNotAllInstruction execute' -// -//-------------------------------------------------------------------------------------------------- - -void cPtr_gtlDoNotAllInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, - GALGAS_gtlData & /* ioArgument_vars */, - GALGAS_library & /* ioArgument_lib */, - GALGAS_string & /* ioArgument_outputString */, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - { - ioArgument_context.insulate (HERE) ; - cPtr_gtlContext * ptr_45993 = (cPtr_gtlContext *) ioArgument_context.ptr () ; - callExtensionSetter_deleteAllStepDoInstructions ((cPtr_gtlContext *) ptr_45993, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1548)) ; + if (kBoolFalse == test_0) { + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = callExtensionGetter_bool ((const cPtr_gtlData *) callExtensionGetter_gtOp ((const cPtr_gtlData *) constinArgument_s_31_.ptr (), constinArgument_s_32_, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1104)).ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1107)).boolEnum () ; + if (kBoolTrue == test_1) { + result_result = GALGAS_bigint ("1", inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1105)).multiply_operation (this->mProperty_order.readProperty_sint ().getter_bigint (SOURCE_FILE ("gtl_instructions.galgas", 1105)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1105)).getter_sint (inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1105)) ; + } + } + if (kBoolFalse == test_1) { + result_result = GALGAS_sint (int32_t (0L)) ; + } } +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlDoNotAllInstruction display' -// -//-------------------------------------------------------------------------------------------------- - -void cPtr_gtlDoNotAllInstruction::method_display (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("do not all") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1553)) ; -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlDoInstruction execute' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_gtlDoInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, - GALGAS_gtlData & /* ioArgument_vars */, - GALGAS_library & /* ioArgument_lib */, - GALGAS_string & /* ioArgument_outputString */, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - callExtensionMethod_listStepDoInstructions ((cPtr_gtlContext *) ioArgument_context.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1569)) ; -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlDoInstruction display' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_gtlDoInstruction::method_display (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("do") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1574)) ; -} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlContinueInstruction execute' +//Overriding extension method '@gtlTabStatementInstruction execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_gtlContinueInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, - GALGAS_gtlData & /* ioArgument_vars */, - GALGAS_library & /* ioArgument_lib */, - GALGAS_string & /* ioArgument_outputString */, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - { - ioArgument_context.insulate (HERE) ; - cPtr_gtlContext * ptr_47034 = (cPtr_gtlContext *) ioArgument_context.ptr () ; - callExtensionSetter_setBreakOnNext ((cPtr_gtlContext *) ptr_47034, GALGAS_bool (false), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1590)) ; +void cPtr_gtlTabStatementInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & ioArgument_vars, + GALGAS_library & ioArgument_lib, + GALGAS_string & ioArgument_outputString, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_gtlData var_tabValueData_33422 = callExtensionGetter_eval ((const cPtr_gtlExpression *) this->mProperty_tabValue.ptr (), ioArgument_context, ioArgument_vars, ioArgument_lib, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1125)) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (var_tabValueData_33422.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_gtlInt).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_gtlInt temp_1 ; + if (var_tabValueData_33422.isValid ()) { + if (nullptr != dynamic_cast (var_tabValueData_33422.ptr ())) { + temp_1 = (cPtr_gtlInt *) var_tabValueData_33422.ptr () ; + }else{ + inCompiler->castError ("gtlInt", var_tabValueData_33422.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1127)) ; + } + } + GALGAS_gtlInt var_tabValueInt_33526 = temp_1 ; + GALGAS_uint var_currentColumn_33578 = ioArgument_outputString.getter_currentColumn (SOURCE_FILE ("gtl_instructions.galgas", 1128)) ; + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = GALGAS_bool (kIsSupOrEqual, var_tabValueInt_33526.readProperty_value ().objectCompare (GALGAS_bigint ("0", inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1129)))).boolEnum () ; + if (kBoolTrue == test_2) { + GALGAS_uint var_tabColumn_33676 = var_tabValueInt_33526.readProperty_value ().getter_uint (inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1130)) ; + enumGalgasBool test_3 = kBoolTrue ; + if (kBoolTrue == test_3) { + test_3 = GALGAS_bool (kIsStrictSup, var_tabColumn_33676.objectCompare (var_currentColumn_33578)).boolEnum () ; + if (kBoolTrue == test_3) { + ioArgument_outputString.plusAssign_operation(GALGAS_string::constructor_stringWithSequenceOfCharacters (GALGAS_char (TO_UNICODE (32)), var_tabColumn_33676.substract_operation (var_currentColumn_33578, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1134)).substract_operation (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1134)) COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1132)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1132)) ; + } + } + } + } + } } - { - ioArgument_context.insulate (HERE) ; - cPtr_gtlContext * ptr_47070 = (cPtr_gtlContext *) ioArgument_context.ptr () ; - callExtensionSetter_setLoopOnCommand ((cPtr_gtlContext *) ptr_47070, GALGAS_bool (false), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1591)) ; + if (kBoolFalse == test_0) { + TC_Array fixItArray4 ; + inCompiler->emitSemanticError (callExtensionGetter_location ((const cPtr_gtlData *) var_tabValueData_33422.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1140)), GALGAS_string ("int expected"), fixItArray4 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1140)) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlContinueInstruction display' +//Overriding extension method '@gtlVariablesInstruction execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_gtlContinueInstruction::method_display (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("cont") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1596)) ; +void cPtr_gtlVariablesInstruction::method_execute (GALGAS_gtlContext & /* ioArgument_context */, + GALGAS_gtlData & ioArgument_vars, + GALGAS_library & /* ioArgument_lib */, + GALGAS_string & /* ioArgument_outputString */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = this->mProperty_shortDisplay.boolEnum () ; + if (kBoolTrue == test_0) { + const GALGAS_gtlVariablesInstruction temp_1 = this ; + callExtensionMethod_displayShort ((cPtr_gtlVariablesInstruction *) temp_1.ptr (), ioArgument_vars, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1198)) ; + } + } + if (kBoolFalse == test_0) { + const GALGAS_gtlVariablesInstruction temp_2 = this ; + callExtensionMethod_displayLong ((cPtr_gtlVariablesInstruction *) temp_2.ptr (), ioArgument_vars, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1200)) ; + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlBreakpointInstruction execute' +//Overriding extension method '@gtlLibrariesInstruction execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_gtlBreakpointInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, - GALGAS_gtlData & /* ioArgument_vars */, - GALGAS_library & /* ioArgument_lib */, - GALGAS_string & /* ioArgument_outputString */, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_gtlInstructionList var_instructionList_47650 = ioArgument_context.readProperty_debuggerContext ().readProperty_instructionList () ; - GALGAS_string var_localFileName_47722 = GALGAS_string::makeEmptyString () ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsStrictSup, var_instructionList_47650.getter_count (SOURCE_FILE ("gtl_debugger.galgas", 1616)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; - if (kBoolTrue == test_0) { - var_localFileName_47722 = callExtensionGetter_location ((const cPtr_gtlInstruction *) var_instructionList_47650.getter_instructionAtIndex (GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1618)).ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1618)).getter_file (inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1618)).getter_lastPathComponent (SOURCE_FILE ("gtl_debugger.galgas", 1619)) ; +void cPtr_gtlLibrariesInstruction::method_execute (GALGAS_gtlContext & /* ioArgument_context */, + GALGAS_gtlData & /* ioArgument_vars */, + GALGAS_library & ioArgument_lib, + GALGAS_string & /* ioArgument_outputString */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string var_delimitor_36074 = GALGAS_string::constructor_stringWithSequenceOfCharacters (GALGAS_char (TO_UNICODE (61)), GALGAS_uint (uint32_t (79U)) COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1215)).add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1215)) ; + GALGAS_string var_varDelim_36157 = GALGAS_string::constructor_stringWithSequenceOfCharacters (GALGAS_char (TO_UNICODE (45)), GALGAS_uint (uint32_t (79U)) COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1216)).add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1216)) ; + GALGAS_string var_separator_36240 = GALGAS_string::constructor_stringWithSequenceOfCharacters (GALGAS_char (TO_UNICODE (61)), GALGAS_uint (uint32_t (17U)) COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1217)) ; + inCompiler->printMessage (var_separator_36240.add_operation (GALGAS_string (" Libraries "), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1218)).add_operation (var_separator_36240, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1218)).add_operation (GALGAS_string ("= Displayed from "), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1219)).add_operation (var_separator_36240, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1219)).add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1220)) COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1218)) ; + inCompiler->printMessage (this->mProperty_where.getter_endLocationString (inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1221)).add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1221)) COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1221)) ; + inCompiler->printMessage (var_delimitor_36074 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1222)) ; + inCompiler->printMessage (GALGAS_string (" Functions \n") COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1223)) ; + inCompiler->printMessage (var_varDelim_36157 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1224)) ; + GALGAS_uint var_lineSize_36520 = GALGAS_uint (uint32_t (0U)) ; + cEnumerator_gtlFuncMap enumerator_36545 (ioArgument_lib.readProperty_funcMap (), kENUMERATION_UP) ; + const bool bool_0 = true ; + if (enumerator_36545.hasCurrentObject () && bool_0) { + while (enumerator_36545.hasCurrentObject () && bool_0) { enumGalgasBool test_1 = kBoolTrue ; if (kBoolTrue == test_1) { - test_1 = GALGAS_bool (kIsEqual, this->mProperty_fileName.objectCompare (var_localFileName_47722)).operator_or (GALGAS_bool (kIsEqual, this->mProperty_fileName.objectCompare (GALGAS_string::makeEmptyString ())) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1621)).boolEnum () ; + test_1 = GALGAS_bool (kIsStrictSup, var_lineSize_36520.add_operation (enumerator_36545.current_lkey (HERE).readProperty_string ().getter_count (SOURCE_FILE ("gtl_instructions.galgas", 1227)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1227)).objectCompare (GALGAS_uint (uint32_t (75U)))).boolEnum () ; if (kBoolTrue == test_1) { - inCompiler->printMessage (GALGAS_string ("Setting breakpoint at ").add_operation (var_localFileName_47722, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1622)).add_operation (GALGAS_string (":"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1622)).add_operation (this->mProperty_lineNum.getter_string (SOURCE_FILE ("gtl_debugger.galgas", 1622)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1622)).add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1622)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1622)) ; - { - ioArgument_context.insulate (HERE) ; - cPtr_gtlContext * ptr_48038 = (cPtr_gtlContext *) ioArgument_context.ptr () ; - callExtensionSetter_setBreakpoint ((cPtr_gtlContext *) ptr_48038, var_localFileName_47722, this->mProperty_lineNum, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1623)) ; - } + var_lineSize_36520 = GALGAS_uint (uint32_t (0U)) ; + inCompiler->printMessage (GALGAS_string ("\n") COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1229)) ; } } - if (kBoolFalse == test_1) { - inCompiler->printMessage (GALGAS_string ("Setting breakpoint at ").add_operation (this->mProperty_fileName, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1625)).add_operation (GALGAS_string (":"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1625)).add_operation (this->mProperty_lineNum.getter_string (SOURCE_FILE ("gtl_debugger.galgas", 1625)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1625)).add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1625)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1625)) ; - { - ioArgument_context.insulate (HERE) ; - cPtr_gtlContext * ptr_48181 = (cPtr_gtlContext *) ioArgument_context.ptr () ; - callExtensionSetter_setBreakpoint ((cPtr_gtlContext *) ptr_48181, this->mProperty_fileName, this->mProperty_lineNum, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1626)) ; + inCompiler->printMessage (enumerator_36545.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1231)) ; + var_lineSize_36520.plusAssign_operation(enumerator_36545.current_lkey (HERE).readProperty_string ().getter_count (SOURCE_FILE ("gtl_instructions.galgas", 1232)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1232)) ; + enumerator_36545.gotoNextObject () ; + if (enumerator_36545.hasCurrentObject () && bool_0) { + inCompiler->printMessage (GALGAS_string (", ") COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1234)) ; + var_lineSize_36520.plusAssign_operation(GALGAS_uint (uint32_t (2U)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1235)) ; + } + } + inCompiler->printMessage (GALGAS_string ("\n") COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1237)) ; + } + inCompiler->printMessage (var_delimitor_36074 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1239)) ; + inCompiler->printMessage (GALGAS_string (" Getters \n") COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1240)) ; + inCompiler->printMessage (var_varDelim_36157 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1241)) ; + var_lineSize_36520 = GALGAS_uint (uint32_t (0U)) ; + cEnumerator_gtlGetterMap enumerator_36896 (ioArgument_lib.readProperty_getterMap (), kENUMERATION_UP) ; + const bool bool_2 = true ; + if (enumerator_36896.hasCurrentObject () && bool_2) { + while (enumerator_36896.hasCurrentObject () && bool_2) { + enumGalgasBool test_3 = kBoolTrue ; + if (kBoolTrue == test_3) { + test_3 = GALGAS_bool (kIsStrictSup, var_lineSize_36520.add_operation (enumerator_36896.current_lkey (HERE).readProperty_string ().getter_count (SOURCE_FILE ("gtl_instructions.galgas", 1244)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1244)).objectCompare (GALGAS_uint (uint32_t (75U)))).boolEnum () ; + if (kBoolTrue == test_3) { + var_lineSize_36520 = GALGAS_uint (uint32_t (0U)) ; + inCompiler->printMessage (GALGAS_string ("\n") COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1246)) ; } } + inCompiler->printMessage (enumerator_36896.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1248)) ; + var_lineSize_36520.plusAssign_operation(enumerator_36896.current_lkey (HERE).readProperty_string ().getter_count (SOURCE_FILE ("gtl_instructions.galgas", 1249)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1249)) ; + enumerator_36896.gotoNextObject () ; + if (enumerator_36896.hasCurrentObject () && bool_2) { + inCompiler->printMessage (GALGAS_string (", ") COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1251)) ; + var_lineSize_36520.plusAssign_operation(GALGAS_uint (uint32_t (2U)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1252)) ; + } } + inCompiler->printMessage (GALGAS_string ("\n") COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1254)) ; } - if (kBoolFalse == test_0) { - inCompiler->printMessage (GALGAS_string ("Unable to set a breakpoint in an empty file\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1629)) ; + inCompiler->printMessage (var_delimitor_36074 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1256)) ; + inCompiler->printMessage (GALGAS_string (" Setters \n") COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1257)) ; + inCompiler->printMessage (var_varDelim_36157 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1258)) ; + var_lineSize_36520 = GALGAS_uint (uint32_t (0U)) ; + cEnumerator_gtlSetterMap enumerator_37249 (ioArgument_lib.readProperty_setterMap (), kENUMERATION_UP) ; + const bool bool_4 = true ; + if (enumerator_37249.hasCurrentObject () && bool_4) { + while (enumerator_37249.hasCurrentObject () && bool_4) { + enumGalgasBool test_5 = kBoolTrue ; + if (kBoolTrue == test_5) { + test_5 = GALGAS_bool (kIsStrictSup, var_lineSize_36520.add_operation (enumerator_37249.current_lkey (HERE).readProperty_string ().getter_count (SOURCE_FILE ("gtl_instructions.galgas", 1261)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1261)).objectCompare (GALGAS_uint (uint32_t (75U)))).boolEnum () ; + if (kBoolTrue == test_5) { + var_lineSize_36520 = GALGAS_uint (uint32_t (0U)) ; + inCompiler->printMessage (GALGAS_string ("\n") COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1263)) ; + } + } + inCompiler->printMessage (enumerator_37249.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1265)) ; + var_lineSize_36520.plusAssign_operation(enumerator_37249.current_lkey (HERE).readProperty_string ().getter_count (SOURCE_FILE ("gtl_instructions.galgas", 1266)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1266)) ; + enumerator_37249.gotoNextObject () ; + if (enumerator_37249.hasCurrentObject () && bool_4) { + inCompiler->printMessage (GALGAS_string (", ") COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1268)) ; + var_lineSize_36520.plusAssign_operation(GALGAS_uint (uint32_t (2U)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1269)) ; + } + } + inCompiler->printMessage (GALGAS_string ("\n") COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1271)) ; + } + inCompiler->printMessage (var_delimitor_36074 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1273)) ; + inCompiler->printMessage (GALGAS_string (" Templates \n") COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1274)) ; + inCompiler->printMessage (var_varDelim_36157 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1275)) ; + var_lineSize_36520 = GALGAS_uint (uint32_t (0U)) ; + cEnumerator_gtlTemplateMap enumerator_37604 (ioArgument_lib.readProperty_templateMap (), kENUMERATION_UP) ; + const bool bool_6 = true ; + if (enumerator_37604.hasCurrentObject () && bool_6) { + while (enumerator_37604.hasCurrentObject () && bool_6) { + enumGalgasBool test_7 = kBoolTrue ; + if (kBoolTrue == test_7) { + test_7 = GALGAS_bool (kIsStrictSup, var_lineSize_36520.add_operation (enumerator_37604.current_lkey (HERE).readProperty_string ().getter_count (SOURCE_FILE ("gtl_instructions.galgas", 1278)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1278)).objectCompare (GALGAS_uint (uint32_t (75U)))).boolEnum () ; + if (kBoolTrue == test_7) { + var_lineSize_36520 = GALGAS_uint (uint32_t (0U)) ; + inCompiler->printMessage (GALGAS_string ("\n") COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1280)) ; + } + } + inCompiler->printMessage (enumerator_37604.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1282)) ; + var_lineSize_36520.plusAssign_operation(enumerator_37604.current_lkey (HERE).readProperty_string ().getter_count (SOURCE_FILE ("gtl_instructions.galgas", 1283)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1283)) ; + enumerator_37604.gotoNextObject () ; + if (enumerator_37604.hasCurrentObject () && bool_6) { + inCompiler->printMessage (GALGAS_string (", ") COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1285)) ; + var_lineSize_36520.plusAssign_operation(GALGAS_uint (uint32_t (2U)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1286)) ; + } + } + inCompiler->printMessage (GALGAS_string ("\n") COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1288)) ; } + inCompiler->printMessage (var_delimitor_36074 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1290)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlBreakpointInstruction display' +//Overriding extension method '@gtlSetterCallInstruction execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_gtlBreakpointInstruction::method_display (Compiler * inCompiler +void cPtr_gtlSetterCallInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & ioArgument_vars, + GALGAS_library & ioArgument_lib, + GALGAS_string & /* ioArgument_outputString */, + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("break ").add_operation (this->mProperty_fileName, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1635)).add_operation (GALGAS_string (":"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1635)).add_operation (this->mProperty_lineNum.getter_string (SOURCE_FILE ("gtl_debugger.galgas", 1635)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1635)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1635)) ; + GALGAS_gtlDataList var_dataArguments_38432 = GALGAS_gtlDataList::constructor_emptyList (SOURCE_FILE ("gtl_instructions.galgas", 1308)) ; + cEnumerator_gtlExpressionList enumerator_38465 (this->mProperty_arguments, kENUMERATION_UP) ; + while (enumerator_38465.hasCurrentObject ()) { + var_dataArguments_38432.addAssign_operation (callExtensionGetter_eval ((const cPtr_gtlExpression *) enumerator_38465.current_expression (HERE).ptr (), ioArgument_context, ioArgument_vars, ioArgument_lib, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1310)) COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1310)) ; + enumerator_38465.gotoNextObject () ; + } + GALGAS_gtlData var_targetData_38561 = extensionGetter_get (this->mProperty_target, ioArgument_context, ioArgument_vars, ioArgument_lib, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1312)) ; + { + var_targetData_38561.insulate (HERE) ; + cPtr_gtlData * ptr_38612 = (cPtr_gtlData *) var_targetData_38561.ptr () ; + callExtensionSetter_performSetter ((cPtr_gtlData *) ptr_38612, this->mProperty_setterName, var_dataArguments_38432, ioArgument_context, ioArgument_lib, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1313)) ; + } + extensionMethod_set (this->mProperty_target, ioArgument_context, ioArgument_vars, ioArgument_lib, var_targetData_38561, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1314)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlBreakpointListInstruction execute' +//Overriding extension method '@gtlInputStatementInstruction execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_gtlBreakpointListInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, - GALGAS_gtlData & /* ioArgument_vars */, +void cPtr_gtlInputStatementInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & ioArgument_vars, GALGAS_library & /* ioArgument_lib */, GALGAS_string & /* ioArgument_outputString */, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - callExtensionMethod_listBreakpoints ((cPtr_gtlContext *) ioArgument_context.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1651)) ; -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlBreakpointListInstruction display' -// -//-------------------------------------------------------------------------------------------------- - -void cPtr_gtlBreakpointListInstruction::method_display (Compiler * inCompiler + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("break") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1656)) ; + cEnumerator_gtlArgumentList enumerator_39216 (this->mProperty_formalArguments, kENUMERATION_UP) ; + while (enumerator_39216.hasCurrentObject ()) { + GALGAS_gtlData var_arg_39296 ; + { + ioArgument_context.insulate (HERE) ; + cPtr_gtlContext * ptr_39251 = (cPtr_gtlContext *) ioArgument_context.ptr () ; + callExtensionSetter_popFirstInputArg ((cPtr_gtlContext *) ptr_39251, enumerator_39216.current_name (HERE).readProperty_location (), var_arg_39296, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1331)) ; + } + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = enumerator_39216.current_typed (HERE).boolEnum () ; + if (kBoolTrue == test_0) { + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = GALGAS_bool (kIsNotEqual, enumerator_39216.current_type (HERE).objectCompare (var_arg_39296.getter_dynamicType (SOURCE_FILE ("gtl_instructions.galgas", 1333)))).boolEnum () ; + if (kBoolTrue == test_1) { + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (callExtensionGetter_location ((const cPtr_gtlData *) var_arg_39296.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1334)), GALGAS_string ("mistyped argument, ").add_operation (extensionGetter_typeName (var_arg_39296.getter_dynamicType (SOURCE_FILE ("gtl_instructions.galgas", 1334)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1334)), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1334)).add_operation (GALGAS_string (" provided"), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1334)), fixItArray2 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1334)) ; + TC_Array fixItArray3 ; + inCompiler->emitSemanticError (enumerator_39216.current_name (HERE).readProperty_location (), extensionGetter_typeName (enumerator_39216.current_type (HERE), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1335)).add_operation (GALGAS_string (" expected"), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1335)), fixItArray3 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1335)) ; + } + } + } + } + { + ioArgument_vars.insulate (HERE) ; + cPtr_gtlData * ptr_39522 = (cPtr_gtlData *) ioArgument_vars.ptr () ; + callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_39522, enumerator_39216.current_name (HERE), var_arg_39296, inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1338)) ; + } + enumerator_39216.gotoNextObject () ; + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlBreakpointDeleteInstruction execute' +//Function 'trueFalse' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_gtlBreakpointDeleteInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, - GALGAS_gtlData & /* ioArgument_vars */, - GALGAS_library & /* ioArgument_lib */, - GALGAS_string & /* ioArgument_outputString */, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - { - ioArgument_context.insulate (HERE) ; - cPtr_gtlContext * ptr_49427 = (cPtr_gtlContext *) ioArgument_context.ptr () ; - callExtensionSetter_deleteBreakpoint ((cPtr_gtlContext *) ptr_49427, this->mProperty_numToDelete, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1673)) ; +GALGAS_string function_trueFalse (const GALGAS_bool & constinArgument_inBool, + C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_result ; // Returned variable + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = constinArgument_inBool.boolEnum () ; + if (kBoolTrue == test_0) { + result_result = GALGAS_string ("true") ; + } } + if (kBoolFalse == test_0) { + result_result = GALGAS_string ("false") ; + } +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlBreakpointDeleteInstruction display' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_gtlBreakpointDeleteInstruction::method_display (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("break not ").add_operation (this->mProperty_numToDelete.readProperty_bigint ().getter_string (SOURCE_FILE ("gtl_debugger.galgas", 1678)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1678)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1678)) ; + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_trueFalse [2] = { + & kTypeDescriptor_GALGAS_bool, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_trueFalse (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_bool operand0 = GALGAS_bool::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_trueFalse (operand0, + inCompiler + COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_trueFalse ("trueFalse", + functionWithGenericHeader_trueFalse, + & kTypeDescriptor_GALGAS_string, + 1, + functionArgs_trueFalse) ; + +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlBreakpointDeleteAllInstruction execute' +//Function 'TrueFalse' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_gtlBreakpointDeleteAllInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, - GALGAS_gtlData & /* ioArgument_vars */, - GALGAS_library & /* ioArgument_lib */, - GALGAS_string & /* ioArgument_outputString */, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - { - ioArgument_context.insulate (HERE) ; - cPtr_gtlContext * ptr_50035 = (cPtr_gtlContext *) ioArgument_context.ptr () ; - callExtensionSetter_deleteAllBreakpoints ((cPtr_gtlContext *) ptr_50035, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1694)) ; +GALGAS_string function_TrueFalse (const GALGAS_bool & constinArgument_inBool, + C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_result ; // Returned variable + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = constinArgument_inBool.boolEnum () ; + if (kBoolTrue == test_0) { + result_result = GALGAS_string ("True") ; + } + } + if (kBoolFalse == test_0) { + result_result = GALGAS_string ("False") ; } +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlBreakpointDeleteAllInstruction display' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_gtlBreakpointDeleteAllInstruction::method_display (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("break not all") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1699)) ; + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_TrueFalse [2] = { + & kTypeDescriptor_GALGAS_bool, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_TrueFalse (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_bool operand0 = GALGAS_bool::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_TrueFalse (operand0, + inCompiler + COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_TrueFalse ("TrueFalse", + functionWithGenericHeader_TrueFalse, + & kTypeDescriptor_GALGAS_string, + 1, + functionArgs_TrueFalse) ; + +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlWatchpointInstruction execute' +//Function 'yesNo' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_gtlWatchpointInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, - GALGAS_gtlData & /* ioArgument_vars */, - GALGAS_library & /* ioArgument_lib */, - GALGAS_string & /* ioArgument_outputString */, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - { - ioArgument_context.insulate (HERE) ; - cPtr_gtlContext * ptr_50627 = (cPtr_gtlContext *) ioArgument_context.ptr () ; - callExtensionSetter_setWatchpoint ((cPtr_gtlContext *) ptr_50627, this->mProperty_watchExpression, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1716)) ; +GALGAS_string function_yesNo (const GALGAS_bool & constinArgument_inBool, + C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_result ; // Returned variable + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = constinArgument_inBool.boolEnum () ; + if (kBoolTrue == test_0) { + result_result = GALGAS_string ("YES") ; + } + } + if (kBoolFalse == test_0) { + result_result = GALGAS_string ("NO") ; } +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlWatchpointInstruction display' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_gtlWatchpointInstruction::method_display (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("watch ( ").add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_watchExpression.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1721)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1721)).add_operation (GALGAS_string (" )"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1721)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1721)) ; -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlWatchpointListInstruction execute' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_gtlWatchpointListInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, - GALGAS_gtlData & /* ioArgument_vars */, - GALGAS_library & /* ioArgument_lib */, - GALGAS_string & /* ioArgument_outputString */, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - callExtensionMethod_listWatchpoints ((cPtr_gtlContext *) ioArgument_context.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1737)) ; -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlWatchpointListInstruction display' -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_gtlWatchpointListInstruction::method_display (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("watch") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1742)) ; +static const C_galgas_type_descriptor * functionArgs_yesNo [2] = { + & kTypeDescriptor_GALGAS_bool, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_yesNo (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_bool operand0 = GALGAS_bool::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_yesNo (operand0, + inCompiler + COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_yesNo ("yesNo", + functionWithGenericHeader_yesNo, + & kTypeDescriptor_GALGAS_string, + 1, + functionArgs_yesNo) ; + +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlWatchpointDeleteInstruction execute' +//Function 'TRUEFALSE' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_gtlWatchpointDeleteInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, - GALGAS_gtlData & /* ioArgument_vars */, - GALGAS_library & /* ioArgument_lib */, - GALGAS_string & /* ioArgument_outputString */, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - { - ioArgument_context.insulate (HERE) ; - cPtr_gtlContext * ptr_51813 = (cPtr_gtlContext *) ioArgument_context.ptr () ; - callExtensionSetter_deleteWatchpoint ((cPtr_gtlContext *) ptr_51813, this->mProperty_numToDelete, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1759)) ; +GALGAS_string function_TRUEFALSE (const GALGAS_bool & constinArgument_inBool, + C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_result ; // Returned variable + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = constinArgument_inBool.boolEnum () ; + if (kBoolTrue == test_0) { + result_result = GALGAS_string ("TRUE") ; + } + } + if (kBoolFalse == test_0) { + result_result = GALGAS_string ("FALSE") ; } +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlWatchpointDeleteInstruction display' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_gtlWatchpointDeleteInstruction::method_display (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("watch not ").add_operation (this->mProperty_numToDelete.readProperty_bigint ().getter_string (SOURCE_FILE ("gtl_debugger.galgas", 1764)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1764)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1764)) ; + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_TRUEFALSE [2] = { + & kTypeDescriptor_GALGAS_bool, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_TRUEFALSE (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_bool operand0 = GALGAS_bool::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_TRUEFALSE (operand0, + inCompiler + COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_TRUEFALSE ("TRUEFALSE", + functionWithGenericHeader_TRUEFALSE, + & kTypeDescriptor_GALGAS_string, + 1, + functionArgs_TRUEFALSE) ; + +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlWatchpointDeleteAllInstruction execute' +//Function 'listOfSize' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_gtlWatchpointDeleteAllInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, - GALGAS_gtlData & /* ioArgument_vars */, - GALGAS_library & /* ioArgument_lib */, - GALGAS_string & /* ioArgument_outputString */, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - { - ioArgument_context.insulate (HERE) ; - cPtr_gtlContext * ptr_52422 = (cPtr_gtlContext *) ioArgument_context.ptr () ; - callExtensionSetter_deleteAllWatchpoints ((cPtr_gtlContext *) ptr_52422, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1780)) ; +GALGAS_list function_listOfSize (GALGAS_bigint inArgument_inSize, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_list result_result ; // Returned variable + result_result = GALGAS_list::constructor_emptyList (SOURCE_FILE ("gtl_functions.galgas", 84)) ; + if (inArgument_inSize.getter_uint (inCompiler COMMA_SOURCE_FILE ("gtl_functions.galgas", 85)).isValid ()) { + uint32_t variant_2584 = inArgument_inSize.getter_uint (inCompiler COMMA_SOURCE_FILE ("gtl_functions.galgas", 85)).uintValue () ; + bool loop_2584 = true ; + while (loop_2584) { + loop_2584 = GALGAS_bool (kIsStrictSup, inArgument_inSize.objectCompare (GALGAS_bigint ("0", inCompiler COMMA_SOURCE_FILE ("gtl_functions.galgas", 86)))).isValid () ; + if (loop_2584) { + loop_2584 = GALGAS_bool (kIsStrictSup, inArgument_inSize.objectCompare (GALGAS_bigint ("0", inCompiler COMMA_SOURCE_FILE ("gtl_functions.galgas", 86)))).boolValue () ; + } + if (loop_2584 && (0 == variant_2584)) { + loop_2584 = false ; + inCompiler->loopRunTimeVariantError (SOURCE_FILE ("gtl_functions.galgas", 85)) ; + } + if (loop_2584) { + variant_2584 -- ; + result_result.addAssign_operation (GALGAS_gtlUnconstructed::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_functions.galgas", 87)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("gtl_functions.galgas", 87)) COMMA_SOURCE_FILE ("gtl_functions.galgas", 87)) COMMA_SOURCE_FILE ("gtl_functions.galgas", 87)) ; + inArgument_inSize.decrement_operation (inCompiler COMMA_SOURCE_FILE ("gtl_functions.galgas", 88)) ; + } + } } +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlWatchpointDeleteAllInstruction display' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_gtlWatchpointDeleteAllInstruction::method_display (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("watch not all") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1785)) ; -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlListInstruction execute' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_gtlListInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, - GALGAS_gtlData & /* ioArgument_vars */, - GALGAS_library & /* ioArgument_lib */, - GALGAS_string & /* ioArgument_outputString */, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - callExtensionMethod_hereWeAre ((cPtr_gtlContext *) ioArgument_context.ptr (), this->mProperty_window, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1802)) ; -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlListInstruction display' -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_gtlListInstruction::method_display (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("list ").add_operation (this->mProperty_window.getter_string (SOURCE_FILE ("gtl_debugger.galgas", 1807)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1807)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1807)) ; +static const C_galgas_type_descriptor * functionArgs_listOfSize [2] = { + & kTypeDescriptor_GALGAS_bigint, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_listOfSize (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_bigint operand0 = GALGAS_bigint::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_listOfSize (operand0, + inCompiler + COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_listOfSize ("listOfSize", + functionWithGenericHeader_listOfSize, + & kTypeDescriptor_GALGAS_list, + 1, + functionArgs_listOfSize) ; + +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlHistoryInstruction execute' +//Function 'version' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_gtlHistoryInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, - GALGAS_gtlData & /* ioArgument_vars */, - GALGAS_library & /* ioArgument_lib */, - GALGAS_string & /* ioArgument_outputString */, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - callExtensionMethod_listHistory ((cPtr_debugCommandInput *) ioArgument_context.readProperty_debuggerContext ().readProperty_commandInput ().ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1823)) ; +GALGAS_string function_version (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_application::constructor_projectVersionString (SOURCE_FILE ("gtl_functions.galgas", 97)) ; +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlHistoryInstruction display' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_gtlHistoryInstruction::method_display (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("hist") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1828)) ; + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_version [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_version (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_version (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_version ("version", + functionWithGenericHeader_version, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_version) ; + +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlLoadInstruction execute' +//Function 'majorVersion' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_gtlLoadInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, - GALGAS_gtlData & ioArgument_vars, - GALGAS_library & ioArgument_lib, - GALGAS_string & /* ioArgument_outputString */, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - extensionMethod_loadCommandFile (this->mProperty_fileName, ioArgument_context, ioArgument_vars, ioArgument_lib, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1845)) ; -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlLoadInstruction display' -// -//-------------------------------------------------------------------------------------------------- - -void cPtr_gtlLoadInstruction::method_display (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("load \"").add_operation (this->mProperty_fileName, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1850)).add_operation (GALGAS_string ("\""), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1850)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1850)) ; +GALGAS_bigint function_majorVersion (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_bigint result_result ; // Returned variable + GALGAS_string var_version_3232 = GALGAS_application::constructor_projectVersionString (SOURCE_FILE ("gtl_functions.galgas", 105)) ; + GALGAS_stringlist var_versionComponents_3294 = var_version_3232.getter_componentsSeparatedByString (GALGAS_string (".") COMMA_SOURCE_FILE ("gtl_functions.galgas", 106)) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsStrictSup, var_versionComponents_3294.getter_count (SOURCE_FILE ("gtl_functions.galgas", 107)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + if (kBoolTrue == test_0) { + result_result = var_versionComponents_3294.getter_mValueAtIndex (GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("gtl_functions.galgas", 109)).getter_decimalUnsignedNumber (inCompiler COMMA_SOURCE_FILE ("gtl_functions.galgas", 109)).getter_bigint (SOURCE_FILE ("gtl_functions.galgas", 109)) ; + } + } + if (kBoolFalse == test_0) { + result_result = GALGAS_bigint ("0", inCompiler COMMA_SOURCE_FILE ("gtl_functions.galgas", 111)) ; + } +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlHelpInstruction execute' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_gtlHelpInstruction::method_execute (GALGAS_gtlContext & /* ioArgument_context */, - GALGAS_gtlData & /* ioArgument_vars */, - GALGAS_library & /* ioArgument_lib */, - GALGAS_string & /* ioArgument_outputString */, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("Available commands:\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1866)) ; - inCompiler->printMessage (GALGAS_string (" break : : set a breakpoint at in file \n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1867)) ; - inCompiler->printMessage (GALGAS_string (" break : set a breakpoint at in the current file\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1868)) ; - inCompiler->printMessage (GALGAS_string (" break : lists the breakpoints\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1869)) ; - inCompiler->printMessage (GALGAS_string (" break not : delete breakpoint at index \n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1870)) ; - inCompiler->printMessage (GALGAS_string (" break not all : delete all breakpoints\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1871)) ; - inCompiler->printMessage (GALGAS_string (" cont : continue execution until the next breakpoint or the end\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1872)) ; - inCompiler->printMessage (GALGAS_string (" display : display variable \n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1873)) ; - inCompiler->printMessage (GALGAS_string (" do : do a command each time a step is done\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1874)) ; - inCompiler->printMessage (GALGAS_string (" do : list the do commands\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1875)) ; - inCompiler->printMessage (GALGAS_string (" do not : delete the do command at index \n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1876)) ; - inCompiler->printMessage (GALGAS_string (" do not all : delete all the do commands\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1877)) ; - inCompiler->printMessage (GALGAS_string (" hist : display the command history\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1878)) ; - inCompiler->printMessage (GALGAS_string (" if then ... : same as GTL if instruction. Must be on one line though\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1879)) ; - inCompiler->printMessage (GALGAS_string (" list : lists instructions +/- 5 around current one\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1880)) ; - inCompiler->printMessage (GALGAS_string (" list : lists instructions +/- around current one\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1881)) ; - inCompiler->printMessage (GALGAS_string (" let := : compute and set to the result\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1882)) ; - inCompiler->printMessage (GALGAS_string (" load : load commands from file \n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1883)) ; - inCompiler->printMessage (GALGAS_string (" print : prints the \n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1884)) ; - inCompiler->printMessage (GALGAS_string (" step : step one instruction\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1885)) ; - inCompiler->printMessage (GALGAS_string (" unlet : delete \n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1886)) ; - inCompiler->printMessage (GALGAS_string (" variables : display all variables in scope\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1887)) ; - inCompiler->printMessage (GALGAS_string (" watch () : set a watchpoint matching the boolean \n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1888)) ; - inCompiler->printMessage (GALGAS_string (" watch : lists the watchpoints\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1889)) ; - inCompiler->printMessage (GALGAS_string (" watch not : delete watchpoint at index \n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1890)) ; - inCompiler->printMessage (GALGAS_string (" watch not all : delete all watchpoints\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1891)) ; - inCompiler->printMessage (GALGAS_string (" : step one instruction\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1892)) ; -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlHelpInstruction display' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_gtlHelpInstruction::method_display (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("help") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1897)) ; -} -//-------------------------------------------------------------------------------------------------- -// -// Bool options -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- -C_BoolCommandLineOption gOption_goil_5F_options_arxmlDisplayOil ("goil_options", - "arxmlDisplayOil", - 0, - "arxmlPrintOil", - "Display an Oil version while parsing an arxml file") ; +static const C_galgas_type_descriptor * functionArgs_majorVersion [1] = { + nullptr +} ; -C_BoolCommandLineOption gOption_goil_5F_options_warnMultiple ("goil_options", - "warnMultiple", - 0, - "warn-multiple", - "Emit a warning if an object not defined for the first time in the implementation does not have the same multiple attribute as in the first definition") ; +//---------------------------------------------------------------------------------------------------------------------- -C_BoolCommandLineOption gOption_goil_5F_options_pierreOption ("goil_options", - "pierreOption", - 0, - "pierre", - "Special option to pass a galgas bug to Pierre") ; +static GALGAS_object functionWithGenericHeader_majorVersion (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_majorVersion (inCompiler COMMA_THERE).getter_object (THERE) ; +} -C_BoolCommandLineOption gOption_goil_5F_options_generate_5F_log ("goil_options", - "generate_log", - 108, - "logfile", - "generate a goil.log file containing the a log of the compilation") ; +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- -// -// UInt options -// -//-------------------------------------------------------------------------------------------------- +C_galgas_function_descriptor functionDescriptor_majorVersion ("majorVersion", + functionWithGenericHeader_majorVersion, + & kTypeDescriptor_GALGAS_bigint, + 0, + functionArgs_majorVersion) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// String options +//Function 'minorVersion' // -//-------------------------------------------------------------------------------------------------- - -C_StringCommandLineOption gOption_goil_5F_options_passOption ("goil_options", - "passOption", - 111, - "option", - "Pass options to the template root script", - "") ; +//---------------------------------------------------------------------------------------------------------------------- -C_StringCommandLineOption gOption_goil_5F_options_project_5F_dir ("goil_options", - "project_dir", - 112, - "project", - "Specifies project directory (by default, the project directory is the name of the oil file, without the .oil extension)", - "") ; +GALGAS_bigint function_minorVersion (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_bigint result_result ; // Returned variable + GALGAS_string var_version_3766 = GALGAS_application::constructor_projectVersionString (SOURCE_FILE ("gtl_functions.galgas", 120)) ; + GALGAS_stringlist var_versionComponents_3828 = var_version_3766.getter_componentsSeparatedByString (GALGAS_string (".") COMMA_SOURCE_FILE ("gtl_functions.galgas", 121)) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsStrictSup, var_versionComponents_3828.getter_count (SOURCE_FILE ("gtl_functions.galgas", 122)).objectCompare (GALGAS_uint (uint32_t (1U)))).boolEnum () ; + if (kBoolTrue == test_0) { + result_result = var_versionComponents_3828.getter_mValueAtIndex (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("gtl_functions.galgas", 124)).getter_decimalUnsignedNumber (inCompiler COMMA_SOURCE_FILE ("gtl_functions.galgas", 124)).getter_bigint (SOURCE_FILE ("gtl_functions.galgas", 124)) ; + } + } + if (kBoolFalse == test_0) { + result_result = GALGAS_bigint ("0", inCompiler COMMA_SOURCE_FILE ("gtl_functions.galgas", 126)) ; + } +//--- + return result_result ; +} -C_StringCommandLineOption gOption_goil_5F_options_target_5F_platform ("goil_options", - "target_platform", - 116, - "target", - "Specifies target platform. Available target platform are located in machines/ directory. Targets are specified using a path like avr/arduino.", - "") ; -C_StringCommandLineOption gOption_goil_5F_options_template_5F_dir ("goil_options", - "template_dir", - 0, - "templates", - "Specifies template directory (used by goil for code generation)", - "") ; +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- -C_StringCommandLineOption gOption_goil_5F_options_config ("goil_options", - "config", - 99, - "config", - "Specifies the OIL config file used by goil", - "config") ; +static const C_galgas_type_descriptor * functionArgs_minorVersion [1] = { + nullptr +} ; -C_StringCommandLineOption gOption_goil_5F_options_root ("goil_options", - "root", - 114, - "root", - "Specifies the root template file to use to generate the output files", - "root") ; +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- -// -// String List options -// -//-------------------------------------------------------------------------------------------------- +static GALGAS_object functionWithGenericHeader_minorVersion (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_minorVersion (inCompiler COMMA_THERE).getter_object (THERE) ; +} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +C_galgas_function_descriptor functionDescriptor_minorVersion ("minorVersion", + functionWithGenericHeader_minorVersion, + & kTypeDescriptor_GALGAS_bigint, + 0, + functionArgs_minorVersion) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'checkEnums' +//Function 'revision' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_bool function_checkEnums (const GALGAS_impEnumType & constinArgument_previousEnum, - const GALGAS_impEnumType & constinArgument_newEnum, - Compiler * inCompiler +GALGAS_bigint function_revision (C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_bool result_inside ; // Returned variable - GALGAS_stringset var_newValues_16786 = constinArgument_newEnum.readProperty_valuesMap ().getter_keySet (SOURCE_FILE ("implementation_parser.galgas", 614)) ; - GALGAS_stringset var_previousValues_16844 = constinArgument_previousEnum.readProperty_valuesMap ().getter_keySet (SOURCE_FILE ("implementation_parser.galgas", 615)) ; - result_inside = GALGAS_bool (kIsEqual, var_newValues_16786.operator_and (var_previousValues_16844 COMMA_SOURCE_FILE ("implementation_parser.galgas", 616)).objectCompare (var_newValues_16786)) ; + GALGAS_bigint result_result ; // Returned variable + GALGAS_string var_version_4291 = GALGAS_application::constructor_projectVersionString (SOURCE_FILE ("gtl_functions.galgas", 135)) ; + GALGAS_stringlist var_versionComponents_4353 = var_version_4291.getter_componentsSeparatedByString (GALGAS_string (".") COMMA_SOURCE_FILE ("gtl_functions.galgas", 136)) ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - test_0 = result_inside.operator_not (SOURCE_FILE ("implementation_parser.galgas", 617)).boolEnum () ; + test_0 = GALGAS_bool (kIsStrictSup, var_versionComponents_4353.getter_count (SOURCE_FILE ("gtl_functions.galgas", 137)).objectCompare (GALGAS_uint (uint32_t (2U)))).boolEnum () ; if (kBoolTrue == test_0) { - cEnumerator_locationList enumerator_16977 (constinArgument_newEnum.readProperty_locations (), kENUMERATION_UP) ; - while (enumerator_16977.hasCurrentObject ()) { - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (enumerator_16977.current_location (HERE), GALGAS_string ("ENUM is not within previous enum declaration"), fixItArray1 COMMA_SOURCE_FILE ("implementation_parser.galgas", 619)) ; - enumerator_16977.gotoNextObject () ; - } - cEnumerator_locationList enumerator_17091 (constinArgument_previousEnum.readProperty_locations (), kENUMERATION_UP) ; - while (enumerator_17091.hasCurrentObject ()) { - TC_Array fixItArray2 ; - inCompiler->emitSemanticError (enumerator_17091.current_location (HERE), GALGAS_string ("previous ENUM declaration was here"), fixItArray2 COMMA_SOURCE_FILE ("implementation_parser.galgas", 622)) ; - enumerator_17091.gotoNextObject () ; - } + result_result = var_versionComponents_4353.getter_mValueAtIndex (GALGAS_uint (uint32_t (2U)), inCompiler COMMA_SOURCE_FILE ("gtl_functions.galgas", 139)).getter_decimalUnsignedNumber (inCompiler COMMA_SOURCE_FILE ("gtl_functions.galgas", 139)).getter_bigint (SOURCE_FILE ("gtl_functions.galgas", 139)) ; } } + if (kBoolFalse == test_0) { + result_result = GALGAS_bigint ("0", inCompiler COMMA_SOURCE_FILE ("gtl_functions.galgas", 141)) ; + } //--- - return result_inside ; + return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_checkEnums [3] = { - & kTypeDescriptor_GALGAS_impEnumType, - & kTypeDescriptor_GALGAS_impEnumType, +static const C_galgas_type_descriptor * functionArgs_revision [1] = { nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_checkEnums (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_impEnumType operand0 = GALGAS_impEnumType::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_impEnumType operand1 = GALGAS_impEnumType::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_checkEnums (operand0, - operand1, - inCompiler - COMMA_THERE).getter_object (THERE) ; +static GALGAS_object functionWithGenericHeader_revision (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_revision (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_checkEnums ("checkEnums", - functionWithGenericHeader_checkEnums, - & kTypeDescriptor_GALGAS_bool, - 2, - functionArgs_checkEnums) ; +C_galgas_function_descriptor functionDescriptor_revision ("revision", + functionWithGenericHeader_revision, + & kTypeDescriptor_GALGAS_bigint, + 0, + functionArgs_revision) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'checkRanged' +//Function 'currentDir' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_bool function_checkRanged (const GALGAS_impRangedType & constinArgument_previousRanged, - const GALGAS_impRangedType & constinArgument_newRanged, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_bool result_inside ; // Returned variable - callExtensionMethod_enclose ((cPtr_attributeRange *) constinArgument_previousRanged.readProperty_setOrRange ().ptr (), result_inside, constinArgument_newRanged.readProperty_setOrRange (), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 635)) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = result_inside.operator_not (SOURCE_FILE ("implementation_parser.galgas", 636)).boolEnum () ; - if (kBoolTrue == test_0) { - cEnumerator_locationList enumerator_17457 (constinArgument_newRanged.readProperty_locations (), kENUMERATION_UP) ; - while (enumerator_17457.hasCurrentObject ()) { - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (enumerator_17457.current_location (HERE), GALGAS_string ("new range or set is not within previous range or set declaration"), fixItArray1 COMMA_SOURCE_FILE ("implementation_parser.galgas", 638)) ; - enumerator_17457.gotoNextObject () ; - } - cEnumerator_locationList enumerator_17593 (constinArgument_previousRanged.readProperty_locations (), kENUMERATION_UP) ; - while (enumerator_17593.hasCurrentObject ()) { - TC_Array fixItArray2 ; - inCompiler->emitSemanticError (enumerator_17593.current_location (HERE), GALGAS_string ("previous range or set declaration was here"), fixItArray2 COMMA_SOURCE_FILE ("implementation_parser.galgas", 641)) ; - enumerator_17593.gotoNextObject () ; - } - } - } +GALGAS_string function_currentDir (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string::constructor_stringWithCurrentDirectory (SOURCE_FILE ("gtl_functions.galgas", 150)) ; //--- - return result_inside ; + return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_checkRanged [3] = { - & kTypeDescriptor_GALGAS_impRangedType, - & kTypeDescriptor_GALGAS_impRangedType, +static const C_galgas_type_descriptor * functionArgs_currentDir [1] = { nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_checkRanged (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_impRangedType operand0 = GALGAS_impRangedType::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_impRangedType operand1 = GALGAS_impRangedType::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_checkRanged (operand0, - operand1, - inCompiler - COMMA_THERE).getter_object (THERE) ; +static GALGAS_object functionWithGenericHeader_currentDir (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_currentDir (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_checkRanged ("checkRanged", - functionWithGenericHeader_checkRanged, - & kTypeDescriptor_GALGAS_bool, - 2, - functionArgs_checkRanged) ; +C_galgas_function_descriptor functionDescriptor_currentDir ("currentDir", + functionWithGenericHeader_currentDir, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_currentDir) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'checkNewTypeWithinPreviousType' +//Function 'homeDir' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_bool function_checkNewTypeWithinPreviousType (const GALGAS_lstring & constinArgument_name, - const GALGAS_impType & constinArgument_previousType, - const GALGAS_impType & constinArgument_newType, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_bool result_result ; // Returned variable - result_result = GALGAS_bool (false) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsNotEqual, constinArgument_newType.readProperty_type ().objectCompare (constinArgument_previousType.readProperty_type ())).boolEnum () ; - if (kBoolTrue == test_0) { - cEnumerator_locationList enumerator_17915 (constinArgument_newType.readProperty_locations (), kENUMERATION_UP) ; - while (enumerator_17915.hasCurrentObject ()) { - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (enumerator_17915.current_location (HERE), constinArgument_name.readProperty_string ().add_operation (GALGAS_string (" should be a "), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 654)).add_operation (extensionGetter_oilType (constinArgument_previousType.readProperty_type (), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 654)), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 654)), fixItArray1 COMMA_SOURCE_FILE ("implementation_parser.galgas", 654)) ; - enumerator_17915.gotoNextObject () ; - } - cEnumerator_locationList enumerator_18042 (constinArgument_previousType.readProperty_locations (), kENUMERATION_UP) ; - while (enumerator_18042.hasCurrentObject ()) { - TC_Array fixItArray2 ; - inCompiler->emitSemanticError (enumerator_18042.current_location (HERE), constinArgument_name.readProperty_string ().add_operation (GALGAS_string (" was previouly defined here"), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 657)), fixItArray2 COMMA_SOURCE_FILE ("implementation_parser.galgas", 657)) ; - enumerator_18042.gotoNextObject () ; - } - result_result = GALGAS_bool (false) ; - } - } - if (kBoolFalse == test_0) { - if (constinArgument_previousType.isValid ()) { - if (constinArgument_previousType.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impEnumType) { - GALGAS_impEnumType cast_18223_previousEnum ((cPtr_impEnumType *) constinArgument_previousType.ptr ()) ; - if (constinArgument_newType.isValid ()) { - if (constinArgument_newType.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impEnumType) { - GALGAS_impEnumType cast_18284_newEnum ((cPtr_impEnumType *) constinArgument_newType.ptr ()) ; - result_result = function_checkEnums (cast_18223_previousEnum, cast_18284_newEnum, inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 665)) ; - } - } - }else if (constinArgument_previousType.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impRangedType) { - GALGAS_impRangedType cast_18388_previousRanged ((cPtr_impRangedType *) constinArgument_previousType.ptr ()) ; - if (constinArgument_newType.isValid ()) { - if (constinArgument_newType.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impRangedType) { - GALGAS_impRangedType cast_18453_newRanged ((cPtr_impRangedType *) constinArgument_newType.ptr ()) ; - result_result = function_checkRanged (cast_18388_previousRanged, cast_18453_newRanged, inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 670)) ; - } - } - }else{ - result_result = GALGAS_bool (true) ; - } - } - } +GALGAS_string function_homeDir (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string::constructor_homeDirectory (SOURCE_FILE ("gtl_functions.galgas", 158)) ; //--- return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_checkNewTypeWithinPreviousType [4] = { - & kTypeDescriptor_GALGAS_lstring, - & kTypeDescriptor_GALGAS_impType, - & kTypeDescriptor_GALGAS_impType, +static const C_galgas_type_descriptor * functionArgs_homeDir [1] = { nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_checkNewTypeWithinPreviousType (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_lstring operand0 = GALGAS_lstring::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_impType operand1 = GALGAS_impType::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_impType operand2 = GALGAS_impType::extractObject (inEffectiveParameterArray.objectAtIndex (2 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_checkNewTypeWithinPreviousType (operand0, - operand1, - operand2, - inCompiler - COMMA_THERE).getter_object (THERE) ; +static GALGAS_object functionWithGenericHeader_homeDir (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_homeDir (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_checkNewTypeWithinPreviousType ("checkNewTypeWithinPreviousType", - functionWithGenericHeader_checkNewTypeWithinPreviousType, - & kTypeDescriptor_GALGAS_bool, - 3, - functionArgs_checkNewTypeWithinPreviousType) ; +C_galgas_function_descriptor functionDescriptor_homeDir ("homeDir", + functionWithGenericHeader_homeDir, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_homeDir) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'buildRange' +//Function 'currentDateTime' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_attributeRange function_buildRange (const GALGAS_dataType & constinArgument_type, - const GALGAS_object_5F_t & constinArgument_start, - const GALGAS_object_5F_t & constinArgument_stop, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_attributeRange result_range ; // Returned variable - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::class_func_uint_33__32_Number (SOURCE_FILE ("implementation_parser.galgas", 683)))).boolEnum () ; - if (kBoolTrue == test_0) { - result_range = GALGAS_uint_33__32_AttributeMinMax::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 684)), function_uint_33__32_OrError (constinArgument_start, GALGAS_string ("UINT32 Range start"), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 684)), function_uint_33__32_OrError (constinArgument_stop, GALGAS_string ("UINT32 Range stop"), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 684)) COMMA_SOURCE_FILE ("implementation_parser.galgas", 684)) ; - } - } - if (kBoolFalse == test_0) { - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::class_func_sint_33__32_Number (SOURCE_FILE ("implementation_parser.galgas", 685)))).boolEnum () ; - if (kBoolTrue == test_1) { - result_range = GALGAS_sint_33__32_AttributeMinMax::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 686)), function_sint_33__32_OrError (constinArgument_start, GALGAS_string ("SINT32 Range start"), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 686)), function_sint_33__32_OrError (constinArgument_stop, GALGAS_string ("SINT32 Range stop"), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 686)) COMMA_SOURCE_FILE ("implementation_parser.galgas", 686)) ; - } - } - if (kBoolFalse == test_1) { - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::class_func_uint_36__34_Number (SOURCE_FILE ("implementation_parser.galgas", 687)))).boolEnum () ; - if (kBoolTrue == test_2) { - result_range = GALGAS_uint_36__34_AttributeMinMax::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 688)), function_uint_36__34_OrError (constinArgument_start, GALGAS_string ("UINT64 Range start"), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 688)), function_uint_36__34_OrError (constinArgument_stop, GALGAS_string ("UINT64 Range stop"), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 688)) COMMA_SOURCE_FILE ("implementation_parser.galgas", 688)) ; - } - } - if (kBoolFalse == test_2) { - enumGalgasBool test_3 = kBoolTrue ; - if (kBoolTrue == test_3) { - test_3 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::class_func_sint_36__34_Number (SOURCE_FILE ("implementation_parser.galgas", 689)))).boolEnum () ; - if (kBoolTrue == test_3) { - result_range = GALGAS_sint_36__34_AttributeMinMax::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 690)), function_sint_36__34_OrError (constinArgument_start, GALGAS_string ("SINT64 Range start"), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 690)), function_sint_36__34_OrError (constinArgument_stop, GALGAS_string ("SINT64 Range stop"), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 690)) COMMA_SOURCE_FILE ("implementation_parser.galgas", 690)) ; - } - } - if (kBoolFalse == test_3) { - enumGalgasBool test_4 = kBoolTrue ; - if (kBoolTrue == test_4) { - test_4 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::class_func_floatNumber (SOURCE_FILE ("implementation_parser.galgas", 691)))).boolEnum () ; - if (kBoolTrue == test_4) { - result_range = GALGAS_floatAttributeMinMax::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 692)), function_floatOrError (constinArgument_start, GALGAS_string ("FLOAT Range start"), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 692)), function_floatOrError (constinArgument_stop, GALGAS_string ("FLOAT Range stop"), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 692)) COMMA_SOURCE_FILE ("implementation_parser.galgas", 692)) ; - } - } - if (kBoolFalse == test_4) { - TC_Array fixItArray5 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 694)), GALGAS_string ("internal. Unknown number type"), fixItArray5 COMMA_SOURCE_FILE ("implementation_parser.galgas", 694)) ; - result_range.drop () ; // Release error dropped variable - } - } - } - } - } +GALGAS_string function_currentDateTime (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string::constructor_stringWithCurrentDateTime (SOURCE_FILE ("gtl_functions.galgas", 166)) ; //--- - return result_range ; + return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_buildRange [4] = { - & kTypeDescriptor_GALGAS_dataType, - & kTypeDescriptor_GALGAS_object_5F_t, - & kTypeDescriptor_GALGAS_object_5F_t, +static const C_galgas_type_descriptor * functionArgs_currentDateTime [1] = { nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_buildRange (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_dataType operand0 = GALGAS_dataType::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_object_5F_t operand1 = GALGAS_object_5F_t::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_object_5F_t operand2 = GALGAS_object_5F_t::extractObject (inEffectiveParameterArray.objectAtIndex (2 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_buildRange (operand0, - operand1, - operand2, - inCompiler - COMMA_THERE).getter_object (THERE) ; +static GALGAS_object functionWithGenericHeader_currentDateTime (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_currentDateTime (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_buildRange ("buildRange", - functionWithGenericHeader_buildRange, - & kTypeDescriptor_GALGAS_attributeRange, - 3, - functionArgs_buildRange) ; +C_galgas_function_descriptor functionDescriptor_currentDateTime ("currentDateTime", + functionWithGenericHeader_currentDateTime, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_currentDateTime) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'stringWithUInt32List' +//Function 'max8bitsUnsignedInt' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string function_stringWithUInt_33__32_List (const GALGAS_uint_33__32_List & constinArgument_values, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_result ; // Returned variable - result_result = GALGAS_string::makeEmptyString () ; - cEnumerator_uint_33__32_List enumerator_2571 (constinArgument_values, kENUMERATION_UP) ; - while (enumerator_2571.hasCurrentObject ()) { - result_result.plusAssign_operation(enumerator_2571.current_value (HERE).getter_string (SOURCE_FILE ("implementation_types.galgas", 85)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 85)) ; - if (enumerator_2571.hasNextObject ()) { - result_result.plusAssign_operation(GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 85)) ; - } - enumerator_2571.gotoNextObject () ; - } +GALGAS_bigint function_max_38_bitsUnsignedInt (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_bigint result_result ; // Returned variable + result_result = GALGAS_bigint ("255", inCompiler COMMA_SOURCE_FILE ("gtl_functions.galgas", 174)) ; //--- return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_stringWithUInt_33__32_List [2] = { - & kTypeDescriptor_GALGAS_uint_33__32_List, +static const C_galgas_type_descriptor * functionArgs_max_38_bitsUnsignedInt [1] = { nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_stringWithUInt_33__32_List (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_uint_33__32_List operand0 = GALGAS_uint_33__32_List::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_stringWithUInt_33__32_List (operand0, - inCompiler - COMMA_THERE).getter_object (THERE) ; +static GALGAS_object functionWithGenericHeader_max_38_bitsUnsignedInt (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_max_38_bitsUnsignedInt (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_stringWithUInt_33__32_List ("stringWithUInt32List", - functionWithGenericHeader_stringWithUInt_33__32_List, - & kTypeDescriptor_GALGAS_string, - 1, - functionArgs_stringWithUInt_33__32_List) ; +C_galgas_function_descriptor functionDescriptor_max_38_bitsUnsignedInt ("max8bitsUnsignedInt", + functionWithGenericHeader_max_38_bitsUnsignedInt, + & kTypeDescriptor_GALGAS_bigint, + 0, + functionArgs_max_38_bitsUnsignedInt) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'stringWithUInt64List' +//Function 'max8bitsSignedInt' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string function_stringWithUInt_36__34_List (const GALGAS_uint_36__34_List & constinArgument_values, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_result ; // Returned variable - result_result = GALGAS_string::makeEmptyString () ; - cEnumerator_uint_36__34_List enumerator_2733 (constinArgument_values, kENUMERATION_UP) ; - while (enumerator_2733.hasCurrentObject ()) { - result_result.plusAssign_operation(enumerator_2733.current_value (HERE).getter_string (SOURCE_FILE ("implementation_types.galgas", 90)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 90)) ; - if (enumerator_2733.hasNextObject ()) { - result_result.plusAssign_operation(GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 90)) ; - } - enumerator_2733.gotoNextObject () ; - } +GALGAS_bigint function_max_38_bitsSignedInt (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_bigint result_result ; // Returned variable + result_result = GALGAS_bigint ("127", inCompiler COMMA_SOURCE_FILE ("gtl_functions.galgas", 182)) ; //--- return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_stringWithUInt_36__34_List [2] = { - & kTypeDescriptor_GALGAS_uint_36__34_List, +static const C_galgas_type_descriptor * functionArgs_max_38_bitsSignedInt [1] = { nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_stringWithUInt_36__34_List (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_uint_36__34_List operand0 = GALGAS_uint_36__34_List::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_stringWithUInt_36__34_List (operand0, - inCompiler - COMMA_THERE).getter_object (THERE) ; +static GALGAS_object functionWithGenericHeader_max_38_bitsSignedInt (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_max_38_bitsSignedInt (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_stringWithUInt_36__34_List ("stringWithUInt64List", - functionWithGenericHeader_stringWithUInt_36__34_List, - & kTypeDescriptor_GALGAS_string, - 1, - functionArgs_stringWithUInt_36__34_List) ; +C_galgas_function_descriptor functionDescriptor_max_38_bitsSignedInt ("max8bitsSignedInt", + functionWithGenericHeader_max_38_bitsSignedInt, + & kTypeDescriptor_GALGAS_bigint, + 0, + functionArgs_max_38_bitsSignedInt) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'stringWithSInt32List' +//Function 'min8bitsSignedInt' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string function_stringWithSInt_33__32_List (const GALGAS_sint_33__32_List & constinArgument_values, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_result ; // Returned variable - result_result = GALGAS_string::makeEmptyString () ; - cEnumerator_sint_33__32_List enumerator_2895 (constinArgument_values, kENUMERATION_UP) ; - while (enumerator_2895.hasCurrentObject ()) { - result_result.plusAssign_operation(enumerator_2895.current_value (HERE).getter_string (SOURCE_FILE ("implementation_types.galgas", 95)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 95)) ; - if (enumerator_2895.hasNextObject ()) { - result_result.plusAssign_operation(GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 95)) ; - } - enumerator_2895.gotoNextObject () ; - } +GALGAS_bigint function_min_38_bitsSignedInt (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_bigint result_result ; // Returned variable + result_result = GALGAS_bigint ("-128", inCompiler COMMA_SOURCE_FILE ("gtl_functions.galgas", 190)) ; //--- return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_stringWithSInt_33__32_List [2] = { - & kTypeDescriptor_GALGAS_sint_33__32_List, +static const C_galgas_type_descriptor * functionArgs_min_38_bitsSignedInt [1] = { nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_stringWithSInt_33__32_List (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_sint_33__32_List operand0 = GALGAS_sint_33__32_List::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_stringWithSInt_33__32_List (operand0, - inCompiler - COMMA_THERE).getter_object (THERE) ; +static GALGAS_object functionWithGenericHeader_min_38_bitsSignedInt (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_min_38_bitsSignedInt (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_stringWithSInt_33__32_List ("stringWithSInt32List", - functionWithGenericHeader_stringWithSInt_33__32_List, - & kTypeDescriptor_GALGAS_string, - 1, - functionArgs_stringWithSInt_33__32_List) ; +C_galgas_function_descriptor functionDescriptor_min_38_bitsSignedInt ("min8bitsSignedInt", + functionWithGenericHeader_min_38_bitsSignedInt, + & kTypeDescriptor_GALGAS_bigint, + 0, + functionArgs_min_38_bitsSignedInt) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'stringWithSInt64List' +//Function 'max16bitsUnsignedInt' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string function_stringWithSInt_36__34_List (const GALGAS_sint_36__34_List & constinArgument_values, - Compiler * inCompiler +GALGAS_bigint function_max_31__36_bitsUnsignedInt (C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_result ; // Returned variable - result_result = GALGAS_string::makeEmptyString () ; - cEnumerator_sint_36__34_List enumerator_3057 (constinArgument_values, kENUMERATION_UP) ; - while (enumerator_3057.hasCurrentObject ()) { - result_result.plusAssign_operation(enumerator_3057.current_value (HERE).getter_string (SOURCE_FILE ("implementation_types.galgas", 100)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 100)) ; - if (enumerator_3057.hasNextObject ()) { - result_result.plusAssign_operation(GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 100)) ; - } - enumerator_3057.gotoNextObject () ; - } + GALGAS_bigint result_result ; // Returned variable + result_result = GALGAS_bigint ("65535", inCompiler COMMA_SOURCE_FILE ("gtl_functions.galgas", 198)) ; //--- return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_stringWithSInt_36__34_List [2] = { - & kTypeDescriptor_GALGAS_sint_36__34_List, +static const C_galgas_type_descriptor * functionArgs_max_31__36_bitsUnsignedInt [1] = { nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_stringWithSInt_36__34_List (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, +static GALGAS_object functionWithGenericHeader_max_31__36_bitsUnsignedInt (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, const GALGAS_location & /* inErrorLocation */ COMMA_LOCATION_ARGS) { - const GALGAS_sint_36__34_List operand0 = GALGAS_sint_36__34_List::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_stringWithSInt_36__34_List (operand0, - inCompiler - COMMA_THERE).getter_object (THERE) ; + return function_max_31__36_bitsUnsignedInt (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_stringWithSInt_36__34_List ("stringWithSInt64List", - functionWithGenericHeader_stringWithSInt_36__34_List, - & kTypeDescriptor_GALGAS_string, - 1, - functionArgs_stringWithSInt_36__34_List) ; +C_galgas_function_descriptor functionDescriptor_max_31__36_bitsUnsignedInt ("max16bitsUnsignedInt", + functionWithGenericHeader_max_31__36_bitsUnsignedInt, + & kTypeDescriptor_GALGAS_bigint, + 0, + functionArgs_max_31__36_bitsUnsignedInt) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'stringWithFloatList' +//Function 'max16bitsSignedInt' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string function_stringWithFloatList (const GALGAS_floatList & constinArgument_values, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_result ; // Returned variable - result_result = GALGAS_string::makeEmptyString () ; - cEnumerator_floatList enumerator_3217 (constinArgument_values, kENUMERATION_UP) ; - while (enumerator_3217.hasCurrentObject ()) { - result_result.plusAssign_operation(enumerator_3217.current_value (HERE).getter_string (SOURCE_FILE ("implementation_types.galgas", 105)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 105)) ; - if (enumerator_3217.hasNextObject ()) { - result_result.plusAssign_operation(GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 105)) ; - } - enumerator_3217.gotoNextObject () ; - } +GALGAS_bigint function_max_31__36_bitsSignedInt (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_bigint result_result ; // Returned variable + result_result = GALGAS_bigint ("32767", inCompiler COMMA_SOURCE_FILE ("gtl_functions.galgas", 206)) ; //--- return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_stringWithFloatList [2] = { - & kTypeDescriptor_GALGAS_floatList, +static const C_galgas_type_descriptor * functionArgs_max_31__36_bitsSignedInt [1] = { nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_stringWithFloatList (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_floatList operand0 = GALGAS_floatList::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_stringWithFloatList (operand0, - inCompiler - COMMA_THERE).getter_object (THERE) ; +static GALGAS_object functionWithGenericHeader_max_31__36_bitsSignedInt (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_max_31__36_bitsSignedInt (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_stringWithFloatList ("stringWithFloatList", - functionWithGenericHeader_stringWithFloatList, - & kTypeDescriptor_GALGAS_string, - 1, - functionArgs_stringWithFloatList) ; +C_galgas_function_descriptor functionDescriptor_max_31__36_bitsSignedInt ("max16bitsSignedInt", + functionWithGenericHeader_max_31__36_bitsSignedInt, + & kTypeDescriptor_GALGAS_bigint, + 0, + functionArgs_max_31__36_bitsSignedInt) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'uint32ListWithNumberList' +//Function 'min16bitsSignedInt' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint_33__32_List function_uint_33__32_ListWithNumberList (const GALGAS_numberList & constinArgument_numbers, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_uint_33__32_List result_result ; // Returned variable - result_result = GALGAS_uint_33__32_List::class_func_emptyList (SOURCE_FILE ("implementation_types.galgas", 109)) ; - cEnumerator_numberList enumerator_3408 (constinArgument_numbers, kENUMERATION_UP) ; - while (enumerator_3408.hasCurrentObject ()) { - result_result.addAssign_operation (enumerator_3408.current_location (HERE), function_uint_33__32_OrError (enumerator_3408.current_value (HERE), GALGAS_string::makeEmptyString (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 111)) COMMA_SOURCE_FILE ("implementation_types.galgas", 111)) ; - enumerator_3408.gotoNextObject () ; - } +GALGAS_bigint function_min_31__36_bitsSignedInt (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_bigint result_result ; // Returned variable + result_result = GALGAS_bigint ("-32768", inCompiler COMMA_SOURCE_FILE ("gtl_functions.galgas", 214)) ; //--- return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_uint_33__32_ListWithNumberList [2] = { - & kTypeDescriptor_GALGAS_numberList, +static const C_galgas_type_descriptor * functionArgs_min_31__36_bitsSignedInt [1] = { nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_uint_33__32_ListWithNumberList (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_numberList operand0 = GALGAS_numberList::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_uint_33__32_ListWithNumberList (operand0, - inCompiler - COMMA_THERE).getter_object (THERE) ; +static GALGAS_object functionWithGenericHeader_min_31__36_bitsSignedInt (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_min_31__36_bitsSignedInt (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_uint_33__32_ListWithNumberList ("uint32ListWithNumberList", - functionWithGenericHeader_uint_33__32_ListWithNumberList, - & kTypeDescriptor_GALGAS_uint_33__32_List, - 1, - functionArgs_uint_33__32_ListWithNumberList) ; +C_galgas_function_descriptor functionDescriptor_min_31__36_bitsSignedInt ("min16bitsSignedInt", + functionWithGenericHeader_min_31__36_bitsSignedInt, + & kTypeDescriptor_GALGAS_bigint, + 0, + functionArgs_min_31__36_bitsSignedInt) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'sint32ListWithNumberList' +//Function 'max32bitsUnsignedInt' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_sint_33__32_List function_sint_33__32_ListWithNumberList (const GALGAS_numberList & constinArgument_numbers, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_sint_33__32_List result_result ; // Returned variable - result_result = GALGAS_sint_33__32_List::class_func_emptyList (SOURCE_FILE ("implementation_types.galgas", 116)) ; - cEnumerator_numberList enumerator_3606 (constinArgument_numbers, kENUMERATION_UP) ; - while (enumerator_3606.hasCurrentObject ()) { - result_result.addAssign_operation (enumerator_3606.current_location (HERE), function_sint_33__32_OrError (enumerator_3606.current_value (HERE), GALGAS_string::makeEmptyString (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 118)) COMMA_SOURCE_FILE ("implementation_types.galgas", 118)) ; - enumerator_3606.gotoNextObject () ; - } +GALGAS_bigint function_max_33__32_bitsUnsignedInt (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_bigint result_result ; // Returned variable + result_result = GALGAS_uint::constructor_max (SOURCE_FILE ("gtl_functions.galgas", 222)).getter_bigint (SOURCE_FILE ("gtl_functions.galgas", 222)) ; //--- return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_sint_33__32_ListWithNumberList [2] = { - & kTypeDescriptor_GALGAS_numberList, +static const C_galgas_type_descriptor * functionArgs_max_33__32_bitsUnsignedInt [1] = { nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_sint_33__32_ListWithNumberList (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_numberList operand0 = GALGAS_numberList::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_sint_33__32_ListWithNumberList (operand0, - inCompiler - COMMA_THERE).getter_object (THERE) ; +static GALGAS_object functionWithGenericHeader_max_33__32_bitsUnsignedInt (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_max_33__32_bitsUnsignedInt (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_sint_33__32_ListWithNumberList ("sint32ListWithNumberList", - functionWithGenericHeader_sint_33__32_ListWithNumberList, - & kTypeDescriptor_GALGAS_sint_33__32_List, - 1, - functionArgs_sint_33__32_ListWithNumberList) ; +C_galgas_function_descriptor functionDescriptor_max_33__32_bitsUnsignedInt ("max32bitsUnsignedInt", + functionWithGenericHeader_max_33__32_bitsUnsignedInt, + & kTypeDescriptor_GALGAS_bigint, + 0, + functionArgs_max_33__32_bitsUnsignedInt) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'uint64ListWithNumberList' +//Function 'max32bitsSignedInt' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint_36__34_List function_uint_36__34_ListWithNumberList (const GALGAS_numberList & constinArgument_numbers, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_uint_36__34_List result_result ; // Returned variable - result_result = GALGAS_uint_36__34_List::class_func_emptyList (SOURCE_FILE ("implementation_types.galgas", 123)) ; - cEnumerator_numberList enumerator_3804 (constinArgument_numbers, kENUMERATION_UP) ; - while (enumerator_3804.hasCurrentObject ()) { - result_result.addAssign_operation (enumerator_3804.current_location (HERE), function_uint_36__34_OrError (enumerator_3804.current_value (HERE), GALGAS_string::makeEmptyString (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 125)) COMMA_SOURCE_FILE ("implementation_types.galgas", 125)) ; - enumerator_3804.gotoNextObject () ; - } +GALGAS_bigint function_max_33__32_bitsSignedInt (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_bigint result_result ; // Returned variable + result_result = GALGAS_sint::constructor_max (SOURCE_FILE ("gtl_functions.galgas", 230)).getter_bigint (SOURCE_FILE ("gtl_functions.galgas", 230)) ; //--- return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_uint_36__34_ListWithNumberList [2] = { - & kTypeDescriptor_GALGAS_numberList, +static const C_galgas_type_descriptor * functionArgs_max_33__32_bitsSignedInt [1] = { nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_uint_36__34_ListWithNumberList (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_numberList operand0 = GALGAS_numberList::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_uint_36__34_ListWithNumberList (operand0, - inCompiler - COMMA_THERE).getter_object (THERE) ; +static GALGAS_object functionWithGenericHeader_max_33__32_bitsSignedInt (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_max_33__32_bitsSignedInt (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_uint_36__34_ListWithNumberList ("uint64ListWithNumberList", - functionWithGenericHeader_uint_36__34_ListWithNumberList, - & kTypeDescriptor_GALGAS_uint_36__34_List, - 1, - functionArgs_uint_36__34_ListWithNumberList) ; +C_galgas_function_descriptor functionDescriptor_max_33__32_bitsSignedInt ("max32bitsSignedInt", + functionWithGenericHeader_max_33__32_bitsSignedInt, + & kTypeDescriptor_GALGAS_bigint, + 0, + functionArgs_max_33__32_bitsSignedInt) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'sint64ListWithNumberList' +//Function 'min32bitsSignedInt' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_sint_36__34_List function_sint_36__34_ListWithNumberList (const GALGAS_numberList & constinArgument_numbers, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_sint_36__34_List result_result ; // Returned variable - result_result = GALGAS_sint_36__34_List::class_func_emptyList (SOURCE_FILE ("implementation_types.galgas", 130)) ; - cEnumerator_numberList enumerator_4002 (constinArgument_numbers, kENUMERATION_UP) ; - while (enumerator_4002.hasCurrentObject ()) { - result_result.addAssign_operation (enumerator_4002.current_location (HERE), function_sint_36__34_OrError (enumerator_4002.current_value (HERE), GALGAS_string::makeEmptyString (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 132)) COMMA_SOURCE_FILE ("implementation_types.galgas", 132)) ; - enumerator_4002.gotoNextObject () ; - } +GALGAS_bigint function_min_33__32_bitsSignedInt (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_bigint result_result ; // Returned variable + result_result = GALGAS_sint::constructor_min (SOURCE_FILE ("gtl_functions.galgas", 238)).getter_bigint (SOURCE_FILE ("gtl_functions.galgas", 238)) ; //--- return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_sint_36__34_ListWithNumberList [2] = { - & kTypeDescriptor_GALGAS_numberList, +static const C_galgas_type_descriptor * functionArgs_min_33__32_bitsSignedInt [1] = { nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_sint_36__34_ListWithNumberList (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_numberList operand0 = GALGAS_numberList::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_sint_36__34_ListWithNumberList (operand0, - inCompiler - COMMA_THERE).getter_object (THERE) ; +static GALGAS_object functionWithGenericHeader_min_33__32_bitsSignedInt (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_min_33__32_bitsSignedInt (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_sint_36__34_ListWithNumberList ("sint64ListWithNumberList", - functionWithGenericHeader_sint_36__34_ListWithNumberList, - & kTypeDescriptor_GALGAS_sint_36__34_List, - 1, - functionArgs_sint_36__34_ListWithNumberList) ; +C_galgas_function_descriptor functionDescriptor_min_33__32_bitsSignedInt ("min32bitsSignedInt", + functionWithGenericHeader_min_33__32_bitsSignedInt, + & kTypeDescriptor_GALGAS_bigint, + 0, + functionArgs_min_33__32_bitsSignedInt) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'floatListWithNumberList' +//Function 'max64bitsUnsignedInt' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_floatList function_floatListWithNumberList (const GALGAS_numberList & constinArgument_numbers, - Compiler * inCompiler +GALGAS_bigint function_max_36__34_bitsUnsignedInt (C_Compiler * COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_floatList result_result ; // Returned variable - result_result = GALGAS_floatList::class_func_emptyList (SOURCE_FILE ("implementation_types.galgas", 137)) ; - cEnumerator_numberList enumerator_4197 (constinArgument_numbers, kENUMERATION_UP) ; - while (enumerator_4197.hasCurrentObject ()) { - result_result.addAssign_operation (enumerator_4197.current_location (HERE), function_floatOrError (enumerator_4197.current_value (HERE), GALGAS_string::makeEmptyString (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 139)) COMMA_SOURCE_FILE ("implementation_types.galgas", 139)) ; - enumerator_4197.gotoNextObject () ; - } + GALGAS_bigint result_result ; // Returned variable + result_result = GALGAS_uint_36__34_::constructor_max (SOURCE_FILE ("gtl_functions.galgas", 246)).getter_bigint (SOURCE_FILE ("gtl_functions.galgas", 246)) ; //--- return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_floatListWithNumberList [2] = { - & kTypeDescriptor_GALGAS_numberList, +static const C_galgas_type_descriptor * functionArgs_max_36__34_bitsUnsignedInt [1] = { nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_floatListWithNumberList (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_numberList operand0 = GALGAS_numberList::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_floatListWithNumberList (operand0, - inCompiler - COMMA_THERE).getter_object (THERE) ; +static GALGAS_object functionWithGenericHeader_max_36__34_bitsUnsignedInt (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_max_36__34_bitsUnsignedInt (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_floatListWithNumberList ("floatListWithNumberList", - functionWithGenericHeader_floatListWithNumberList, - & kTypeDescriptor_GALGAS_floatList, - 1, - functionArgs_floatListWithNumberList) ; +C_galgas_function_descriptor functionDescriptor_max_36__34_bitsUnsignedInt ("max64bitsUnsignedInt", + functionWithGenericHeader_max_36__34_bitsUnsignedInt, + & kTypeDescriptor_GALGAS_bigint, + 0, + functionArgs_max_36__34_bitsUnsignedInt) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@noRange enclose' +//Function 'max64bitsSignedInt' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_noRange::method_enclose (GALGAS_bool & outArgument_isWithin, - const GALGAS_attributeRange /* constinArgument_value */, - Compiler * /* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_isWithin = GALGAS_bool (true) ; +GALGAS_bigint function_max_36__34_bitsSignedInt (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_bigint result_result ; // Returned variable + result_result = GALGAS_sint_36__34_::constructor_max (SOURCE_FILE ("gtl_functions.galgas", 254)).getter_bigint (SOURCE_FILE ("gtl_functions.galgas", 254)) ; +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@uint32AttributeSet enclose' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_uint_33__32_AttributeSet::method_enclose (GALGAS_bool & outArgument_isWithin, - const GALGAS_attributeRange constinArgument_value, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_isWithin = GALGAS_bool (true) ; - if (constinArgument_value.isValid ()) { - if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_33__32_AttributeSet) { - GALGAS_uint_33__32_AttributeSet cast_4955_set ((cPtr_uint_33__32_AttributeSet *) constinArgument_value.ptr ()) ; - cEnumerator_uint_33__32_List enumerator_4969 (cast_4955_set.readProperty_valueList (), kENUMERATION_UP) ; - while (enumerator_4969.hasCurrentObject ()) { - GALGAS_bool var_ok_5012 = GALGAS_bool (false) ; - cEnumerator_uint_33__32_List enumerator_5033 (this->mProperty_valueList, kENUMERATION_UP) ; - while (enumerator_5033.hasCurrentObject ()) { - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsEqual, enumerator_4969.current_value (HERE).objectCompare (enumerator_5033.current_value (HERE))).boolEnum () ; - if (kBoolTrue == test_0) { - var_ok_5012 = GALGAS_bool (true) ; - } - } - enumerator_5033.gotoNextObject () ; - } - outArgument_isWithin = outArgument_isWithin.operator_and (var_ok_5012 COMMA_SOURCE_FILE ("implementation_types.galgas", 177)) ; - enumerator_4969.gotoNextObject () ; - } - }else{ - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (constinArgument_value.readProperty_location (), GALGAS_string ("Incompatible set. Should be a UINT32 set"), fixItArray1 COMMA_SOURCE_FILE ("implementation_types.galgas", 180)) ; - TC_Array fixItArray2 ; - inCompiler->emitSemanticError (this->mProperty_location, GALGAS_string ("Previous set was declared here"), fixItArray2 COMMA_SOURCE_FILE ("implementation_types.galgas", 181)) ; - outArgument_isWithin = GALGAS_bool (false) ; - } - } + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_max_36__34_bitsSignedInt [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_max_36__34_bitsSignedInt (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_max_36__34_bitsSignedInt (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_max_36__34_bitsSignedInt ("max64bitsSignedInt", + functionWithGenericHeader_max_36__34_bitsSignedInt, + & kTypeDescriptor_GALGAS_bigint, + 0, + functionArgs_max_36__34_bitsSignedInt) ; + +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@uint64AttributeSet enclose' +//Function 'min64bitsSignedInt' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_uint_36__34_AttributeSet::method_enclose (GALGAS_bool & outArgument_isWithin, - const GALGAS_attributeRange constinArgument_value, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_isWithin = GALGAS_bool (true) ; - if (constinArgument_value.isValid ()) { - if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_36__34_AttributeSet) { - GALGAS_uint_36__34_AttributeSet cast_5566_set ((cPtr_uint_36__34_AttributeSet *) constinArgument_value.ptr ()) ; - cEnumerator_uint_36__34_List enumerator_5580 (cast_5566_set.readProperty_valueList (), kENUMERATION_UP) ; - while (enumerator_5580.hasCurrentObject ()) { - GALGAS_bool var_ok_5623 = GALGAS_bool (false) ; - cEnumerator_uint_36__34_List enumerator_5644 (this->mProperty_valueList, kENUMERATION_UP) ; - while (enumerator_5644.hasCurrentObject ()) { - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsEqual, enumerator_5580.current_value (HERE).objectCompare (enumerator_5644.current_value (HERE))).boolEnum () ; - if (kBoolTrue == test_0) { - var_ok_5623 = GALGAS_bool (true) ; - } - } - enumerator_5644.gotoNextObject () ; - } - outArgument_isWithin = outArgument_isWithin.operator_and (var_ok_5623 COMMA_SOURCE_FILE ("implementation_types.galgas", 201)) ; - enumerator_5580.gotoNextObject () ; - } - }else{ - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (constinArgument_value.readProperty_location (), GALGAS_string ("Incompatible set. Should be a UINT64 set"), fixItArray1 COMMA_SOURCE_FILE ("implementation_types.galgas", 204)) ; - TC_Array fixItArray2 ; - inCompiler->emitSemanticError (this->mProperty_location, GALGAS_string ("Previous set was declared here"), fixItArray2 COMMA_SOURCE_FILE ("implementation_types.galgas", 205)) ; - outArgument_isWithin = GALGAS_bool (false) ; - } - } +GALGAS_bigint function_min_36__34_bitsSignedInt (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_bigint result_result ; // Returned variable + result_result = GALGAS_sint_36__34_::constructor_min (SOURCE_FILE ("gtl_functions.galgas", 262)).getter_bigint (SOURCE_FILE ("gtl_functions.galgas", 262)) ; +//--- + return result_result ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_min_36__34_bitsSignedInt [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_min_36__34_bitsSignedInt (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_min_36__34_bitsSignedInt (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_min_36__34_bitsSignedInt ("min64bitsSignedInt", + functionWithGenericHeader_min_36__34_bitsSignedInt, + & kTypeDescriptor_GALGAS_bigint, + 0, + functionArgs_min_36__34_bitsSignedInt) ; + +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@sint32AttributeSet enclose' +//Function 'pi' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_sint_33__32_AttributeSet::method_enclose (GALGAS_bool & outArgument_isWithin, - const GALGAS_attributeRange constinArgument_value, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_isWithin = GALGAS_bool (true) ; - if (constinArgument_value.isValid ()) { - if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_33__32_AttributeSet) { - GALGAS_sint_33__32_AttributeSet cast_6177_set ((cPtr_sint_33__32_AttributeSet *) constinArgument_value.ptr ()) ; - cEnumerator_sint_33__32_List enumerator_6191 (cast_6177_set.readProperty_valueList (), kENUMERATION_UP) ; - while (enumerator_6191.hasCurrentObject ()) { - GALGAS_bool var_ok_6234 = GALGAS_bool (false) ; - cEnumerator_sint_33__32_List enumerator_6255 (this->mProperty_valueList, kENUMERATION_UP) ; - while (enumerator_6255.hasCurrentObject ()) { - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsEqual, enumerator_6191.current_value (HERE).objectCompare (enumerator_6255.current_value (HERE))).boolEnum () ; - if (kBoolTrue == test_0) { - var_ok_6234 = GALGAS_bool (true) ; - } - } - enumerator_6255.gotoNextObject () ; - } - outArgument_isWithin = outArgument_isWithin.operator_and (var_ok_6234 COMMA_SOURCE_FILE ("implementation_types.galgas", 225)) ; - enumerator_6191.gotoNextObject () ; - } - }else{ - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (constinArgument_value.readProperty_location (), GALGAS_string ("Incompatible set. Should be a INT32 set"), fixItArray1 COMMA_SOURCE_FILE ("implementation_types.galgas", 228)) ; - TC_Array fixItArray2 ; - inCompiler->emitSemanticError (this->mProperty_location, GALGAS_string ("Previous set was declared here"), fixItArray2 COMMA_SOURCE_FILE ("implementation_types.galgas", 229)) ; - outArgument_isWithin = GALGAS_bool (false) ; - } - } +GALGAS_double function_pi (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_double result_result ; // Returned variable + result_result = GALGAS_double::constructor_pi (SOURCE_FILE ("gtl_functions.galgas", 270)) ; +//--- + return result_result ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_pi [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_pi (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_pi (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_pi ("pi", + functionWithGenericHeader_pi, + & kTypeDescriptor_GALGAS_double, + 0, + functionArgs_pi) ; + +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@sint64AttributeSet enclose' +// Bool options // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_sint_36__34_AttributeSet::method_enclose (GALGAS_bool & outArgument_isWithin, - const GALGAS_attributeRange constinArgument_value, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_isWithin = GALGAS_bool (true) ; - if (constinArgument_value.isValid ()) { - if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_36__34_AttributeSet) { - GALGAS_sint_36__34_AttributeSet cast_6787_set ((cPtr_sint_36__34_AttributeSet *) constinArgument_value.ptr ()) ; - cEnumerator_sint_36__34_List enumerator_6801 (cast_6787_set.readProperty_valueList (), kENUMERATION_UP) ; - while (enumerator_6801.hasCurrentObject ()) { - GALGAS_bool var_ok_6844 = GALGAS_bool (false) ; - cEnumerator_sint_36__34_List enumerator_6865 (this->mProperty_valueList, kENUMERATION_UP) ; - while (enumerator_6865.hasCurrentObject ()) { - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsEqual, enumerator_6801.current_value (HERE).objectCompare (enumerator_6865.current_value (HERE))).boolEnum () ; - if (kBoolTrue == test_0) { - var_ok_6844 = GALGAS_bool (true) ; - } - } - enumerator_6865.gotoNextObject () ; - } - outArgument_isWithin = outArgument_isWithin.operator_and (var_ok_6844 COMMA_SOURCE_FILE ("implementation_types.galgas", 249)) ; - enumerator_6801.gotoNextObject () ; - } - }else{ - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (constinArgument_value.readProperty_location (), GALGAS_string ("Incompatible set. Should be a INT64 set"), fixItArray1 COMMA_SOURCE_FILE ("implementation_types.galgas", 252)) ; - TC_Array fixItArray2 ; - inCompiler->emitSemanticError (this->mProperty_location, GALGAS_string ("Previous set was declared here"), fixItArray2 COMMA_SOURCE_FILE ("implementation_types.galgas", 253)) ; - outArgument_isWithin = GALGAS_bool (false) ; - } - } -} -//-------------------------------------------------------------------------------------------------- +C_BoolCommandLineOption gOption_gtl_5F_options_debug ("gtl_options", + "debug", + 0, + "debug", + "Execute the GTL templates in debug mode") ; + +C_BoolCommandLineOption gOption_gtl_5F_options_warnDeprecated ("gtl_options", + "warnDeprecated", + 0, + "warn-deprecated", + "Warns about deprecated constructs in the GTL template language") ; + +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@floatAttributeSet enclose' +// UInt options // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_floatAttributeSet::method_enclose (GALGAS_bool & outArgument_isWithin, - const GALGAS_attributeRange constinArgument_value, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_isWithin = GALGAS_bool (true) ; - if (constinArgument_value.isValid ()) { - if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_floatAttributeSet) { - GALGAS_floatAttributeSet cast_7395_set ((cPtr_floatAttributeSet *) constinArgument_value.ptr ()) ; - cEnumerator_floatList enumerator_7409 (cast_7395_set.readProperty_valueList (), kENUMERATION_UP) ; - while (enumerator_7409.hasCurrentObject ()) { - GALGAS_bool var_ok_7452 = GALGAS_bool (false) ; - cEnumerator_floatList enumerator_7473 (this->mProperty_valueList, kENUMERATION_UP) ; - while (enumerator_7473.hasCurrentObject ()) { - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsEqual, enumerator_7409.current_value (HERE).objectCompare (enumerator_7473.current_value (HERE))).boolEnum () ; - if (kBoolTrue == test_0) { - var_ok_7452 = GALGAS_bool (true) ; - } - } - enumerator_7473.gotoNextObject () ; - } - outArgument_isWithin = outArgument_isWithin.operator_and (var_ok_7452 COMMA_SOURCE_FILE ("implementation_types.galgas", 273)) ; - enumerator_7409.gotoNextObject () ; - } - }else{ - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (constinArgument_value.readProperty_location (), GALGAS_string ("Incompatible set. Should be a FLOAT set"), fixItArray1 COMMA_SOURCE_FILE ("implementation_types.galgas", 276)) ; - TC_Array fixItArray2 ; - inCompiler->emitSemanticError (this->mProperty_location, GALGAS_string ("Previous set was declared here"), fixItArray2 COMMA_SOURCE_FILE ("implementation_types.galgas", 277)) ; - outArgument_isWithin = GALGAS_bool (false) ; - } - } -} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@uint32AttributeMinMax enclose' +// String options // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_uint_33__32_AttributeMinMax::method_enclose (GALGAS_bool & outArgument_isWithin, - const GALGAS_attributeRange constinArgument_value, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_isWithin = GALGAS_bool (false) ; - if (constinArgument_value.isValid ()) { - if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_33__32_AttributeMinMax) { - GALGAS_uint_33__32_AttributeMinMax cast_8015_minmax ((cPtr_uint_33__32_AttributeMinMax *) constinArgument_value.ptr ()) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsSupOrEqual, cast_8015_minmax.readProperty_min ().objectCompare (this->mProperty_min)).operator_and (GALGAS_bool (kIsInfOrEqual, cast_8015_minmax.readProperty_max ().objectCompare (this->mProperty_max)) COMMA_SOURCE_FILE ("implementation_types.galgas", 291)).boolEnum () ; - if (kBoolTrue == test_0) { - outArgument_isWithin = GALGAS_bool (true) ; - } - } - }else if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_33__32_AttributeSet) { - GALGAS_uint_33__32_AttributeSet cast_8138_set ((cPtr_uint_33__32_AttributeSet *) constinArgument_value.ptr ()) ; - outArgument_isWithin = GALGAS_bool (true) ; - cEnumerator_uint_33__32_List enumerator_8172 (cast_8138_set.readProperty_valueList (), kENUMERATION_UP) ; - while (enumerator_8172.hasCurrentObject ()) { - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = GALGAS_bool (kIsStrictInf, enumerator_8172.current_value (HERE).objectCompare (this->mProperty_min)).operator_or (GALGAS_bool (kIsStrictSup, enumerator_8172.current_value (HERE).objectCompare (this->mProperty_max)) COMMA_SOURCE_FILE ("implementation_types.galgas", 297)).boolEnum () ; - if (kBoolTrue == test_1) { - outArgument_isWithin = GALGAS_bool (false) ; - } - } - enumerator_8172.gotoNextObject () ; - } - }else{ - TC_Array fixItArray2 ; - inCompiler->emitSemanticError (constinArgument_value.readProperty_location (), GALGAS_string ("Incompatible set. Should be a UINT32 range or UINT32 set"), fixItArray2 COMMA_SOURCE_FILE ("implementation_types.galgas", 302)) ; - TC_Array fixItArray3 ; - inCompiler->emitSemanticError (this->mProperty_location, GALGAS_string ("Previous set was declared here"), fixItArray3 COMMA_SOURCE_FILE ("implementation_types.galgas", 303)) ; - } - } -} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@uint64AttributeMinMax enclose' +// String List options // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_uint_36__34_AttributeMinMax::method_enclose (GALGAS_bool & outArgument_isWithin, - const GALGAS_attributeRange constinArgument_value, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_isWithin = GALGAS_bool (false) ; - if (constinArgument_value.isValid ()) { - if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_36__34_AttributeMinMax) { - GALGAS_uint_36__34_AttributeMinMax cast_8674_minmax ((cPtr_uint_36__34_AttributeMinMax *) constinArgument_value.ptr ()) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsSupOrEqual, cast_8674_minmax.readProperty_min ().objectCompare (this->mProperty_min)).operator_and (GALGAS_bool (kIsInfOrEqual, cast_8674_minmax.readProperty_max ().objectCompare (this->mProperty_max)) COMMA_SOURCE_FILE ("implementation_types.galgas", 316)).boolEnum () ; - if (kBoolTrue == test_0) { - outArgument_isWithin = GALGAS_bool (true) ; - } - } - }else if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_36__34_AttributeSet) { - GALGAS_uint_36__34_AttributeSet cast_8797_set ((cPtr_uint_36__34_AttributeSet *) constinArgument_value.ptr ()) ; - outArgument_isWithin = GALGAS_bool (true) ; - cEnumerator_uint_36__34_List enumerator_8831 (cast_8797_set.readProperty_valueList (), kENUMERATION_UP) ; - while (enumerator_8831.hasCurrentObject ()) { - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = GALGAS_bool (kIsStrictInf, enumerator_8831.current_value (HERE).objectCompare (this->mProperty_min)).operator_or (GALGAS_bool (kIsStrictSup, enumerator_8831.current_value (HERE).objectCompare (this->mProperty_max)) COMMA_SOURCE_FILE ("implementation_types.galgas", 322)).boolEnum () ; - if (kBoolTrue == test_1) { - outArgument_isWithin = GALGAS_bool (false) ; - } - } - enumerator_8831.gotoNextObject () ; - } - }else{ - TC_Array fixItArray2 ; - inCompiler->emitSemanticError (constinArgument_value.readProperty_location (), GALGAS_string ("Incompatible set. Should be a UINT64 range or UINT64 set"), fixItArray2 COMMA_SOURCE_FILE ("implementation_types.galgas", 327)) ; - TC_Array fixItArray3 ; - inCompiler->emitSemanticError (this->mProperty_location, GALGAS_string ("Previous set was declared here"), fixItArray3 COMMA_SOURCE_FILE ("implementation_types.galgas", 328)) ; +//---------------------------------------------------------------------------------------------------------------------- + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'signature' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string function_signature (GALGAS_location inArgument_loc, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_result ; // Returned variable + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (gOption_gtl_5F_options_debug.readProperty_value ()).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_string var_signatureString_779 = inArgument_loc.getter_file (inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 33)).getter_lastPathComponent (SOURCE_FILE ("gtl_debugger.galgas", 33)).add_operation (GALGAS_string (":"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 33)).add_operation (inArgument_loc.getter_endLine (inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 35)).getter_string (SOURCE_FILE ("gtl_debugger.galgas", 34)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 34)) ; + result_result = var_signatureString_779.getter_md_35_ (SOURCE_FILE ("gtl_debugger.galgas", 36)) ; } } + if (kBoolFalse == test_0) { + result_result = GALGAS_string::makeEmptyString () ; + } +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@sint32AttributeMinMax enclose' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_sint_33__32_AttributeMinMax::method_enclose (GALGAS_bool & outArgument_isWithin, - const GALGAS_attributeRange constinArgument_value, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_isWithin = GALGAS_bool (false) ; - if (constinArgument_value.isValid ()) { - if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_33__32_AttributeMinMax) { - GALGAS_sint_33__32_AttributeMinMax cast_9329_minmax ((cPtr_sint_33__32_AttributeMinMax *) constinArgument_value.ptr ()) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsSupOrEqual, cast_9329_minmax.readProperty_min ().objectCompare (this->mProperty_min)).operator_and (GALGAS_bool (kIsInfOrEqual, cast_9329_minmax.readProperty_max ().objectCompare (this->mProperty_max)) COMMA_SOURCE_FILE ("implementation_types.galgas", 341)).boolEnum () ; - if (kBoolTrue == test_0) { - outArgument_isWithin = GALGAS_bool (true) ; - } - } - }else if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_33__32_AttributeSet) { - GALGAS_sint_33__32_AttributeSet cast_9452_set ((cPtr_sint_33__32_AttributeSet *) constinArgument_value.ptr ()) ; - outArgument_isWithin = GALGAS_bool (true) ; - cEnumerator_sint_33__32_List enumerator_9486 (cast_9452_set.readProperty_valueList (), kENUMERATION_UP) ; - while (enumerator_9486.hasCurrentObject ()) { - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = GALGAS_bool (kIsStrictInf, enumerator_9486.current_value (HERE).objectCompare (this->mProperty_min)).operator_or (GALGAS_bool (kIsStrictSup, enumerator_9486.current_value (HERE).objectCompare (this->mProperty_max)) COMMA_SOURCE_FILE ("implementation_types.galgas", 347)).boolEnum () ; - if (kBoolTrue == test_1) { - outArgument_isWithin = GALGAS_bool (false) ; - } - } - enumerator_9486.gotoNextObject () ; - } - }else{ - TC_Array fixItArray2 ; - inCompiler->emitSemanticError (constinArgument_value.readProperty_location (), GALGAS_string ("Incompatible set. Should be a INT32 range or INT32 set"), fixItArray2 COMMA_SOURCE_FILE ("implementation_types.galgas", 352)) ; - TC_Array fixItArray3 ; - inCompiler->emitSemanticError (this->mProperty_location, GALGAS_string ("Previous set was declared here"), fixItArray3 COMMA_SOURCE_FILE ("implementation_types.galgas", 353)) ; - } - } + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_signature [2] = { + & kTypeDescriptor_GALGAS_location, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_signature (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_location operand0 = GALGAS_location::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_signature (operand0, + inCompiler + COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_signature ("signature", + functionWithGenericHeader_signature, + & kTypeDescriptor_GALGAS_string, + 1, + functionArgs_signature) ; + +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@sint64AttributeMinMax enclose' +//Once function 'bold' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_sint_36__34_AttributeMinMax::method_enclose (GALGAS_bool & outArgument_isWithin, - const GALGAS_attributeRange constinArgument_value, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_isWithin = GALGAS_bool (false) ; - if (constinArgument_value.isValid ()) { - if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_36__34_AttributeMinMax) { - GALGAS_sint_36__34_AttributeMinMax cast_9986_minmax ((cPtr_sint_36__34_AttributeMinMax *) constinArgument_value.ptr ()) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsSupOrEqual, cast_9986_minmax.readProperty_min ().objectCompare (this->mProperty_min)).operator_and (GALGAS_bool (kIsInfOrEqual, cast_9986_minmax.readProperty_max ().objectCompare (this->mProperty_max)) COMMA_SOURCE_FILE ("implementation_types.galgas", 366)).boolEnum () ; - if (kBoolTrue == test_0) { - outArgument_isWithin = GALGAS_bool (true) ; - } - } - }else if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_36__34_AttributeSet) { - GALGAS_sint_36__34_AttributeSet cast_10109_set ((cPtr_sint_36__34_AttributeSet *) constinArgument_value.ptr ()) ; - outArgument_isWithin = GALGAS_bool (true) ; - cEnumerator_sint_36__34_List enumerator_10143 (cast_10109_set.readProperty_valueList (), kENUMERATION_UP) ; - while (enumerator_10143.hasCurrentObject ()) { - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = GALGAS_bool (kIsStrictInf, enumerator_10143.current_value (HERE).objectCompare (this->mProperty_min)).operator_or (GALGAS_bool (kIsStrictSup, enumerator_10143.current_value (HERE).objectCompare (this->mProperty_max)) COMMA_SOURCE_FILE ("implementation_types.galgas", 372)).boolEnum () ; - if (kBoolTrue == test_1) { - outArgument_isWithin = GALGAS_bool (false) ; - } - } - enumerator_10143.gotoNextObject () ; - } - }else{ - TC_Array fixItArray2 ; - inCompiler->emitSemanticError (constinArgument_value.readProperty_location (), GALGAS_string ("Incompatible set. Should be a INT64 range or INT64 set"), fixItArray2 COMMA_SOURCE_FILE ("implementation_types.galgas", 377)) ; - TC_Array fixItArray3 ; - inCompiler->emitSemanticError (this->mProperty_location, GALGAS_string ("Previous set was declared here"), fixItArray3 COMMA_SOURCE_FILE ("implementation_types.galgas", 378)) ; - } - } +static GALGAS_string onceFunction_bold (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_bold ; // Returned variable + result_bold = GALGAS_string ("") ; +//--- + return result_bold ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@floatAttributeMinMax enclose' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_floatAttributeMinMax::method_enclose (GALGAS_bool & outArgument_isWithin, - const GALGAS_attributeRange constinArgument_value, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_isWithin = GALGAS_bool (false) ; - if (constinArgument_value.isValid ()) { - if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_floatAttributeMinMax) { - GALGAS_floatAttributeMinMax cast_10641_minmax ((cPtr_floatAttributeMinMax *) constinArgument_value.ptr ()) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsSupOrEqual, cast_10641_minmax.readProperty_min ().objectCompare (this->mProperty_min)).operator_and (GALGAS_bool (kIsInfOrEqual, cast_10641_minmax.readProperty_max ().objectCompare (this->mProperty_max)) COMMA_SOURCE_FILE ("implementation_types.galgas", 391)).boolEnum () ; - if (kBoolTrue == test_0) { - outArgument_isWithin = GALGAS_bool (true) ; - } - } - }else if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_floatAttributeSet) { - GALGAS_floatAttributeSet cast_10763_set ((cPtr_floatAttributeSet *) constinArgument_value.ptr ()) ; - outArgument_isWithin = GALGAS_bool (true) ; - cEnumerator_floatList enumerator_10797 (cast_10763_set.readProperty_valueList (), kENUMERATION_UP) ; - while (enumerator_10797.hasCurrentObject ()) { - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = GALGAS_bool (kIsStrictInf, enumerator_10797.current_value (HERE).objectCompare (this->mProperty_min)).operator_or (GALGAS_bool (kIsStrictSup, enumerator_10797.current_value (HERE).objectCompare (this->mProperty_max)) COMMA_SOURCE_FILE ("implementation_types.galgas", 397)).boolEnum () ; - if (kBoolTrue == test_1) { - outArgument_isWithin = GALGAS_bool (false) ; - } - } - enumerator_10797.gotoNextObject () ; - } - }else{ - TC_Array fixItArray2 ; - inCompiler->emitSemanticError (constinArgument_value.readProperty_location (), GALGAS_string ("Incompatible set. Should be a FLOAT range or FLOAT set"), fixItArray2 COMMA_SOURCE_FILE ("implementation_types.galgas", 402)) ; - TC_Array fixItArray3 ; - inCompiler->emitSemanticError (this->mProperty_location, GALGAS_string ("Previous set was declared here"), fixItArray3 COMMA_SOURCE_FILE ("implementation_types.galgas", 403)) ; - } + + +//---------------------------------------------------------------------------------------------------------------------- +// Function implementation +//---------------------------------------------------------------------------------------------------------------------- + +static bool gOnceFunctionResultAvailable_bold = false ; +static GALGAS_string gOnceFunctionResult_bold ; + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string function_bold (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (! gOnceFunctionResultAvailable_bold) { + gOnceFunctionResult_bold = onceFunction_bold (inCompiler COMMA_THERE) ; + gOnceFunctionResultAvailable_bold = true ; } + return gOnceFunctionResult_bold ; } -//-------------------------------------------------------------------------------------------------- -// -//Function 'attributeRangeWithNumberList' -// -//-------------------------------------------------------------------------------------------------- -GALGAS_attributeRange function_attributeRangeWithNumberList (const GALGAS_numberList & constinArgument_numbers, - const GALGAS_dataType & constinArgument_type, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_attributeRange result_range ; // Returned variable - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::class_func_uint_33__32_Number (SOURCE_FILE ("implementation_types.galgas", 412)))).boolEnum () ; - if (kBoolTrue == test_0) { - result_range = GALGAS_uint_33__32_AttributeSet::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 413)), function_uint_33__32_ListWithNumberList (constinArgument_numbers, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 413)) COMMA_SOURCE_FILE ("implementation_types.galgas", 413)) ; - } - } - if (kBoolFalse == test_0) { - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::class_func_sint_33__32_Number (SOURCE_FILE ("implementation_types.galgas", 414)))).boolEnum () ; - if (kBoolTrue == test_1) { - result_range = GALGAS_sint_33__32_AttributeSet::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 415)), function_sint_33__32_ListWithNumberList (constinArgument_numbers, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 415)) COMMA_SOURCE_FILE ("implementation_types.galgas", 415)) ; - } - } - if (kBoolFalse == test_1) { - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::class_func_uint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 416)))).boolEnum () ; - if (kBoolTrue == test_2) { - result_range = GALGAS_uint_36__34_AttributeSet::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 417)), function_uint_36__34_ListWithNumberList (constinArgument_numbers, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 417)) COMMA_SOURCE_FILE ("implementation_types.galgas", 417)) ; - } - } - if (kBoolFalse == test_2) { - enumGalgasBool test_3 = kBoolTrue ; - if (kBoolTrue == test_3) { - test_3 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::class_func_sint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 418)))).boolEnum () ; - if (kBoolTrue == test_3) { - result_range = GALGAS_sint_36__34_AttributeSet::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 419)), function_sint_36__34_ListWithNumberList (constinArgument_numbers, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 419)) COMMA_SOURCE_FILE ("implementation_types.galgas", 419)) ; - } - } - if (kBoolFalse == test_3) { - enumGalgasBool test_4 = kBoolTrue ; - if (kBoolTrue == test_4) { - test_4 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::class_func_floatNumber (SOURCE_FILE ("implementation_types.galgas", 420)))).boolEnum () ; - if (kBoolTrue == test_4) { - result_range = GALGAS_floatAttributeSet::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 421)), function_floatListWithNumberList (constinArgument_numbers, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 421)) COMMA_SOURCE_FILE ("implementation_types.galgas", 421)) ; - } - } - if (kBoolFalse == test_4) { - TC_Array fixItArray5 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 423)), GALGAS_string ("internal. Unknown number type"), fixItArray5 COMMA_SOURCE_FILE ("implementation_types.galgas", 423)) ; - result_range.drop () ; // Release error dropped variable - } - } - } - } - } -//--- - return result_range ; +//---------------------------------------------------------------------------------------------------------------------- + +static void releaseOnceFunctionResult_bold (void) { + gOnceFunctionResult_bold.drop () ; } +//---------------------------------------------------------------------------------------------------------------------- + +C_PrologueEpilogue gEpilogueForOnceFunction_bold (nullptr, + releaseOnceFunctionResult_bold) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_attributeRangeWithNumberList [3] = { - & kTypeDescriptor_GALGAS_numberList, - & kTypeDescriptor_GALGAS_dataType, +static const C_galgas_type_descriptor * functionArgs_bold [1] = { nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_attributeRangeWithNumberList (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_numberList operand0 = GALGAS_numberList::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_dataType operand1 = GALGAS_dataType::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_attributeRangeWithNumberList (operand0, - operand1, - inCompiler - COMMA_THERE).getter_object (THERE) ; +static GALGAS_object functionWithGenericHeader_bold (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_bold (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_attributeRangeWithNumberList ("attributeRangeWithNumberList", - functionWithGenericHeader_attributeRangeWithNumberList, - & kTypeDescriptor_GALGAS_attributeRange, - 2, - functionArgs_attributeRangeWithNumberList) ; +C_galgas_function_descriptor functionDescriptor_bold ("bold", + functionWithGenericHeader_bold, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_bold) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@impStructType mergeWithType' +//Once function 'underline' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_impType cPtr_impStructType::getter_mergeWithType (GALGAS_impType inArgument_typeToMerge, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_impType result_mergedType ; // Returned variable - GALGAS_impStructType temp_0 ; - if (inArgument_typeToMerge.isValid ()) { - if (nullptr != dynamic_cast (inArgument_typeToMerge.ptr ())) { - temp_0 = (cPtr_impStructType *) inArgument_typeToMerge.ptr () ; - }else{ - inCompiler->castError ("impStructType", inArgument_typeToMerge.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("implementation_types.galgas", 467)) ; - } - } - GALGAS_impStructType var_castTypeToMerge_12884 = temp_0 ; - GALGAS_implementationObjectMap var_mergedAttributes_12959 = GALGAS_implementationObjectMap::class_func_emptyMap (SOURCE_FILE ("implementation_types.galgas", 468)) ; - cEnumerator_implementationObjectMap enumerator_12994 (this->mProperty_structAttributes, kENUMERATION_UP) ; - while (enumerator_12994.hasCurrentObject ()) { - GALGAS_impType var_mergedAttr_13033 = enumerator_12994.current_type (HERE) ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = var_castTypeToMerge_12884.readProperty_structAttributes ().getter_hasKey (enumerator_12994.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("implementation_types.galgas", 471)).boolEnum () ; - if (kBoolTrue == test_1) { - GALGAS_impType var_subTypeToMerge_13188 ; - var_castTypeToMerge_12884.readProperty_structAttributes ().method_get (enumerator_12994.current_lkey (HERE), var_subTypeToMerge_13188, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 472)) ; - var_mergedAttr_13033 = callExtensionGetter_mergeWithType ((const cPtr_impType *) enumerator_12994.current_type (HERE).ptr (), var_subTypeToMerge_13188, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 473)) ; - } - } - { - var_mergedAttributes_12959.setter_put (enumerator_12994.current_lkey (HERE), var_mergedAttr_13033, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 475)) ; - } - enumerator_12994.gotoNextObject () ; - } - result_mergedType = GALGAS_impStructType::class_func_new (this->mProperty_locations.add_operation (inArgument_typeToMerge.readProperty_locations (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 478)), this->mProperty_type, this->mProperty_name, this->mProperty_multiple, this->mProperty_descs.add_operation (inArgument_typeToMerge.readProperty_descs (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 482)), var_mergedAttributes_12959 COMMA_SOURCE_FILE ("implementation_types.galgas", 477)) ; +static GALGAS_string onceFunction_underline (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_underline ; // Returned variable + result_underline = GALGAS_string ("") ; //--- - return result_mergedType ; + return result_underline ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension getter '@impVoid mergeWithType' -// -//-------------------------------------------------------------------------------------------------- -GALGAS_impType cPtr_impVoid::getter_mergeWithType (GALGAS_impType inArgument_typeToMerge, - Compiler */* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_impType result_mergedType ; // Returned variable - result_mergedType = inArgument_typeToMerge ; -//--- - return result_mergedType ; -} +//---------------------------------------------------------------------------------------------------------------------- +// Function implementation +//---------------------------------------------------------------------------------------------------------------------- +static bool gOnceFunctionResultAvailable_underline = false ; +static GALGAS_string gOnceFunctionResult_underline ; -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension getter '@impAutoDefaultType getDefaultValue' -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_object_5F_t cPtr_impAutoDefaultType::getter_getDefaultValue (Compiler */* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_object_5F_t result_outDefaultValue ; // Returned variable - result_outDefaultValue = this->mProperty_defaultValue ; -//--- - return result_outDefaultValue ; +GALGAS_string function_underline (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (! gOnceFunctionResultAvailable_underline) { + gOnceFunctionResult_underline = onceFunction_underline (inCompiler COMMA_THERE) ; + gOnceFunctionResultAvailable_underline = true ; + } + return gOnceFunctionResult_underline ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +static void releaseOnceFunctionResult_underline (void) { + gOnceFunctionResult_underline.drop () ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_PrologueEpilogue gEpilogueForOnceFunction_underline (nullptr, + releaseOnceFunctionResult_underline) ; + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_underline [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_underline (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_underline (inCompiler COMMA_THERE).getter_object (THERE) ; } +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_underline ("underline", + functionWithGenericHeader_underline, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_underline) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension setter '@impAutoDefaultType setDefValue' +//Once function 'blink' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static void extensionSetter_impAutoDefaultType_setDefValue (cPtr_impType * inObject, - GALGAS_object_5F_t inArgument_inDefaultValue, - Compiler * /* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) { - cPtr_impAutoDefaultType * object = (cPtr_impAutoDefaultType *) inObject ; - macroValidSharedObject (object, cPtr_impAutoDefaultType) ; - object->mProperty_defaultValue = inArgument_inDefaultValue ; +static GALGAS_string onceFunction_blink (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_blink ; // Returned variable + result_blink = GALGAS_string ("") ; +//--- + return result_blink ; } -//-------------------------------------------------------------------------------------------------- -static void defineExtensionSetter_impAutoDefaultType_setDefValue (void) { - enterExtensionSetter_setDefValue (kTypeDescriptor_GALGAS_impAutoDefaultType.mSlotID, - extensionSetter_impAutoDefaultType_setDefValue) ; + + +//---------------------------------------------------------------------------------------------------------------------- +// Function implementation +//---------------------------------------------------------------------------------------------------------------------- + +static bool gOnceFunctionResultAvailable_blink = false ; +static GALGAS_string gOnceFunctionResult_blink ; + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string function_blink (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (! gOnceFunctionResultAvailable_blink) { + gOnceFunctionResult_blink = onceFunction_blink (inCompiler COMMA_THERE) ; + gOnceFunctionResultAvailable_blink = true ; + } + return gOnceFunctionResult_blink ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +static void releaseOnceFunctionResult_blink (void) { + gOnceFunctionResult_blink.drop () ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_PrologueEpilogue gEpilogueForOnceFunction_blink (nullptr, + releaseOnceFunctionResult_blink) ; + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_blink [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_blink (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_blink (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -PrologueEpilogue gSetter_impAutoDefaultType_setDefValue (defineExtensionSetter_impAutoDefaultType_setDefValue, nullptr) ; +C_galgas_function_descriptor functionDescriptor_blink ("blink", + functionWithGenericHeader_blink, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_blink) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@impAutoDefaultType mergeWithType' +//Once function 'black' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_impType cPtr_impAutoDefaultType::getter_mergeWithType (GALGAS_impType inArgument_typeToMerge, - Compiler */* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_impType result_mergedType ; // Returned variable - result_mergedType = inArgument_typeToMerge ; +static GALGAS_string onceFunction_black (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_black ; // Returned variable + result_black = GALGAS_string ("") ; //--- - return result_mergedType ; + return result_black ; +} + + + +//---------------------------------------------------------------------------------------------------------------------- +// Function implementation +//---------------------------------------------------------------------------------------------------------------------- + +static bool gOnceFunctionResultAvailable_black = false ; +static GALGAS_string gOnceFunctionResult_black ; + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string function_black (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (! gOnceFunctionResultAvailable_black) { + gOnceFunctionResult_black = onceFunction_black (inCompiler COMMA_THERE) ; + gOnceFunctionResultAvailable_black = true ; + } + return gOnceFunctionResult_black ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +static void releaseOnceFunctionResult_black (void) { + gOnceFunctionResult_black.drop () ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_PrologueEpilogue gEpilogueForOnceFunction_black (nullptr, + releaseOnceFunctionResult_black) ; + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_black [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_black (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_black (inCompiler COMMA_THERE).getter_object (THERE) ; } +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_black ("black", + functionWithGenericHeader_black, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_black) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@impAutoDefaultType autoAllowed' +//Once function 'red' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_bool cPtr_impAutoDefaultType::getter_autoAllowed (Compiler */* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_bool result_result ; // Returned variable - result_result = this->mProperty_withAuto ; +static GALGAS_string onceFunction_red (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_red ; // Returned variable + result_red = GALGAS_string ("") ; //--- - return result_result ; + return result_red ; } -//-------------------------------------------------------------------------------------------------- -// -//Routine 'multiError??' -// -//-------------------------------------------------------------------------------------------------- -void routine_multiError_3F__3F_ (GALGAS_locationList inArgument_locations, - GALGAS_string inArgument_errorMessage, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - cEnumerator_locationList enumerator_14829 (inArgument_locations, kENUMERATION_UP) ; - while (enumerator_14829.hasCurrentObject ()) { - TC_Array fixItArray0 ; - inCompiler->emitSemanticError (enumerator_14829.current_location (HERE), inArgument_errorMessage, fixItArray0 COMMA_SOURCE_FILE ("implementation_types.galgas", 546)) ; - enumerator_14829.gotoNextObject () ; +//---------------------------------------------------------------------------------------------------------------------- +// Function implementation +//---------------------------------------------------------------------------------------------------------------------- + +static bool gOnceFunctionResultAvailable_red = false ; +static GALGAS_string gOnceFunctionResult_red ; + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string function_red (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (! gOnceFunctionResultAvailable_red) { + gOnceFunctionResult_red = onceFunction_red (inCompiler COMMA_THERE) ; + gOnceFunctionResultAvailable_red = true ; } + return gOnceFunctionResult_red ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +static void releaseOnceFunctionResult_red (void) { + gOnceFunctionResult_red.drop () ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_PrologueEpilogue gEpilogueForOnceFunction_red (nullptr, + releaseOnceFunctionResult_red) ; + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_red [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_red (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_red (inCompiler COMMA_THERE).getter_object (THERE) ; } +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +C_galgas_function_descriptor functionDescriptor_red ("red", + functionWithGenericHeader_red, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_red) ; + +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@refType mergeWithType' +//Once function 'green' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_impType cPtr_refType::getter_mergeWithType (GALGAS_impType inArgument_typeToMerge, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_impType result_mergedType ; // Returned variable - GALGAS_refType temp_0 ; - if (inArgument_typeToMerge.isValid ()) { - if (nullptr != dynamic_cast (inArgument_typeToMerge.ptr ())) { - temp_0 = (cPtr_refType *) inArgument_typeToMerge.ptr () ; - }else{ - inCompiler->castError ("refType", inArgument_typeToMerge.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("implementation_types.galgas", 558)) ; - } - } - GALGAS_refType var_castTypeToMerge_15066 = temp_0 ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = GALGAS_bool (kIsNotEqual, this->mProperty_ref.readProperty_string ().objectCompare (var_castTypeToMerge_15066.readProperty_ref ().readProperty_string ())).boolEnum () ; - if (kBoolTrue == test_1) { - this->mProperty_ref.log ("ref" COMMA_SOURCE_FILE ("implementation_types.galgas", 560)) ; - GALGAS_lstring var_csatRef_15194 = var_castTypeToMerge_15066.readProperty_ref () ; - var_csatRef_15194.log ("csatRef" COMMA_SOURCE_FILE ("implementation_types.galgas", 562)) ; - { - routine_multiError_3F__3F_ (inArgument_typeToMerge.readProperty_locations (), GALGAS_string ("Redefinition of ").add_operation (this->mProperty_name.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 563)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 563)) ; - } - { - routine_multiError_3F__3F_ (this->mProperty_locations, GALGAS_string ("Was defined here"), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 564)) ; - } - } - } - result_mergedType = GALGAS_refType::class_func_new (this->mProperty_locations.add_operation (inArgument_typeToMerge.readProperty_locations (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 567)), this->mProperty_type, this->mProperty_name, this->mProperty_multiple, this->mProperty_descs.add_operation (inArgument_typeToMerge.readProperty_descs (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 571)), var_castTypeToMerge_15066.readProperty_ref () COMMA_SOURCE_FILE ("implementation_types.galgas", 566)) ; +static GALGAS_string onceFunction_green (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_green ; // Returned variable + result_green = GALGAS_string ("") ; //--- - return result_mergedType ; + return result_green ; } -//-------------------------------------------------------------------------------------------------- -// -//Function 'valueList' -// -//-------------------------------------------------------------------------------------------------- -GALGAS_string function_valueList (const GALGAS_enumValues & constinArgument_values, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_result ; // Returned variable - result_result = GALGAS_string::makeEmptyString () ; - cEnumerator_enumValues enumerator_16168 (constinArgument_values, kENUMERATION_UP) ; - while (enumerator_16168.hasCurrentObject ()) { - result_result.plusAssign_operation(enumerator_16168.current_lkey (HERE).readProperty_string (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 600)) ; - if (enumerator_16168.hasNextObject ()) { - result_result.plusAssign_operation(GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 602)) ; - } - enumerator_16168.gotoNextObject () ; +//---------------------------------------------------------------------------------------------------------------------- +// Function implementation +//---------------------------------------------------------------------------------------------------------------------- + +static bool gOnceFunctionResultAvailable_green = false ; +static GALGAS_string gOnceFunctionResult_green ; + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string function_green (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (! gOnceFunctionResultAvailable_green) { + gOnceFunctionResult_green = onceFunction_green (inCompiler COMMA_THERE) ; + gOnceFunctionResultAvailable_green = true ; } -//--- - return result_result ; + return gOnceFunctionResult_green ; } +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +static void releaseOnceFunctionResult_green (void) { + gOnceFunctionResult_green.drop () ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_PrologueEpilogue gEpilogueForOnceFunction_green (nullptr, + releaseOnceFunctionResult_green) ; + +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_valueList [2] = { - & kTypeDescriptor_GALGAS_enumValues, +static const C_galgas_type_descriptor * functionArgs_green [1] = { nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_valueList (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_enumValues operand0 = GALGAS_enumValues::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_valueList (operand0, - inCompiler - COMMA_THERE).getter_object (THERE) ; +static GALGAS_object functionWithGenericHeader_green (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_green (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_valueList ("valueList", - functionWithGenericHeader_valueList, - & kTypeDescriptor_GALGAS_string, - 1, - functionArgs_valueList) ; +C_galgas_function_descriptor functionDescriptor_green ("green", + functionWithGenericHeader_green, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_green) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@impRangedType mergeWithType' +//Once function 'yellow' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_impType cPtr_impRangedType::getter_mergeWithType (GALGAS_impType inArgument_typeToMerge, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_impType result_mergedType ; // Returned variable - GALGAS_impRangedType temp_0 ; - if (inArgument_typeToMerge.isValid ()) { - if (nullptr != dynamic_cast (inArgument_typeToMerge.ptr ())) { - temp_0 = (cPtr_impRangedType *) inArgument_typeToMerge.ptr () ; - }else{ - inCompiler->castError ("impRangedType", inArgument_typeToMerge.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("implementation_types.galgas", 614)) ; - } - } - GALGAS_impRangedType var_castTypeToMerge_16444 = temp_0 ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - const GALGAS_impRangedType temp_2 = this ; - test_1 = function_checkRanged (temp_2, var_castTypeToMerge_16444, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 615)).boolEnum () ; - if (kBoolTrue == test_1) { - result_mergedType = inArgument_typeToMerge ; - } - } - if (kBoolFalse == test_1) { - const GALGAS_impRangedType temp_3 = this ; - result_mergedType = temp_3 ; - } +static GALGAS_string onceFunction_yellow (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_yellow ; // Returned variable + result_yellow = GALGAS_string ("") ; //--- - return result_mergedType ; + return result_yellow ; +} + + + +//---------------------------------------------------------------------------------------------------------------------- +// Function implementation +//---------------------------------------------------------------------------------------------------------------------- + +static bool gOnceFunctionResultAvailable_yellow = false ; +static GALGAS_string gOnceFunctionResult_yellow ; + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string function_yellow (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (! gOnceFunctionResultAvailable_yellow) { + gOnceFunctionResult_yellow = onceFunction_yellow (inCompiler COMMA_THERE) ; + gOnceFunctionResultAvailable_yellow = true ; + } + return gOnceFunctionResult_yellow ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +static void releaseOnceFunctionResult_yellow (void) { + gOnceFunctionResult_yellow.drop () ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_PrologueEpilogue gEpilogueForOnceFunction_yellow (nullptr, + releaseOnceFunctionResult_yellow) ; + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_yellow [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_yellow (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_yellow (inCompiler COMMA_THERE).getter_object (THERE) ; } +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_yellow ("yellow", + functionWithGenericHeader_yellow, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_yellow) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@impBoolType mergeWithType' +//Once function 'blue' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_impType cPtr_impBoolType::getter_mergeWithType (GALGAS_impType inArgument_typeToMerge, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_impType result_mergedType ; // Returned variable - GALGAS_impBoolType temp_0 ; - if (inArgument_typeToMerge.isValid ()) { - if (nullptr != dynamic_cast (inArgument_typeToMerge.ptr ())) { - temp_0 = (cPtr_impBoolType *) inArgument_typeToMerge.ptr () ; - }else{ - inCompiler->castError ("impBoolType", inArgument_typeToMerge.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("implementation_types.galgas", 631)) ; - } - } - GALGAS_impBoolType var_castTypeToMerge_16854 = temp_0 ; - GALGAS_implementationObjectMap var_mergedTrueAttributes_16927 = GALGAS_implementationObjectMap::class_func_emptyMap (SOURCE_FILE ("implementation_types.galgas", 632)) ; - GALGAS_implementationObjectMap var_mergedFalseAttributes_16987 = GALGAS_implementationObjectMap::class_func_emptyMap (SOURCE_FILE ("implementation_types.galgas", 633)) ; - cEnumerator_implementationObjectMap enumerator_17027 (this->mProperty_trueSubAttributes, kENUMERATION_UP) ; - while (enumerator_17027.hasCurrentObject ()) { - GALGAS_impType var_mergedAttr_17067 = enumerator_17027.current_type (HERE) ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = var_castTypeToMerge_16854.readProperty_trueSubAttributes ().getter_hasKey (enumerator_17027.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("implementation_types.galgas", 636)).boolEnum () ; - if (kBoolTrue == test_1) { - GALGAS_impType var_subTypeToMerge_17224 ; - var_castTypeToMerge_16854.readProperty_trueSubAttributes ().method_get (enumerator_17027.current_lkey (HERE), var_subTypeToMerge_17224, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 637)) ; - var_mergedAttr_17067 = callExtensionGetter_mergeWithType ((const cPtr_impType *) enumerator_17027.current_type (HERE).ptr (), var_subTypeToMerge_17224, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 638)) ; - } - } - { - var_mergedTrueAttributes_16927.setter_put (enumerator_17027.current_lkey (HERE), var_mergedAttr_17067, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 640)) ; - } - enumerator_17027.gotoNextObject () ; - } - cEnumerator_implementationObjectMap enumerator_17406 (var_castTypeToMerge_16854.readProperty_trueSubAttributes (), kENUMERATION_UP) ; - while (enumerator_17406.hasCurrentObject ()) { - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = this->mProperty_trueSubAttributes.getter_hasKey (enumerator_17406.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("implementation_types.galgas", 644)).operator_not (SOURCE_FILE ("implementation_types.galgas", 644)).boolEnum () ; - if (kBoolTrue == test_2) { - { - var_mergedTrueAttributes_16927.setter_put (enumerator_17406.current_lkey (HERE), enumerator_17406.current_type (HERE), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 645)) ; - } - } - } - enumerator_17406.gotoNextObject () ; - } - cEnumerator_implementationObjectMap enumerator_17579 (this->mProperty_falseSubAttributes, kENUMERATION_UP) ; - while (enumerator_17579.hasCurrentObject ()) { - GALGAS_impType var_mergedAttr_17620 = enumerator_17579.current_type (HERE) ; - enumGalgasBool test_3 = kBoolTrue ; - if (kBoolTrue == test_3) { - test_3 = var_castTypeToMerge_16854.readProperty_falseSubAttributes ().getter_hasKey (enumerator_17579.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("implementation_types.galgas", 651)).boolEnum () ; - if (kBoolTrue == test_3) { - GALGAS_impType var_subTypeToMerge_17779 ; - var_castTypeToMerge_16854.readProperty_falseSubAttributes ().method_get (enumerator_17579.current_lkey (HERE), var_subTypeToMerge_17779, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 652)) ; - var_mergedAttr_17620 = callExtensionGetter_mergeWithType ((const cPtr_impType *) enumerator_17579.current_type (HERE).ptr (), var_subTypeToMerge_17779, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 653)) ; - } - } - { - var_mergedFalseAttributes_16987.setter_put (enumerator_17579.current_lkey (HERE), var_mergedAttr_17620, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 655)) ; - } - enumerator_17579.gotoNextObject () ; - } - cEnumerator_implementationObjectMap enumerator_17962 (var_castTypeToMerge_16854.readProperty_falseSubAttributes (), kENUMERATION_UP) ; - while (enumerator_17962.hasCurrentObject ()) { - enumGalgasBool test_4 = kBoolTrue ; - if (kBoolTrue == test_4) { - test_4 = this->mProperty_falseSubAttributes.getter_hasKey (enumerator_17962.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("implementation_types.galgas", 659)).operator_not (SOURCE_FILE ("implementation_types.galgas", 659)).boolEnum () ; - if (kBoolTrue == test_4) { - { - var_mergedTrueAttributes_16927.setter_put (enumerator_17962.current_lkey (HERE), enumerator_17962.current_type (HERE), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 660)) ; - } - } - } - enumerator_17962.gotoNextObject () ; - } - result_mergedType = GALGAS_impBoolType::class_func_new (this->mProperty_locations.add_operation (inArgument_typeToMerge.readProperty_locations (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 665)), this->mProperty_type, this->mProperty_name, this->mProperty_multiple, this->mProperty_descs.add_operation (inArgument_typeToMerge.readProperty_descs (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 669)), this->mProperty_withAuto, var_castTypeToMerge_16854.readProperty_defaultValue (), var_mergedTrueAttributes_16927, var_mergedFalseAttributes_16987 COMMA_SOURCE_FILE ("implementation_types.galgas", 664)) ; +static GALGAS_string onceFunction_blue (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_blue ; // Returned variable + result_blue = GALGAS_string ("") ; //--- - return result_mergedType ; + return result_blue ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@impBoolType setDefault' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_impBoolType::method_setDefault (GALGAS_objectAttributes & ioArgument_attributes, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - if (this->mProperty_defaultValue.isValid ()) { - if (this->mProperty_defaultValue.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_void) { - }else if (this->mProperty_defaultValue.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_auto) { - }else if (this->mProperty_defaultValue.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_boolAttribute) { - GALGAS_boolAttribute cast_18611_b ((cPtr_boolAttribute *) this->mProperty_defaultValue.ptr ()) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = ioArgument_attributes.readProperty_objectParams ().getter_hasKey (this->mProperty_name.readProperty_string () COMMA_SOURCE_FILE ("implementation_types.galgas", 685)).boolEnum () ; - if (kBoolTrue == test_0) { - GALGAS_identifierMap var_userAttributes_18874 = ioArgument_attributes.readProperty_objectParams () ; - GALGAS_object_5F_t var_value_18939 ; - var_userAttributes_18874.method_get (this->mProperty_name, var_value_18939, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 690)) ; - if (var_value_18939.isValid ()) { - if (var_value_18939.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_boolAttribute) { - GALGAS_boolAttribute cast_19037_boolValue ((cPtr_boolAttribute *) var_value_18939.ptr ()) ; - GALGAS_implementationObjectMap var_subImpAttributes_19088 ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = cast_19037_boolValue.readProperty_value ().boolEnum () ; - if (kBoolTrue == test_1) { - var_subImpAttributes_19088 = this->mProperty_trueSubAttributes ; - } - } - if (kBoolFalse == test_1) { - var_subImpAttributes_19088 = this->mProperty_falseSubAttributes ; - } - GALGAS_objectAttributes var_subAttributes_19297 = cast_19037_boolValue.readProperty_subAttributes () ; - { - routine_setDefaultsForType_3F__26_ (var_subImpAttributes_19088, var_subAttributes_19297, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 700)) ; - } - GALGAS_boolAttribute var_bv_19463 = cast_19037_boolValue ; - { - var_bv_19463.setter_setSubAttributes (var_subAttributes_19297 COMMA_SOURCE_FILE ("implementation_types.galgas", 703)) ; - } - { - var_userAttributes_18874.setter_setValueForKey (var_bv_19463, this->mProperty_name.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 704)) ; - } - { - ioArgument_attributes.setter_setObjectParams (var_userAttributes_18874 COMMA_SOURCE_FILE ("implementation_types.galgas", 705)) ; - } - } - } - } - } - if (kBoolFalse == test_0) { - GALGAS_implementationObjectMap var_subImpAttributes_19712 ; - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = cast_18611_b.readProperty_value ().boolEnum () ; - if (kBoolTrue == test_2) { - var_subImpAttributes_19712 = this->mProperty_trueSubAttributes ; - } - } - if (kBoolFalse == test_2) { - var_subImpAttributes_19712 = this->mProperty_falseSubAttributes ; - } - GALGAS_objectAttributes var_subAttributes_19901 = function_emptyObject (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 714)) ; - { - routine_setDefaultsForType_3F__26_ (var_subImpAttributes_19712, var_subAttributes_19901, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 715)) ; - } - GALGAS_boolAttribute var_defaults_20022 = GALGAS_boolAttribute::class_func_new (cast_18611_b.readProperty_oil_5F_desc (), cast_18611_b.readProperty_location (), cast_18611_b.readProperty_value (), var_subAttributes_19901 COMMA_SOURCE_FILE ("implementation_types.galgas", 716)) ; - GALGAS_identifierMap var_attr_20133 = ioArgument_attributes.readProperty_objectParams () ; - { - var_attr_20133.setter_put (this->mProperty_name, var_defaults_20022, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 718)) ; - } - { - ioArgument_attributes.setter_setObjectParams (var_attr_20133 COMMA_SOURCE_FILE ("implementation_types.galgas", 719)) ; - } - } - } +//---------------------------------------------------------------------------------------------------------------------- +// Function implementation +//---------------------------------------------------------------------------------------------------------------------- + +static bool gOnceFunctionResultAvailable_blue = false ; +static GALGAS_string gOnceFunctionResult_blue ; + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string function_blue (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (! gOnceFunctionResultAvailable_blue) { + gOnceFunctionResult_blue = onceFunction_blue (inCompiler COMMA_THERE) ; + gOnceFunctionResultAvailable_blue = true ; } + return gOnceFunctionResult_blue ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +static void releaseOnceFunctionResult_blue (void) { + gOnceFunctionResult_blue.drop () ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_PrologueEpilogue gEpilogueForOnceFunction_blue (nullptr, + releaseOnceFunctionResult_blue) ; + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_blue [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_blue (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_blue (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_blue ("blue", + functionWithGenericHeader_blue, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_blue) ; + +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@impEnumType mergeWithType' +//Once function 'magenta' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_impType cPtr_impEnumType::getter_mergeWithType (GALGAS_impType inArgument_typeToMerge, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_impType result_mergedType ; // Returned variable - GALGAS_impEnumType temp_0 ; - if (inArgument_typeToMerge.isValid ()) { - if (nullptr != dynamic_cast (inArgument_typeToMerge.ptr ())) { - temp_0 = (cPtr_impEnumType *) inArgument_typeToMerge.ptr () ; - }else{ - inCompiler->castError ("impEnumType", inArgument_typeToMerge.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("implementation_types.galgas", 754)) ; - } - } - GALGAS_impEnumType var_castTypeToMerge_21072 = temp_0 ; - result_mergedType = GALGAS_impEnumType::class_func_new (this->mProperty_locations.add_operation (inArgument_typeToMerge.readProperty_locations (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 756)), this->mProperty_type, this->mProperty_name, this->mProperty_multiple, this->mProperty_descs.add_operation (inArgument_typeToMerge.readProperty_descs (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 760)), this->mProperty_withAuto, var_castTypeToMerge_21072.readProperty_defaultValue (), extensionGetter_mergeWithEnum (this->mProperty_valuesMap, var_castTypeToMerge_21072.readProperty_valuesMap (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 763)) COMMA_SOURCE_FILE ("implementation_types.galgas", 755)) ; +static GALGAS_string onceFunction_magenta (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_magenta ; // Returned variable + result_magenta = GALGAS_string ("") ; //--- - return result_mergedType ; + return result_magenta ; } -//-------------------------------------------------------------------------------------------------- -// -//Routine 'verifyEnum?' -// -//-------------------------------------------------------------------------------------------------- -void routine_verifyEnum_3F_ (const GALGAS_impType constinArgument_anEnum, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - if (constinArgument_anEnum.isValid ()) { - if (constinArgument_anEnum.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impEnumType) { - GALGAS_impEnumType cast_21545_realEnum ((cPtr_impEnumType *) constinArgument_anEnum.ptr ()) ; - if (cast_21545_realEnum.readProperty_defaultValue ().isValid ()) { - if (cast_21545_realEnum.readProperty_defaultValue ().dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_string_5F_class) { - GALGAS_string_5F_class cast_21615_defaultValue ((cPtr_string_5F_class *) cast_21545_realEnum.readProperty_defaultValue ().ptr ()) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = cast_21545_realEnum.readProperty_valuesMap ().getter_hasKey (cast_21615_defaultValue.readProperty_value () COMMA_SOURCE_FILE ("implementation_types.galgas", 777)).operator_not (SOURCE_FILE ("implementation_types.galgas", 777)).boolEnum () ; - if (kBoolTrue == test_0) { - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (cast_21615_defaultValue.readProperty_location (), GALGAS_string ("Default enum value does not match any enum value"), fixItArray1 COMMA_SOURCE_FILE ("implementation_types.galgas", 778)) ; - } - } - } - } - }else{ - cEnumerator_locationList enumerator_21828 (constinArgument_anEnum.readProperty_locations (), kENUMERATION_UP) ; - while (enumerator_21828.hasCurrentObject ()) { - TC_Array fixItArray2 ; - inCompiler->emitSemanticError (enumerator_21828.current_location (HERE), GALGAS_string ("Internal, not an @impEnumType"), fixItArray2 COMMA_SOURCE_FILE ("implementation_types.galgas", 783)) ; - enumerator_21828.gotoNextObject () ; - } - } +//---------------------------------------------------------------------------------------------------------------------- +// Function implementation +//---------------------------------------------------------------------------------------------------------------------- + +static bool gOnceFunctionResultAvailable_magenta = false ; +static GALGAS_string gOnceFunctionResult_magenta ; + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string function_magenta (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (! gOnceFunctionResultAvailable_magenta) { + gOnceFunctionResult_magenta = onceFunction_magenta (inCompiler COMMA_THERE) ; + gOnceFunctionResultAvailable_magenta = true ; } + return gOnceFunctionResult_magenta ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +static void releaseOnceFunctionResult_magenta (void) { + gOnceFunctionResult_magenta.drop () ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_PrologueEpilogue gEpilogueForOnceFunction_magenta (nullptr, + releaseOnceFunctionResult_magenta) ; + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_magenta [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_magenta (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_magenta (inCompiler COMMA_THERE).getter_object (THERE) ; } +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +C_galgas_function_descriptor functionDescriptor_magenta ("magenta", + functionWithGenericHeader_magenta, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_magenta) ; + +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'checkAndGetIntegerNumber' +//Once function 'cyan' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_object_5F_t function_checkAndGetIntegerNumber (const GALGAS_lstring & constinArgument_oil_5F_desc, - const GALGAS_dataType & constinArgument_type, - const GALGAS_luint_36__34_ & constinArgument_number, - const GALGAS_bool & constinArgument_signed, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_object_5F_t result_value ; // Returned variable - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = constinArgument_signed.boolEnum () ; - if (kBoolTrue == test_0) { - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::class_func_sint_33__32_Number (SOURCE_FILE ("implementation_types.galgas", 845)))).boolEnum () ; - if (kBoolTrue == test_1) { - result_value = GALGAS_sint_33__32__5F_class::class_func_new (constinArgument_oil_5F_desc, constinArgument_number.readProperty_location (), constinArgument_number.readProperty_uint_36__34_ ().getter_sint (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 846)).multiply_operation (GALGAS_sint (int32_t (-1L)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 846)) COMMA_SOURCE_FILE ("implementation_types.galgas", 846)) ; - } - } - if (kBoolFalse == test_1) { - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::class_func_sint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 847)))).boolEnum () ; - if (kBoolTrue == test_2) { - result_value = GALGAS_sint_36__34__5F_class::class_func_new (constinArgument_oil_5F_desc, constinArgument_number.readProperty_location (), constinArgument_number.readProperty_uint_36__34_ ().getter_sint_36__34_ (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 848)).multiply_operation (GALGAS_sint_36__34_ (int64_t (-1LL)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 848)) COMMA_SOURCE_FILE ("implementation_types.galgas", 848)) ; - } - } - if (kBoolFalse == test_2) { - result_value = GALGAS_void::class_func_new (constinArgument_oil_5F_desc, constinArgument_number.readProperty_location () COMMA_SOURCE_FILE ("implementation_types.galgas", 850)) ; - TC_Array fixItArray3 ; - inCompiler->emitSemanticError (constinArgument_number.readProperty_location (), extensionGetter_oilType (constinArgument_type, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 851)).add_operation (GALGAS_string (" expected, got a SINT"), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 851)), fixItArray3 COMMA_SOURCE_FILE ("implementation_types.galgas", 851)) ; - } - } - } - } - if (kBoolFalse == test_0) { - enumGalgasBool test_4 = kBoolTrue ; - if (kBoolTrue == test_4) { - test_4 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::class_func_sint_33__32_Number (SOURCE_FILE ("implementation_types.galgas", 854)))).boolEnum () ; - if (kBoolTrue == test_4) { - result_value = GALGAS_sint_33__32__5F_class::class_func_new (constinArgument_oil_5F_desc, constinArgument_number.readProperty_location (), constinArgument_number.readProperty_uint_36__34_ ().getter_sint (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 855)) COMMA_SOURCE_FILE ("implementation_types.galgas", 855)) ; - } - } - if (kBoolFalse == test_4) { - enumGalgasBool test_5 = kBoolTrue ; - if (kBoolTrue == test_5) { - test_5 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::class_func_sint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 856)))).boolEnum () ; - if (kBoolTrue == test_5) { - result_value = GALGAS_sint_36__34__5F_class::class_func_new (constinArgument_oil_5F_desc, constinArgument_number.readProperty_location (), constinArgument_number.readProperty_uint_36__34_ ().getter_sint_36__34_ (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 857)) COMMA_SOURCE_FILE ("implementation_types.galgas", 857)) ; - } - } - if (kBoolFalse == test_5) { - enumGalgasBool test_6 = kBoolTrue ; - if (kBoolTrue == test_6) { - test_6 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::class_func_uint_33__32_Number (SOURCE_FILE ("implementation_types.galgas", 858)))).boolEnum () ; - if (kBoolTrue == test_6) { - result_value = GALGAS_uint_33__32__5F_class::class_func_new (constinArgument_oil_5F_desc, constinArgument_number.readProperty_location (), constinArgument_number.readProperty_uint_36__34_ ().getter_uint (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 859)) COMMA_SOURCE_FILE ("implementation_types.galgas", 859)) ; - } - } - if (kBoolFalse == test_6) { - enumGalgasBool test_7 = kBoolTrue ; - if (kBoolTrue == test_7) { - test_7 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::class_func_uint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 860)))).boolEnum () ; - if (kBoolTrue == test_7) { - result_value = GALGAS_uint_36__34__5F_class::class_func_new (constinArgument_oil_5F_desc, constinArgument_number.readProperty_location (), constinArgument_number.readProperty_uint_36__34_ () COMMA_SOURCE_FILE ("implementation_types.galgas", 861)) ; - } - } - if (kBoolFalse == test_7) { - result_value = GALGAS_void::class_func_new (constinArgument_oil_5F_desc, constinArgument_number.readProperty_location () COMMA_SOURCE_FILE ("implementation_types.galgas", 863)) ; - TC_Array fixItArray8 ; - inCompiler->emitSemanticError (constinArgument_number.readProperty_location (), extensionGetter_oilType (constinArgument_type, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 864)).add_operation (GALGAS_string (" expected, got a UINT"), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 864)), fixItArray8 COMMA_SOURCE_FILE ("implementation_types.galgas", 864)) ; - } - } - } - } - } +static GALGAS_string onceFunction_cyan (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_cyan ; // Returned variable + result_cyan = GALGAS_string ("") ; //--- - return result_value ; + return result_cyan ; +} + + + +//---------------------------------------------------------------------------------------------------------------------- +// Function implementation +//---------------------------------------------------------------------------------------------------------------------- + +static bool gOnceFunctionResultAvailable_cyan = false ; +static GALGAS_string gOnceFunctionResult_cyan ; + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string function_cyan (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (! gOnceFunctionResultAvailable_cyan) { + gOnceFunctionResult_cyan = onceFunction_cyan (inCompiler COMMA_THERE) ; + gOnceFunctionResultAvailable_cyan = true ; + } + return gOnceFunctionResult_cyan ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +static void releaseOnceFunctionResult_cyan (void) { + gOnceFunctionResult_cyan.drop () ; } +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +C_PrologueEpilogue gEpilogueForOnceFunction_cyan (nullptr, + releaseOnceFunctionResult_cyan) ; + +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_checkAndGetIntegerNumber [5] = { - & kTypeDescriptor_GALGAS_lstring, - & kTypeDescriptor_GALGAS_dataType, - & kTypeDescriptor_GALGAS_luint_36__34_, - & kTypeDescriptor_GALGAS_bool, +static const C_galgas_type_descriptor * functionArgs_cyan [1] = { nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_checkAndGetIntegerNumber (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_lstring operand0 = GALGAS_lstring::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_dataType operand1 = GALGAS_dataType::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_luint_36__34_ operand2 = GALGAS_luint_36__34_::extractObject (inEffectiveParameterArray.objectAtIndex (2 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_bool operand3 = GALGAS_bool::extractObject (inEffectiveParameterArray.objectAtIndex (3 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_checkAndGetIntegerNumber (operand0, - operand1, - operand2, - operand3, - inCompiler - COMMA_THERE).getter_object (THERE) ; +static GALGAS_object functionWithGenericHeader_cyan (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_cyan (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_checkAndGetIntegerNumber ("checkAndGetIntegerNumber", - functionWithGenericHeader_checkAndGetIntegerNumber, - & kTypeDescriptor_GALGAS_object_5F_t, - 4, - functionArgs_checkAndGetIntegerNumber) ; +C_galgas_function_descriptor functionDescriptor_cyan ("cyan", + functionWithGenericHeader_cyan, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_cyan) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'checkAndGetFloatNumber' +//Once function 'darkred' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_object_5F_t function_checkAndGetFloatNumber (const GALGAS_lstring & constinArgument_oil_5F_desc, - const GALGAS_dataType & constinArgument_type, - const GALGAS_ldouble & constinArgument_number, - const GALGAS_bool & constinArgument_signed, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_object_5F_t result_value ; // Returned variable - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = constinArgument_signed.boolEnum () ; - if (kBoolTrue == test_0) { - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::class_func_floatNumber (SOURCE_FILE ("implementation_types.galgas", 876)))).boolEnum () ; - if (kBoolTrue == test_1) { - result_value = GALGAS_float_5F_class::class_func_new (constinArgument_oil_5F_desc, constinArgument_number.readProperty_location (), constinArgument_number.readProperty_double ().multiply_operation (GALGAS_double (1).operator_unary_minus (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 877)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 877)) COMMA_SOURCE_FILE ("implementation_types.galgas", 877)) ; - } - } - if (kBoolFalse == test_1) { - result_value = GALGAS_void::class_func_new (constinArgument_oil_5F_desc, constinArgument_number.readProperty_location () COMMA_SOURCE_FILE ("implementation_types.galgas", 879)) ; - TC_Array fixItArray2 ; - inCompiler->emitSemanticError (constinArgument_number.readProperty_location (), extensionGetter_oilType (constinArgument_type, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 880)).add_operation (GALGAS_string (" expected, got a FLOAT"), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 880)), fixItArray2 COMMA_SOURCE_FILE ("implementation_types.galgas", 880)) ; - } - } - } - if (kBoolFalse == test_0) { - enumGalgasBool test_3 = kBoolTrue ; - if (kBoolTrue == test_3) { - test_3 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::class_func_floatNumber (SOURCE_FILE ("implementation_types.galgas", 883)))).boolEnum () ; - if (kBoolTrue == test_3) { - result_value = GALGAS_float_5F_class::class_func_new (constinArgument_oil_5F_desc, constinArgument_number.readProperty_location (), constinArgument_number.readProperty_double () COMMA_SOURCE_FILE ("implementation_types.galgas", 884)) ; - } - } - if (kBoolFalse == test_3) { - result_value = GALGAS_void::class_func_new (constinArgument_oil_5F_desc, constinArgument_number.readProperty_location () COMMA_SOURCE_FILE ("implementation_types.galgas", 886)) ; - TC_Array fixItArray4 ; - inCompiler->emitSemanticError (constinArgument_number.readProperty_location (), extensionGetter_oilType (constinArgument_type, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 887)).add_operation (GALGAS_string (" expected, got a FLOAT"), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 887)), fixItArray4 COMMA_SOURCE_FILE ("implementation_types.galgas", 887)) ; - } - } +static GALGAS_string onceFunction_darkred (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_red ; // Returned variable + result_red = GALGAS_string ("") ; //--- - return result_value ; + return result_red ; +} + + + +//---------------------------------------------------------------------------------------------------------------------- +// Function implementation +//---------------------------------------------------------------------------------------------------------------------- + +static bool gOnceFunctionResultAvailable_darkred = false ; +static GALGAS_string gOnceFunctionResult_darkred ; + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string function_darkred (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (! gOnceFunctionResultAvailable_darkred) { + gOnceFunctionResult_darkred = onceFunction_darkred (inCompiler COMMA_THERE) ; + gOnceFunctionResultAvailable_darkred = true ; + } + return gOnceFunctionResult_darkred ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +static void releaseOnceFunctionResult_darkred (void) { + gOnceFunctionResult_darkred.drop () ; } +//---------------------------------------------------------------------------------------------------------------------- + +C_PrologueEpilogue gEpilogueForOnceFunction_darkred (nullptr, + releaseOnceFunctionResult_darkred) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_checkAndGetFloatNumber [5] = { - & kTypeDescriptor_GALGAS_lstring, - & kTypeDescriptor_GALGAS_dataType, - & kTypeDescriptor_GALGAS_ldouble, - & kTypeDescriptor_GALGAS_bool, +static const C_galgas_type_descriptor * functionArgs_darkred [1] = { nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_checkAndGetFloatNumber (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_lstring operand0 = GALGAS_lstring::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_dataType operand1 = GALGAS_dataType::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_ldouble operand2 = GALGAS_ldouble::extractObject (inEffectiveParameterArray.objectAtIndex (2 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_bool operand3 = GALGAS_bool::extractObject (inEffectiveParameterArray.objectAtIndex (3 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_checkAndGetFloatNumber (operand0, - operand1, - operand2, - operand3, - inCompiler - COMMA_THERE).getter_object (THERE) ; +static GALGAS_object functionWithGenericHeader_darkred (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_darkred (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_checkAndGetFloatNumber ("checkAndGetFloatNumber", - functionWithGenericHeader_checkAndGetFloatNumber, - & kTypeDescriptor_GALGAS_object_5F_t, - 4, - functionArgs_checkAndGetFloatNumber) ; +C_galgas_function_descriptor functionDescriptor_darkred ("darkred", + functionWithGenericHeader_darkred, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_darkred) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'checkTypeForAttribute???' +//Once function 'darkgreen' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_checkTypeForAttribute_3F__3F__3F_ (const GALGAS_implementationObjectMap constinArgument_obj, - const GALGAS_string constinArgument_attributeName, - const GALGAS_dataType constinArgument_expectedType, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = constinArgument_obj.getter_hasKey (constinArgument_attributeName COMMA_SOURCE_FILE ("implementation_types.galgas", 896)).boolEnum () ; - if (kBoolTrue == test_0) { - GALGAS_impType var_type_25238 ; - constinArgument_obj.method_get (function_lstringWith (constinArgument_attributeName, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 898)), var_type_25238, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 898)) ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = GALGAS_bool (kIsNotEqual, var_type_25238.readProperty_type ().objectCompare (constinArgument_expectedType)).boolEnum () ; - if (kBoolTrue == test_1) { - cEnumerator_locationList enumerator_25342 (var_type_25238.readProperty_locations (), kENUMERATION_UP) ; - while (enumerator_25342.hasCurrentObject ()) { - TC_Array fixItArray2 ; - inCompiler->emitSemanticError (enumerator_25342.current_location (HERE), constinArgument_attributeName.add_operation (GALGAS_string (" is a "), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 901)).add_operation (extensionGetter_oilType (var_type_25238.readProperty_type (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 901)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 901)), fixItArray2 COMMA_SOURCE_FILE ("implementation_types.galgas", 901)) ; - TC_Array fixItArray3 ; - inCompiler->emitSemanticError (enumerator_25342.current_location (HERE), constinArgument_attributeName.add_operation (GALGAS_string (" should be a "), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 902)).add_operation (extensionGetter_oilType (constinArgument_expectedType, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 902)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 902)), fixItArray3 COMMA_SOURCE_FILE ("implementation_types.galgas", 902)) ; - enumerator_25342.gotoNextObject () ; - } - } - } - } - } +static GALGAS_string onceFunction_darkgreen (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_green ; // Returned variable + result_green = GALGAS_string ("") ; +//--- + return result_green ; } -//-------------------------------------------------------------------------------------------------- -// -//Function 'boolSubAttributes' -// -//-------------------------------------------------------------------------------------------------- -GALGAS_implementationObjectMap function_boolSubAttributes (const GALGAS_implementationObject & constinArgument_obj, - const GALGAS_string & constinArgument_attributeName, - const GALGAS_bool & constinArgument_boolValue, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_implementationObjectMap result_subImplementation ; // Returned variable - result_subImplementation = GALGAS_implementationObjectMap::class_func_emptyMap (SOURCE_FILE ("implementation_types.galgas", 913)) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = constinArgument_obj.readProperty_attributes ().getter_hasKey (constinArgument_attributeName COMMA_SOURCE_FILE ("implementation_types.galgas", 914)).boolEnum () ; - if (kBoolTrue == test_0) { - GALGAS_impType var_type_25823 ; - constinArgument_obj.readProperty_attributes ().method_get (function_lstringWith (constinArgument_attributeName, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 916)), var_type_25823, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 916)) ; - if (var_type_25823.isValid ()) { - if (var_type_25823.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impBoolType) { - GALGAS_impBoolType cast_25929_boolType ((cPtr_impBoolType *) var_type_25823.ptr ()) ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = constinArgument_boolValue.boolEnum () ; - if (kBoolTrue == test_1) { - result_subImplementation = cast_25929_boolType.readProperty_trueSubAttributes () ; - } - } - if (kBoolFalse == test_1) { - result_subImplementation = cast_25929_boolType.readProperty_falseSubAttributes () ; - } - } - } - } +//---------------------------------------------------------------------------------------------------------------------- +// Function implementation +//---------------------------------------------------------------------------------------------------------------------- + +static bool gOnceFunctionResultAvailable_darkgreen = false ; +static GALGAS_string gOnceFunctionResult_darkgreen ; + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string function_darkgreen (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (! gOnceFunctionResultAvailable_darkgreen) { + gOnceFunctionResult_darkgreen = onceFunction_darkgreen (inCompiler COMMA_THERE) ; + gOnceFunctionResultAvailable_darkgreen = true ; } -//--- - return result_subImplementation ; + return gOnceFunctionResult_darkgreen ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +static void releaseOnceFunctionResult_darkgreen (void) { + gOnceFunctionResult_darkgreen.drop () ; } +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +C_PrologueEpilogue gEpilogueForOnceFunction_darkgreen (nullptr, + releaseOnceFunctionResult_darkgreen) ; + +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_boolSubAttributes [4] = { - & kTypeDescriptor_GALGAS_implementationObject, - & kTypeDescriptor_GALGAS_string, - & kTypeDescriptor_GALGAS_bool, +static const C_galgas_type_descriptor * functionArgs_darkgreen [1] = { nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_boolSubAttributes (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_implementationObject operand0 = GALGAS_implementationObject::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_bool operand2 = GALGAS_bool::extractObject (inEffectiveParameterArray.objectAtIndex (2 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_boolSubAttributes (operand0, - operand1, - operand2, - inCompiler - COMMA_THERE).getter_object (THERE) ; +static GALGAS_object functionWithGenericHeader_darkgreen (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_darkgreen (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_boolSubAttributes ("boolSubAttributes", - functionWithGenericHeader_boolSubAttributes, - & kTypeDescriptor_GALGAS_implementationObjectMap, - 3, - functionArgs_boolSubAttributes) ; +C_galgas_function_descriptor functionDescriptor_darkgreen ("darkgreen", + functionWithGenericHeader_darkgreen, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_darkgreen) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'enumSubAttributes' +//Once function 'darkyellow' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementationObjectMap function_enumSubAttributes (const GALGAS_implementationObject & constinArgument_obj, - const GALGAS_string & constinArgument_attributeName, - const GALGAS_string & constinArgument_enumValue, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_implementationObjectMap result_subImplementation ; // Returned variable - result_subImplementation = GALGAS_implementationObjectMap::class_func_emptyMap (SOURCE_FILE ("implementation_types.galgas", 933)) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = constinArgument_obj.readProperty_attributes ().getter_hasKey (constinArgument_attributeName COMMA_SOURCE_FILE ("implementation_types.galgas", 934)).boolEnum () ; - if (kBoolTrue == test_0) { - GALGAS_impType var_type_26406 ; - constinArgument_obj.readProperty_attributes ().method_get (function_lstringWith (constinArgument_attributeName, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 936)), var_type_26406, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 936)) ; - if (var_type_26406.isValid ()) { - if (var_type_26406.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impEnumType) { - GALGAS_impEnumType cast_26512_enumType ((cPtr_impEnumType *) var_type_26406.ptr ()) ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = cast_26512_enumType.readProperty_valuesMap ().getter_hasKey (constinArgument_enumValue COMMA_SOURCE_FILE ("implementation_types.galgas", 939)).boolEnum () ; - if (kBoolTrue == test_1) { - cast_26512_enumType.readProperty_valuesMap ().method_get (function_lstringWith (constinArgument_enumValue, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 940)), result_subImplementation, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 940)) ; - } - } - } - } - } - } +static GALGAS_string onceFunction_darkyellow (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_yellow ; // Returned variable + result_yellow = GALGAS_string ("") ; //--- - return result_subImplementation ; + return result_yellow ; } -//-------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------------------- +// Function implementation +//---------------------------------------------------------------------------------------------------------------------- + +static bool gOnceFunctionResultAvailable_darkyellow = false ; +static GALGAS_string gOnceFunctionResult_darkyellow ; + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string function_darkyellow (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (! gOnceFunctionResultAvailable_darkyellow) { + gOnceFunctionResult_darkyellow = onceFunction_darkyellow (inCompiler COMMA_THERE) ; + gOnceFunctionResultAvailable_darkyellow = true ; + } + return gOnceFunctionResult_darkyellow ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +static void releaseOnceFunctionResult_darkyellow (void) { + gOnceFunctionResult_darkyellow.drop () ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_PrologueEpilogue gEpilogueForOnceFunction_darkyellow (nullptr, + releaseOnceFunctionResult_darkyellow) ; + +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_enumSubAttributes [4] = { - & kTypeDescriptor_GALGAS_implementationObject, - & kTypeDescriptor_GALGAS_string, - & kTypeDescriptor_GALGAS_string, +static const C_galgas_type_descriptor * functionArgs_darkyellow [1] = { nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_enumSubAttributes (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_implementationObject operand0 = GALGAS_implementationObject::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_string operand2 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (2 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_enumSubAttributes (operand0, - operand1, - operand2, - inCompiler - COMMA_THERE).getter_object (THERE) ; +static GALGAS_object functionWithGenericHeader_darkyellow (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_darkyellow (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_enumSubAttributes ("enumSubAttributes", - functionWithGenericHeader_enumSubAttributes, - & kTypeDescriptor_GALGAS_implementationObjectMap, - 3, - functionArgs_enumSubAttributes) ; +C_galgas_function_descriptor functionDescriptor_darkyellow ("darkyellow", + functionWithGenericHeader_darkyellow, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_darkyellow) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'checkFilters?' +//Once function 'darkblue' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_checkFilters_3F_ (const GALGAS_implementationObject constinArgument_messageProperty, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_implementationObjectMap var_filter_26800 = function_enumSubAttributes (constinArgument_messageProperty, GALGAS_string ("FILTER"), GALGAS_string ("MASKEDNEWEQUALSX"), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 951)) ; - { - routine_checkTypeForAttribute_3F__3F__3F_ (var_filter_26800, GALGAS_string ("MASK"), GALGAS_dataType::class_func_uint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 952)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 952)) ; - } - { - routine_checkTypeForAttribute_3F__3F__3F_ (var_filter_26800, GALGAS_string ("X"), GALGAS_dataType::class_func_uint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 953)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 953)) ; - } - var_filter_26800 = function_enumSubAttributes (constinArgument_messageProperty, GALGAS_string ("FILTER"), GALGAS_string ("MASKEDNEWDIFFERSX"), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 954)) ; - { - routine_checkTypeForAttribute_3F__3F__3F_ (var_filter_26800, GALGAS_string ("MASK"), GALGAS_dataType::class_func_uint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 955)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 955)) ; - } - { - routine_checkTypeForAttribute_3F__3F__3F_ (var_filter_26800, GALGAS_string ("X"), GALGAS_dataType::class_func_uint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 956)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 956)) ; - } - var_filter_26800 = function_enumSubAttributes (constinArgument_messageProperty, GALGAS_string ("FILTER"), GALGAS_string ("MASKEDNEWEQUALSMASKEDOLD"), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 957)) ; - { - routine_checkTypeForAttribute_3F__3F__3F_ (var_filter_26800, GALGAS_string ("MASK"), GALGAS_dataType::class_func_uint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 958)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 958)) ; - } - var_filter_26800 = function_enumSubAttributes (constinArgument_messageProperty, GALGAS_string ("FILTER"), GALGAS_string ("NEWISWITHIN"), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 959)) ; - { - routine_checkTypeForAttribute_3F__3F__3F_ (var_filter_26800, GALGAS_string ("MIN"), GALGAS_dataType::class_func_uint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 960)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 960)) ; - } - { - routine_checkTypeForAttribute_3F__3F__3F_ (var_filter_26800, GALGAS_string ("MAX"), GALGAS_dataType::class_func_uint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 961)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 961)) ; - } - var_filter_26800 = function_enumSubAttributes (constinArgument_messageProperty, GALGAS_string ("FILTER"), GALGAS_string ("NEWISOUTSIDE"), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 962)) ; - { - routine_checkTypeForAttribute_3F__3F__3F_ (var_filter_26800, GALGAS_string ("MIN"), GALGAS_dataType::class_func_uint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 963)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 963)) ; - } - { - routine_checkTypeForAttribute_3F__3F__3F_ (var_filter_26800, GALGAS_string ("MAX"), GALGAS_dataType::class_func_uint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 964)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 964)) ; - } - var_filter_26800 = function_enumSubAttributes (constinArgument_messageProperty, GALGAS_string ("FILTER"), GALGAS_string ("ONEEVERYN"), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 965)) ; - { - routine_checkTypeForAttribute_3F__3F__3F_ (var_filter_26800, GALGAS_string ("PERIOD"), GALGAS_dataType::class_func_uint_33__32_Number (SOURCE_FILE ("implementation_types.galgas", 966)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 966)) ; - } - { - routine_checkTypeForAttribute_3F__3F__3F_ (var_filter_26800, GALGAS_string ("OFFSET"), GALGAS_dataType::class_func_uint_33__32_Number (SOURCE_FILE ("implementation_types.galgas", 967)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 967)) ; - } +static GALGAS_string onceFunction_darkblue (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_blue ; // Returned variable + result_blue = GALGAS_string ("") ; +//--- + return result_blue ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@refType checkAttributeReferences' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_refType::method_checkAttributeReferences (const GALGAS_implementation constinArgument_imp, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = callExtensionGetter_hasKey ((const cPtr_implementation *) constinArgument_imp.ptr (), this->mProperty_ref.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 982)).operator_not (SOURCE_FILE ("implementation_types.galgas", 982)).boolEnum () ; - if (kBoolTrue == test_0) { - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (this->mProperty_ref.readProperty_location (), this->mProperty_ref.readProperty_string ().add_operation (GALGAS_string (" object kind does not exist"), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 983)), fixItArray1 COMMA_SOURCE_FILE ("implementation_types.galgas", 983)) ; - } - } -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@impBoolType checkAttributeReferences' -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// Function implementation +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_impBoolType::method_checkAttributeReferences (const GALGAS_implementation constinArgument_imp, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - cEnumerator_implementationObjectMap enumerator_28672 (this->mProperty_trueSubAttributes, kENUMERATION_UP) ; - while (enumerator_28672.hasCurrentObject ()) { - callExtensionMethod_checkAttributeReferences ((cPtr_impType *) enumerator_28672.current_type (HERE).ptr (), constinArgument_imp, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 991)) ; - enumerator_28672.gotoNextObject () ; - } - cEnumerator_implementationObjectMap enumerator_28754 (this->mProperty_falseSubAttributes, kENUMERATION_UP) ; - while (enumerator_28754.hasCurrentObject ()) { - callExtensionMethod_checkAttributeReferences ((cPtr_impType *) enumerator_28754.current_type (HERE).ptr (), constinArgument_imp, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 994)) ; - enumerator_28754.gotoNextObject () ; - } -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@impEnumType checkAttributeReferences' -// -//-------------------------------------------------------------------------------------------------- +static bool gOnceFunctionResultAvailable_darkblue = false ; +static GALGAS_string gOnceFunctionResult_darkblue ; -void cPtr_impEnumType::method_checkAttributeReferences (const GALGAS_implementation constinArgument_imp, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - cEnumerator_enumValues enumerator_28923 (this->mProperty_valuesMap, kENUMERATION_UP) ; - while (enumerator_28923.hasCurrentObject ()) { - cEnumerator_implementationObjectMap enumerator_28951 (enumerator_28923.current_subAttributes (HERE), kENUMERATION_UP) ; - while (enumerator_28951.hasCurrentObject ()) { - callExtensionMethod_checkAttributeReferences ((cPtr_impType *) enumerator_28951.current_type (HERE).ptr (), constinArgument_imp, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1003)) ; - enumerator_28951.gotoNextObject () ; - } - enumerator_28923.gotoNextObject () ; +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string function_darkblue (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (! gOnceFunctionResultAvailable_darkblue) { + gOnceFunctionResult_darkblue = onceFunction_darkblue (inCompiler COMMA_THERE) ; + gOnceFunctionResultAvailable_darkblue = true ; } + return gOnceFunctionResult_darkblue ; } -//-------------------------------------------------------------------------------------------------- -// -//Routine 'setDefaultsForType?&' -// -//-------------------------------------------------------------------------------------------------- -void routine_setDefaultsForType_3F__26_ (const GALGAS_implementationObjectMap constinArgument_impObject, - GALGAS_objectAttributes & ioArgument_objectParams, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - cEnumerator_implementationObjectMap enumerator_29147 (constinArgument_impObject, kENUMERATION_UP) ; - while (enumerator_29147.hasCurrentObject ()) { - if (enumerator_29147.current_type (HERE).isValid ()) { - if (nullptr != dynamic_cast (enumerator_29147.current_type (HERE).ptr ())) { - GALGAS_impAutoDefaultType cast_29213_defaultType ((cPtr_impAutoDefaultType *) enumerator_29147.current_type (HERE).ptr ()) ; - callExtensionMethod_setDefault ((cPtr_impAutoDefaultType *) cast_29213_defaultType.ptr (), ioArgument_objectParams, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1015)) ; - } - } - enumerator_29147.gotoNextObject () ; - } +//---------------------------------------------------------------------------------------------------------------------- + +static void releaseOnceFunctionResult_darkblue (void) { + gOnceFunctionResult_darkblue.drop () ; } +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension getter '@noRange contains' -// -//-------------------------------------------------------------------------------------------------- +C_PrologueEpilogue gEpilogueForOnceFunction_darkblue (nullptr, + releaseOnceFunctionResult_darkblue) ; -GALGAS_bool cPtr_noRange::getter_contains (const GALGAS_object_5F_t /* constinArgument_obj */, - Compiler */* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_bool result_isInside ; // Returned variable - result_isInside = GALGAS_bool (true) ; -//--- - return result_isInside ; +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_darkblue [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_darkblue (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_darkblue (inCompiler COMMA_THERE).getter_object (THERE) ; } +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_darkblue ("darkblue", + functionWithGenericHeader_darkblue, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_darkblue) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@noRange string' +//Once function 'darkmagenta' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string cPtr_noRange::getter_string (Compiler */* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_string result_desc ; // Returned variable - result_desc = GALGAS_string ("\?") ; +static GALGAS_string onceFunction_darkmagenta (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_magenta ; // Returned variable + result_magenta = GALGAS_string ("") ; //--- - return result_desc ; + return result_magenta ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension getter '@uint32AttributeSet contains' -// -//-------------------------------------------------------------------------------------------------- -GALGAS_bool cPtr_uint_33__32_AttributeSet::getter_contains (const GALGAS_object_5F_t constinArgument_obj, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_bool result_isInside ; // Returned variable - if (constinArgument_obj.isValid ()) { - if (constinArgument_obj.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_33__32__5F_class) { - GALGAS_uint_33__32__5F_class cast_31592_intVal ((cPtr_uint_33__32__5F_class *) constinArgument_obj.ptr ()) ; - result_isInside = GALGAS_bool (false) ; - cEnumerator_uint_33__32_List enumerator_31629 (this->mProperty_valueList, kENUMERATION_UP) ; - while (enumerator_31629.hasCurrentObject ()) { - result_isInside = result_isInside.operator_or (GALGAS_bool (kIsEqual, enumerator_31629.current_value (HERE).objectCompare (cast_31592_intVal.readProperty_value ())) COMMA_SOURCE_FILE ("implementation_types.galgas", 1103)) ; - enumerator_31629.gotoNextObject () ; - } - }else{ - result_isInside = GALGAS_bool (false) ; - TC_Array fixItArray0 ; - inCompiler->emitSemanticError (constinArgument_obj.readProperty_location (), GALGAS_string ("UINT32 expected"), fixItArray0 COMMA_SOURCE_FILE ("implementation_types.galgas", 1107)) ; - } +//---------------------------------------------------------------------------------------------------------------------- +// Function implementation +//---------------------------------------------------------------------------------------------------------------------- + +static bool gOnceFunctionResultAvailable_darkmagenta = false ; +static GALGAS_string gOnceFunctionResult_darkmagenta ; + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string function_darkmagenta (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (! gOnceFunctionResultAvailable_darkmagenta) { + gOnceFunctionResult_darkmagenta = onceFunction_darkmagenta (inCompiler COMMA_THERE) ; + gOnceFunctionResultAvailable_darkmagenta = true ; } -//--- - return result_isInside ; + return gOnceFunctionResult_darkmagenta ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +static void releaseOnceFunctionResult_darkmagenta (void) { + gOnceFunctionResult_darkmagenta.drop () ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_PrologueEpilogue gEpilogueForOnceFunction_darkmagenta (nullptr, + releaseOnceFunctionResult_darkmagenta) ; + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_darkmagenta [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_darkmagenta (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_darkmagenta (inCompiler COMMA_THERE).getter_object (THERE) ; } +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_darkmagenta ("darkmagenta", + functionWithGenericHeader_darkmagenta, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_darkmagenta) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@uint32AttributeSet string' +//Once function 'darkcyan' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string cPtr_uint_33__32_AttributeSet::getter_string (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_string result_desc ; // Returned variable - result_desc = GALGAS_string::makeEmptyString () ; - cEnumerator_uint_33__32_List enumerator_31858 (this->mProperty_valueList, kENUMERATION_UP) ; - while (enumerator_31858.hasCurrentObject ()) { - result_desc.plusAssign_operation(enumerator_31858.current_value (HERE).getter_string (SOURCE_FILE ("implementation_types.galgas", 1115)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1115)) ; - if (enumerator_31858.hasNextObject ()) { - result_desc.plusAssign_operation(GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1117)) ; - } - enumerator_31858.gotoNextObject () ; - } +static GALGAS_string onceFunction_darkcyan (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_cyan ; // Returned variable + result_cyan = GALGAS_string ("") ; //--- - return result_desc ; + return result_cyan ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension getter '@uint32AttributeMinMax contains' -// -//-------------------------------------------------------------------------------------------------- -GALGAS_bool cPtr_uint_33__32_AttributeMinMax::getter_contains (const GALGAS_object_5F_t constinArgument_obj, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_bool result_isInside ; // Returned variable - if (constinArgument_obj.isValid ()) { - if (constinArgument_obj.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_33__32__5F_class) { - GALGAS_uint_33__32__5F_class cast_32068_intVal ((cPtr_uint_33__32__5F_class *) constinArgument_obj.ptr ()) ; - GALGAS_bool test_0 = GALGAS_bool (kIsInfOrEqual, this->mProperty_min.objectCompare (cast_32068_intVal.readProperty_value ())) ; - if (kBoolTrue == test_0.boolEnum ()) { - test_0 = GALGAS_bool (kIsInfOrEqual, cast_32068_intVal.readProperty_value ().objectCompare (this->mProperty_max)) ; - } - result_isInside = test_0 ; - }else{ - result_isInside = GALGAS_bool (false) ; - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (constinArgument_obj.readProperty_location (), GALGAS_string ("UINT32 expected"), fixItArray1 COMMA_SOURCE_FILE ("implementation_types.galgas", 1130)) ; - } +//---------------------------------------------------------------------------------------------------------------------- +// Function implementation +//---------------------------------------------------------------------------------------------------------------------- + +static bool gOnceFunctionResultAvailable_darkcyan = false ; +static GALGAS_string gOnceFunctionResult_darkcyan ; + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string function_darkcyan (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (! gOnceFunctionResultAvailable_darkcyan) { + gOnceFunctionResult_darkcyan = onceFunction_darkcyan (inCompiler COMMA_THERE) ; + gOnceFunctionResultAvailable_darkcyan = true ; } -//--- - return result_isInside ; + return gOnceFunctionResult_darkcyan ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +static void releaseOnceFunctionResult_darkcyan (void) { + gOnceFunctionResult_darkcyan.drop () ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_PrologueEpilogue gEpilogueForOnceFunction_darkcyan (nullptr, + releaseOnceFunctionResult_darkcyan) ; + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_darkcyan [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_darkcyan (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_darkcyan (inCompiler COMMA_THERE).getter_object (THERE) ; } +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_darkcyan ("darkcyan", + functionWithGenericHeader_darkcyan, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_darkcyan) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@uint32AttributeMinMax string' +//Once function 'white' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string cPtr_uint_33__32_AttributeMinMax::getter_string (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_string result_desc ; // Returned variable - result_desc = this->mProperty_min.getter_string (SOURCE_FILE ("implementation_types.galgas", 1136)).add_operation (GALGAS_string (".."), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1136)).add_operation (this->mProperty_max.getter_string (SOURCE_FILE ("implementation_types.galgas", 1136)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1136)) ; +static GALGAS_string onceFunction_white (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_white ; // Returned variable + result_white = GALGAS_string ("") ; //--- - return result_desc ; + return result_white ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension getter '@sint32AttributeSet contains' -// -//-------------------------------------------------------------------------------------------------- -GALGAS_bool cPtr_sint_33__32_AttributeSet::getter_contains (const GALGAS_object_5F_t constinArgument_obj, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_bool result_isInside ; // Returned variable - if (constinArgument_obj.isValid ()) { - if (constinArgument_obj.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_33__32__5F_class) { - GALGAS_sint_33__32__5F_class cast_32443_intVal ((cPtr_sint_33__32__5F_class *) constinArgument_obj.ptr ()) ; - result_isInside = GALGAS_bool (true) ; - cEnumerator_sint_33__32_List enumerator_32479 (this->mProperty_valueList, kENUMERATION_UP) ; - while (enumerator_32479.hasCurrentObject ()) { - result_isInside = result_isInside.operator_and (GALGAS_bool (kIsEqual, enumerator_32479.current_value (HERE).objectCompare (cast_32443_intVal.readProperty_value ())) COMMA_SOURCE_FILE ("implementation_types.galgas", 1147)) ; - enumerator_32479.gotoNextObject () ; - } - }else{ - result_isInside = GALGAS_bool (false) ; - TC_Array fixItArray0 ; - inCompiler->emitSemanticError (constinArgument_obj.readProperty_location (), GALGAS_string ("SINT32 expected"), fixItArray0 COMMA_SOURCE_FILE ("implementation_types.galgas", 1151)) ; - } +//---------------------------------------------------------------------------------------------------------------------- +// Function implementation +//---------------------------------------------------------------------------------------------------------------------- + +static bool gOnceFunctionResultAvailable_white = false ; +static GALGAS_string gOnceFunctionResult_white ; + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string function_white (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (! gOnceFunctionResultAvailable_white) { + gOnceFunctionResult_white = onceFunction_white (inCompiler COMMA_THERE) ; + gOnceFunctionResultAvailable_white = true ; } -//--- - return result_isInside ; + return gOnceFunctionResult_white ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +static void releaseOnceFunctionResult_white (void) { + gOnceFunctionResult_white.drop () ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_PrologueEpilogue gEpilogueForOnceFunction_white (nullptr, + releaseOnceFunctionResult_white) ; + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_white [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_white (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_white (inCompiler COMMA_THERE).getter_object (THERE) ; } +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_white ("white", + functionWithGenericHeader_white, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_white) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@sint32AttributeSet string' +//Once function 'endc' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string cPtr_sint_33__32_AttributeSet::getter_string (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_string result_desc ; // Returned variable - result_desc = GALGAS_string::makeEmptyString () ; - cEnumerator_sint_33__32_List enumerator_32708 (this->mProperty_valueList, kENUMERATION_UP) ; - while (enumerator_32708.hasCurrentObject ()) { - result_desc.plusAssign_operation(enumerator_32708.current_value (HERE).getter_string (SOURCE_FILE ("implementation_types.galgas", 1159)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1159)) ; - if (enumerator_32708.hasNextObject ()) { - result_desc.plusAssign_operation(GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1161)) ; - } - enumerator_32708.gotoNextObject () ; - } +static GALGAS_string onceFunction_endc (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_endc ; // Returned variable + result_endc = GALGAS_string ("") ; //--- - return result_desc ; + return result_endc ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension getter '@sint32AttributeMinMax contains' -// -//-------------------------------------------------------------------------------------------------- -GALGAS_bool cPtr_sint_33__32_AttributeMinMax::getter_contains (const GALGAS_object_5F_t constinArgument_obj, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_bool result_isInside ; // Returned variable - if (constinArgument_obj.isValid ()) { - if (constinArgument_obj.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_33__32__5F_class) { - GALGAS_sint_33__32__5F_class cast_32918_intVal ((cPtr_sint_33__32__5F_class *) constinArgument_obj.ptr ()) ; - GALGAS_bool test_0 = GALGAS_bool (kIsInfOrEqual, this->mProperty_min.objectCompare (cast_32918_intVal.readProperty_value ())) ; - if (kBoolTrue == test_0.boolEnum ()) { - test_0 = GALGAS_bool (kIsInfOrEqual, cast_32918_intVal.readProperty_value ().objectCompare (this->mProperty_max)) ; - } - result_isInside = test_0 ; - }else{ - result_isInside = GALGAS_bool (false) ; - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (constinArgument_obj.readProperty_location (), GALGAS_string ("SINT32 expected"), fixItArray1 COMMA_SOURCE_FILE ("implementation_types.galgas", 1174)) ; - } +//---------------------------------------------------------------------------------------------------------------------- +// Function implementation +//---------------------------------------------------------------------------------------------------------------------- + +static bool gOnceFunctionResultAvailable_endc = false ; +static GALGAS_string gOnceFunctionResult_endc ; + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string function_endc (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (! gOnceFunctionResultAvailable_endc) { + gOnceFunctionResult_endc = onceFunction_endc (inCompiler COMMA_THERE) ; + gOnceFunctionResultAvailable_endc = true ; } -//--- - return result_isInside ; + return gOnceFunctionResult_endc ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +static void releaseOnceFunctionResult_endc (void) { + gOnceFunctionResult_endc.drop () ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_PrologueEpilogue gEpilogueForOnceFunction_endc (nullptr, + releaseOnceFunctionResult_endc) ; + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_endc [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_endc (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_endc (inCompiler COMMA_THERE).getter_object (THERE) ; } +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_endc ("endc", + functionWithGenericHeader_endc, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_endc) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@sint32AttributeMinMax string' +//Function 'defaultDebugSettings' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string cPtr_sint_33__32_AttributeMinMax::getter_string (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_string result_desc ; // Returned variable - result_desc = this->mProperty_min.getter_string (SOURCE_FILE ("implementation_types.galgas", 1180)).add_operation (GALGAS_string (".."), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1180)).add_operation (this->mProperty_max.getter_string (SOURCE_FILE ("implementation_types.galgas", 1180)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1180)) ; +GALGAS_debuggerContext function_defaultDebugSettings (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_debuggerContext result_debugSettings ; // Returned variable + result_debugSettings = GALGAS_debuggerContext::constructor_new (GALGAS_bool (gOption_gtl_5F_options_debug.readProperty_value ()), GALGAS_bool (gOption_gtl_5F_options_debug.readProperty_value ()), GALGAS_bool (false), function_red (inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 404)), GALGAS_string::makeEmptyString (), function_blue (inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 406)), function_bold (inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 407)), function_darkgreen (inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 408)), GALGAS_string::makeEmptyString (), function_darkyellow (inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 410)), function_bold (inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 411)), GALGAS_bool (false), GALGAS_gtlInstructionList::constructor_emptyList (SOURCE_FILE ("gtl_debugger.galgas", 413)), GALGAS_gtlBreakpointList::constructor_emptyList (SOURCE_FILE ("gtl_debugger.galgas", 414)), GALGAS_gtlExpressionList::constructor_emptyList (SOURCE_FILE ("gtl_debugger.galgas", 415)), GALGAS_uint (uint32_t (0U)), GALGAS_gtlInstructionList::constructor_emptyList (SOURCE_FILE ("gtl_debugger.galgas", 417)), GALGAS_gtlInstructionListContextStack::constructor_emptyList (SOURCE_FILE ("gtl_debugger.galgas", 418)), GALGAS_debugCommandInput::constructor_new (GALGAS_stringlist::constructor_emptyList (SOURCE_FILE ("gtl_debugger.galgas", 419)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 419)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 400)) ; //--- - return result_desc ; + return result_debugSettings ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_defaultDebugSettings [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_defaultDebugSettings (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_defaultDebugSettings (inCompiler COMMA_THERE).getter_object (THERE) ; } +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_defaultDebugSettings ("defaultDebugSettings", + functionWithGenericHeader_defaultDebugSettings, + & kTypeDescriptor_GALGAS_debuggerContext, + 0, + functionArgs_defaultDebugSettings) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@uint64AttributeSet contains' +//Overriding extension getter '@gtlVarItemField stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_bool cPtr_uint_36__34_AttributeSet::getter_contains (const GALGAS_object_5F_t constinArgument_obj, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_bool result_isInside ; // Returned variable - if (constinArgument_obj.isValid ()) { - if (constinArgument_obj.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_36__34__5F_class) { - GALGAS_uint_36__34__5F_class cast_33293_intVal ((cPtr_uint_36__34__5F_class *) constinArgument_obj.ptr ()) ; - result_isInside = GALGAS_bool (true) ; - cEnumerator_uint_36__34_List enumerator_33329 (this->mProperty_valueList, kENUMERATION_UP) ; - while (enumerator_33329.hasCurrentObject ()) { - result_isInside = result_isInside.operator_and (GALGAS_bool (kIsEqual, enumerator_33329.current_value (HERE).objectCompare (cast_33293_intVal.readProperty_value ())) COMMA_SOURCE_FILE ("implementation_types.galgas", 1191)) ; - enumerator_33329.gotoNextObject () ; - } - }else{ - result_isInside = GALGAS_bool (false) ; - TC_Array fixItArray0 ; - inCompiler->emitSemanticError (constinArgument_obj.readProperty_location (), GALGAS_string ("UINT64 expected"), fixItArray0 COMMA_SOURCE_FILE ("implementation_types.galgas", 1195)) ; - } - } +GALGAS_string cPtr_gtlVarItemField::getter_stringRepresentation (const GALGAS_string constinArgument_concatString, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = constinArgument_concatString.add_operation (this->mProperty_field.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 669)) ; //--- - return result_isInside ; + return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@uint64AttributeSet string' +//Overriding extension getter '@gtlVarItemSubCollection stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string cPtr_uint_36__34_AttributeSet::getter_string (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_string result_desc ; // Returned variable - result_desc = GALGAS_string::makeEmptyString () ; - cEnumerator_uint_36__34_List enumerator_33558 (this->mProperty_valueList, kENUMERATION_UP) ; - while (enumerator_33558.hasCurrentObject ()) { - result_desc.plusAssign_operation(enumerator_33558.current_value (HERE).getter_string (SOURCE_FILE ("implementation_types.galgas", 1203)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1203)) ; - if (enumerator_33558.hasNextObject ()) { - result_desc.plusAssign_operation(GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1205)) ; - } - enumerator_33558.gotoNextObject () ; - } +GALGAS_string cPtr_gtlVarItemSubCollection::getter_stringRepresentation (const GALGAS_string /* constinArgument_concatString */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string ("[").add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_key.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 677)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 677)).add_operation (GALGAS_string ("]"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 677)) ; //--- - return result_desc ; + return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@uint64AttributeMinMax contains' +//Overriding extension getter '@gtlVarItemCollection stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_bool cPtr_uint_36__34_AttributeMinMax::getter_contains (const GALGAS_object_5F_t constinArgument_obj, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_bool result_isInside ; // Returned variable - if (constinArgument_obj.isValid ()) { - if (constinArgument_obj.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_36__34__5F_class) { - GALGAS_uint_36__34__5F_class cast_33768_intVal ((cPtr_uint_36__34__5F_class *) constinArgument_obj.ptr ()) ; - GALGAS_bool test_0 = GALGAS_bool (kIsInfOrEqual, this->mProperty_min.objectCompare (cast_33768_intVal.readProperty_value ())) ; - if (kBoolTrue == test_0.boolEnum ()) { - test_0 = GALGAS_bool (kIsInfOrEqual, cast_33768_intVal.readProperty_value ().objectCompare (this->mProperty_max)) ; - } - result_isInside = test_0 ; - }else{ - result_isInside = GALGAS_bool (false) ; - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (constinArgument_obj.readProperty_location (), GALGAS_string ("UINT64 expected"), fixItArray1 COMMA_SOURCE_FILE ("implementation_types.galgas", 1218)) ; - } - } +GALGAS_string cPtr_gtlVarItemCollection::getter_stringRepresentation (const GALGAS_string constinArgument_concatString, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = constinArgument_concatString.add_operation (this->mProperty_field.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 685)).add_operation (GALGAS_char (TO_UNICODE (91)).getter_string (SOURCE_FILE ("gtl_debugger.galgas", 685)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 685)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_key.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 685)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 685)).add_operation (GALGAS_char (TO_UNICODE (93)).getter_string (SOURCE_FILE ("gtl_debugger.galgas", 685)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 685)) ; //--- - return result_isInside ; + return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@uint64AttributeMinMax string' +//Overriding extension getter '@gtlAddExpression stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string cPtr_uint_36__34_AttributeMinMax::getter_string (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_string result_desc ; // Returned variable - result_desc = this->mProperty_min.getter_string (SOURCE_FILE ("implementation_types.galgas", 1224)).add_operation (GALGAS_string (".."), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1224)).add_operation (this->mProperty_max.getter_string (SOURCE_FILE ("implementation_types.galgas", 1224)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1224)) ; +GALGAS_string cPtr_gtlAddExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_lSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 696)).add_operation (GALGAS_string (" + "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 696)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 696)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 696)) ; //--- - return result_desc ; + return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@sint64AttributeSet contains' +//Overriding extension getter '@gtlAndExpression stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_bool cPtr_sint_36__34_AttributeSet::getter_contains (const GALGAS_object_5F_t constinArgument_obj, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_bool result_isInside ; // Returned variable - if (constinArgument_obj.isValid ()) { - if (constinArgument_obj.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_36__34__5F_class) { - GALGAS_sint_36__34__5F_class cast_34143_intVal ((cPtr_sint_36__34__5F_class *) constinArgument_obj.ptr ()) ; - result_isInside = GALGAS_bool (true) ; - cEnumerator_sint_36__34_List enumerator_34179 (this->mProperty_valueList, kENUMERATION_UP) ; - while (enumerator_34179.hasCurrentObject ()) { - result_isInside = result_isInside.operator_and (GALGAS_bool (kIsEqual, enumerator_34179.current_value (HERE).objectCompare (cast_34143_intVal.readProperty_value ())) COMMA_SOURCE_FILE ("implementation_types.galgas", 1235)) ; - enumerator_34179.gotoNextObject () ; - } - }else{ - result_isInside = GALGAS_bool (false) ; - TC_Array fixItArray0 ; - inCompiler->emitSemanticError (constinArgument_obj.readProperty_location (), GALGAS_string ("SINT64 expected"), fixItArray0 COMMA_SOURCE_FILE ("implementation_types.galgas", 1239)) ; - } - } +GALGAS_string cPtr_gtlAndExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_lSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 703)).add_operation (GALGAS_string (" & "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 703)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 703)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 703)) ; //--- - return result_isInside ; + return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@sint64AttributeSet string' +//Overriding extension getter '@gtlDivideExpression stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string cPtr_sint_36__34_AttributeSet::getter_string (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_string result_desc ; // Returned variable - result_desc = GALGAS_string::makeEmptyString () ; - cEnumerator_sint_36__34_List enumerator_34408 (this->mProperty_valueList, kENUMERATION_UP) ; - while (enumerator_34408.hasCurrentObject ()) { - result_desc.plusAssign_operation(enumerator_34408.current_value (HERE).getter_string (SOURCE_FILE ("implementation_types.galgas", 1247)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1247)) ; - if (enumerator_34408.hasNextObject ()) { - result_desc.plusAssign_operation(GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1249)) ; - } - enumerator_34408.gotoNextObject () ; - } +GALGAS_string cPtr_gtlDivideExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_lSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 710)).add_operation (GALGAS_string (" / "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 710)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 710)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 710)) ; //--- - return result_desc ; + return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@sint64AttributeMinMax contains' +//Overriding extension getter '@gtlEqualExpression stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_bool cPtr_sint_36__34_AttributeMinMax::getter_contains (const GALGAS_object_5F_t constinArgument_obj, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_bool result_isInside ; // Returned variable - if (constinArgument_obj.isValid ()) { - if (constinArgument_obj.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_36__34__5F_class) { - GALGAS_sint_36__34__5F_class cast_34619_intVal ((cPtr_sint_36__34__5F_class *) constinArgument_obj.ptr ()) ; - GALGAS_bool test_0 = GALGAS_bool (kIsInfOrEqual, this->mProperty_min.objectCompare (cast_34619_intVal.readProperty_value ())) ; - if (kBoolTrue == test_0.boolEnum ()) { - test_0 = GALGAS_bool (kIsInfOrEqual, cast_34619_intVal.readProperty_value ().objectCompare (this->mProperty_max)) ; - } - result_isInside = test_0 ; - }else{ - result_isInside = GALGAS_bool (false) ; - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (constinArgument_obj.readProperty_location (), GALGAS_string ("SINT64 expected"), fixItArray1 COMMA_SOURCE_FILE ("implementation_types.galgas", 1263)) ; - } - } +GALGAS_string cPtr_gtlEqualExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_lSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 717)).add_operation (GALGAS_string (" == "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 717)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 717)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 717)) ; //--- - return result_isInside ; + return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@sint64AttributeMinMax string' +//Overriding extension getter '@gtlGreaterOrEqualExpression stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string cPtr_sint_36__34_AttributeMinMax::getter_string (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_string result_desc ; // Returned variable - result_desc = this->mProperty_min.getter_string (SOURCE_FILE ("implementation_types.galgas", 1269)).add_operation (GALGAS_string (".."), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1269)).add_operation (this->mProperty_max.getter_string (SOURCE_FILE ("implementation_types.galgas", 1269)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1269)) ; +GALGAS_string cPtr_gtlGreaterOrEqualExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_lSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 724)).add_operation (GALGAS_string (" >= "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 724)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 724)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 724)) ; //--- - return result_desc ; + return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@floatAttributeSet contains' +//Overriding extension getter '@gtlGreaterThanExpression stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_bool cPtr_floatAttributeSet::getter_contains (const GALGAS_object_5F_t constinArgument_obj, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_bool result_isInside ; // Returned variable - if (constinArgument_obj.isValid ()) { - if (constinArgument_obj.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_float_5F_class) { - GALGAS_float_5F_class cast_34992_intVal ((cPtr_float_5F_class *) constinArgument_obj.ptr ()) ; - result_isInside = GALGAS_bool (true) ; - cEnumerator_floatList enumerator_35028 (this->mProperty_valueList, kENUMERATION_UP) ; - while (enumerator_35028.hasCurrentObject ()) { - result_isInside = result_isInside.operator_and (GALGAS_bool (kIsEqual, enumerator_35028.current_value (HERE).objectCompare (cast_34992_intVal.readProperty_value ())) COMMA_SOURCE_FILE ("implementation_types.galgas", 1280)) ; - enumerator_35028.gotoNextObject () ; - } - }else{ - result_isInside = GALGAS_bool (false) ; - TC_Array fixItArray0 ; - inCompiler->emitSemanticError (constinArgument_obj.readProperty_location (), GALGAS_string ("FLOAT expected"), fixItArray0 COMMA_SOURCE_FILE ("implementation_types.galgas", 1284)) ; - } - } +GALGAS_string cPtr_gtlGreaterThanExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_lSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 731)).add_operation (GALGAS_string (" > "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 731)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 731)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 731)) ; //--- - return result_isInside ; + return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@floatAttributeSet string' +//Overriding extension getter '@gtlLowerOrEqualExpression stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string cPtr_floatAttributeSet::getter_string (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_string result_desc ; // Returned variable - result_desc = GALGAS_string::makeEmptyString () ; - cEnumerator_floatList enumerator_35255 (this->mProperty_valueList, kENUMERATION_UP) ; - while (enumerator_35255.hasCurrentObject ()) { - result_desc.plusAssign_operation(enumerator_35255.current_value (HERE).getter_string (SOURCE_FILE ("implementation_types.galgas", 1292)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1292)) ; - if (enumerator_35255.hasNextObject ()) { - result_desc.plusAssign_operation(GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1294)) ; - } - enumerator_35255.gotoNextObject () ; - } +GALGAS_string cPtr_gtlLowerOrEqualExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_lSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 738)).add_operation (GALGAS_string (" <= "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 738)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 738)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 738)) ; //--- - return result_desc ; + return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@floatAttributeMinMax contains' +//Overriding extension getter '@gtlLowerThanExpression stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_bool cPtr_floatAttributeMinMax::getter_contains (const GALGAS_object_5F_t constinArgument_obj, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_bool result_isInside ; // Returned variable - if (constinArgument_obj.isValid ()) { - if (constinArgument_obj.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_float_5F_class) { - GALGAS_float_5F_class cast_35463_intVal ((cPtr_float_5F_class *) constinArgument_obj.ptr ()) ; - GALGAS_bool test_0 = GALGAS_bool (kIsInfOrEqual, this->mProperty_min.objectCompare (cast_35463_intVal.readProperty_value ())) ; - if (kBoolTrue == test_0.boolEnum ()) { - test_0 = GALGAS_bool (kIsInfOrEqual, cast_35463_intVal.readProperty_value ().objectCompare (this->mProperty_max)) ; - } - result_isInside = test_0 ; - }else{ - result_isInside = GALGAS_bool (false) ; - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (constinArgument_obj.readProperty_location (), GALGAS_string ("FLOAT expected"), fixItArray1 COMMA_SOURCE_FILE ("implementation_types.galgas", 1307)) ; - } - } +GALGAS_string cPtr_gtlLowerThanExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_lSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 745)).add_operation (GALGAS_string (" < "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 745)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 745)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 745)) ; //--- - return result_isInside ; + return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@floatAttributeMinMax string' +//Overriding extension getter '@gtlModulusExpression stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string cPtr_floatAttributeMinMax::getter_string (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_string result_desc ; // Returned variable - result_desc = this->mProperty_min.getter_string (SOURCE_FILE ("implementation_types.galgas", 1313)).add_operation (GALGAS_string (".."), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1313)).add_operation (this->mProperty_max.getter_string (SOURCE_FILE ("implementation_types.galgas", 1313)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1313)) ; +GALGAS_string cPtr_gtlModulusExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_lSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 752)).add_operation (GALGAS_string (" mod "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 752)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 752)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 752)) ; //--- - return result_desc ; + return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Once function 'emptyLString' +//Overriding extension getter '@gtlMultiplyExpression stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_lstring onceFunction_emptyLString (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_lstring result_ls ; // Returned variable - result_ls = GALGAS_lstring::class_func_new (GALGAS_string::makeEmptyString (), GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 29)), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 29)) ; +GALGAS_string cPtr_gtlMultiplyExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_lSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 759)).add_operation (GALGAS_string (" * "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 759)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 759)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 759)) ; //--- - return result_ls ; + return result_result ; } +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@gtlNotEqualExpression stringRepresentation' +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- -// Function implementation -//-------------------------------------------------------------------------------------------------- +GALGAS_string cPtr_gtlNotEqualExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_lSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 766)).add_operation (GALGAS_string (" != "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 766)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 766)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 766)) ; +//--- + return result_result ; +} -static bool gOnceFunctionResultAvailable_emptyLString = false ; -static GALGAS_lstring gOnceFunctionResult_emptyLString ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@gtlOrExpression stringRepresentation' +// +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring function_emptyLString (class Compiler * inCompiler - COMMA_LOCATION_ARGS) { - if (! gOnceFunctionResultAvailable_emptyLString) { - gOnceFunctionResult_emptyLString = onceFunction_emptyLString (inCompiler COMMA_THERE) ; - gOnceFunctionResultAvailable_emptyLString = true ; - } - return gOnceFunctionResult_emptyLString ; +GALGAS_string cPtr_gtlOrExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_lSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 773)).add_operation (GALGAS_string (" | "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 773)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 773)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 773)) ; +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- -static void releaseOnceFunctionResult_emptyLString (void) { - gOnceFunctionResult_emptyLString.drop () ; +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@gtlShiftLeftExpression stringRepresentation' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string cPtr_gtlShiftLeftExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_lSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 780)).add_operation (GALGAS_string (" << "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 780)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 780)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 780)) ; +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- -PrologueEpilogue gEpilogueForOnceFunction_emptyLString (nullptr, - releaseOnceFunctionResult_emptyLString) ; +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@gtlShiftRightExpression stringRepresentation' +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- +GALGAS_string cPtr_gtlShiftRightExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_lSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 787)).add_operation (GALGAS_string (" >> "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 787)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 787)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 787)) ; +//--- + return result_result ; +} -static const C_galgas_type_descriptor * functionArgs_emptyLString [1] = { - nullptr -} ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@gtlSubstractExpression stringRepresentation' +// +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_emptyLString (Compiler * inCompiler, - const cObjectArray & /* inEffectiveParameterArray */, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - return function_emptyLString (inCompiler COMMA_THERE).getter_object (THERE) ; +GALGAS_string cPtr_gtlSubstractExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_lSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 794)).add_operation (GALGAS_string (" - "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 794)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 794)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 794)) ; +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_emptyLString ("emptyLString", - functionWithGenericHeader_emptyLString, - & kTypeDescriptor_GALGAS_lstring, - 0, - functionArgs_emptyLString) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'emptyObject' +//Overriding extension getter '@gtlXorExpression stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_objectAttributes function_emptyObject (Compiler * - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_objectAttributes result_result ; // Returned variable - result_result = GALGAS_objectAttributes::class_func_new (GALGAS_identifierMap::class_func_emptyMap (SOURCE_FILE ("goil_basic_types.galgas", 73)) COMMA_SOURCE_FILE ("goil_basic_types.galgas", 73)) ; +GALGAS_string cPtr_gtlXorExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_lSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 801)).add_operation (GALGAS_string (" ^ "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 801)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rSon.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 801)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 801)) ; //--- return result_result ; } -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@gtlExistsExpression stringRepresentation' +// +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_emptyObject [1] = { - nullptr -} ; +GALGAS_string cPtr_gtlExistsExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string ("exists ").add_operation (extensionGetter_stringRepresentation (this->mProperty_variable, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 808)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 808)) ; +//--- + return result_result ; +} -//-------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_emptyObject (Compiler * inCompiler, - const cObjectArray & /* inEffectiveParameterArray */, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - return function_emptyObject (inCompiler COMMA_THERE).getter_object (THERE) ; +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@gtlExistsDefaultExpression stringRepresentation' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string cPtr_gtlExistsDefaultExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string ("exists ").add_operation (extensionGetter_stringRepresentation (this->mProperty_variable, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 816)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 815)).add_operation (GALGAS_string (" default ( "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 816)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_defaultValue.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 818)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 817)).add_operation (GALGAS_string (" )"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 818)) ; +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_emptyObject ("emptyObject", - functionWithGenericHeader_emptyObject, - & kTypeDescriptor_GALGAS_objectAttributes, - 0, - functionArgs_emptyObject) ; +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@gtlFunctionCallExpression stringRepresentation' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string cPtr_gtlFunctionCallExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = this->mProperty_functionName.readProperty_string ().add_operation (GALGAS_string ("("), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 826)).add_operation (extensionGetter_stringRepresentation (this->mProperty_functionArguments, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 826)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 826)).add_operation (GALGAS_string (")"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 826)) ; +//--- + return result_result ; +} + -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension setter '@multipleAttribute mergeSubAttributes' +//Overriding extension getter '@gtlGetterCallExpression stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static void extensionSetter_multipleAttribute_mergeSubAttributes (cPtr_object_5F_t * inObject, - GALGAS_object_5F_t inArgument_withObject, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - cPtr_multipleAttribute * object = (cPtr_multipleAttribute *) inObject ; - macroValidSharedObject (object, cPtr_multipleAttribute) ; - if (inArgument_withObject.isValid ()) { - if (inArgument_withObject.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_multipleAttribute) { - GALGAS_multipleAttribute cast_2234_multipleObject ((cPtr_multipleAttribute *) inArgument_withObject.ptr ()) ; - object->mProperty_items.plusAssign_operation(cast_2234_multipleObject.readProperty_items (), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 93)) ; +GALGAS_string cPtr_gtlGetterCallExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string ("[").add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_target.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 833)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 833)).add_operation (GALGAS_string (" "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 833)).add_operation (this->mProperty_getterName.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 833)) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsStrictSup, this->mProperty_arguments.getter_count (SOURCE_FILE ("gtl_debugger.galgas", 834)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + if (kBoolTrue == test_0) { + result_result = result_result.add_operation (GALGAS_string (": "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 835)).add_operation (extensionGetter_stringRepresentation (this->mProperty_arguments, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 835)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 835)) ; } } + result_result = result_result.add_operation (GALGAS_string ("]"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 837)) ; +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- -static void defineExtensionSetter_multipleAttribute_mergeSubAttributes (void) { - enterExtensionSetter_mergeSubAttributes (kTypeDescriptor_GALGAS_multipleAttribute.mSlotID, - extensionSetter_multipleAttribute_mergeSubAttributes) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@gtlListOfExpression stringRepresentation' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string cPtr_gtlListOfExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string ("listof ").add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_expression.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 844)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 844)) ; +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- -PrologueEpilogue gSetter_multipleAttribute_mergeSubAttributes (defineExtensionSetter_multipleAttribute_mergeSubAttributes, nullptr) ; +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@gtlLiteralListExpression stringRepresentation' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string cPtr_gtlLiteralListExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string ("@( ").add_operation (extensionGetter_stringRepresentation (this->mProperty_value, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 851)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 851)).add_operation (GALGAS_string (" )"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 851)) ; +//--- + return result_result ; +} + -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'multipleAttributeOrError' +//Overriding extension getter '@gtlLiteralMapExpression stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_identifierList function_multipleAttributeOrError (const GALGAS_object_5F_t & constinArgument_t, - const GALGAS_string & constinArgument_att, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_identifierList result_v ; // Returned variable - result_v = GALGAS_identifierList::class_func_emptyList (SOURCE_FILE ("goil_basic_types.galgas", 101)) ; - if (constinArgument_t.isValid ()) { - if (constinArgument_t.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_multipleAttribute) { - GALGAS_multipleAttribute cast_2464_l ((cPtr_multipleAttribute *) constinArgument_t.ptr ()) ; - result_v = cast_2464_l.readProperty_items () ; - }else{ - TC_Array fixItArray0 ; - inCompiler->emitSemanticError (constinArgument_t.readProperty_location (), GALGAS_string ("Internal error, ").add_operation (constinArgument_att, inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 106)).add_operation (GALGAS_string (" has a wrong datatype"), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 106)), fixItArray0 COMMA_SOURCE_FILE ("goil_basic_types.galgas", 106)) ; - } - } +GALGAS_string cPtr_gtlLiteralMapExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string ("@[ ").add_operation (extensionGetter_mapRepresentation (this->mProperty_value, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 858)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 858)).add_operation (GALGAS_string (" ]"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 858)) ; //--- - return result_v ; + return result_result ; } -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@gtlLiteralSetExpression stringRepresentation' +// +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_multipleAttributeOrError [3] = { - & kTypeDescriptor_GALGAS_object_5F_t, - & kTypeDescriptor_GALGAS_string, - nullptr -} ; +GALGAS_string cPtr_gtlLiteralSetExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string ("@! ").add_operation (extensionGetter_stringRepresentation (this->mProperty_value, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 865)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 865)).add_operation (GALGAS_string (" !"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 865)) ; +//--- + return result_result ; +} -//-------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_multipleAttributeOrError (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_object_5F_t operand0 = GALGAS_object_5F_t::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_multipleAttributeOrError (operand0, - operand1, - inCompiler - COMMA_THERE).getter_object (THERE) ; -} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@gtlLiteralStructExpression stringRepresentation' +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +GALGAS_string cPtr_gtlLiteralStructExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string ("@{ ").add_operation (extensionGetter_structRepresentation (this->mProperty_value, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 872)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 872)).add_operation (GALGAS_string (" }"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 872)) ; +//--- + return result_result ; +} -C_galgas_function_descriptor functionDescriptor_multipleAttributeOrError ("multipleAttributeOrError", - functionWithGenericHeader_multipleAttributeOrError, - & kTypeDescriptor_GALGAS_identifierList, - 2, - functionArgs_multipleAttributeOrError) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension setter '@boolAttribute mergeSubAttributes' +//Overriding extension getter '@gtlMapOfStructExpression stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static void extensionSetter_boolAttribute_mergeSubAttributes (cPtr_object_5F_t * inObject, - GALGAS_object_5F_t inArgument_withObject, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - cPtr_boolAttribute * object = (cPtr_boolAttribute *) inObject ; - macroValidSharedObject (object, cPtr_boolAttribute) ; - if (inArgument_withObject.isValid ()) { - if (inArgument_withObject.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_boolAttribute) { - GALGAS_boolAttribute cast_2778_boolObject ((cPtr_boolAttribute *) inArgument_withObject.ptr ()) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsEqual, object->mProperty_value.objectCompare (cast_2778_boolObject.readProperty_value ())).boolEnum () ; - if (kBoolTrue == test_0) { - { - object->mProperty_subAttributes.insulate (HERE) ; - cPtr_objectAttributes * ptr_2840 = (cPtr_objectAttributes *) object->mProperty_subAttributes.ptr () ; - callExtensionSetter_mergeAttributes ((cPtr_objectAttributes *) ptr_2840, cast_2778_boolObject.readProperty_subAttributes (), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 120)) ; - } - } - } - } - } +GALGAS_string cPtr_gtlMapOfStructExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string ("mapof ").add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_expression.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 879)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 879)).add_operation (GALGAS_string (" end"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 879)) ; +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- -static void defineExtensionSetter_boolAttribute_mergeSubAttributes (void) { - enterExtensionSetter_mergeSubAttributes (kTypeDescriptor_GALGAS_boolAttribute.mSlotID, - extensionSetter_boolAttribute_mergeSubAttributes) ; -} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@gtlTerminal stringRepresentation' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string cPtr_gtlTerminal::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = callExtensionGetter_stringRepresentation ((const cPtr_gtlData *) this->mProperty_value.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 886)) ; +//--- + return result_result ; +} -PrologueEpilogue gSetter_boolAttribute_mergeSubAttributes (defineExtensionSetter_boolAttribute_mergeSubAttributes, nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'boolAttributeOrError' +//Overriding extension getter '@gtlTypeOfExpression stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_bool function_boolAttributeOrError (GALGAS_object_5F_t inArgument_t, - GALGAS_string inArgument_att, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_bool result_v ; // Returned variable - result_v = GALGAS_bool (false) ; - if (inArgument_t.isValid ()) { - if (inArgument_t.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_boolAttribute) { - GALGAS_boolAttribute cast_3046_attribute ((cPtr_boolAttribute *) inArgument_t.ptr ()) ; - result_v = cast_3046_attribute.readProperty_value () ; - }else{ - TC_Array fixItArray0 ; - inCompiler->emitSemanticError (inArgument_t.readProperty_location (), GALGAS_string ("Internal error, ").add_operation (inArgument_att, inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 134)).add_operation (GALGAS_string (" has a wrong datatype"), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 134)), fixItArray0 COMMA_SOURCE_FILE ("goil_basic_types.galgas", 134)) ; - } - } +GALGAS_string cPtr_gtlTypeOfExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string ("typeof ").add_operation (extensionGetter_stringRepresentation (this->mProperty_variable, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 893)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 893)) ; //--- - return result_v ; + return result_result ; } -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@gtlMinusExpression stringRepresentation' +// +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_boolAttributeOrError [3] = { - & kTypeDescriptor_GALGAS_object_5F_t, - & kTypeDescriptor_GALGAS_string, - nullptr -} ; +GALGAS_string cPtr_gtlMinusExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string ("-").add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_son.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 900)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 900)) ; +//--- + return result_result ; +} -//-------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_boolAttributeOrError (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_object_5F_t operand0 = GALGAS_object_5F_t::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_boolAttributeOrError (operand0, - operand1, - inCompiler - COMMA_THERE).getter_object (THERE) ; -} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@gtlNotExpression stringRepresentation' +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +GALGAS_string cPtr_gtlNotExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string ("not ").add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_son.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 907)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 907)) ; +//--- + return result_result ; +} -C_galgas_function_descriptor functionDescriptor_boolAttributeOrError ("boolAttributeOrError", - functionWithGenericHeader_boolAttributeOrError, - & kTypeDescriptor_GALGAS_bool, - 2, - functionArgs_boolAttributeOrError) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension setter '@enumAttribute mergeSubAttributes' +//Overriding extension getter '@gtlParenthesizedExpression stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static void extensionSetter_enumAttribute_mergeSubAttributes (cPtr_object_5F_t * inObject, - GALGAS_object_5F_t inArgument_withObject, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - cPtr_enumAttribute * object = (cPtr_enumAttribute *) inObject ; - macroValidSharedObject (object, cPtr_enumAttribute) ; - if (inArgument_withObject.isValid ()) { - if (inArgument_withObject.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_enumAttribute) { - GALGAS_enumAttribute cast_3377_enumObject ((cPtr_enumAttribute *) inArgument_withObject.ptr ()) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsEqual, object->mProperty_value.objectCompare (cast_3377_enumObject.readProperty_value ())).boolEnum () ; - if (kBoolTrue == test_0) { - { - object->mProperty_subAttributes.insulate (HERE) ; - cPtr_objectAttributes * ptr_3439 = (cPtr_objectAttributes *) object->mProperty_subAttributes.ptr () ; - callExtensionSetter_mergeAttributes ((cPtr_objectAttributes *) ptr_3439, cast_3377_enumObject.readProperty_subAttributes (), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 148)) ; - } - } - } - } - } +GALGAS_string cPtr_gtlParenthesizedExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string ("(").add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_son.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 914)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 914)).add_operation (GALGAS_string (")"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 914)) ; +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- -static void defineExtensionSetter_enumAttribute_mergeSubAttributes (void) { - enterExtensionSetter_mergeSubAttributes (kTypeDescriptor_GALGAS_enumAttribute.mSlotID, - extensionSetter_enumAttribute_mergeSubAttributes) ; -} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@gtlPlusExpression stringRepresentation' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string cPtr_gtlPlusExpression::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string ("+").add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_son.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 921)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 921)) ; +//--- + return result_result ; +} -PrologueEpilogue gSetter_enumAttribute_mergeSubAttributes (defineExtensionSetter_enumAttribute_mergeSubAttributes, nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'uint32_or_error' +//Overriding extension getter '@gtlVarRef stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint function_uint_33__32__5F_or_5F_error (GALGAS_object_5F_t inArgument_t, - GALGAS_string inArgument_att, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_uint result_v ; // Returned variable - result_v = GALGAS_uint (uint32_t (0U)) ; - if (inArgument_t.isValid ()) { - if (inArgument_t.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_33__32__5F_class) { - GALGAS_uint_33__32__5F_class cast_3835_ui ((cPtr_uint_33__32__5F_class *) inArgument_t.ptr ()) ; - result_v = cast_3835_ui.readProperty_value () ; - }else{ - TC_Array fixItArray0 ; - inCompiler->emitSemanticError (inArgument_t.readProperty_location (), inArgument_att.add_operation (GALGAS_string (" is not defined"), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 175)), fixItArray0 COMMA_SOURCE_FILE ("goil_basic_types.galgas", 175)) ; - } - } +GALGAS_string cPtr_gtlVarRef::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = extensionGetter_stringRepresentation (this->mProperty_variableName, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 928)) ; //--- - return result_v ; + return result_result ; } -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@gtlAllVarsRef stringRepresentation' +// +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_uint_33__32__5F_or_5F_error [3] = { - & kTypeDescriptor_GALGAS_object_5F_t, - & kTypeDescriptor_GALGAS_string, - nullptr -} ; +GALGAS_string cPtr_gtlAllVarsRef::getter_stringRepresentation (C_Compiler */* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string ("__VARS__") ; +//--- + return result_result ; +} -//-------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_uint_33__32__5F_or_5F_error (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_object_5F_t operand0 = GALGAS_object_5F_t::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_uint_33__32__5F_or_5F_error (operand0, - operand1, - inCompiler - COMMA_THERE).getter_object (THERE) ; -} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@gtlBool stringRepresentation' +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +GALGAS_string cPtr_gtlBool::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + const GALGAS_gtlBool temp_0 = this ; + result_result = callExtensionGetter_string ((const cPtr_gtlBool *) temp_0.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 946)) ; +//--- + return result_result ; +} -C_galgas_function_descriptor functionDescriptor_uint_33__32__5F_or_5F_error ("uint32_or_error", - functionWithGenericHeader_uint_33__32__5F_or_5F_error, - & kTypeDescriptor_GALGAS_uint, - 2, - functionArgs_uint_33__32__5F_or_5F_error) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'uint32OrError' +//Overriding extension getter '@gtlChar stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint function_uint_33__32_OrError (GALGAS_object_5F_t inArgument_t, - GALGAS_string inArgument_att, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_uint result_v ; // Returned variable - result_v = GALGAS_uint (uint32_t (0U)) ; - if (inArgument_t.isValid ()) { - if (inArgument_t.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_33__32__5F_class) { - GALGAS_uint_33__32__5F_class cast_4034_ui ((cPtr_uint_33__32__5F_class *) inArgument_t.ptr ()) ; - result_v = cast_4034_ui.readProperty_value () ; - }else{ - TC_Array fixItArray0 ; - inCompiler->emitSemanticError (inArgument_t.readProperty_location (), inArgument_att.add_operation (GALGAS_string (" is not defined"), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 188)), fixItArray0 COMMA_SOURCE_FILE ("goil_basic_types.galgas", 188)) ; - } - } +GALGAS_string cPtr_gtlChar::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + const GALGAS_gtlChar temp_0 = this ; + result_result = callExtensionGetter_string ((const cPtr_gtlChar *) temp_0.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 953)) ; //--- - return result_v ; + return result_result ; } -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@gtlEnum stringRepresentation' +// +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_uint_33__32_OrError [3] = { - & kTypeDescriptor_GALGAS_object_5F_t, - & kTypeDescriptor_GALGAS_string, - nullptr -} ; +GALGAS_string cPtr_gtlEnum::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + const GALGAS_gtlEnum temp_0 = this ; + result_result = GALGAS_string ("$").add_operation (callExtensionGetter_string ((const cPtr_gtlEnum *) temp_0.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 960)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 960)) ; +//--- + return result_result ; +} -//-------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_uint_33__32_OrError (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_object_5F_t operand0 = GALGAS_object_5F_t::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_uint_33__32_OrError (operand0, - operand1, - inCompiler - COMMA_THERE).getter_object (THERE) ; -} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@gtlFloat stringRepresentation' +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +GALGAS_string cPtr_gtlFloat::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + const GALGAS_gtlFloat temp_0 = this ; + result_result = callExtensionGetter_string ((const cPtr_gtlFloat *) temp_0.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 967)) ; +//--- + return result_result ; +} -C_galgas_function_descriptor functionDescriptor_uint_33__32_OrError ("uint32OrError", - functionWithGenericHeader_uint_33__32_OrError, - & kTypeDescriptor_GALGAS_uint, - 2, - functionArgs_uint_33__32_OrError) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'sint32OrError' +//Overriding extension getter '@gtlInt stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_sint function_sint_33__32_OrError (GALGAS_object_5F_t inArgument_t, - GALGAS_string inArgument_att, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_sint result_v ; // Returned variable - result_v = GALGAS_sint (int32_t (0L)) ; - if (inArgument_t.isValid ()) { - if (inArgument_t.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_33__32__5F_class) { - GALGAS_sint_33__32__5F_class cast_4371_ui ((cPtr_sint_33__32__5F_class *) inArgument_t.ptr ()) ; - result_v = cast_4371_ui.readProperty_value () ; - }else{ - TC_Array fixItArray0 ; - inCompiler->emitSemanticError (inArgument_t.readProperty_location (), inArgument_att.add_operation (GALGAS_string (" is not defined"), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 208)), fixItArray0 COMMA_SOURCE_FILE ("goil_basic_types.galgas", 208)) ; - } - } +GALGAS_string cPtr_gtlInt::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + const GALGAS_gtlInt temp_0 = this ; + result_result = callExtensionGetter_string ((const cPtr_gtlInt *) temp_0.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 974)) ; //--- - return result_v ; + return result_result ; } -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_sint_33__32_OrError [3] = { - & kTypeDescriptor_GALGAS_object_5F_t, - & kTypeDescriptor_GALGAS_string, - nullptr -} ; - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@gtlString stringRepresentation' +// +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_sint_33__32_OrError (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_object_5F_t operand0 = GALGAS_object_5F_t::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_sint_33__32_OrError (operand0, - operand1, - inCompiler - COMMA_THERE).getter_object (THERE) ; +GALGAS_string cPtr_gtlString::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + const GALGAS_gtlString temp_0 = this ; + GALGAS_string var_literalString_30162 = callExtensionGetter_string ((const cPtr_gtlString *) temp_0.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 981)) ; + var_literalString_30162 = var_literalString_30162.getter_stringByReplacingStringByString (GALGAS_string ("\n"), GALGAS_string ("\\n"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 982)) ; + var_literalString_30162 = var_literalString_30162.getter_stringByReplacingStringByString (GALGAS_string (" "), GALGAS_string ("\\t"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 983)) ; + var_literalString_30162 = var_literalString_30162.getter_stringByReplacingStringByString (GALGAS_string (" "), GALGAS_string ("\\f"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 984)) ; + var_literalString_30162 = var_literalString_30162.getter_stringByReplacingStringByString (GALGAS_string ("\r"), GALGAS_string ("\\r"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 985)) ; + var_literalString_30162 = var_literalString_30162.getter_stringByReplacingStringByString (GALGAS_string (" "), GALGAS_string ("\\v"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 986)) ; + var_literalString_30162 = var_literalString_30162.getter_stringByReplacingStringByString (GALGAS_string ("\\"), GALGAS_string ("\\\\"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 987)) ; + var_literalString_30162 = var_literalString_30162.getter_stringByReplacingStringByString (GALGAS_string ("\""), GALGAS_string ("\\\""), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 988)) ; + result_result = GALGAS_string ("\"").add_operation (var_literalString_30162, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 989)).add_operation (GALGAS_string ("\""), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 989)) ; +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_sint_33__32_OrError ("sint32OrError", - functionWithGenericHeader_sint_33__32_OrError, - & kTypeDescriptor_GALGAS_sint, - 2, - functionArgs_sint_33__32_OrError) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'uint64OrError' +//Overriding extension getter '@gtlUnconstructed stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint_36__34_ function_uint_36__34_OrError (GALGAS_object_5F_t inArgument_t, - GALGAS_string inArgument_att, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_uint_36__34_ result_v ; // Returned variable - result_v = GALGAS_uint_36__34_ (uint64_t (0ULL)) ; - if (inArgument_t.isValid ()) { - if (inArgument_t.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_36__34__5F_class) { - GALGAS_uint_36__34__5F_class cast_4708_ui ((cPtr_uint_36__34__5F_class *) inArgument_t.ptr ()) ; - result_v = cast_4708_ui.readProperty_value () ; - }else{ - TC_Array fixItArray0 ; - inCompiler->emitSemanticError (inArgument_t.readProperty_location (), GALGAS_string ("Internal error, ").add_operation (inArgument_att, inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 228)).add_operation (GALGAS_string (" has a wrong datatype"), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 228)), fixItArray0 COMMA_SOURCE_FILE ("goil_basic_types.galgas", 228)) ; - } - } +GALGAS_string cPtr_gtlUnconstructed::getter_stringRepresentation (C_Compiler */* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string ("*UNCONSTRUCTED*") ; //--- - return result_v ; + return result_result ; } -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_uint_36__34_OrError [3] = { - & kTypeDescriptor_GALGAS_object_5F_t, - & kTypeDescriptor_GALGAS_string, - nullptr -} ; - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@gtlType stringRepresentation' +// +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_uint_36__34_OrError (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_object_5F_t operand0 = GALGAS_object_5F_t::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_uint_36__34_OrError (operand0, - operand1, - inCompiler - COMMA_THERE).getter_object (THERE) ; +GALGAS_string cPtr_gtlType::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + const GALGAS_gtlType temp_0 = this ; + result_result = GALGAS_string ("@").add_operation (callExtensionGetter_string ((const cPtr_gtlType *) temp_0.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1003)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1003)) ; +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_uint_36__34_OrError ("uint64OrError", - functionWithGenericHeader_uint_36__34_OrError, - & kTypeDescriptor_GALGAS_uint_36__34_, - 2, - functionArgs_uint_36__34_OrError) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'luint64OrError' +//Overriding extension getter '@gtlList stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_luint_36__34_ function_luint_36__34_OrError (GALGAS_object_5F_t inArgument_t, - GALGAS_string inArgument_att, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_luint_36__34_ result_v ; // Returned variable - if (inArgument_t.isValid ()) { - if (inArgument_t.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_36__34__5F_class) { - GALGAS_uint_36__34__5F_class cast_4926_ui ((cPtr_uint_36__34__5F_class *) inArgument_t.ptr ()) ; - result_v = GALGAS_luint_36__34_::class_func_new (cast_4926_ui.readProperty_value (), cast_4926_ui.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 238)) ; - }else{ - result_v = GALGAS_luint_36__34_::class_func_new (GALGAS_uint_36__34_ (uint64_t (0ULL)), GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 240)), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 240)) ; - TC_Array fixItArray0 ; - inCompiler->emitSemanticError (inArgument_t.readProperty_location (), GALGAS_string ("Internal error, ").add_operation (inArgument_att, inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 241)).add_operation (GALGAS_string (" has a wrong datatype"), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 241)), fixItArray0 COMMA_SOURCE_FILE ("goil_basic_types.galgas", 241)) ; +GALGAS_string cPtr_gtlList::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string ("@( ") ; + cEnumerator_list enumerator_31342 (this->mProperty_value, kENUMERATION_UP) ; + while (enumerator_31342.hasCurrentObject ()) { + result_result = result_result.add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlData *) enumerator_31342.current_value (HERE).ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1012)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1012)) ; + if (enumerator_31342.hasNextObject ()) { + result_result = result_result.add_operation (GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1014)) ; } + enumerator_31342.gotoNextObject () ; } + result_result = result_result.add_operation (GALGAS_string (" )"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1016)) ; //--- - return result_v ; + return result_result ; } -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_luint_36__34_OrError [3] = { - & kTypeDescriptor_GALGAS_object_5F_t, - & kTypeDescriptor_GALGAS_string, - nullptr -} ; - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@gtlMap stringRepresentation' +// +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_luint_36__34_OrError (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_object_5F_t operand0 = GALGAS_object_5F_t::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_luint_36__34_OrError (operand0, - operand1, - inCompiler - COMMA_THERE).getter_object (THERE) ; +GALGAS_string cPtr_gtlMap::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string ("@[ ") ; + cEnumerator_gtlVarMap enumerator_31655 (this->mProperty_value, kENUMERATION_UP) ; + while (enumerator_31655.hasCurrentObject ()) { + result_result = result_result.add_operation (GALGAS_string ("\""), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1025)).add_operation (enumerator_31655.current_lkey (HERE).readProperty_string (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1025)).add_operation (GALGAS_string ("\": "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1025)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlData *) enumerator_31655.current_value (HERE).ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1025)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1025)) ; + if (enumerator_31655.hasNextObject ()) { + result_result = result_result.add_operation (GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1027)) ; + } + enumerator_31655.gotoNextObject () ; + } + result_result = result_result.add_operation (GALGAS_string (" ]"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1029)) ; +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_luint_36__34_OrError ("luint64OrError", - functionWithGenericHeader_luint_36__34_OrError, - & kTypeDescriptor_GALGAS_luint_36__34_, - 2, - functionArgs_luint_36__34_OrError) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'sint64OrError' +//Overriding extension getter '@gtlStruct stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_sint_36__34_ function_sint_36__34_OrError (GALGAS_object_5F_t inArgument_t, - GALGAS_string inArgument_att, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_sint_36__34_ result_v ; // Returned variable - result_v = GALGAS_sint_36__34_ (int64_t (0LL)) ; - if (inArgument_t.isValid ()) { - if (inArgument_t.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_36__34__5F_class) { - GALGAS_sint_36__34__5F_class cast_5365_ui ((cPtr_sint_36__34__5F_class *) inArgument_t.ptr ()) ; - result_v = cast_5365_ui.readProperty_value () ; - }else{ - TC_Array fixItArray0 ; - inCompiler->emitSemanticError (inArgument_t.readProperty_location (), GALGAS_string ("Internal error, ").add_operation (inArgument_att, inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 261)).add_operation (GALGAS_string (" has a wrong datatype"), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 261)), fixItArray0 COMMA_SOURCE_FILE ("goil_basic_types.galgas", 261)) ; +GALGAS_string cPtr_gtlStruct::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string ("@{ ") ; + cEnumerator_gtlVarMap enumerator_31995 (this->mProperty_value, kENUMERATION_UP) ; + while (enumerator_31995.hasCurrentObject ()) { + result_result = result_result.add_operation (enumerator_31995.current_lkey (HERE).readProperty_string (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1038)).add_operation (GALGAS_string (": "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1038)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlData *) enumerator_31995.current_value (HERE).ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1038)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1038)) ; + if (enumerator_31995.hasNextObject ()) { + result_result = result_result.add_operation (GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1040)) ; } + enumerator_31995.gotoNextObject () ; } + result_result = result_result.add_operation (GALGAS_string (" }"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1042)) ; //--- - return result_v ; + return result_result ; } -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_sint_36__34_OrError [3] = { - & kTypeDescriptor_GALGAS_object_5F_t, - & kTypeDescriptor_GALGAS_string, - nullptr -} ; - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@gtlSet stringRepresentation' +// +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_sint_36__34_OrError (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_object_5F_t operand0 = GALGAS_object_5F_t::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_sint_36__34_OrError (operand0, - operand1, - inCompiler - COMMA_THERE).getter_object (THERE) ; +GALGAS_string cPtr_gtlSet::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string ("@! ") ; + cEnumerator_lstringset enumerator_32319 (this->mProperty_value, kENUMERATION_UP) ; + while (enumerator_32319.hasCurrentObject ()) { + result_result = result_result.add_operation (enumerator_32319.current_lkey (HERE).readProperty_string (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1051)) ; + if (enumerator_32319.hasNextObject ()) { + result_result = result_result.add_operation (GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1053)) ; + } + enumerator_32319.gotoNextObject () ; + } + result_result = result_result.add_operation (GALGAS_string (" !"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1055)) ; +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_sint_36__34_OrError ("sint64OrError", - functionWithGenericHeader_sint_36__34_OrError, - & kTypeDescriptor_GALGAS_sint_36__34_, - 2, - functionArgs_sint_36__34_OrError) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'floatOrError' +//Overriding extension getter '@gtlExpr stringRepresentation' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_double function_floatOrError (GALGAS_object_5F_t inArgument_t, - GALGAS_string inArgument_att, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_double result_v ; // Returned variable - result_v = GALGAS_double (0) ; - if (inArgument_t.isValid ()) { - if (inArgument_t.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_float_5F_class) { - GALGAS_float_5F_class cast_5715_ui ((cPtr_float_5F_class *) inArgument_t.ptr ()) ; - result_v = cast_5715_ui.readProperty_value () ; - }else{ - TC_Array fixItArray0 ; - inCompiler->emitSemanticError (inArgument_t.readProperty_location (), GALGAS_string ("Internal error, ").add_operation (inArgument_att, inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 281)).add_operation (GALGAS_string (" has a wrong datatype"), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 281)), fixItArray0 COMMA_SOURCE_FILE ("goil_basic_types.galgas", 281)) ; - } - } +GALGAS_string cPtr_gtlExpr::getter_stringRepresentation (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string ("@\? ").add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_value.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1062)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1062)).add_operation (GALGAS_string (" \?"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1062)) ; //--- - return result_v ; + return result_result ; } -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_floatOrError [3] = { - & kTypeDescriptor_GALGAS_object_5F_t, - & kTypeDescriptor_GALGAS_string, - nullptr -} ; +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlLetUnconstructedInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +void cPtr_gtlLetUnconstructedInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("let ").add_operation (extensionGetter_stringRepresentation (this->mProperty_lValue, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1161)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1161)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1161)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlLetInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_floatOrError (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_object_5F_t operand0 = GALGAS_object_5F_t::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_floatOrError (operand0, - operand1, - inCompiler - COMMA_THERE).getter_object (THERE) ; +void cPtr_gtlLetInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("let ").add_operation (extensionGetter_stringRepresentation (this->mProperty_lValue, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1168)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1167)).add_operation (GALGAS_string (" := "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1168)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rValue.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1170)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1169)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1167)) ; } - -//-------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_floatOrError ("floatOrError", - functionWithGenericHeader_floatOrError, - & kTypeDescriptor_GALGAS_double, - 2, - functionArgs_floatOrError) ; - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'stringAttributeOrError' +//Overriding extension method '@gtlLetAddInstruction display' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring function_stringAttributeOrError (const GALGAS_object_5F_t & constinArgument_attribute, - const GALGAS_string & constinArgument_attributeName, - Compiler * inCompiler +void cPtr_gtlLetAddInstruction::method_display (C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_lstring result_result ; // Returned variable - result_result = function_emptyLString (inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 303)) ; - if (constinArgument_attribute.isValid ()) { - if (constinArgument_attribute.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_stringAttribute) { - GALGAS_stringAttribute cast_6260_attribute ((cPtr_stringAttribute *) constinArgument_attribute.ptr ()) ; - result_result = GALGAS_lstring::class_func_new (cast_6260_attribute.readProperty_value (), cast_6260_attribute.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 306)) ; - }else{ - TC_Array fixItArray0 ; - inCompiler->emitSemanticError (constinArgument_attribute.readProperty_location (), GALGAS_string ("Internal error ").add_operation (constinArgument_attributeName, inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 308)).add_operation (GALGAS_string (" has a wrong datatype"), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 308)), fixItArray0 COMMA_SOURCE_FILE ("goil_basic_types.galgas", 308)) ; - } - } -//--- - return result_result ; + inCompiler->printMessage (GALGAS_string ("let ").add_operation (extensionGetter_stringRepresentation (this->mProperty_lValue, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1177)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1176)).add_operation (GALGAS_string (" += "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1177)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rValue.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1179)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1178)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1176)) ; } +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlLetSubstractInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- - -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_stringAttributeOrError [3] = { - & kTypeDescriptor_GALGAS_object_5F_t, - & kTypeDescriptor_GALGAS_string, - nullptr -} ; - -//-------------------------------------------------------------------------------------------------- - -static GALGAS_object functionWithGenericHeader_stringAttributeOrError (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_object_5F_t operand0 = GALGAS_object_5F_t::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_stringAttributeOrError (operand0, - operand1, - inCompiler - COMMA_THERE).getter_object (THERE) ; +void cPtr_gtlLetSubstractInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("let ").add_operation (extensionGetter_stringRepresentation (this->mProperty_lValue, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1186)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1185)).add_operation (GALGAS_string (" -= "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1186)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rValue.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1188)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1187)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1185)) ; } - -//-------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_stringAttributeOrError ("stringAttributeOrError", - functionWithGenericHeader_stringAttributeOrError, - & kTypeDescriptor_GALGAS_lstring, - 2, - functionArgs_stringAttributeOrError) ; - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension setter '@structAttribute mergeSubAttributes' +//Overriding extension method '@gtlLetMultiplyInstruction display' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static void extensionSetter_structAttribute_mergeSubAttributes (cPtr_object_5F_t * inObject, - GALGAS_object_5F_t inArgument_withObject, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - cPtr_structAttribute * object = (cPtr_structAttribute *) inObject ; - macroValidSharedObject (object, cPtr_structAttribute) ; - if (inArgument_withObject.isValid ()) { - if (inArgument_withObject.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_structAttribute) { - GALGAS_structAttribute cast_6665_structObject ((cPtr_structAttribute *) inArgument_withObject.ptr ()) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsEqual, object->mProperty_structName.readProperty_string ().objectCompare (cast_6665_structObject.readProperty_structName ().readProperty_string ())).boolEnum () ; - if (kBoolTrue == test_0) { - { - object->mProperty_subAttributes.insulate (HERE) ; - cPtr_objectAttributes * ptr_6759 = (cPtr_objectAttributes *) object->mProperty_subAttributes.ptr () ; - callExtensionSetter_mergeAttributes ((cPtr_objectAttributes *) ptr_6759, cast_6665_structObject.readProperty_subAttributes (), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 322)) ; - } - } - } - } - } +void cPtr_gtlLetMultiplyInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("let ").add_operation (extensionGetter_stringRepresentation (this->mProperty_lValue, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1195)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1194)).add_operation (GALGAS_string (" *= "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1195)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rValue.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1197)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1196)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1194)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlLetDivideInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- -static void defineExtensionSetter_structAttribute_mergeSubAttributes (void) { - enterExtensionSetter_mergeSubAttributes (kTypeDescriptor_GALGAS_structAttribute.mSlotID, - extensionSetter_structAttribute_mergeSubAttributes) ; +void cPtr_gtlLetDivideInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("let ").add_operation (extensionGetter_stringRepresentation (this->mProperty_lValue, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1204)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1203)).add_operation (GALGAS_string (" /= "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1204)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rValue.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1206)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1205)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1203)) ; } - -//-------------------------------------------------------------------------------------------------- - -PrologueEpilogue gSetter_structAttribute_mergeSubAttributes (defineExtensionSetter_structAttribute_mergeSubAttributes, nullptr) ; - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'empty_lstring' +//Overriding extension method '@gtlLetModuloInstruction display' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring function_empty_5F_lstring (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_lstring result_ls ; // Returned variable - result_ls = GALGAS_lstring::class_func_new (GALGAS_string::makeEmptyString (), GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 487)), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 487)) ; -//--- - return result_ls ; +void cPtr_gtlLetModuloInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("let ").add_operation (extensionGetter_stringRepresentation (this->mProperty_lValue, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1213)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1212)).add_operation (GALGAS_string (" mod= "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1213)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rValue.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1215)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1214)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1212)) ; } +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlLetShiftLeftInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- - -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_empty_5F_lstring [1] = { - nullptr -} ; - -//-------------------------------------------------------------------------------------------------- - -static GALGAS_object functionWithGenericHeader_empty_5F_lstring (Compiler * inCompiler, - const cObjectArray & /* inEffectiveParameterArray */, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - return function_empty_5F_lstring (inCompiler COMMA_THERE).getter_object (THERE) ; +void cPtr_gtlLetShiftLeftInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("let ").add_operation (extensionGetter_stringRepresentation (this->mProperty_lValue, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1222)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1221)).add_operation (GALGAS_string (" <<= "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1222)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rValue.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1224)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1223)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1221)) ; } - -//-------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_empty_5F_lstring ("empty_lstring", - functionWithGenericHeader_empty_5F_lstring, - & kTypeDescriptor_GALGAS_lstring, - 0, - functionArgs_empty_5F_lstring) ; - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'void_obj' +//Overriding extension method '@gtlLetShiftRightInstruction display' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_object_5F_t function_void_5F_obj (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_object_5F_t result_v ; // Returned variable - result_v = GALGAS_void::class_func_new (function_emptyLString (inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 492)), GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 492)) COMMA_SOURCE_FILE ("goil_basic_types.galgas", 492)) ; -//--- - return result_v ; +void cPtr_gtlLetShiftRightInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("let ").add_operation (extensionGetter_stringRepresentation (this->mProperty_lValue, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1231)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1230)).add_operation (GALGAS_string (" >>= "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1231)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rValue.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1233)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1232)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1230)) ; } +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlLetAndInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- - -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_void_5F_obj [1] = { - nullptr -} ; - -//-------------------------------------------------------------------------------------------------- - -static GALGAS_object functionWithGenericHeader_void_5F_obj (Compiler * inCompiler, - const cObjectArray & /* inEffectiveParameterArray */, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - return function_void_5F_obj (inCompiler COMMA_THERE).getter_object (THERE) ; +void cPtr_gtlLetAndInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("let ").add_operation (extensionGetter_stringRepresentation (this->mProperty_lValue, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1240)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1239)).add_operation (GALGAS_string (" &= "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1240)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rValue.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1242)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1241)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1239)) ; } - -//-------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_void_5F_obj ("void_obj", - functionWithGenericHeader_void_5F_obj, - & kTypeDescriptor_GALGAS_object_5F_t, - 0, - functionArgs_void_5F_obj) ; - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'luint64_value' +//Overriding extension method '@gtlLetOrInstruction display' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_luint_36__34_ function_luint_36__34__5F_value (const GALGAS_uint_36__34__5F_class & constinArgument_c, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_luint_36__34_ result_v ; // Returned variable - result_v = GALGAS_luint_36__34_::class_func_new (constinArgument_c.readProperty_value (), constinArgument_c.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 686)) ; -//--- - return result_v ; +void cPtr_gtlLetOrInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("let ").add_operation (extensionGetter_stringRepresentation (this->mProperty_lValue, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1249)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1248)).add_operation (GALGAS_string (" |= "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1249)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rValue.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1251)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1250)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1248)) ; } +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlLetXorInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- - -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_luint_36__34__5F_value [2] = { - & kTypeDescriptor_GALGAS_uint_36__34__5F_class, - nullptr -} ; - -//-------------------------------------------------------------------------------------------------- - -static GALGAS_object functionWithGenericHeader_luint_36__34__5F_value (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_uint_36__34__5F_class operand0 = GALGAS_uint_36__34__5F_class::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_luint_36__34__5F_value (operand0, - inCompiler - COMMA_THERE).getter_object (THERE) ; +void cPtr_gtlLetXorInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("let ").add_operation (extensionGetter_stringRepresentation (this->mProperty_lValue, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1258)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1257)).add_operation (GALGAS_string (" ^= "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1258)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rValue.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1260)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1259)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1257)) ; } - -//-------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_luint_36__34__5F_value ("luint64_value", - functionWithGenericHeader_luint_36__34__5F_value, - & kTypeDescriptor_GALGAS_luint_36__34_, - 1, - functionArgs_luint_36__34__5F_value) ; - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'projectName' +//Overriding extension method '@gtlLoopStatementInstruction display' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string function_projectName (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_directory ; // Returned variable - result_directory = GALGAS_string::class_func_stringWithSourceFilePath (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 30)).getter_stringByDeletingPathExtension (SOURCE_FILE ("goil_routines.galgas", 30)) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsNotEqual, GALGAS_string (gOption_goil_5F_options_project_5F_dir.readProperty_value ()).objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; - if (kBoolTrue == test_0) { - result_directory = GALGAS_string (gOption_goil_5F_options_project_5F_dir.readProperty_value ()) ; - } +void cPtr_gtlLoopStatementInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string temp_0 ; + const enumGalgasBool test_1 = GALGAS_bool (kIsEqual, this->mProperty_upDown.objectCompare (GALGAS_sint_36__34_ (int64_t (-1LL)))).boolEnum () ; + if (kBoolTrue == test_1) { + temp_0 = GALGAS_string (" down") ; + }else if (kBoolFalse == test_1) { + temp_0 = GALGAS_string::makeEmptyString () ; } -//--- - return result_directory ; + inCompiler->printMessage (GALGAS_string ("loop ").add_operation (this->mProperty_identifier.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1266)).add_operation (GALGAS_string (" from "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1267)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_start.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1269)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1268)).add_operation (temp_0, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1269)).add_operation (GALGAS_string (" to "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1270)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_stop.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1272)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1271)).add_operation (GALGAS_string (" step "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1272)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_step.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1274)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1273)).add_operation (GALGAS_string (" do"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1274)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1266)) ; } +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlWarningStatementInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- - -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_projectName [1] = { - nullptr -} ; - -//-------------------------------------------------------------------------------------------------- - -static GALGAS_object functionWithGenericHeader_projectName (Compiler * inCompiler, - const cObjectArray & /* inEffectiveParameterArray */, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - return function_projectName (inCompiler COMMA_THERE).getter_object (THERE) ; +void cPtr_gtlWarningStatementInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string temp_0 ; + const enumGalgasBool test_1 = this->mProperty_hereInstead.boolEnum () ; + if (kBoolTrue == test_1) { + temp_0 = GALGAS_string ("here") ; + }else if (kBoolFalse == test_1) { + temp_0 = extensionGetter_stringRepresentation (this->mProperty_identifier, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1282)) ; + } + inCompiler->printMessage (GALGAS_string ("warning ").add_operation (temp_0, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1281)).add_operation (GALGAS_string (" : "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1282)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_warningMessage.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1284)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1283)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1281)) ; } - -//-------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_projectName ("projectName", - functionWithGenericHeader_projectName, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_projectName) ; - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'oil_dir' +//Overriding extension method '@gtlErrorStatementInstruction display' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string function_oil_5F_dir (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_dir ; // Returned variable - result_dir = GALGAS_string::class_func_stringWithSourceFilePath (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 37)).getter_stringByDeletingLastPathComponent (SOURCE_FILE ("goil_routines.galgas", 37)) ; -//--- - return result_dir ; +void cPtr_gtlErrorStatementInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string temp_0 ; + const enumGalgasBool test_1 = this->mProperty_hereInstead.boolEnum () ; + if (kBoolTrue == test_1) { + temp_0 = GALGAS_string ("here") ; + }else if (kBoolFalse == test_1) { + temp_0 = extensionGetter_stringRepresentation (this->mProperty_identifier, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1291)) ; + } + inCompiler->printMessage (GALGAS_string ("error ").add_operation (temp_0, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1290)).add_operation (GALGAS_string (" : "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1291)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_errorMessage.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1293)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1292)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1290)) ; } +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlDisplayStatementInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- +void cPtr_gtlDisplayStatementInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("display ").add_operation (extensionGetter_stringRepresentation (this->mProperty_variablePath, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1299)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1299)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1299)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlPrintStatementInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_oil_5F_dir [1] = { - nullptr -} ; - -//-------------------------------------------------------------------------------------------------- - -static GALGAS_object functionWithGenericHeader_oil_5F_dir (Compiler * inCompiler, - const cObjectArray & /* inEffectiveParameterArray */, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - return function_oil_5F_dir (inCompiler COMMA_THERE).getter_object (THERE) ; +void cPtr_gtlPrintStatementInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string temp_0 ; + const enumGalgasBool test_1 = this->mProperty_carriageReturn.boolEnum () ; + if (kBoolTrue == test_1) { + temp_0 = GALGAS_string ("ln ") ; + }else if (kBoolFalse == test_1) { + temp_0 = GALGAS_string (" ") ; + } + inCompiler->printMessage (GALGAS_string ("print").add_operation (temp_0, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1305)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_messageToPrint.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1307)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1306)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1305)) ; } - -//-------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_oil_5F_dir ("oil_dir", - functionWithGenericHeader_oil_5F_dir, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_oil_5F_dir) ; - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'arch' +//Overriding extension method '@gtlTemplateStringInstruction display' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string function_arch (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_arch_5F_name ; // Returned variable - GALGAS_stringlist var_components_1206 = GALGAS_string (gOption_goil_5F_options_target_5F_platform.readProperty_value ()).getter_componentsSeparatedByString (GALGAS_string ("/") COMMA_SOURCE_FILE ("goil_routines.galgas", 45)) ; - var_components_1206.method_first (result_arch_5F_name, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 46)) ; -//--- - return result_arch_5F_name ; +void cPtr_gtlTemplateStringInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("%").add_operation (this->mProperty_value, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1313)).add_operation (GALGAS_string ("%"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1313)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1313)) ; } +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlInputStatementInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- - -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_arch [1] = { - nullptr -} ; - -//-------------------------------------------------------------------------------------------------- - -static GALGAS_object functionWithGenericHeader_arch (Compiler * inCompiler, - const cObjectArray & /* inEffectiveParameterArray */, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - return function_arch (inCompiler COMMA_THERE).getter_object (THERE) ; +void cPtr_gtlInputStatementInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("input ( ").add_operation (extensionGetter_stringRepresentation (this->mProperty_formalArguments, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1319)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1319)).add_operation (GALGAS_string (" )"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1319)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1319)) ; } +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlSortStatementInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_arch ("arch", - functionWithGenericHeader_arch, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_arch) ; +void cPtr_gtlSortStatementInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("sort ").add_operation (extensionGetter_stringRepresentation (this->mProperty_variablePath, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1326)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1325)).add_operation (GALGAS_string (" "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1326)).add_operation (extensionGetter_stringRepresentation (this->mProperty_order, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1328)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1327)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1325)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlSortStatementStructInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +void cPtr_gtlSortStatementStructInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("sort ").add_operation (extensionGetter_stringRepresentation (this->mProperty_variablePath, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1335)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1334)).add_operation (GALGAS_string (" by "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1335)).add_operation (extensionGetter_stringRepresentation (this->mProperty_sortingKey, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1337)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1336)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1334)) ; +} +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'chip' +//Overriding extension method '@gtlTemplateInstruction display' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string function_chip (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_chip_5F_name ; // Returned variable - GALGAS_stringlist var_components_1527 = GALGAS_string (gOption_goil_5F_options_target_5F_platform.readProperty_value ()).getter_componentsSeparatedByString (GALGAS_string ("/") COMMA_SOURCE_FILE ("goil_routines.galgas", 54)) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsStrictSup, var_components_1527.getter_count (SOURCE_FILE ("goil_routines.galgas", 55)).objectCompare (GALGAS_uint (uint32_t (1U)))).boolEnum () ; - if (kBoolTrue == test_0) { - result_chip_5F_name = var_components_1527.getter_mValueAtIndex (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 56)) ; - } +void cPtr_gtlTemplateInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string temp_0 ; + const enumGalgasBool test_1 = this->mProperty_isGlobal.boolEnum () ; + if (kBoolTrue == test_1) { + temp_0 = GALGAS_string::makeEmptyString () ; + }else if (kBoolFalse == test_1) { + temp_0 = GALGAS_string ("( ").add_operation (extensionGetter_stringRepresentation (this->mProperty_arguments, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1344)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1344)).add_operation (GALGAS_string (" ) "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1344)) ; } - if (kBoolFalse == test_0) { - result_chip_5F_name = GALGAS_string::makeEmptyString () ; + GALGAS_string temp_2 ; + const enumGalgasBool test_3 = this->mProperty_ifExists.boolEnum () ; + if (kBoolTrue == test_3) { + temp_2 = GALGAS_string ("if exists ") ; + }else if (kBoolFalse == test_3) { + temp_2 = GALGAS_string::makeEmptyString () ; } -//--- - return result_chip_5F_name ; + GALGAS_string temp_4 ; + const enumGalgasBool test_5 = GALGAS_bool (kIsEqual, GALGAS_string::makeEmptyString ().objectCompare (this->mProperty_prefix.readProperty_string ())).boolEnum () ; + if (kBoolTrue == test_5) { + temp_4 = GALGAS_string (" ") ; + }else if (kBoolFalse == test_5) { + temp_4 = GALGAS_string (" in ").add_operation (this->mProperty_prefix.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1347)).add_operation (GALGAS_string (" "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1347)) ; + } + GALGAS_string temp_6 ; + const enumGalgasBool test_7 = this->mProperty_ifExists.operator_and (GALGAS_bool (kIsStrictSup, this->mProperty_instructionsIfNotFound.getter_count (SOURCE_FILE ("gtl_debugger.galgas", 1348)).objectCompare (GALGAS_uint (uint32_t (0U)))) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1348)).boolEnum () ; + if (kBoolTrue == test_7) { + temp_6 = GALGAS_string ("or ...") ; + }else if (kBoolFalse == test_7) { + temp_6 = GALGAS_string::makeEmptyString () ; + } + inCompiler->printMessage (GALGAS_string ("template ").add_operation (temp_0, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1343)).add_operation (temp_2, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1344)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_fileName.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1346)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1345)).add_operation (temp_4, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1346)).add_operation (temp_6, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1347)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1343)) ; } +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlEmitInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- +void cPtr_gtlEmitInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("! ").add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_rValue.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1354)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1354)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1354)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlIfStatementInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_chip [1] = { - nullptr -} ; - -//-------------------------------------------------------------------------------------------------- +void cPtr_gtlIfStatementInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("if ").add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_thenElsifList.getter_conditionAtIndex (GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1361)).ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1361)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1360)).add_operation (GALGAS_string (" then"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1361)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1360)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlForStatementInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_chip (Compiler * inCompiler, - const cObjectArray & /* inEffectiveParameterArray */, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - return function_chip (inCompiler COMMA_THERE).getter_object (THERE) ; +void cPtr_gtlForStatementInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("for ").add_operation (this->mProperty_identifier.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1368)).add_operation (GALGAS_string (" in "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1369)).add_operation (extensionGetter_stringRepresentation (this->mProperty_iterable, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1371)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1370)).add_operation (GALGAS_string (" do"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1371)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1368)) ; } +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlForeachStatementInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +void cPtr_gtlForeachStatementInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string temp_0 ; + const enumGalgasBool test_1 = GALGAS_bool (kIsEqual, GALGAS_string::makeEmptyString ().objectCompare (this->mProperty_keyName.readProperty_string ())).boolEnum () ; + if (kBoolTrue == test_1) { + temp_0 = GALGAS_string::makeEmptyString () ; + }else if (kBoolFalse == test_1) { + temp_0 = this->mProperty_keyName.readProperty_string ().add_operation (GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1379)) ; + } + inCompiler->printMessage (GALGAS_string ("foreach ").add_operation (temp_0, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1378)).add_operation (this->mProperty_variableName.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1379)).add_operation (GALGAS_string (" ("), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1380)).add_operation (this->mProperty_indexName.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1381)).add_operation (GALGAS_string (") "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1381)).add_operation (GALGAS_string (" in "), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1381)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_iterable.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1383)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1382)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1378)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlGetColumnInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_chip ("chip", - functionWithGenericHeader_chip, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_chip) ; +void cPtr_gtlGetColumnInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("\? ").add_operation (extensionGetter_stringRepresentation (this->mProperty_destVariable, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1389)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1389)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1389)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlLibrariesInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +void cPtr_gtlLibrariesInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("libraries") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1395)) ; +} +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'board' +//Overriding extension method '@gtlRepeatStatementInstruction display' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string function_board (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_board_5F_name ; // Returned variable - GALGAS_stringlist var_components_1945 = GALGAS_string (gOption_goil_5F_options_target_5F_platform.readProperty_value ()).getter_componentsSeparatedByString (GALGAS_string ("/") COMMA_SOURCE_FILE ("goil_routines.galgas", 68)) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsStrictSup, var_components_1945.getter_count (SOURCE_FILE ("goil_routines.galgas", 69)).objectCompare (GALGAS_uint (uint32_t (2U)))).boolEnum () ; - if (kBoolTrue == test_0) { - { - GALGAS_string joker_2098 ; // Joker input parameter - var_components_1945.setter_popFirst (joker_2098, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 70)) ; - } - { - GALGAS_string joker_2129 ; // Joker input parameter - var_components_1945.setter_popFirst (joker_2129, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 71)) ; +void cPtr_gtlRepeatStatementInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("repeat ") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1401)) ; + if (this->mProperty_limit.isValid ()) { + if (this->mProperty_limit.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_gtlTerminal) { + GALGAS_gtlTerminal cast_42105_term ((cPtr_gtlTerminal *) this->mProperty_limit.ptr ()) ; + if (cast_42105_term.readProperty_value ().isValid ()) { + if (cast_42105_term.readProperty_value ().dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_gtlInt) { + GALGAS_gtlInt cast_42153_intLimit ((cPtr_gtlInt *) cast_42105_term.readProperty_value ().ptr ()) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsNotEqual, cast_42153_intLimit.readProperty_value ().getter_uint (inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1406)).objectCompare (GALGAS_uint::constructor_max (SOURCE_FILE ("gtl_debugger.galgas", 1406)))).boolEnum () ; + if (kBoolTrue == test_0) { + inCompiler->printMessage (GALGAS_string (" (").add_operation (callExtensionGetter_string ((const cPtr_gtlInt *) cast_42153_intLimit.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1407)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1407)).add_operation (GALGAS_string (")"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1407)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1407)) ; + } + } + } } - result_board_5F_name = GALGAS_string::class_func_componentsJoinedByString (var_components_1945, GALGAS_string ("/") COMMA_SOURCE_FILE ("goil_routines.galgas", 72)) ; + }else{ + inCompiler->printMessage (GALGAS_string (" (").add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_limit.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1411)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1411)).add_operation (GALGAS_string (")"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1411)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1411)) ; } } - if (kBoolFalse == test_0) { - result_board_5F_name = GALGAS_string::makeEmptyString () ; - } -//--- - return result_board_5F_name ; } +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlSetterCallInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- - -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_board [1] = { - nullptr -} ; - -//-------------------------------------------------------------------------------------------------- - -static GALGAS_object functionWithGenericHeader_board (Compiler * inCompiler, - const cObjectArray & /* inEffectiveParameterArray */, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - return function_board (inCompiler COMMA_THERE).getter_object (THERE) ; +void cPtr_gtlSetterCallInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string temp_0 ; + const enumGalgasBool test_1 = GALGAS_bool (kIsStrictSup, this->mProperty_arguments.getter_count (SOURCE_FILE ("gtl_debugger.galgas", 1421)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + if (kBoolTrue == test_1) { + temp_0 = GALGAS_string (": ").add_operation (extensionGetter_stringRepresentation (this->mProperty_arguments, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1422)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1422)).add_operation (GALGAS_string ("]"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1422)) ; + }else if (kBoolFalse == test_1) { + temp_0 = GALGAS_string ("]") ; + } + inCompiler->printMessage (GALGAS_string ("[!").add_operation (extensionGetter_stringRepresentation (this->mProperty_target, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1419)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1418)).add_operation (this->mProperty_setterName.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1419)).add_operation (temp_0, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1420)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1418)) ; } +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlVariablesInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_board ("board", - functionWithGenericHeader_board, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_board) ; - -//-------------------------------------------------------------------------------------------------- +void cPtr_gtlVariablesInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("variables") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1431)) ; +} +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'targetPathList' +//Overriding extension method '@gtlWriteToInstruction display' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_list function_targetPathList (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_list result_pathList ; // Returned variable - GALGAS_stringlist var_components_2363 = GALGAS_string (gOption_goil_5F_options_target_5F_platform.readProperty_value ()).getter_componentsSeparatedByString (GALGAS_string ("/") COMMA_SOURCE_FILE ("goil_routines.galgas", 82)) ; - result_pathList = GALGAS_list::class_func_emptyList (SOURCE_FILE ("goil_routines.galgas", 83)) ; - cEnumerator_stringlist enumerator_2494 (var_components_2363, kENUMERATION_UP) ; - while (enumerator_2494.hasCurrentObject ()) { - GALGAS_gtlData var_cont_2534 = GALGAS_gtlString::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 85)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 85)), enumerator_2494.current_mValue (HERE) COMMA_SOURCE_FILE ("goil_routines.galgas", 85)) ; - result_pathList.addAssign_operation (var_cont_2534 COMMA_SOURCE_FILE ("goil_routines.galgas", 86)) ; - enumerator_2494.gotoNextObject () ; +void cPtr_gtlWriteToInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string temp_0 ; + const enumGalgasBool test_1 = this->mProperty_isExecutable.boolEnum () ; + if (kBoolTrue == test_1) { + temp_0 = GALGAS_string ("executable ") ; + }else if (kBoolFalse == test_1) { + temp_0 = GALGAS_string::makeEmptyString () ; } -//--- - return result_pathList ; + inCompiler->printMessage (GALGAS_string ("write to ").add_operation (temp_0, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1437)).add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_fileNameExpression.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1439)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1438)).add_operation (GALGAS_string (" :"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1439)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1437)) ; } +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlTabStatementInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- - -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_targetPathList [1] = { - nullptr -} ; - -//-------------------------------------------------------------------------------------------------- - -static GALGAS_object functionWithGenericHeader_targetPathList (Compiler * inCompiler, - const cObjectArray & /* inEffectiveParameterArray */, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - return function_targetPathList (inCompiler COMMA_THERE).getter_object (THERE) ; +void cPtr_gtlTabStatementInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("tab ").add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_tabValue.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1447)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1447)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1447)) ; } +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@gtlDisplayStatementInstruction mayExecuteWithoutError' +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +GALGAS_bool cPtr_gtlDisplayStatementInstruction::getter_mayExecuteWithoutError (const GALGAS_gtlContext constinArgument_exeContext, + const GALGAS_gtlData constinArgument_context, + const GALGAS_library constinArgument_lib, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_bool result_may ; // Returned variable + result_may = extensionGetter_exists (this->mProperty_variablePath, constinArgument_exeContext, constinArgument_context, constinArgument_lib, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1468)) ; +//--- + return result_may ; +} -C_galgas_function_descriptor functionDescriptor_targetPathList ("targetPathList", - functionWithGenericHeader_targetPathList, - & kTypeDescriptor_GALGAS_list, - 0, - functionArgs_targetPathList) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'add_path_component' +//Overriding extension method '@gtlStepInstruction execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string function_add_5F_path_5F_component (GALGAS_string inArgument_path, - GALGAS_string inArgument_component, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_new_5F_path ; // Returned variable - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsNotEqual, inArgument_path.getter_characterAtIndex (inArgument_path.getter_count (SOURCE_FILE ("goil_routines.galgas", 97)).substract_operation (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 97)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 97)).objectCompare (GALGAS_char (TO_UNICODE (47)))).boolEnum () ; - if (kBoolTrue == test_0) { - result_new_5F_path = inArgument_path.add_operation (GALGAS_string ("/"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 98)).add_operation (inArgument_component, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 98)) ; - } +void cPtr_gtlStepInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & /* ioArgument_vars */, + GALGAS_library & /* ioArgument_lib */, + GALGAS_string & /* ioArgument_outputString */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + { + ioArgument_context.insulate (HERE) ; + cPtr_gtlContext * ptr_44266 = (cPtr_gtlContext *) ioArgument_context.ptr () ; + callExtensionSetter_setLoopOnCommand ((cPtr_gtlContext *) ptr_44266, GALGAS_bool (false), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1482)) ; } - if (kBoolFalse == test_0) { - result_new_5F_path = inArgument_path.add_operation (inArgument_component, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 100)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlStepInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_gtlStepInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("step") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1487)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlDoInstInstruction execute' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_gtlDoInstInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & /* ioArgument_vars */, + GALGAS_library & /* ioArgument_lib */, + GALGAS_string & /* ioArgument_outputString */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + { + ioArgument_context.insulate (HERE) ; + cPtr_gtlContext * ptr_44830 = (cPtr_gtlContext *) ioArgument_context.ptr () ; + callExtensionSetter_appendInstructionToStepDo ((cPtr_gtlContext *) ptr_44830, this->mProperty_instructionToDo, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1504)) ; } -//--- - return result_new_5F_path ; } +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlDoInstInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- +void cPtr_gtlDoInstInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("do ") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1509)) ; + callExtensionMethod_display ((cPtr_gtlInstruction *) this->mProperty_instructionToDo.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1510)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlDoNotInstruction execute' +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- +void cPtr_gtlDoNotInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & /* ioArgument_vars */, + GALGAS_library & /* ioArgument_lib */, + GALGAS_string & /* ioArgument_outputString */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + { + ioArgument_context.insulate (HERE) ; + cPtr_gtlContext * ptr_45425 = (cPtr_gtlContext *) ioArgument_context.ptr () ; + callExtensionSetter_deleteStepDoInstruction ((cPtr_gtlContext *) ptr_45425, this->mProperty_numToDelete, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1527)) ; + } +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlDoNotInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_add_5F_path_5F_component [3] = { - & kTypeDescriptor_GALGAS_string, - & kTypeDescriptor_GALGAS_string, - nullptr -} ; +void cPtr_gtlDoNotInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("do not ").add_operation (this->mProperty_numToDelete.readProperty_bigint ().getter_string (SOURCE_FILE ("gtl_debugger.galgas", 1532)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1532)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1532)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlDoNotAllInstruction execute' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_gtlDoNotAllInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & /* ioArgument_vars */, + GALGAS_library & /* ioArgument_lib */, + GALGAS_string & /* ioArgument_outputString */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + { + ioArgument_context.insulate (HERE) ; + cPtr_gtlContext * ptr_45993 = (cPtr_gtlContext *) ioArgument_context.ptr () ; + callExtensionSetter_deleteAllStepDoInstructions ((cPtr_gtlContext *) ptr_45993, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1548)) ; + } +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlDoNotAllInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +void cPtr_gtlDoNotAllInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("do not all") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1553)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlDoInstruction execute' +// +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_add_5F_path_5F_component (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_string operand0 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_add_5F_path_5F_component (operand0, - operand1, - inCompiler - COMMA_THERE).getter_object (THERE) ; +void cPtr_gtlDoInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & /* ioArgument_vars */, + GALGAS_library & /* ioArgument_lib */, + GALGAS_string & /* ioArgument_outputString */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + callExtensionMethod_listStepDoInstructions ((cPtr_gtlContext *) ioArgument_context.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1569)) ; } +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlDoInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +void cPtr_gtlDoInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("do") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1574)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlContinueInstruction execute' +// +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_add_5F_path_5F_component ("add_path_component", - functionWithGenericHeader_add_5F_path_5F_component, - & kTypeDescriptor_GALGAS_string, - 2, - functionArgs_add_5F_path_5F_component) ; +void cPtr_gtlContinueInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & /* ioArgument_vars */, + GALGAS_library & /* ioArgument_lib */, + GALGAS_string & /* ioArgument_outputString */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + { + ioArgument_context.insulate (HERE) ; + cPtr_gtlContext * ptr_47034 = (cPtr_gtlContext *) ioArgument_context.ptr () ; + callExtensionSetter_setBreakOnNext ((cPtr_gtlContext *) ptr_47034, GALGAS_bool (false), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1590)) ; + } + { + ioArgument_context.insulate (HERE) ; + cPtr_gtlContext * ptr_47070 = (cPtr_gtlContext *) ioArgument_context.ptr () ; + callExtensionSetter_setLoopOnCommand ((cPtr_gtlContext *) ptr_47070, GALGAS_bool (false), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1591)) ; + } +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlContinueInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +void cPtr_gtlContinueInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("cont") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1596)) ; +} +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'rootTemplatesDirectory' +//Overriding extension method '@gtlBreakpointInstruction execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string function_rootTemplatesDirectory (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_templateDirectory ; // Returned variable +void cPtr_gtlBreakpointInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & /* ioArgument_vars */, + GALGAS_library & /* ioArgument_lib */, + GALGAS_string & /* ioArgument_outputString */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_gtlInstructionList var_instructionList_47650 = ioArgument_context.readProperty_debuggerContext ().readProperty_instructionList () ; + GALGAS_string var_localFileName_47722 = GALGAS_string::makeEmptyString () ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsNotEqual, GALGAS_string (gOption_goil_5F_options_template_5F_dir.readProperty_value ()).objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; + test_0 = GALGAS_bool (kIsStrictSup, var_instructionList_47650.getter_count (SOURCE_FILE ("gtl_debugger.galgas", 1616)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; if (kBoolTrue == test_0) { - result_templateDirectory = GALGAS_string (gOption_goil_5F_options_template_5F_dir.readProperty_value ()) ; - } - } - if (kBoolFalse == test_0) { - GALGAS_string var_env_3104 = GALGAS_string::class_func_stringWithEnvironmentVariableOrEmpty (GALGAS_string ("GOIL_TEMPLATES") COMMA_SOURCE_FILE ("goil_routines.galgas", 110)) ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = GALGAS_bool (kIsNotEqual, var_env_3104.objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; + var_localFileName_47722 = callExtensionGetter_location ((const cPtr_gtlInstruction *) var_instructionList_47650.getter_instructionAtIndex (GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1618)).ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1618)).getter_file (inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1618)).getter_lastPathComponent (SOURCE_FILE ("gtl_debugger.galgas", 1619)) ; + enumGalgasBool test_1 = kBoolTrue ; if (kBoolTrue == test_1) { - result_templateDirectory = var_env_3104 ; - } - } - if (kBoolFalse == test_1) { - TC_Array fixItArray2 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 114)), GALGAS_string ("The templates path is not set. Use --templates option or set the GOIL_TEMPLATES environment variable"), fixItArray2 COMMA_SOURCE_FILE ("goil_routines.galgas", 114)) ; - result_templateDirectory.drop () ; // Release error dropped variable - } - } - result_templateDirectory = result_templateDirectory.getter_unixPathWithNativePath (SOURCE_FILE ("goil_routines.galgas", 118)) ; - result_templateDirectory = result_templateDirectory.getter_stringByStandardizingPath (SOURCE_FILE ("goil_routines.galgas", 119)) ; - enumGalgasBool test_3 = kBoolTrue ; - if (kBoolTrue == test_3) { - test_3 = GALGAS_bool (kIsNotEqual, result_templateDirectory.getter_characterAtIndex (GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 121)).objectCompare (GALGAS_char (TO_UNICODE (47)))).boolEnum () ; - if (kBoolTrue == test_3) { - enumGalgasBool test_4 = kBoolTrue ; - if (kBoolTrue == test_4) { - test_4 = GALGAS_bool (kIsEqual, result_templateDirectory.getter_characterAtIndex (GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 122)).objectCompare (GALGAS_char (TO_UNICODE (126)))).boolEnum () ; - if (kBoolTrue == test_4) { - GALGAS_string var_home_3672 = GALGAS_string::class_func_stringWithEnvironmentVariableOrEmpty (GALGAS_string ("HOME") COMMA_SOURCE_FILE ("goil_routines.galgas", 123)) ; - GALGAS_string var_relativeToHome_3753 = result_templateDirectory.getter_rightSubString (result_templateDirectory.getter_count (SOURCE_FILE ("goil_routines.galgas", 124)).substract_operation (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 124)) COMMA_SOURCE_FILE ("goil_routines.galgas", 124)) ; - result_templateDirectory = var_home_3672.add_operation (var_relativeToHome_3753, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 125)) ; + test_1 = GALGAS_bool (kIsEqual, this->mProperty_fileName.objectCompare (var_localFileName_47722)).operator_or (GALGAS_bool (kIsEqual, this->mProperty_fileName.objectCompare (GALGAS_string::makeEmptyString ())) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1621)).boolEnum () ; + if (kBoolTrue == test_1) { + inCompiler->printMessage (GALGAS_string ("Setting breakpoint at ").add_operation (var_localFileName_47722, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1622)).add_operation (GALGAS_string (":"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1622)).add_operation (this->mProperty_lineNum.getter_string (SOURCE_FILE ("gtl_debugger.galgas", 1622)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1622)).add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1622)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1622)) ; + { + ioArgument_context.insulate (HERE) ; + cPtr_gtlContext * ptr_48038 = (cPtr_gtlContext *) ioArgument_context.ptr () ; + callExtensionSetter_setBreakpoint ((cPtr_gtlContext *) ptr_48038, var_localFileName_47722, this->mProperty_lineNum, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1623)) ; + } } } - if (kBoolFalse == test_4) { - GALGAS_string var_currentDirectory_3912 = GALGAS_string::class_func_stringWithCurrentDirectory (SOURCE_FILE ("goil_routines.galgas", 127)) ; - result_templateDirectory = var_currentDirectory_3912.add_operation (GALGAS_string ("/"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 128)).add_operation (result_templateDirectory, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 128)) ; + if (kBoolFalse == test_1) { + inCompiler->printMessage (GALGAS_string ("Setting breakpoint at ").add_operation (this->mProperty_fileName, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1625)).add_operation (GALGAS_string (":"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1625)).add_operation (this->mProperty_lineNum.getter_string (SOURCE_FILE ("gtl_debugger.galgas", 1625)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1625)).add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1625)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1625)) ; + { + ioArgument_context.insulate (HERE) ; + cPtr_gtlContext * ptr_48181 = (cPtr_gtlContext *) ioArgument_context.ptr () ; + callExtensionSetter_setBreakpoint ((cPtr_gtlContext *) ptr_48181, this->mProperty_fileName, this->mProperty_lineNum, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1626)) ; + } } - result_templateDirectory = result_templateDirectory.getter_stringByStandardizingPath (SOURCE_FILE ("goil_routines.galgas", 130)) ; } } -//--- - return result_templateDirectory ; + if (kBoolFalse == test_0) { + inCompiler->printMessage (GALGAS_string ("Unable to set a breakpoint in an empty file\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1629)) ; + } } +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlBreakpointInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- - -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_rootTemplatesDirectory [1] = { - nullptr -} ; - -//-------------------------------------------------------------------------------------------------- - -static GALGAS_object functionWithGenericHeader_rootTemplatesDirectory (Compiler * inCompiler, - const cObjectArray & /* inEffectiveParameterArray */, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - return function_rootTemplatesDirectory (inCompiler COMMA_THERE).getter_object (THERE) ; +void cPtr_gtlBreakpointInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("break ").add_operation (this->mProperty_fileName, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1635)).add_operation (GALGAS_string (":"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1635)).add_operation (this->mProperty_lineNum.getter_string (SOURCE_FILE ("gtl_debugger.galgas", 1635)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1635)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1635)) ; } +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlBreakpointListInstruction execute' +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_rootTemplatesDirectory ("rootTemplatesDirectory", - functionWithGenericHeader_rootTemplatesDirectory, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_rootTemplatesDirectory) ; +void cPtr_gtlBreakpointListInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & /* ioArgument_vars */, + GALGAS_library & /* ioArgument_lib */, + GALGAS_string & /* ioArgument_outputString */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + callExtensionMethod_listBreakpoints ((cPtr_gtlContext *) ioArgument_context.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1651)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlBreakpointListInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +void cPtr_gtlBreakpointListInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("break") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1656)) ; +} +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'templates_directory' +//Overriding extension method '@gtlBreakpointDeleteInstruction execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string function_templates_5F_directory (GALGAS_string inArgument_prefix, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_temp_5F_dir ; // Returned variable - result_temp_5F_dir = function_rootTemplatesDirectory (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 135)) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsNotEqual, result_temp_5F_dir.objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; - if (kBoolTrue == test_0) { - result_temp_5F_dir = function_add_5F_path_5F_component (result_temp_5F_dir, inArgument_prefix, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 137)) ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = GALGAS_bool (kIsNotEqual, result_temp_5F_dir.getter_characterAtIndex (GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 139)).objectCompare (GALGAS_char (TO_UNICODE (47)))).boolEnum () ; - if (kBoolTrue == test_1) { - GALGAS_string var_curdir_4433 = GALGAS_string::class_func_stringWithCurrentDirectory (SOURCE_FILE ("goil_routines.galgas", 140)) ; - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = GALGAS_bool (kIsEqual, result_temp_5F_dir.getter_characterAtIndex (GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 141)).objectCompare (GALGAS_char (TO_UNICODE (46)))).operator_and (GALGAS_bool (kIsEqual, result_temp_5F_dir.getter_characterAtIndex (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 141)).objectCompare (GALGAS_char (TO_UNICODE (47)))) COMMA_SOURCE_FILE ("goil_routines.galgas", 141)).boolEnum () ; - if (kBoolTrue == test_2) { - result_temp_5F_dir = result_temp_5F_dir.getter_stringByRemovingCharacterAtIndex (GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 142)).getter_stringByRemovingCharacterAtIndex (GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 142)) ; - } - } - result_temp_5F_dir = var_curdir_4433.add_operation (GALGAS_string ("/"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 144)).add_operation (result_temp_5F_dir, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 144)) ; - } - } - enumGalgasBool test_3 = kBoolTrue ; - if (kBoolTrue == test_3) { - test_3 = GALGAS_bool (kIsNotEqual, result_temp_5F_dir.getter_characterAtIndex (result_temp_5F_dir.getter_count (SOURCE_FILE ("goil_routines.galgas", 146)).substract_operation (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 146)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 146)).objectCompare (GALGAS_char (TO_UNICODE (47)))).boolEnum () ; - if (kBoolTrue == test_3) { - result_temp_5F_dir.plusAssign_operation(GALGAS_string ("/"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 147)) ; - } - } - } +void cPtr_gtlBreakpointDeleteInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & /* ioArgument_vars */, + GALGAS_library & /* ioArgument_lib */, + GALGAS_string & /* ioArgument_outputString */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + { + ioArgument_context.insulate (HERE) ; + cPtr_gtlContext * ptr_49427 = (cPtr_gtlContext *) ioArgument_context.ptr () ; + callExtensionSetter_deleteBreakpoint ((cPtr_gtlContext *) ptr_49427, this->mProperty_numToDelete, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1673)) ; } -//--- - return result_temp_5F_dir ; } +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlBreakpointDeleteInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- - -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_templates_5F_directory [2] = { - & kTypeDescriptor_GALGAS_string, - nullptr -} ; - -//-------------------------------------------------------------------------------------------------- - -static GALGAS_object functionWithGenericHeader_templates_5F_directory (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_string operand0 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_templates_5F_directory (operand0, - inCompiler - COMMA_THERE).getter_object (THERE) ; +void cPtr_gtlBreakpointDeleteInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("break not ").add_operation (this->mProperty_numToDelete.readProperty_bigint ().getter_string (SOURCE_FILE ("gtl_debugger.galgas", 1678)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1678)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1678)) ; } - -//-------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_templates_5F_directory ("templates_directory", - functionWithGenericHeader_templates_5F_directory, - & kTypeDescriptor_GALGAS_string, - 1, - functionArgs_templates_5F_directory) ; - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'templateFilePath' +//Overriding extension method '@gtlBreakpointDeleteAllInstruction execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string function_templateFilePath (const GALGAS_string & constinArgument_prefix, - const GALGAS_string & constinArgument_file, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_path ; // Returned variable - GALGAS_stringlist var_components_5031 = GALGAS_string (gOption_goil_5F_options_target_5F_platform.readProperty_value ()).getter_componentsSeparatedByString (GALGAS_string ("/") COMMA_SOURCE_FILE ("goil_routines.galgas", 158)) ; - GALGAS_string var_templateDir_5137 = function_templates_5F_directory (constinArgument_prefix, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 159)) ; - GALGAS_bool var_notFound_5188 = GALGAS_bool (true) ; - GALGAS_bool var_notOver_5212 = GALGAS_bool (true) ; - result_path = GALGAS_string::makeEmptyString () ; - if (var_components_5031.getter_count (SOURCE_FILE ("goil_routines.galgas", 164)).add_operation (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 164)).isValid ()) { - uint32_t variant_5244 = var_components_5031.getter_count (SOURCE_FILE ("goil_routines.galgas", 164)).add_operation (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 164)).uintValue () ; - bool loop_5244 = true ; - while (loop_5244) { - loop_5244 = var_notFound_5188.operator_and (var_notOver_5212 COMMA_SOURCE_FILE ("goil_routines.galgas", 165)).isValid () ; - if (loop_5244) { - loop_5244 = var_notFound_5188.operator_and (var_notOver_5212 COMMA_SOURCE_FILE ("goil_routines.galgas", 165)).boolValue () ; - } - if (loop_5244 && (0 == variant_5244)) { - loop_5244 = false ; - inCompiler->loopRunTimeVariantError (SOURCE_FILE ("goil_routines.galgas", 164)) ; - } - if (loop_5244) { - variant_5244 -- ; - GALGAS_string var_targetPath_5319 = var_templateDir_5137.add_operation (GALGAS_string::class_func_componentsJoinedByString (var_components_5031, GALGAS_string ("/") COMMA_SOURCE_FILE ("goil_routines.galgas", 166)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 166)).add_operation (GALGAS_string ("/"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 166)).add_operation (constinArgument_file, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 166)) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = var_targetPath_5319.getter_fileExists (SOURCE_FILE ("goil_routines.galgas", 168)).boolEnum () ; - if (kBoolTrue == test_0) { - var_notFound_5188 = GALGAS_bool (false) ; - result_path = var_targetPath_5319 ; - } - } - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = GALGAS_bool (kIsStrictSup, var_components_5031.getter_count (SOURCE_FILE ("goil_routines.galgas", 172)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; - if (kBoolTrue == test_1) { - { - GALGAS_string joker_5604 ; // Joker input parameter - var_components_5031.setter_popLast (joker_5604, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 173)) ; - } - } - } - if (kBoolFalse == test_1) { - var_notOver_5212 = GALGAS_bool (false) ; - } - } - } +void cPtr_gtlBreakpointDeleteAllInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & /* ioArgument_vars */, + GALGAS_library & /* ioArgument_lib */, + GALGAS_string & /* ioArgument_outputString */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + { + ioArgument_context.insulate (HERE) ; + cPtr_gtlContext * ptr_50035 = (cPtr_gtlContext *) ioArgument_context.ptr () ; + callExtensionSetter_deleteAllBreakpoints ((cPtr_gtlContext *) ptr_50035, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1694)) ; } -//--- - return result_path ; } +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlBreakpointDeleteAllInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- - -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_templateFilePath [3] = { - & kTypeDescriptor_GALGAS_string, - & kTypeDescriptor_GALGAS_string, - nullptr -} ; - -//-------------------------------------------------------------------------------------------------- - -static GALGAS_object functionWithGenericHeader_templateFilePath (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_string operand0 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_templateFilePath (operand0, - operand1, - inCompiler - COMMA_THERE).getter_object (THERE) ; +void cPtr_gtlBreakpointDeleteAllInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("break not all") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1699)) ; } - -//-------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_templateFilePath ("templateFilePath", - functionWithGenericHeader_templateFilePath, - & kTypeDescriptor_GALGAS_string, - 2, - functionArgs_templateFilePath) ; - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'allTemplatePaths' +//Overriding extension method '@gtlWatchpointInstruction execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_stringlist function_allTemplatePaths (const GALGAS_string & constinArgument_prefix, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_stringlist result_paths ; // Returned variable - GALGAS_stringlist var_components_5742 = GALGAS_string (gOption_goil_5F_options_target_5F_platform.readProperty_value ()).getter_componentsSeparatedByString (GALGAS_string ("/") COMMA_SOURCE_FILE ("goil_routines.galgas", 184)) ; - GALGAS_string var_partialPath_5844 = function_templates_5F_directory (constinArgument_prefix, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 185)) ; - result_paths = GALGAS_stringlist::class_func_listWithValue (var_partialPath_5844 COMMA_SOURCE_FILE ("goil_routines.galgas", 187)) ; - cEnumerator_stringlist enumerator_5963 (var_components_5742, kENUMERATION_UP) ; - while (enumerator_5963.hasCurrentObject ()) { - var_partialPath_5844 = function_add_5F_path_5F_component (var_partialPath_5844, enumerator_5963.current_mValue (HERE), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 190)) ; - { - result_paths.setter_insertAtIndex (var_partialPath_5844, GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 191)) ; - } - enumerator_5963.gotoNextObject () ; +void cPtr_gtlWatchpointInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & /* ioArgument_vars */, + GALGAS_library & /* ioArgument_lib */, + GALGAS_string & /* ioArgument_outputString */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + { + ioArgument_context.insulate (HERE) ; + cPtr_gtlContext * ptr_50627 = (cPtr_gtlContext *) ioArgument_context.ptr () ; + callExtensionSetter_setWatchpoint ((cPtr_gtlContext *) ptr_50627, this->mProperty_watchExpression, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1716)) ; } -//--- - return result_paths ; } +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlWatchpointInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- +void cPtr_gtlWatchpointInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("watch ( ").add_operation (callExtensionGetter_stringRepresentation ((const cPtr_gtlExpression *) this->mProperty_watchExpression.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1721)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1721)).add_operation (GALGAS_string (" )"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1721)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1721)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlWatchpointListInstruction execute' +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- +void cPtr_gtlWatchpointListInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & /* ioArgument_vars */, + GALGAS_library & /* ioArgument_lib */, + GALGAS_string & /* ioArgument_outputString */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + callExtensionMethod_listWatchpoints ((cPtr_gtlContext *) ioArgument_context.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1737)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlWatchpointListInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_allTemplatePaths [2] = { - & kTypeDescriptor_GALGAS_string, - nullptr -} ; - -//-------------------------------------------------------------------------------------------------- - -static GALGAS_object functionWithGenericHeader_allTemplatePaths (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_string operand0 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_allTemplatePaths (operand0, - inCompiler - COMMA_THERE).getter_object (THERE) ; +void cPtr_gtlWatchpointListInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("watch") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1742)) ; } - -//-------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_allTemplatePaths ("allTemplatePaths", - functionWithGenericHeader_allTemplatePaths, - & kTypeDescriptor_GALGAS_stringlist, - 1, - functionArgs_allTemplatePaths) ; - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'checkTemplatesPath' +//Overriding extension method '@gtlWatchpointDeleteInstruction execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_checkTemplatesPath (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string var_configDir_6146 = function_rootTemplatesDirectory (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 197)).add_operation (GALGAS_string ("/config"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 197)) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = var_configDir_6146.getter_directoryExists (SOURCE_FILE ("goil_routines.galgas", 198)).operator_not (SOURCE_FILE ("goil_routines.galgas", 198)).boolEnum () ; - if (kBoolTrue == test_0) { - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 199)), GALGAS_string ("The templates path '").add_operation (var_configDir_6146, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 199)).add_operation (GALGAS_string ("' is not set to the templates directory"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 199)), fixItArray1 COMMA_SOURCE_FILE ("goil_routines.galgas", 199)) ; - } - } - if (kBoolFalse == test_0) { - GALGAS_string var_partialPath_6361 = var_configDir_6146 ; - GALGAS_bool var_continueIt_6395 = GALGAS_bool (true) ; - GALGAS_stringlist var_components_6433 = GALGAS_string (gOption_goil_5F_options_target_5F_platform.readProperty_value ()).getter_componentsSeparatedByString (GALGAS_string ("/") COMMA_SOURCE_FILE ("goil_routines.galgas", 203)) ; - cEnumerator_stringlist enumerator_6542 (var_components_6433, kENUMERATION_UP) ; - while (enumerator_6542.hasCurrentObject ()) { - var_partialPath_6361 = var_partialPath_6361.add_operation (GALGAS_string ("/"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 205)).add_operation (enumerator_6542.current_mValue (HERE), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 205)) ; - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - GALGAS_bool test_3 = var_continueIt_6395 ; - if (kBoolTrue == test_3.boolEnum ()) { - test_3 = var_partialPath_6361.getter_directoryExists (SOURCE_FILE ("goil_routines.galgas", 206)).operator_not (SOURCE_FILE ("goil_routines.galgas", 206)) ; - } - test_2 = test_3.boolEnum () ; - if (kBoolTrue == test_2) { - TC_Array fixItArray4 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 207)), GALGAS_string ("The templates path '").add_operation (var_partialPath_6361, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 207)).add_operation (GALGAS_string ("' does not exist in the templates directory"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 207)), fixItArray4 COMMA_SOURCE_FILE ("goil_routines.galgas", 207)) ; - var_continueIt_6395 = GALGAS_bool (false) ; - } - } - enumerator_6542.gotoNextObject () ; - } +void cPtr_gtlWatchpointDeleteInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & /* ioArgument_vars */, + GALGAS_library & /* ioArgument_lib */, + GALGAS_string & /* ioArgument_outputString */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + { + ioArgument_context.insulate (HERE) ; + cPtr_gtlContext * ptr_51813 = (cPtr_gtlContext *) ioArgument_context.ptr () ; + callExtensionSetter_deleteWatchpoint ((cPtr_gtlContext *) ptr_51813, this->mProperty_numToDelete, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1759)) ; } } +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlWatchpointDeleteInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- - -//-------------------------------------------------------------------------------------------------- +void cPtr_gtlWatchpointDeleteInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("watch not ").add_operation (this->mProperty_numToDelete.readProperty_bigint ().getter_string (SOURCE_FILE ("gtl_debugger.galgas", 1764)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1764)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1764)) ; +} +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'allTemplateFilePaths' +//Overriding extension method '@gtlWatchpointDeleteAllInstruction execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_stringlist function_allTemplateFilePaths (const GALGAS_string & constinArgument_prefix, - const GALGAS_string & constinArgument_file, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_stringlist result_paths ; // Returned variable - GALGAS_stringlist var_components_6948 = GALGAS_string (gOption_goil_5F_options_target_5F_platform.readProperty_value ()).getter_componentsSeparatedByString (GALGAS_string ("/") COMMA_SOURCE_FILE ("goil_routines.galgas", 220)) ; - GALGAS_string var_templateDir_7054 = function_templates_5F_directory (constinArgument_prefix, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 221)) ; - GALGAS_bool var_notOver_7105 = GALGAS_bool (true) ; - result_paths = GALGAS_stringlist::class_func_emptyList (SOURCE_FILE ("goil_routines.galgas", 223)) ; - if (var_components_6948.getter_count (SOURCE_FILE ("goil_routines.galgas", 225)).add_operation (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 225)).isValid ()) { - uint32_t variant_7158 = var_components_6948.getter_count (SOURCE_FILE ("goil_routines.galgas", 225)).add_operation (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 225)).uintValue () ; - bool loop_7158 = true ; - while (loop_7158) { - loop_7158 = var_notOver_7105.isValid () ; - if (loop_7158) { - loop_7158 = var_notOver_7105.boolValue () ; - } - if (loop_7158 && (0 == variant_7158)) { - loop_7158 = false ; - inCompiler->loopRunTimeVariantError (SOURCE_FILE ("goil_routines.galgas", 225)) ; - } - if (loop_7158) { - variant_7158 -- ; - GALGAS_string var_intermediatePath_7218 = GALGAS_string::class_func_componentsJoinedByString (var_components_6948, GALGAS_string ("/") COMMA_SOURCE_FILE ("goil_routines.galgas", 227)) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsNotEqual, var_intermediatePath_7218.objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; - if (kBoolTrue == test_0) { - var_intermediatePath_7218.plusAssign_operation(GALGAS_string ("/"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 228)) ; - } - } - GALGAS_string var_targetPath_7370 = var_templateDir_7054.add_operation (var_intermediatePath_7218, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 229)).add_operation (constinArgument_file, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 229)) ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = var_targetPath_7370.getter_fileExists (SOURCE_FILE ("goil_routines.galgas", 231)).boolEnum () ; - if (kBoolTrue == test_1) { - result_paths.addAssign_operation (var_targetPath_7370 COMMA_SOURCE_FILE ("goil_routines.galgas", 232)) ; - } - } - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = GALGAS_bool (kIsStrictSup, var_components_6948.getter_count (SOURCE_FILE ("goil_routines.galgas", 234)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; - if (kBoolTrue == test_2) { - { - GALGAS_string joker_7594 ; // Joker input parameter - var_components_6948.setter_popLast (joker_7594, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 235)) ; - } - } - } - if (kBoolFalse == test_2) { - var_notOver_7105 = GALGAS_bool (false) ; - } - } - } +void cPtr_gtlWatchpointDeleteAllInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & /* ioArgument_vars */, + GALGAS_library & /* ioArgument_lib */, + GALGAS_string & /* ioArgument_outputString */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + { + ioArgument_context.insulate (HERE) ; + cPtr_gtlContext * ptr_52422 = (cPtr_gtlContext *) ioArgument_context.ptr () ; + callExtensionSetter_deleteAllWatchpoints ((cPtr_gtlContext *) ptr_52422, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1780)) ; } -//--- - return result_paths ; } +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlWatchpointDeleteAllInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- - -//-------------------------------------------------------------------------------------------------- -// Function introspection -//-------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_allTemplateFilePaths [3] = { - & kTypeDescriptor_GALGAS_string, - & kTypeDescriptor_GALGAS_string, - nullptr -} ; - -//-------------------------------------------------------------------------------------------------- - -static GALGAS_object functionWithGenericHeader_allTemplateFilePaths (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_string operand0 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_allTemplateFilePaths (operand0, - operand1, - inCompiler - COMMA_THERE).getter_object (THERE) ; +void cPtr_gtlWatchpointDeleteAllInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("watch not all") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1785)) ; } - -//-------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_allTemplateFilePaths ("allTemplateFilePaths", - functionWithGenericHeader_allTemplateFilePaths, - & kTypeDescriptor_GALGAS_stringlist, - 2, - functionArgs_allTemplateFilePaths) ; - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'prefix??!' +//Overriding extension method '@gtlListInstruction execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_prefix_3F__3F__21_ (GALGAS_prefix_5F_map inArgument_p, - GALGAS_string inArgument_key, - GALGAS_string & outArgument_val, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_val.drop () ; // Release 'out' argument - GALGAS_lstring var_lkey_7718 = GALGAS_lstring::class_func_new (inArgument_key, GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 243)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 243)) ; - GALGAS_string joker_7788 ; // Joker input parameter - inArgument_p.method_prefix (var_lkey_7718, outArgument_val, joker_7788, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 244)) ; +void cPtr_gtlListInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & /* ioArgument_vars */, + GALGAS_library & /* ioArgument_lib */, + GALGAS_string & /* ioArgument_outputString */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + callExtensionMethod_hereWeAre ((cPtr_gtlContext *) ioArgument_context.ptr (), this->mProperty_window, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1802)) ; } - - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'performReplace???&' +//Overriding extension method '@gtlListInstruction display' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_performReplace_3F__3F__3F__26_ (GALGAS_prefix_5F_map inArgument_p, - GALGAS_string inArgument_key, - GALGAS_string inArgument_name, - GALGAS_string & ioArgument_res, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_lstring var_lkey_7890 = GALGAS_lstring::class_func_new (inArgument_key, GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 248)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 248)) ; - GALGAS_string var_prefix_7951 ; - GALGAS_string var_tag_5F_to_5F_rep_7974 ; - inArgument_p.method_prefix (var_lkey_7890, var_prefix_7951, var_tag_5F_to_5F_rep_7974, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 251)) ; - ioArgument_res = ioArgument_res.getter_stringByReplacingStringByString (var_tag_5F_to_5F_rep_7974, var_prefix_7951.add_operation (inArgument_name, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 252)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 252)) ; +void cPtr_gtlListInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("list ").add_operation (this->mProperty_window.getter_string (SOURCE_FILE ("gtl_debugger.galgas", 1807)), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1807)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1807)) ; } - - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'doReplace&??' +//Overriding extension method '@gtlHistoryInstruction execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_doReplace_26__3F__3F_ (GALGAS_string & ioArgument_s, - GALGAS_string inArgument_o, - GALGAS_string inArgument_n, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - ioArgument_s = ioArgument_s.getter_stringByReplacingStringByString (inArgument_o, inArgument_n, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 256)) ; +void cPtr_gtlHistoryInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & /* ioArgument_vars */, + GALGAS_library & /* ioArgument_lib */, + GALGAS_string & /* ioArgument_outputString */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + callExtensionMethod_listHistory ((cPtr_debugCommandInput *) ioArgument_context.readProperty_debuggerContext ().readProperty_commandInput ().ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1823)) ; } - - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'do_replace_default&???' +//Overriding extension method '@gtlHistoryInstruction display' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_do_5F_replace_5F_default_26__3F__3F__3F_ (GALGAS_string & ioArgument_s, - GALGAS_string inArgument_o, - GALGAS_string inArgument_n, - GALGAS_string inArgument_d, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsNotEqual, inArgument_n.objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; - if (kBoolTrue == test_0) { - ioArgument_s = ioArgument_s.getter_stringByReplacingStringByString (inArgument_o, inArgument_n, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 261)) ; - } - } - if (kBoolFalse == test_0) { - ioArgument_s = ioArgument_s.getter_stringByReplacingStringByString (inArgument_o, inArgument_d, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 263)) ; - } +void cPtr_gtlHistoryInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("hist") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1828)) ; } - - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'replace_no_prefix???&' +//Overriding extension method '@gtlLoadInstruction execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_replace_5F_no_5F_prefix_3F__3F__3F__26_ (GALGAS_prefix_5F_map inArgument_p, - GALGAS_string inArgument_key, - GALGAS_string inArgument_name, - GALGAS_string & ioArgument_res, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_lstring var_lkey_8507 = GALGAS_lstring::class_func_new (inArgument_key, GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 268)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 268)) ; - GALGAS_string var_tag_5F_to_5F_rep_8590 ; - GALGAS_string joker_8621 ; // Joker input parameter - inArgument_p.method_prefix (var_lkey_8507, joker_8621, var_tag_5F_to_5F_rep_8590, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 271)) ; - ioArgument_res = ioArgument_res.getter_stringByReplacingStringByString (var_tag_5F_to_5F_rep_8590, inArgument_name, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 272)) ; +void cPtr_gtlLoadInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, + GALGAS_gtlData & ioArgument_vars, + GALGAS_library & ioArgument_lib, + GALGAS_string & /* ioArgument_outputString */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + extensionMethod_loadCommandFile (this->mProperty_fileName, ioArgument_context, ioArgument_vars, ioArgument_lib, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1845)) ; } +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlLoadInstruction display' +// +//---------------------------------------------------------------------------------------------------------------------- - -//-------------------------------------------------------------------------------------------------- +void cPtr_gtlLoadInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("load \"").add_operation (this->mProperty_fileName, inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1850)).add_operation (GALGAS_string ("\""), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1850)) COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1850)) ; +} +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'table_core????&&' +//Overriding extension method '@gtlHelpInstruction execute' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_table_5F_core_3F__3F__3F__3F__26__26_ (GALGAS_string inArgument_typename, - GALGAS_string inArgument_varname, - GALGAS_string inArgument_obj_5F_prefix, - GALGAS_stringset inArgument_names, - GALGAS_string & ioArgument_header, - GALGAS_string & ioArgument_implementation, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_uint var_n_9050 = GALGAS_uint (uint32_t (0U)) ; - cEnumerator_stringset enumerator_9073 (inArgument_names, kENUMERATION_UP) ; - while (enumerator_9073.hasCurrentObject ()) { - ioArgument_header = ioArgument_header.add_operation (GALGAS_string ("#define "), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 291)).add_operation (inArgument_varname, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 291)).add_operation (GALGAS_string ("_id_of_"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 291)).add_operation (enumerator_9073.current_key (HERE), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 291)).add_operation (GALGAS_string (" "), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 291)).add_operation (var_n_9050.getter_string (SOURCE_FILE ("goil_routines.galgas", 291)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 291)).add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 291)) ; - ioArgument_header = ioArgument_header.add_operation (GALGAS_string ("#define "), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 299)).add_operation (enumerator_9073.current_key (HERE), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 299)).add_operation (GALGAS_string (" "), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 299)).add_operation (inArgument_varname, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 299)).add_operation (GALGAS_string ("_id_of_"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 299)).add_operation (enumerator_9073.current_key (HERE), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 299)).add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 299)) ; - ioArgument_implementation = ioArgument_implementation.add_operation (GALGAS_string (" (tpl_"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 300)).add_operation (inArgument_typename, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 300)).add_operation (GALGAS_string (" *)&"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 300)).add_operation (inArgument_obj_5F_prefix, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 300)).add_operation (enumerator_9073.current_key (HERE), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 300)) ; - var_n_9050.increment_operation (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 301)) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsNotEqual, var_n_9050.objectCompare (inArgument_names.getter_count (SOURCE_FILE ("goil_routines.galgas", 302)))).boolEnum () ; - if (kBoolTrue == test_0) { - ioArgument_implementation = ioArgument_implementation.add_operation (GALGAS_string (",\n"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 303)) ; - } - } - if (kBoolFalse == test_0) { - ioArgument_implementation = ioArgument_implementation.add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 304)) ; - } - enumerator_9073.gotoNextObject () ; - } +void cPtr_gtlHelpInstruction::method_execute (GALGAS_gtlContext & /* ioArgument_context */, + GALGAS_gtlData & /* ioArgument_vars */, + GALGAS_library & /* ioArgument_lib */, + GALGAS_string & /* ioArgument_outputString */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("Available commands:\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1866)) ; + inCompiler->printMessage (GALGAS_string (" break : : set a breakpoint at in file \n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1867)) ; + inCompiler->printMessage (GALGAS_string (" break : set a breakpoint at in the current file\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1868)) ; + inCompiler->printMessage (GALGAS_string (" break : lists the breakpoints\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1869)) ; + inCompiler->printMessage (GALGAS_string (" break not : delete breakpoint at index \n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1870)) ; + inCompiler->printMessage (GALGAS_string (" break not all : delete all breakpoints\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1871)) ; + inCompiler->printMessage (GALGAS_string (" cont : continue execution until the next breakpoint or the end\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1872)) ; + inCompiler->printMessage (GALGAS_string (" display : display variable \n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1873)) ; + inCompiler->printMessage (GALGAS_string (" do : do a command each time a step is done\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1874)) ; + inCompiler->printMessage (GALGAS_string (" do : list the do commands\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1875)) ; + inCompiler->printMessage (GALGAS_string (" do not : delete the do command at index \n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1876)) ; + inCompiler->printMessage (GALGAS_string (" do not all : delete all the do commands\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1877)) ; + inCompiler->printMessage (GALGAS_string (" hist : display the command history\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1878)) ; + inCompiler->printMessage (GALGAS_string (" if then ... : same as GTL if instruction. Must be on one line though\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1879)) ; + inCompiler->printMessage (GALGAS_string (" list : lists instructions +/- 5 around current one\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1880)) ; + inCompiler->printMessage (GALGAS_string (" list : lists instructions +/- around current one\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1881)) ; + inCompiler->printMessage (GALGAS_string (" let := : compute and set to the result\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1882)) ; + inCompiler->printMessage (GALGAS_string (" load : load commands from file \n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1883)) ; + inCompiler->printMessage (GALGAS_string (" print : prints the \n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1884)) ; + inCompiler->printMessage (GALGAS_string (" step : step one instruction\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1885)) ; + inCompiler->printMessage (GALGAS_string (" unlet : delete \n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1886)) ; + inCompiler->printMessage (GALGAS_string (" variables : display all variables in scope\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1887)) ; + inCompiler->printMessage (GALGAS_string (" watch () : set a watchpoint matching the boolean \n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1888)) ; + inCompiler->printMessage (GALGAS_string (" watch : lists the watchpoints\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1889)) ; + inCompiler->printMessage (GALGAS_string (" watch not : delete watchpoint at index \n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1890)) ; + inCompiler->printMessage (GALGAS_string (" watch not all : delete all watchpoints\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1891)) ; + inCompiler->printMessage (GALGAS_string (" : step one instruction\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1892)) ; } - - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'add_to_stringset&?' +//Overriding extension method '@gtlHelpInstruction display' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_add_5F_to_5F_stringset_26__3F_ (GALGAS_stringset & ioArgument_ss, - GALGAS_string inArgument_new, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = ioArgument_ss.getter_hasKey (inArgument_new COMMA_SOURCE_FILE ("goil_routines.galgas", 409)).boolEnum () ; - if (kBoolTrue == test_0) { - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 410)), GALGAS_string ("'").add_operation (inArgument_new, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 410)).add_operation (GALGAS_string ("' is already declared before"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 410)), fixItArray1 COMMA_SOURCE_FILE ("goil_routines.galgas", 410)) ; - } - } - if (kBoolFalse == test_0) { - ioArgument_ss.addAssign_operation (inArgument_new COMMA_SOURCE_FILE ("goil_routines.galgas", 412)) ; - } +void cPtr_gtlHelpInstruction::method_display (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("help") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1897)) ; } +//---------------------------------------------------------------------------------------------------------------------- +// +// Bool options +// +//---------------------------------------------------------------------------------------------------------------------- + +C_BoolCommandLineOption gOption_goil_5F_options_arxmlDisplayOil ("goil_options", + "arxmlDisplayOil", + 0, + "arxmlPrintOil", + "Display an Oil version while parsing an arxml file") ; + +C_BoolCommandLineOption gOption_goil_5F_options_generate_5F_log ("goil_options", + "generate_log", + 108, + "logfile", + "generate a goil.log file containing the a log of the compilation") ; + +C_BoolCommandLineOption gOption_goil_5F_options_pierreOption ("goil_options", + "pierreOption", + 0, + "pierre", + "Special option to pass a galgas bug to Pierre") ; +C_BoolCommandLineOption gOption_goil_5F_options_warnMultiple ("goil_options", + "warnMultiple", + 0, + "warn-multiple", + "Emit a warning if an object not defined for the first time in the implementation does not have the same multiple attribute as in the first definition") ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'file_in_path&' +// UInt options // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_file_5F_in_5F_path_26_ (GALGAS_lstring & ioArgument_file_5F_name, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string var_include_5F_path_12900 = GALGAS_string::class_func_stringWithEnvironmentVariableOrEmpty (GALGAS_string ("GOIL_INCLUDE_PATH") COMMA_SOURCE_FILE ("goil_routines.galgas", 418)) ; - GALGAS_stringlist var_systemPaths_13120 = function_allTemplatePaths (GALGAS_string ("config"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 422)) ; - GALGAS_stringlist var_includePathList_13182 ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsNotEqual, var_include_5F_path_12900.objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; - if (kBoolTrue == test_0) { - var_includePathList_13182 = var_include_5F_path_12900.getter_componentsSeparatedByString (GALGAS_string (":") COMMA_SOURCE_FILE ("goil_routines.galgas", 425)) ; - } - } - if (kBoolFalse == test_0) { - var_includePathList_13182 = GALGAS_stringlist::class_func_emptyList (SOURCE_FILE ("goil_routines.galgas", 427)) ; - } - GALGAS_stringlist var_path_5F_list_13386 = var_includePathList_13182.add_operation (var_systemPaths_13120, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 429)) ; - GALGAS_bool var_not_5F_found_13439 = GALGAS_bool (true) ; - cEnumerator_stringlist enumerator_13473 (var_path_5F_list_13386, kENUMERATION_UP) ; - while (enumerator_13473.hasCurrentObject ()) { - GALGAS_string var_full_5F_file_5F_path_13512 = enumerator_13473.current_mValue (HERE) ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = GALGAS_bool (kIsNotEqual, var_full_5F_file_5F_path_13512.objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; - if (kBoolTrue == test_1) { - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = GALGAS_bool (kIsNotEqual, var_full_5F_file_5F_path_13512.getter_characterAtIndex (var_full_5F_file_5F_path_13512.getter_count (SOURCE_FILE ("goil_routines.galgas", 435)).substract_operation (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 435)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 435)).objectCompare (GALGAS_char (TO_UNICODE (47)))).boolEnum () ; - if (kBoolTrue == test_2) { - var_full_5F_file_5F_path_13512.plusAssign_operation(GALGAS_string ("/"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 436)) ; - } - } - } - } - var_full_5F_file_5F_path_13512.plusAssign_operation(ioArgument_file_5F_name.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 439)) ; - enumGalgasBool test_3 = kBoolTrue ; - if (kBoolTrue == test_3) { - test_3 = var_full_5F_file_5F_path_13512.getter_fileExists (SOURCE_FILE ("goil_routines.galgas", 440)).operator_and (var_not_5F_found_13439 COMMA_SOURCE_FILE ("goil_routines.galgas", 440)).boolEnum () ; - if (kBoolTrue == test_3) { - ioArgument_file_5F_name = GALGAS_lstring::class_func_new (var_full_5F_file_5F_path_13512, GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 441)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 441)) ; - var_not_5F_found_13439 = GALGAS_bool (false) ; - } - } - enumerator_13473.gotoNextObject () ; - } -} +//---------------------------------------------------------------------------------------------------------------------- +// +// String options +// +//---------------------------------------------------------------------------------------------------------------------- + +C_StringCommandLineOption gOption_goil_5F_options_config ("goil_options", + "config", + 99, + "config", + "Specifies the OIL config file used by goil", + "config") ; + +C_StringCommandLineOption gOption_goil_5F_options_passOption ("goil_options", + "passOption", + 111, + "option", + "Pass options to the template root script", + "") ; + +C_StringCommandLineOption gOption_goil_5F_options_project_5F_dir ("goil_options", + "project_dir", + 112, + "project", + "Specifies project directory (by default, the project directory is the name of the oil file, without the .oil extension)", + "") ; +C_StringCommandLineOption gOption_goil_5F_options_root ("goil_options", + "root", + 114, + "root", + "Specifies the root template file to use to generate the output files", + "root") ; + +C_StringCommandLineOption gOption_goil_5F_options_target_5F_platform ("goil_options", + "target_platform", + 116, + "target", + "Specifies target platform. Available target platform are located in machines/ directory. Targets are specified using a path like avr/arduino.", + "") ; + +C_StringCommandLineOption gOption_goil_5F_options_template_5F_dir ("goil_options", + "template_dir", + 0, + "templates", + "Specifies template directory (used by goil for code generation)", + "") ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'is_in_lstringlist??!!' +// String List options // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_is_5F_in_5F_lstringlist_3F__3F__21__21_ (GALGAS_lstringlist inArgument_l, - GALGAS_lstring inArgument_e, - GALGAS_lstring & outArgument_f, - GALGAS_bool & outArgument_p, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_f.drop () ; // Release 'out' argument - outArgument_p.drop () ; // Release 'out' argument - outArgument_p = GALGAS_bool (false) ; - outArgument_f = GALGAS_lstring::class_func_new (GALGAS_string::makeEmptyString (), GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 453)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 453)) ; - cEnumerator_lstringlist enumerator_14127 (inArgument_l, kENUMERATION_UP) ; - while (enumerator_14127.hasCurrentObject ()) { - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsEqual, enumerator_14127.current_mValue (HERE).readProperty_string ().objectCompare (inArgument_e.readProperty_string ())).boolEnum () ; - if (kBoolTrue == test_0) { - outArgument_p = GALGAS_bool (true) ; - outArgument_f = enumerator_14127.current_mValue (HERE) ; - } - } - enumerator_14127.gotoNextObject () ; - } -} +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'isInLstringlist' +//Function 'checkEnums' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_bool function_isInLstringlist (GALGAS_lstringlist inArgument_l, - GALGAS_lstring inArgument_e, - Compiler * - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_bool result_p ; // Returned variable - result_p = GALGAS_bool (false) ; - cEnumerator_lstringlist enumerator_14325 (inArgument_l, kENUMERATION_UP) ; - while (enumerator_14325.hasCurrentObject ()) { - enumGalgasBool test_0 = kBoolTrue ; +GALGAS_bool function_checkEnums (const GALGAS_impEnumType & constinArgument_previousEnum, + const GALGAS_impEnumType & constinArgument_newEnum, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_bool result_inside ; // Returned variable + GALGAS_stringset var_newValues_16786 = constinArgument_newEnum.readProperty_valuesMap ().getter_keySet (SOURCE_FILE ("implementation_parser.galgas", 614)) ; + GALGAS_stringset var_previousValues_16844 = constinArgument_previousEnum.readProperty_valuesMap ().getter_keySet (SOURCE_FILE ("implementation_parser.galgas", 615)) ; + result_inside = GALGAS_bool (kIsEqual, var_newValues_16786.operator_and (var_previousValues_16844 COMMA_SOURCE_FILE ("implementation_parser.galgas", 616)).objectCompare (var_newValues_16786)) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = result_inside.operator_not (SOURCE_FILE ("implementation_parser.galgas", 617)).boolEnum () ; if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsEqual, enumerator_14325.current_mValue (HERE).readProperty_string ().objectCompare (inArgument_e.readProperty_string ())).boolEnum () ; - if (kBoolTrue == test_0) { - result_p = GALGAS_bool (true) ; + cEnumerator_locationList enumerator_16977 (constinArgument_newEnum.readProperty_locations (), kENUMERATION_UP) ; + while (enumerator_16977.hasCurrentObject ()) { + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (enumerator_16977.current_location (HERE), GALGAS_string ("ENUM is not within previous enum declaration"), fixItArray1 COMMA_SOURCE_FILE ("implementation_parser.galgas", 619)) ; + enumerator_16977.gotoNextObject () ; + } + cEnumerator_locationList enumerator_17091 (constinArgument_previousEnum.readProperty_locations (), kENUMERATION_UP) ; + while (enumerator_17091.hasCurrentObject ()) { + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (enumerator_17091.current_location (HERE), GALGAS_string ("previous ENUM declaration was here"), fixItArray2 COMMA_SOURCE_FILE ("implementation_parser.galgas", 622)) ; + enumerator_17091.gotoNextObject () ; } } - enumerator_14325.gotoNextObject () ; } //--- - return result_p ; + return result_inside ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_isInLstringlist [3] = { - & kTypeDescriptor_GALGAS_lstringlist, - & kTypeDescriptor_GALGAS_lstring, +static const C_galgas_type_descriptor * functionArgs_checkEnums [3] = { + & kTypeDescriptor_GALGAS_impEnumType, + & kTypeDescriptor_GALGAS_impEnumType, nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_isInLstringlist (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_lstringlist operand0 = GALGAS_lstringlist::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), +static GALGAS_object functionWithGenericHeader_checkEnums (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_impEnumType operand0 = GALGAS_impEnumType::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), inCompiler COMMA_THERE) ; - const GALGAS_lstring operand1 = GALGAS_lstring::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_isInLstringlist (operand0, - operand1, - inCompiler - COMMA_THERE).getter_object (THERE) ; + const GALGAS_impEnumType operand1 = GALGAS_impEnumType::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_checkEnums (operand0, + operand1, + inCompiler + COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_isInLstringlist ("isInLstringlist", - functionWithGenericHeader_isInLstringlist, - & kTypeDescriptor_GALGAS_bool, - 2, - functionArgs_isInLstringlist) ; - -//-------------------------------------------------------------------------------------------------- -// -//Routine 'add_lstring_unique&??' -// -//-------------------------------------------------------------------------------------------------- - -void routine_add_5F_lstring_5F_unique_26__3F__3F_ (GALGAS_lstringlist & ioArgument_l, - GALGAS_lstring inArgument_e, - GALGAS_string inArgument_att, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_bool var_found_14492 ; - GALGAS_lstring var_res_14513 ; - { - routine_is_5F_in_5F_lstringlist_3F__3F__21__21_ (ioArgument_l, inArgument_e, var_res_14513, var_found_14492, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 480)) ; - } - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = var_found_14492.boolEnum () ; - if (kBoolTrue == test_0) { - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (inArgument_e.readProperty_location (), inArgument_att.add_operation (GALGAS_string (" "), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 482)).add_operation (inArgument_e.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 482)).add_operation (GALGAS_string (" has already be listed"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 482)), fixItArray1 COMMA_SOURCE_FILE ("goil_routines.galgas", 482)) ; - TC_Array fixItArray2 ; - inCompiler->emitSemanticError (var_res_14513.readProperty_location (), GALGAS_string ("was listed here"), fixItArray2 COMMA_SOURCE_FILE ("goil_routines.galgas", 483)) ; - } - } - if (kBoolFalse == test_0) { - ioArgument_l.addAssign_operation (inArgument_e COMMA_SOURCE_FILE ("goil_routines.galgas", 485)) ; - } -} - - -//-------------------------------------------------------------------------------------------------- -// -//Routine 'set_lstring_if_empty&??' -// -//-------------------------------------------------------------------------------------------------- - -void routine_set_5F_lstring_5F_if_5F_empty_26__3F__3F_ (GALGAS_lstring & ioArgument_s, - GALGAS_lstring inArgument_ns, - GALGAS_string inArgument_att, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsEqual, ioArgument_s.readProperty_string ().objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; - if (kBoolTrue == test_0) { - ioArgument_s = inArgument_ns ; - } - } - if (kBoolFalse == test_0) { - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (inArgument_ns.readProperty_location (), inArgument_att.add_operation (GALGAS_string (" Redefinition"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 496)), fixItArray1 COMMA_SOURCE_FILE ("goil_routines.galgas", 496)) ; - TC_Array fixItArray2 ; - inCompiler->emitSemanticError (ioArgument_s.readProperty_location (), GALGAS_string ("was defined here"), fixItArray2 COMMA_SOURCE_FILE ("goil_routines.galgas", 497)) ; - } -} +//---------------------------------------------------------------------------------------------------------------------- +C_galgas_function_descriptor functionDescriptor_checkEnums ("checkEnums", + functionWithGenericHeader_checkEnums, + & kTypeDescriptor_GALGAS_bool, + 2, + functionArgs_checkEnums) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'add_makefile_flag_if_not_empty&??' +//Function 'checkRanged' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_add_5F_makefile_5F_flag_5F_if_5F_not_5F_empty_26__3F__3F_ (GALGAS_string & ioArgument_receiver, - GALGAS_string inArgument_flag_5F_name, - GALGAS_string inArgument_flag_5F_value, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { +GALGAS_bool function_checkRanged (const GALGAS_impRangedType & constinArgument_previousRanged, + const GALGAS_impRangedType & constinArgument_newRanged, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_bool result_inside ; // Returned variable + callExtensionMethod_enclose ((cPtr_attributeRange *) constinArgument_previousRanged.readProperty_setOrRange ().ptr (), result_inside, constinArgument_newRanged.readProperty_setOrRange (), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 635)) ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsNotEqual, inArgument_flag_5F_value.objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; + test_0 = result_inside.operator_not (SOURCE_FILE ("implementation_parser.galgas", 636)).boolEnum () ; if (kBoolTrue == test_0) { - ioArgument_receiver.plusAssign_operation(inArgument_flag_5F_name.add_operation (GALGAS_string ("="), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 506)).add_operation (inArgument_flag_5F_value, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 506)).add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 506)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 506)) ; + cEnumerator_locationList enumerator_17457 (constinArgument_newRanged.readProperty_locations (), kENUMERATION_UP) ; + while (enumerator_17457.hasCurrentObject ()) { + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (enumerator_17457.current_location (HERE), GALGAS_string ("new range or set is not within previous range or set declaration"), fixItArray1 COMMA_SOURCE_FILE ("implementation_parser.galgas", 638)) ; + enumerator_17457.gotoNextObject () ; + } + cEnumerator_locationList enumerator_17593 (constinArgument_previousRanged.readProperty_locations (), kENUMERATION_UP) ; + while (enumerator_17593.hasCurrentObject ()) { + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (enumerator_17593.current_location (HERE), GALGAS_string ("previous range or set declaration was here"), fixItArray2 COMMA_SOURCE_FILE ("implementation_parser.galgas", 641)) ; + enumerator_17593.gotoNextObject () ; + } } } -} - - -//-------------------------------------------------------------------------------------------------- -// -//Function 'lstringWith' -// -//-------------------------------------------------------------------------------------------------- - -GALGAS_lstring function_lstringWith (GALGAS_string inArgument_s, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_lstring result_r ; // Returned variable - result_r = GALGAS_lstring::class_func_new (inArgument_s, GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 511)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 511)) ; //--- - return result_r ; + return result_inside ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_lstringWith [2] = { - & kTypeDescriptor_GALGAS_string, +static const C_galgas_type_descriptor * functionArgs_checkRanged [3] = { + & kTypeDescriptor_GALGAS_impRangedType, + & kTypeDescriptor_GALGAS_impRangedType, nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_lstringWith (Compiler * inCompiler, +static GALGAS_object functionWithGenericHeader_checkRanged (C_Compiler * inCompiler, const cObjectArray & inEffectiveParameterArray, const GALGAS_location & /* inErrorLocation */ COMMA_LOCATION_ARGS) { - const GALGAS_string operand0 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_lstringWith (operand0, + const GALGAS_impRangedType operand0 = GALGAS_impRangedType::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_impRangedType operand1 = GALGAS_impRangedType::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_checkRanged (operand0, + operand1, inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_lstringWith ("lstringWith", - functionWithGenericHeader_lstringWith, - & kTypeDescriptor_GALGAS_lstring, - 1, - functionArgs_lstringWith) ; +C_galgas_function_descriptor functionDescriptor_checkRanged ("checkRanged", + functionWithGenericHeader_checkRanged, + & kTypeDescriptor_GALGAS_bool, + 2, + functionArgs_checkRanged) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'stripString' +//Function 'checkNewTypeWithinPreviousType' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string function_stripString (GALGAS_string inArgument_s, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_r ; // Returned variable +GALGAS_bool function_checkNewTypeWithinPreviousType (const GALGAS_lstring & constinArgument_name, + const GALGAS_impType & constinArgument_previousType, + const GALGAS_impType & constinArgument_newType, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_bool result_result ; // Returned variable + result_result = GALGAS_bool (false) ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsStrictSup, inArgument_s.getter_count (SOURCE_FILE ("goil_routines.galgas", 515)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + test_0 = GALGAS_bool (kIsNotEqual, constinArgument_newType.readProperty_type ().objectCompare (constinArgument_previousType.readProperty_type ())).boolEnum () ; if (kBoolTrue == test_0) { - GALGAS_uint var_first_15244 = GALGAS_uint (uint32_t (0U)) ; - GALGAS_uint var_last_15264 = inArgument_s.getter_count (SOURCE_FILE ("goil_routines.galgas", 517)) ; - GALGAS_bool var_finished_15348 = GALGAS_bool (false) ; - if (inArgument_s.getter_count (SOURCE_FILE ("goil_routines.galgas", 520)).isValid ()) { - uint32_t variant_15369 = inArgument_s.getter_count (SOURCE_FILE ("goil_routines.galgas", 520)).uintValue () ; - bool loop_15369 = true ; - while (loop_15369) { - loop_15369 = var_finished_15348.operator_not (SOURCE_FILE ("goil_routines.galgas", 521)).isValid () ; - if (loop_15369) { - loop_15369 = var_finished_15348.operator_not (SOURCE_FILE ("goil_routines.galgas", 521)).boolValue () ; - } - if (loop_15369 && (0 == variant_15369)) { - loop_15369 = false ; - inCompiler->loopRunTimeVariantError (SOURCE_FILE ("goil_routines.galgas", 520)) ; - } - if (loop_15369) { - variant_15369 -- ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = GALGAS_bool (kIsEqual, inArgument_s.getter_characterAtIndex (var_first_15244, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 522)).objectCompare (GALGAS_char (TO_UNICODE (32)))).boolEnum () ; - if (kBoolTrue == test_1) { - var_first_15244.increment_operation (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 523)) ; - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = GALGAS_bool (kIsEqual, var_first_15244.objectCompare (inArgument_s.getter_count (SOURCE_FILE ("goil_routines.galgas", 524)))).boolEnum () ; - if (kBoolTrue == test_2) { - var_finished_15348 = GALGAS_bool (true) ; - } - } - } - } - if (kBoolFalse == test_1) { - var_finished_15348 = GALGAS_bool (true) ; - } - } - } + cEnumerator_locationList enumerator_17915 (constinArgument_newType.readProperty_locations (), kENUMERATION_UP) ; + while (enumerator_17915.hasCurrentObject ()) { + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (enumerator_17915.current_location (HERE), constinArgument_name.readProperty_string ().add_operation (GALGAS_string (" should be a "), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 654)).add_operation (extensionGetter_oilType (constinArgument_previousType.readProperty_type (), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 654)), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 654)), fixItArray1 COMMA_SOURCE_FILE ("implementation_parser.galgas", 654)) ; + enumerator_17915.gotoNextObject () ; } - var_finished_15348 = GALGAS_bool (false) ; - if (inArgument_s.getter_count (SOURCE_FILE ("goil_routines.galgas", 529)).isValid ()) { - uint32_t variant_15654 = inArgument_s.getter_count (SOURCE_FILE ("goil_routines.galgas", 529)).uintValue () ; - bool loop_15654 = true ; - while (loop_15654) { - loop_15654 = var_finished_15348.operator_not (SOURCE_FILE ("goil_routines.galgas", 530)).isValid () ; - if (loop_15654) { - loop_15654 = var_finished_15348.operator_not (SOURCE_FILE ("goil_routines.galgas", 530)).boolValue () ; - } - if (loop_15654 && (0 == variant_15654)) { - loop_15654 = false ; - inCompiler->loopRunTimeVariantError (SOURCE_FILE ("goil_routines.galgas", 529)) ; - } - if (loop_15654) { - variant_15654 -- ; - enumGalgasBool test_3 = kBoolTrue ; - if (kBoolTrue == test_3) { - test_3 = GALGAS_bool (kIsEqual, inArgument_s.getter_characterAtIndex (var_last_15264.substract_operation (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 531)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 531)).objectCompare (GALGAS_char (TO_UNICODE (32)))).boolEnum () ; - if (kBoolTrue == test_3) { - var_last_15264.decrement_operation (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 532)) ; - enumGalgasBool test_4 = kBoolTrue ; - if (kBoolTrue == test_4) { - test_4 = GALGAS_bool (kIsEqual, var_last_15264.objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; - if (kBoolTrue == test_4) { - var_finished_15348 = GALGAS_bool (true) ; - } - } - } - } - if (kBoolFalse == test_3) { - var_finished_15348 = GALGAS_bool (true) ; - } + cEnumerator_locationList enumerator_18042 (constinArgument_previousType.readProperty_locations (), kENUMERATION_UP) ; + while (enumerator_18042.hasCurrentObject ()) { + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (enumerator_18042.current_location (HERE), constinArgument_name.readProperty_string ().add_operation (GALGAS_string (" was previouly defined here"), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 657)), fixItArray2 COMMA_SOURCE_FILE ("implementation_parser.galgas", 657)) ; + enumerator_18042.gotoNextObject () ; + } + result_result = GALGAS_bool (false) ; + } + } + if (kBoolFalse == test_0) { + if (constinArgument_previousType.isValid ()) { + if (constinArgument_previousType.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impEnumType) { + GALGAS_impEnumType cast_18223_previousEnum ((cPtr_impEnumType *) constinArgument_previousType.ptr ()) ; + if (constinArgument_newType.isValid ()) { + if (constinArgument_newType.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impEnumType) { + GALGAS_impEnumType cast_18284_newEnum ((cPtr_impEnumType *) constinArgument_newType.ptr ()) ; + result_result = function_checkEnums (cast_18223_previousEnum, cast_18284_newEnum, inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 665)) ; } } - } - enumGalgasBool test_5 = kBoolTrue ; - if (kBoolTrue == test_5) { - test_5 = GALGAS_bool (kIsStrictInf, var_first_15244.objectCompare (var_last_15264)).boolEnum () ; - if (kBoolTrue == test_5) { - result_r = inArgument_s.getter_subString (var_first_15244, var_last_15264.substract_operation (var_first_15244, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 538)) COMMA_SOURCE_FILE ("goil_routines.galgas", 538)) ; + }else if (constinArgument_previousType.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impRangedType) { + GALGAS_impRangedType cast_18388_previousRanged ((cPtr_impRangedType *) constinArgument_previousType.ptr ()) ; + if (constinArgument_newType.isValid ()) { + if (constinArgument_newType.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impRangedType) { + GALGAS_impRangedType cast_18453_newRanged ((cPtr_impRangedType *) constinArgument_newType.ptr ()) ; + result_result = function_checkRanged (cast_18388_previousRanged, cast_18453_newRanged, inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 670)) ; + } } - } - if (kBoolFalse == test_5) { - result_r = GALGAS_string::makeEmptyString () ; + }else{ + result_result = GALGAS_bool (true) ; } } } - if (kBoolFalse == test_0) { - result_r = GALGAS_string::makeEmptyString () ; - } //--- - return result_r ; + return result_result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_stripString [2] = { - & kTypeDescriptor_GALGAS_string, +static const C_galgas_type_descriptor * functionArgs_checkNewTypeWithinPreviousType [4] = { + & kTypeDescriptor_GALGAS_lstring, + & kTypeDescriptor_GALGAS_impType, + & kTypeDescriptor_GALGAS_impType, nullptr } ; -//-------------------------------------------------------------------------------------------------- - -static GALGAS_object functionWithGenericHeader_stripString (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_string operand0 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_stripString (operand0, - inCompiler - COMMA_THERE).getter_object (THERE) ; -} - -//-------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_stripString ("stripString", - functionWithGenericHeader_stripString, - & kTypeDescriptor_GALGAS_string, - 1, - functionArgs_stripString) ; +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- -// -//Routine 'errorNoFileFound???' -// -//-------------------------------------------------------------------------------------------------- - -void routine_errorNoFileFound_3F__3F__3F_ (const GALGAS_stringlist constinArgument_searchedPaths, - const GALGAS_string constinArgument_kind, - const GALGAS_lstring constinArgument_file, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string var_m_16123 = GALGAS_string ("cannot find a valid path for the '").add_operation (constinArgument_file.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 551)).add_operation (GALGAS_string ("' "), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 551)).add_operation (constinArgument_kind, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 551)).add_operation (GALGAS_string (" file. I have tried:"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 551)) ; - cEnumerator_stringlist enumerator_16216 (constinArgument_searchedPaths, kENUMERATION_UP) ; - while (enumerator_16216.hasCurrentObject ()) { - var_m_16123.plusAssign_operation(GALGAS_string ("\n - '").add_operation (enumerator_16216.current_mValue (HERE), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 553)).add_operation (GALGAS_string ("'"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 553)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 553)) ; - enumerator_16216.gotoNextObject () ; - } - TC_Array fixItArray0 ; - inCompiler->emitSemanticError (constinArgument_file.readProperty_location (), var_m_16123, fixItArray0 COMMA_SOURCE_FILE ("goil_routines.galgas", 555)) ; +static GALGAS_object functionWithGenericHeader_checkNewTypeWithinPreviousType (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_lstring operand0 = GALGAS_lstring::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_impType operand1 = GALGAS_impType::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_impType operand2 = GALGAS_impType::extractObject (inEffectiveParameterArray.objectAtIndex (2 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_checkNewTypeWithinPreviousType (operand0, + operand1, + operand2, + inCompiler + COMMA_THERE).getter_object (THERE) ; } +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_checkNewTypeWithinPreviousType ("checkNewTypeWithinPreviousType", + functionWithGenericHeader_checkNewTypeWithinPreviousType, + & kTypeDescriptor_GALGAS_bool, + 3, + functionArgs_checkNewTypeWithinPreviousType) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'stringLBool' +//Function 'buildRange' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string function_stringLBool (const GALGAS_lbool & constinArgument_boolValue, - Compiler * - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_result ; // Returned variable +GALGAS_attributeRange function_buildRange (const GALGAS_dataType & constinArgument_type, + const GALGAS_object_5F_t & constinArgument_start, + const GALGAS_object_5F_t & constinArgument_stop, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_attributeRange result_range ; // Returned variable enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - test_0 = constinArgument_boolValue.readProperty_bool ().boolEnum () ; + test_0 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::constructor_uint_33__32_Number (SOURCE_FILE ("implementation_parser.galgas", 683)))).boolEnum () ; if (kBoolTrue == test_0) { - result_result = GALGAS_string ("TRUE") ; + result_range = GALGAS_uint_33__32_AttributeMinMax::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 684)), function_uint_33__32_OrError (constinArgument_start, GALGAS_string ("UINT32 Range start"), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 684)), function_uint_33__32_OrError (constinArgument_stop, GALGAS_string ("UINT32 Range stop"), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 684)) COMMA_SOURCE_FILE ("implementation_parser.galgas", 684)) ; } } if (kBoolFalse == test_0) { - result_result = GALGAS_string ("FALSE") ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::constructor_sint_33__32_Number (SOURCE_FILE ("implementation_parser.galgas", 685)))).boolEnum () ; + if (kBoolTrue == test_1) { + result_range = GALGAS_sint_33__32_AttributeMinMax::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 686)), function_sint_33__32_OrError (constinArgument_start, GALGAS_string ("SINT32 Range start"), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 686)), function_sint_33__32_OrError (constinArgument_stop, GALGAS_string ("SINT32 Range stop"), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 686)) COMMA_SOURCE_FILE ("implementation_parser.galgas", 686)) ; + } + } + if (kBoolFalse == test_1) { + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::constructor_uint_36__34_Number (SOURCE_FILE ("implementation_parser.galgas", 687)))).boolEnum () ; + if (kBoolTrue == test_2) { + result_range = GALGAS_uint_36__34_AttributeMinMax::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 688)), function_uint_36__34_OrError (constinArgument_start, GALGAS_string ("UINT64 Range start"), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 688)), function_uint_36__34_OrError (constinArgument_stop, GALGAS_string ("UINT64 Range stop"), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 688)) COMMA_SOURCE_FILE ("implementation_parser.galgas", 688)) ; + } + } + if (kBoolFalse == test_2) { + enumGalgasBool test_3 = kBoolTrue ; + if (kBoolTrue == test_3) { + test_3 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::constructor_sint_36__34_Number (SOURCE_FILE ("implementation_parser.galgas", 689)))).boolEnum () ; + if (kBoolTrue == test_3) { + result_range = GALGAS_sint_36__34_AttributeMinMax::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 690)), function_sint_36__34_OrError (constinArgument_start, GALGAS_string ("SINT64 Range start"), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 690)), function_sint_36__34_OrError (constinArgument_stop, GALGAS_string ("SINT64 Range stop"), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 690)) COMMA_SOURCE_FILE ("implementation_parser.galgas", 690)) ; + } + } + if (kBoolFalse == test_3) { + enumGalgasBool test_4 = kBoolTrue ; + if (kBoolTrue == test_4) { + test_4 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::constructor_floatNumber (SOURCE_FILE ("implementation_parser.galgas", 691)))).boolEnum () ; + if (kBoolTrue == test_4) { + result_range = GALGAS_floatAttributeMinMax::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 692)), function_floatOrError (constinArgument_start, GALGAS_string ("FLOAT Range start"), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 692)), function_floatOrError (constinArgument_stop, GALGAS_string ("FLOAT Range stop"), inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 692)) COMMA_SOURCE_FILE ("implementation_parser.galgas", 692)) ; + } + } + if (kBoolFalse == test_4) { + TC_Array fixItArray5 ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("implementation_parser.galgas", 694)), GALGAS_string ("internal. Unknown number type"), fixItArray5 COMMA_SOURCE_FILE ("implementation_parser.galgas", 694)) ; + result_range.drop () ; // Release error dropped variable + } + } + } + } } //--- - return result_result ; + return result_range ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_stringLBool [2] = { - & kTypeDescriptor_GALGAS_lbool, +static const C_galgas_type_descriptor * functionArgs_buildRange [4] = { + & kTypeDescriptor_GALGAS_dataType, + & kTypeDescriptor_GALGAS_object_5F_t, + & kTypeDescriptor_GALGAS_object_5F_t, nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_stringLBool (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_lbool operand0 = GALGAS_lbool::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_stringLBool (operand0, - inCompiler - COMMA_THERE).getter_object (THERE) ; +static GALGAS_object functionWithGenericHeader_buildRange (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_dataType operand0 = GALGAS_dataType::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_object_5F_t operand1 = GALGAS_object_5F_t::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_object_5F_t operand2 = GALGAS_object_5F_t::extractObject (inEffectiveParameterArray.objectAtIndex (2 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_buildRange (operand0, + operand1, + operand2, + inCompiler + COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_stringLBool ("stringLBool", - functionWithGenericHeader_stringLBool, - & kTypeDescriptor_GALGAS_string, - 1, - functionArgs_stringLBool) ; +C_galgas_function_descriptor functionDescriptor_buildRange ("buildRange", + functionWithGenericHeader_buildRange, + & kTypeDescriptor_GALGAS_attributeRange, + 3, + functionArgs_buildRange) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@structAttribute set' +//Function 'stringWithUInt32List' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_structAttribute::method_set (const GALGAS_lstring constinArgument_name, - GALGAS_gtlData & ioArgument_result, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_gtlData var_subAttrs_928 = callExtensionGetter_fieldMap ((const cPtr_objectAttributes *) this->mProperty_subAttributes.ptr (), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 33)) ; - { - var_subAttrs_928.insulate (HERE) ; - cPtr_gtlData * ptr_969 = (cPtr_gtlData *) var_subAttrs_928.ptr () ; - callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_969, GALGAS_lstring::class_func_new (GALGAS_string ("NAME"), this->mProperty_structName.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 35)), GALGAS_gtlString::class_func_new (this->mProperty_location, this->mProperty_oil_5F_desc, this->mProperty_structName.readProperty_string () COMMA_SOURCE_FILE ("systemConfig.galgas", 36)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 34)) ; - } - { - var_subAttrs_928.setter_setMeta (this->mProperty_oil_5F_desc COMMA_SOURCE_FILE ("systemConfig.galgas", 38)) ; - } - { - ioArgument_result.insulate (HERE) ; - cPtr_gtlData * ptr_1124 = (cPtr_gtlData *) ioArgument_result.ptr () ; - callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_1124, constinArgument_name, var_subAttrs_928, inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 39)) ; +GALGAS_string function_stringWithUInt_33__32_List (const GALGAS_uint_33__32_List & constinArgument_values, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string::makeEmptyString () ; + cEnumerator_uint_33__32_List enumerator_2571 (constinArgument_values, kENUMERATION_UP) ; + while (enumerator_2571.hasCurrentObject ()) { + result_result.plusAssign_operation(enumerator_2571.current_value (HERE).getter_string (SOURCE_FILE ("implementation_types.galgas", 85)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 85)) ; + if (enumerator_2571.hasNextObject ()) { + result_result.plusAssign_operation(GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 85)) ; + } + enumerator_2571.gotoNextObject () ; } +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@boolAttribute set' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_boolAttribute::method_set (const GALGAS_lstring constinArgument_name, - GALGAS_gtlData & ioArgument_result, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - { - ioArgument_result.insulate (HERE) ; - cPtr_gtlData * ptr_1570 = (cPtr_gtlData *) ioArgument_result.ptr () ; - callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_1570, constinArgument_name, GALGAS_gtlBool::class_func_new (this->mProperty_location, this->mProperty_oil_5F_desc, this->mProperty_value COMMA_SOURCE_FILE ("systemConfig.galgas", 52)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 52)) ; - } - GALGAS_gtlData var_subAttrs_1655 = callExtensionGetter_fieldMap ((const cPtr_objectAttributes *) this->mProperty_subAttributes.ptr (), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 53)) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - GALGAS_gtlStruct temp_1 ; - if (var_subAttrs_1655.isValid ()) { - if (nullptr != dynamic_cast (var_subAttrs_1655.ptr ())) { - temp_1 = (cPtr_gtlStruct *) var_subAttrs_1655.ptr () ; - }else{ - inCompiler->castError ("gtlStruct", var_subAttrs_1655.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("systemConfig.galgas", 54)) ; - } - } - test_0 = GALGAS_bool (kIsStrictSup, temp_1.readProperty_value ().getter_count (SOURCE_FILE ("systemConfig.galgas", 54)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; - if (kBoolTrue == test_0) { - GALGAS_lstring var_structName_1761 = GALGAS_lstring::class_func_new (constinArgument_name.readProperty_string ().add_operation (GALGAS_string ("_S"), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 55)), constinArgument_name.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 55)) ; - { - var_subAttrs_1655.setter_setMeta (this->mProperty_oil_5F_desc COMMA_SOURCE_FILE ("systemConfig.galgas", 56)) ; - } - { - ioArgument_result.insulate (HERE) ; - cPtr_gtlData * ptr_1871 = (cPtr_gtlData *) ioArgument_result.ptr () ; - callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_1871, var_structName_1761, var_subAttrs_1655, inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 57)) ; - } - } - } + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_stringWithUInt_33__32_List [2] = { + & kTypeDescriptor_GALGAS_uint_33__32_List, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_stringWithUInt_33__32_List (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_uint_33__32_List operand0 = GALGAS_uint_33__32_List::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_stringWithUInt_33__32_List (operand0, + inCompiler + COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_stringWithUInt_33__32_List ("stringWithUInt32List", + functionWithGenericHeader_stringWithUInt_33__32_List, + & kTypeDescriptor_GALGAS_string, + 1, + functionArgs_stringWithUInt_33__32_List) ; + +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@enumAttribute set' +//Function 'stringWithUInt64List' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_enumAttribute::method_set (const GALGAS_lstring constinArgument_name, - GALGAS_gtlData & ioArgument_result, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - { - ioArgument_result.insulate (HERE) ; - cPtr_gtlData * ptr_2190 = (cPtr_gtlData *) ioArgument_result.ptr () ; - callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_2190, constinArgument_name, GALGAS_gtlString::class_func_new (this->mProperty_location, this->mProperty_oil_5F_desc, this->mProperty_value COMMA_SOURCE_FILE ("systemConfig.galgas", 66)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 66)) ; - } - GALGAS_gtlData var_subAttrs_2277 = callExtensionGetter_fieldMap ((const cPtr_objectAttributes *) this->mProperty_subAttributes.ptr (), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 67)) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - GALGAS_gtlStruct temp_1 ; - if (var_subAttrs_2277.isValid ()) { - if (nullptr != dynamic_cast (var_subAttrs_2277.ptr ())) { - temp_1 = (cPtr_gtlStruct *) var_subAttrs_2277.ptr () ; - }else{ - inCompiler->castError ("gtlStruct", var_subAttrs_2277.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("systemConfig.galgas", 68)) ; - } - } - test_0 = GALGAS_bool (kIsStrictSup, temp_1.readProperty_value ().getter_count (SOURCE_FILE ("systemConfig.galgas", 68)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; - if (kBoolTrue == test_0) { - GALGAS_lstring var_structName_2383 = GALGAS_lstring::class_func_new (constinArgument_name.readProperty_string ().add_operation (GALGAS_string ("_S"), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 69)), constinArgument_name.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 69)) ; - { - var_subAttrs_2277.setter_setMeta (this->mProperty_oil_5F_desc COMMA_SOURCE_FILE ("systemConfig.galgas", 70)) ; - } - { - ioArgument_result.insulate (HERE) ; - cPtr_gtlData * ptr_2493 = (cPtr_gtlData *) ioArgument_result.ptr () ; - callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_2493, var_structName_2383, var_subAttrs_2277, inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 71)) ; - } +GALGAS_string function_stringWithUInt_36__34_List (const GALGAS_uint_36__34_List & constinArgument_values, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string::makeEmptyString () ; + cEnumerator_uint_36__34_List enumerator_2733 (constinArgument_values, kENUMERATION_UP) ; + while (enumerator_2733.hasCurrentObject ()) { + result_result.plusAssign_operation(enumerator_2733.current_value (HERE).getter_string (SOURCE_FILE ("implementation_types.galgas", 90)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 90)) ; + if (enumerator_2733.hasNextObject ()) { + result_result.plusAssign_operation(GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 90)) ; } + enumerator_2733.gotoNextObject () ; } +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@stringAttribute set' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_stringAttribute::method_set (const GALGAS_lstring constinArgument_name, - GALGAS_gtlData & ioArgument_result, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - { - ioArgument_result.insulate (HERE) ; - cPtr_gtlData * ptr_2628 = (cPtr_gtlData *) ioArgument_result.ptr () ; - callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_2628, constinArgument_name, GALGAS_gtlString::class_func_new (this->mProperty_location, this->mProperty_oil_5F_desc, this->mProperty_value COMMA_SOURCE_FILE ("systemConfig.galgas", 76)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 76)) ; - } -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@string_class set' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_string_5F_class::method_set (const GALGAS_lstring constinArgument_name, - GALGAS_gtlData & ioArgument_result, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - { - ioArgument_result.insulate (HERE) ; - cPtr_gtlData * ptr_2785 = (cPtr_gtlData *) ioArgument_result.ptr () ; - callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_2785, constinArgument_name, GALGAS_gtlString::class_func_new (this->mProperty_location, this->mProperty_oil_5F_desc, this->mProperty_value COMMA_SOURCE_FILE ("systemConfig.galgas", 80)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 80)) ; - } -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@objectRefAttribute set' -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_objectRefAttribute::method_set (const GALGAS_lstring constinArgument_name, - GALGAS_gtlData & ioArgument_result, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - { - ioArgument_result.insulate (HERE) ; - cPtr_gtlData * ptr_2948 = (cPtr_gtlData *) ioArgument_result.ptr () ; - callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_2948, constinArgument_name, GALGAS_gtlString::class_func_new (this->mProperty_location, this->mProperty_oil_5F_desc, this->mProperty_value.readProperty_string () COMMA_SOURCE_FILE ("systemConfig.galgas", 84)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 84)) ; - } +static const C_galgas_type_descriptor * functionArgs_stringWithUInt_36__34_List [2] = { + & kTypeDescriptor_GALGAS_uint_36__34_List, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_stringWithUInt_36__34_List (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_uint_36__34_List operand0 = GALGAS_uint_36__34_List::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_stringWithUInt_36__34_List (operand0, + inCompiler + COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_stringWithUInt_36__34_List ("stringWithUInt64List", + functionWithGenericHeader_stringWithUInt_36__34_List, + & kTypeDescriptor_GALGAS_string, + 1, + functionArgs_stringWithUInt_36__34_List) ; + +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@multipleAttribute set' +//Function 'stringWithSInt32List' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_multipleAttribute::method_set (const GALGAS_lstring constinArgument_name, - GALGAS_gtlData & ioArgument_result, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_gtlList var_multiple_3116 = GALGAS_gtlList::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 88)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 88)), GALGAS_list::class_func_emptyList (SOURCE_FILE ("systemConfig.galgas", 88)) COMMA_SOURCE_FILE ("systemConfig.galgas", 88)) ; - cEnumerator_identifierList enumerator_3177 (this->mProperty_items, kENUMERATION_UP) ; - while (enumerator_3177.hasCurrentObject ()) { - GALGAS_gtlData var_multipleItem_3206 = GALGAS_gtlStruct::class_func_new (this->mProperty_location, this->mProperty_oil_5F_desc, GALGAS_gtlVarMap::class_func_emptyMap (SOURCE_FILE ("systemConfig.galgas", 90)) COMMA_SOURCE_FILE ("systemConfig.galgas", 90)) ; - if (enumerator_3177.current_item (HERE).isValid ()) { - if (enumerator_3177.current_item (HERE).dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_structAttribute) { - GALGAS_structAttribute cast_3314_aStruct ((cPtr_structAttribute *) enumerator_3177.current_item (HERE).ptr ()) ; - { - var_multipleItem_3206.insulate (HERE) ; - cPtr_gtlData * ptr_3333 = (cPtr_gtlData *) var_multipleItem_3206.ptr () ; - callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_3333, GALGAS_lstring::class_func_new (GALGAS_string ("NAME"), cast_3314_aStruct.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 94)), GALGAS_gtlString::class_func_new (cast_3314_aStruct.readProperty_location (), cast_3314_aStruct.readProperty_oil_5F_desc (), cast_3314_aStruct.readProperty_structName ().readProperty_string () COMMA_SOURCE_FILE ("systemConfig.galgas", 95)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 93)) ; - } - GALGAS_gtlData var_subAttrs_3571 = callExtensionGetter_fieldMap ((const cPtr_objectAttributes *) cast_3314_aStruct.readProperty_subAttributes ().ptr (), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 101)) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - GALGAS_gtlStruct temp_1 ; - if (var_subAttrs_3571.isValid ()) { - if (nullptr != dynamic_cast (var_subAttrs_3571.ptr ())) { - temp_1 = (cPtr_gtlStruct *) var_subAttrs_3571.ptr () ; - }else{ - inCompiler->castError ("gtlStruct", var_subAttrs_3571.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("systemConfig.galgas", 102)) ; - } - } - test_0 = GALGAS_bool (kIsStrictSup, temp_1.readProperty_value ().getter_count (SOURCE_FILE ("systemConfig.galgas", 102)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; - if (kBoolTrue == test_0) { - GALGAS_gtlStruct temp_2 ; - if (var_subAttrs_3571.isValid ()) { - if (nullptr != dynamic_cast (var_subAttrs_3571.ptr ())) { - temp_2 = (cPtr_gtlStruct *) var_subAttrs_3571.ptr () ; - }else{ - inCompiler->castError ("gtlStruct", var_subAttrs_3571.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("systemConfig.galgas", 103)) ; - } - } - cEnumerator_gtlVarMap enumerator_3686 (temp_2.readProperty_value (), kENUMERATION_UP) ; - while (enumerator_3686.hasCurrentObject ()) { - { - var_multipleItem_3206.insulate (HERE) ; - cPtr_gtlData * ptr_3740 = (cPtr_gtlData *) var_multipleItem_3206.ptr () ; - callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_3740, enumerator_3686.current_lkey (HERE), enumerator_3686.current_value (HERE), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 104)) ; - } - enumerator_3686.gotoNextObject () ; - } - } - } - }else{ - callExtensionMethod_set ((cPtr_object_5F_t *) enumerator_3177.current_item (HERE).ptr (), GALGAS_lstring::class_func_new (GALGAS_string ("VALUE"), enumerator_3177.current_item (HERE).readProperty_location (), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 108)), var_multipleItem_3206, inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 108)) ; - } - } - { - var_multiple_3116.insulate (HERE) ; - cPtr_gtlList * ptr_3904 = (cPtr_gtlList *) var_multiple_3116.ptr () ; - callExtensionSetter_appendItem ((cPtr_gtlList *) ptr_3904, var_multipleItem_3206, inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 110)) ; +GALGAS_string function_stringWithSInt_33__32_List (const GALGAS_sint_33__32_List & constinArgument_values, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string::makeEmptyString () ; + cEnumerator_sint_33__32_List enumerator_2895 (constinArgument_values, kENUMERATION_UP) ; + while (enumerator_2895.hasCurrentObject ()) { + result_result.plusAssign_operation(enumerator_2895.current_value (HERE).getter_string (SOURCE_FILE ("implementation_types.galgas", 95)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 95)) ; + if (enumerator_2895.hasNextObject ()) { + result_result.plusAssign_operation(GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 95)) ; } - enumerator_3177.gotoNextObject () ; - } - { - var_multiple_3116.setter_setMeta (this->mProperty_oil_5F_desc COMMA_SOURCE_FILE ("systemConfig.galgas", 112)) ; - } - { - ioArgument_result.insulate (HERE) ; - cPtr_gtlData * ptr_3983 = (cPtr_gtlData *) ioArgument_result.ptr () ; - callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_3983, constinArgument_name, var_multiple_3116, inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 113)) ; + enumerator_2895.gotoNextObject () ; } +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@uint32_class set' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_uint_33__32__5F_class::method_set (const GALGAS_lstring constinArgument_name, - GALGAS_gtlData & ioArgument_result, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - { - ioArgument_result.insulate (HERE) ; - cPtr_gtlData * ptr_4103 = (cPtr_gtlData *) ioArgument_result.ptr () ; - callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_4103, constinArgument_name, GALGAS_gtlInt::class_func_new (this->mProperty_location, this->mProperty_oil_5F_desc, this->mProperty_value.getter_bigint (SOURCE_FILE ("systemConfig.galgas", 119)) COMMA_SOURCE_FILE ("systemConfig.galgas", 119)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 117)) ; - } -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@sint32_class set' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_sint_33__32__5F_class::method_set (const GALGAS_lstring constinArgument_name, - GALGAS_gtlData & ioArgument_result, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - { - ioArgument_result.insulate (HERE) ; - cPtr_gtlData * ptr_4277 = (cPtr_gtlData *) ioArgument_result.ptr () ; - callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_4277, constinArgument_name, GALGAS_gtlInt::class_func_new (this->mProperty_location, this->mProperty_oil_5F_desc, this->mProperty_value.getter_bigint (SOURCE_FILE ("systemConfig.galgas", 126)) COMMA_SOURCE_FILE ("systemConfig.galgas", 126)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 124)) ; - } -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@uint64_class set' -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_uint_36__34__5F_class::method_set (const GALGAS_lstring constinArgument_name, - GALGAS_gtlData & ioArgument_result, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - { - ioArgument_result.insulate (HERE) ; - cPtr_gtlData * ptr_4451 = (cPtr_gtlData *) ioArgument_result.ptr () ; - callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_4451, constinArgument_name, GALGAS_gtlInt::class_func_new (this->mProperty_location, this->mProperty_oil_5F_desc, this->mProperty_value.getter_bigint (SOURCE_FILE ("systemConfig.galgas", 133)) COMMA_SOURCE_FILE ("systemConfig.galgas", 133)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 131)) ; - } -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@sint64_class set' -// -//-------------------------------------------------------------------------------------------------- +static const C_galgas_type_descriptor * functionArgs_stringWithSInt_33__32_List [2] = { + & kTypeDescriptor_GALGAS_sint_33__32_List, + nullptr +} ; -void cPtr_sint_36__34__5F_class::method_set (const GALGAS_lstring constinArgument_name, - GALGAS_gtlData & ioArgument_result, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - { - ioArgument_result.insulate (HERE) ; - cPtr_gtlData * ptr_4625 = (cPtr_gtlData *) ioArgument_result.ptr () ; - callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_4625, constinArgument_name, GALGAS_gtlInt::class_func_new (this->mProperty_location, this->mProperty_oil_5F_desc, this->mProperty_value.getter_bigint (SOURCE_FILE ("systemConfig.galgas", 140)) COMMA_SOURCE_FILE ("systemConfig.galgas", 140)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 138)) ; - } -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@float_class set' -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_float_5F_class::method_set (const GALGAS_lstring constinArgument_name, - GALGAS_gtlData & ioArgument_result, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - { - ioArgument_result.insulate (HERE) ; - cPtr_gtlData * ptr_4798 = (cPtr_gtlData *) ioArgument_result.ptr () ; - callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_4798, constinArgument_name, GALGAS_gtlFloat::class_func_new (this->mProperty_location, this->mProperty_oil_5F_desc, this->mProperty_value COMMA_SOURCE_FILE ("systemConfig.galgas", 147)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 145)) ; - } +static GALGAS_object functionWithGenericHeader_stringWithSInt_33__32_List (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_sint_33__32_List operand0 = GALGAS_sint_33__32_List::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_stringWithSInt_33__32_List (operand0, + inCompiler + COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@auto set' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_auto::method_set (const GALGAS_lstring constinArgument_name, - GALGAS_gtlData & ioArgument_result, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - { - ioArgument_result.insulate (HERE) ; - cPtr_gtlData * ptr_4957 = (cPtr_gtlData *) ioArgument_result.ptr () ; - callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_4957, constinArgument_name, GALGAS_gtlEnum::class_func_new (this->mProperty_location, this->mProperty_oil_5F_desc, GALGAS_string ("auto") COMMA_SOURCE_FILE ("systemConfig.galgas", 154)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 152)) ; - } -} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_stringWithSInt_33__32_List ("stringWithSInt32List", + functionWithGenericHeader_stringWithSInt_33__32_List, + & kTypeDescriptor_GALGAS_string, + 1, + functionArgs_stringWithSInt_33__32_List) ; + +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'setDefaults?&' +//Function 'stringWithSInt64List' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_setDefaults_3F__26_ (const GALGAS_implementation constinArgument_imp, - GALGAS_applicationDefinition & ioArgument_application, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_objectsMap var_objects_870 = ioArgument_application.readProperty_objects () ; - cEnumerator_lstringlist enumerator_948 (var_objects_870.getter_keyList (SOURCE_FILE ("defaults.galgas", 35)), kENUMERATION_UP) ; - while (enumerator_948.hasCurrentObject ()) { - cMapElement_objectsMap * objectArray_989 = (cMapElement_objectsMap *) var_objects_870.readWriteAccessForWithInstructionWithErrorMessage (inCompiler, enumerator_948.current_mValue (HERE), kSearchErrorMessage_objectsMap_get COMMA_SOURCE_FILE ("defaults.galgas", 36)) ; - if (nullptr != objectArray_989) { - macroValidSharedObject (objectArray_989, cMapElement_objectsMap) ; - GALGAS_objectKindMap var_objOfKind_1061 = objectArray_989->mProperty_objectsOfKind.readProperty_objects () ; - cEnumerator_lstringlist enumerator_1117 (var_objOfKind_1061.getter_keyList (SOURCE_FILE ("defaults.galgas", 38)), kENUMERATION_UP) ; - while (enumerator_1117.hasCurrentObject ()) { - cMapElement_objectKindMap * objectArray_1164 = (cMapElement_objectKindMap *) var_objOfKind_1061.readWriteAccessForWithInstructionWithErrorMessage (inCompiler, enumerator_1117.current_mValue (HERE), kSearchErrorMessage_objectKindMap_get COMMA_SOURCE_FILE ("defaults.galgas", 39)) ; - if (nullptr != objectArray_1164) { - macroValidSharedObject (objectArray_1164, cMapElement_objectKindMap) ; - GALGAS_implementationObject var_impObject_1253 = callExtensionGetter_impObject ((const cPtr_implementation *) constinArgument_imp.ptr (), enumerator_948.current_mValue (HERE).readProperty_string (), inCompiler COMMA_SOURCE_FILE ("defaults.galgas", 40)) ; - { - routine_setDefaultsForType_3F__26_ (var_impObject_1253.readProperty_attributes (), objectArray_1164->mProperty_attributes, inCompiler COMMA_SOURCE_FILE ("defaults.galgas", 41)) ; - } - } - enumerator_1117.gotoNextObject () ; - } - { - objectArray_989->mProperty_objectsOfKind.setter_setObjects (var_objOfKind_1061 COMMA_SOURCE_FILE ("defaults.galgas", 44)) ; - } +GALGAS_string function_stringWithSInt_36__34_List (const GALGAS_sint_36__34_List & constinArgument_values, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string::makeEmptyString () ; + cEnumerator_sint_36__34_List enumerator_3057 (constinArgument_values, kENUMERATION_UP) ; + while (enumerator_3057.hasCurrentObject ()) { + result_result.plusAssign_operation(enumerator_3057.current_value (HERE).getter_string (SOURCE_FILE ("implementation_types.galgas", 100)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 100)) ; + if (enumerator_3057.hasNextObject ()) { + result_result.plusAssign_operation(GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 100)) ; } - enumerator_948.gotoNextObject () ; - } - { - ioArgument_application.setter_setObjects (var_objects_870 COMMA_SOURCE_FILE ("defaults.galgas", 48)) ; + enumerator_3057.gotoNextObject () ; } +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@impStructType verifyType' -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_impStructType::method_verifyType (const GALGAS_object_5F_t constinArgument_attr, - Compiler * inCompiler +static const C_galgas_type_descriptor * functionArgs_stringWithSInt_36__34_List [2] = { + & kTypeDescriptor_GALGAS_sint_36__34_List, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_stringWithSInt_36__34_List (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_sint_36__34_List operand0 = GALGAS_sint_36__34_List::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_stringWithSInt_36__34_List (operand0, + inCompiler + COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_stringWithSInt_36__34_List ("stringWithSInt64List", + functionWithGenericHeader_stringWithSInt_36__34_List, + & kTypeDescriptor_GALGAS_string, + 1, + functionArgs_stringWithSInt_36__34_List) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'stringWithFloatList' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string function_stringWithFloatList (const GALGAS_floatList & constinArgument_values, + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { - if (constinArgument_attr.isValid ()) { - if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_structAttribute) { - GALGAS_structAttribute cast_2382_sa ((cPtr_structAttribute *) constinArgument_attr.ptr ()) ; - cEnumerator_implementationObjectMap enumerator_2395 (this->mProperty_structAttributes, kENUMERATION_UP) ; - while (enumerator_2395.hasCurrentObject ()) { - enumGalgasBool test_0 = kBoolTrue ; + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string::makeEmptyString () ; + cEnumerator_floatList enumerator_3217 (constinArgument_values, kENUMERATION_UP) ; + while (enumerator_3217.hasCurrentObject ()) { + result_result.plusAssign_operation(enumerator_3217.current_value (HERE).getter_string (SOURCE_FILE ("implementation_types.galgas", 105)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 105)) ; + if (enumerator_3217.hasNextObject ()) { + result_result.plusAssign_operation(GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 105)) ; + } + enumerator_3217.gotoNextObject () ; + } +//--- + return result_result ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_stringWithFloatList [2] = { + & kTypeDescriptor_GALGAS_floatList, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_stringWithFloatList (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_floatList operand0 = GALGAS_floatList::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_stringWithFloatList (operand0, + inCompiler + COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_stringWithFloatList ("stringWithFloatList", + functionWithGenericHeader_stringWithFloatList, + & kTypeDescriptor_GALGAS_string, + 1, + functionArgs_stringWithFloatList) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'uint32ListWithNumberList' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_uint_33__32_List function_uint_33__32_ListWithNumberList (const GALGAS_numberList & constinArgument_numbers, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_uint_33__32_List result_result ; // Returned variable + result_result = GALGAS_uint_33__32_List::constructor_emptyList (SOURCE_FILE ("implementation_types.galgas", 109)) ; + cEnumerator_numberList enumerator_3408 (constinArgument_numbers, kENUMERATION_UP) ; + while (enumerator_3408.hasCurrentObject ()) { + result_result.addAssign_operation (enumerator_3408.current_location (HERE), function_uint_33__32_OrError (enumerator_3408.current_value (HERE), GALGAS_string::makeEmptyString (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 111)) COMMA_SOURCE_FILE ("implementation_types.galgas", 111)) ; + enumerator_3408.gotoNextObject () ; + } +//--- + return result_result ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_uint_33__32_ListWithNumberList [2] = { + & kTypeDescriptor_GALGAS_numberList, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_uint_33__32_ListWithNumberList (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_numberList operand0 = GALGAS_numberList::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_uint_33__32_ListWithNumberList (operand0, + inCompiler + COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_uint_33__32_ListWithNumberList ("uint32ListWithNumberList", + functionWithGenericHeader_uint_33__32_ListWithNumberList, + & kTypeDescriptor_GALGAS_uint_33__32_List, + 1, + functionArgs_uint_33__32_ListWithNumberList) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'sint32ListWithNumberList' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_sint_33__32_List function_sint_33__32_ListWithNumberList (const GALGAS_numberList & constinArgument_numbers, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_sint_33__32_List result_result ; // Returned variable + result_result = GALGAS_sint_33__32_List::constructor_emptyList (SOURCE_FILE ("implementation_types.galgas", 116)) ; + cEnumerator_numberList enumerator_3606 (constinArgument_numbers, kENUMERATION_UP) ; + while (enumerator_3606.hasCurrentObject ()) { + result_result.addAssign_operation (enumerator_3606.current_location (HERE), function_sint_33__32_OrError (enumerator_3606.current_value (HERE), GALGAS_string::makeEmptyString (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 118)) COMMA_SOURCE_FILE ("implementation_types.galgas", 118)) ; + enumerator_3606.gotoNextObject () ; + } +//--- + return result_result ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_sint_33__32_ListWithNumberList [2] = { + & kTypeDescriptor_GALGAS_numberList, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_sint_33__32_ListWithNumberList (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_numberList operand0 = GALGAS_numberList::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_sint_33__32_ListWithNumberList (operand0, + inCompiler + COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_sint_33__32_ListWithNumberList ("sint32ListWithNumberList", + functionWithGenericHeader_sint_33__32_ListWithNumberList, + & kTypeDescriptor_GALGAS_sint_33__32_List, + 1, + functionArgs_sint_33__32_ListWithNumberList) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'uint64ListWithNumberList' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_uint_36__34_List function_uint_36__34_ListWithNumberList (const GALGAS_numberList & constinArgument_numbers, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_uint_36__34_List result_result ; // Returned variable + result_result = GALGAS_uint_36__34_List::constructor_emptyList (SOURCE_FILE ("implementation_types.galgas", 123)) ; + cEnumerator_numberList enumerator_3804 (constinArgument_numbers, kENUMERATION_UP) ; + while (enumerator_3804.hasCurrentObject ()) { + result_result.addAssign_operation (enumerator_3804.current_location (HERE), function_uint_36__34_OrError (enumerator_3804.current_value (HERE), GALGAS_string::makeEmptyString (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 125)) COMMA_SOURCE_FILE ("implementation_types.galgas", 125)) ; + enumerator_3804.gotoNextObject () ; + } +//--- + return result_result ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_uint_36__34_ListWithNumberList [2] = { + & kTypeDescriptor_GALGAS_numberList, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_uint_36__34_ListWithNumberList (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_numberList operand0 = GALGAS_numberList::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_uint_36__34_ListWithNumberList (operand0, + inCompiler + COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_uint_36__34_ListWithNumberList ("uint64ListWithNumberList", + functionWithGenericHeader_uint_36__34_ListWithNumberList, + & kTypeDescriptor_GALGAS_uint_36__34_List, + 1, + functionArgs_uint_36__34_ListWithNumberList) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'sint64ListWithNumberList' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_sint_36__34_List function_sint_36__34_ListWithNumberList (const GALGAS_numberList & constinArgument_numbers, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_sint_36__34_List result_result ; // Returned variable + result_result = GALGAS_sint_36__34_List::constructor_emptyList (SOURCE_FILE ("implementation_types.galgas", 130)) ; + cEnumerator_numberList enumerator_4002 (constinArgument_numbers, kENUMERATION_UP) ; + while (enumerator_4002.hasCurrentObject ()) { + result_result.addAssign_operation (enumerator_4002.current_location (HERE), function_sint_36__34_OrError (enumerator_4002.current_value (HERE), GALGAS_string::makeEmptyString (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 132)) COMMA_SOURCE_FILE ("implementation_types.galgas", 132)) ; + enumerator_4002.gotoNextObject () ; + } +//--- + return result_result ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_sint_36__34_ListWithNumberList [2] = { + & kTypeDescriptor_GALGAS_numberList, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_sint_36__34_ListWithNumberList (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_numberList operand0 = GALGAS_numberList::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_sint_36__34_ListWithNumberList (operand0, + inCompiler + COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_sint_36__34_ListWithNumberList ("sint64ListWithNumberList", + functionWithGenericHeader_sint_36__34_ListWithNumberList, + & kTypeDescriptor_GALGAS_sint_36__34_List, + 1, + functionArgs_sint_36__34_ListWithNumberList) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'floatListWithNumberList' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_floatList function_floatListWithNumberList (const GALGAS_numberList & constinArgument_numbers, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_floatList result_result ; // Returned variable + result_result = GALGAS_floatList::constructor_emptyList (SOURCE_FILE ("implementation_types.galgas", 137)) ; + cEnumerator_numberList enumerator_4197 (constinArgument_numbers, kENUMERATION_UP) ; + while (enumerator_4197.hasCurrentObject ()) { + result_result.addAssign_operation (enumerator_4197.current_location (HERE), function_floatOrError (enumerator_4197.current_value (HERE), GALGAS_string::makeEmptyString (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 139)) COMMA_SOURCE_FILE ("implementation_types.galgas", 139)) ; + enumerator_4197.gotoNextObject () ; + } +//--- + return result_result ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_floatListWithNumberList [2] = { + & kTypeDescriptor_GALGAS_numberList, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_floatListWithNumberList (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_numberList operand0 = GALGAS_numberList::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_floatListWithNumberList (operand0, + inCompiler + COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_floatListWithNumberList ("floatListWithNumberList", + functionWithGenericHeader_floatListWithNumberList, + & kTypeDescriptor_GALGAS_floatList, + 1, + functionArgs_floatListWithNumberList) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@noRange enclose' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_noRange::method_enclose (GALGAS_bool & outArgument_isWithin, + const GALGAS_attributeRange /* constinArgument_value */, + C_Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_isWithin = GALGAS_bool (true) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@uint32AttributeSet enclose' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_uint_33__32_AttributeSet::method_enclose (GALGAS_bool & outArgument_isWithin, + const GALGAS_attributeRange constinArgument_value, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_isWithin = GALGAS_bool (true) ; + if (constinArgument_value.isValid ()) { + if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_33__32_AttributeSet) { + GALGAS_uint_33__32_AttributeSet cast_4955_set ((cPtr_uint_33__32_AttributeSet *) constinArgument_value.ptr ()) ; + cEnumerator_uint_33__32_List enumerator_4969 (cast_4955_set.readProperty_valueList (), kENUMERATION_UP) ; + while (enumerator_4969.hasCurrentObject ()) { + GALGAS_bool var_ok_5012 = GALGAS_bool (false) ; + cEnumerator_uint_33__32_List enumerator_5033 (this->mProperty_valueList, kENUMERATION_UP) ; + while (enumerator_5033.hasCurrentObject ()) { + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsEqual, enumerator_4969.current_value (HERE).objectCompare (enumerator_5033.current_value (HERE))).boolEnum () ; + if (kBoolTrue == test_0) { + var_ok_5012 = GALGAS_bool (true) ; + } + } + enumerator_5033.gotoNextObject () ; + } + outArgument_isWithin = outArgument_isWithin.operator_and (var_ok_5012 COMMA_SOURCE_FILE ("implementation_types.galgas", 177)) ; + enumerator_4969.gotoNextObject () ; + } + }else{ + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (constinArgument_value.readProperty_location (), GALGAS_string ("Incompatible set. Should be a UINT32 set"), fixItArray1 COMMA_SOURCE_FILE ("implementation_types.galgas", 180)) ; + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (this->mProperty_location, GALGAS_string ("Previous set was declared here"), fixItArray2 COMMA_SOURCE_FILE ("implementation_types.galgas", 181)) ; + outArgument_isWithin = GALGAS_bool (false) ; + } + } +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@uint64AttributeSet enclose' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_uint_36__34_AttributeSet::method_enclose (GALGAS_bool & outArgument_isWithin, + const GALGAS_attributeRange constinArgument_value, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_isWithin = GALGAS_bool (true) ; + if (constinArgument_value.isValid ()) { + if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_36__34_AttributeSet) { + GALGAS_uint_36__34_AttributeSet cast_5566_set ((cPtr_uint_36__34_AttributeSet *) constinArgument_value.ptr ()) ; + cEnumerator_uint_36__34_List enumerator_5580 (cast_5566_set.readProperty_valueList (), kENUMERATION_UP) ; + while (enumerator_5580.hasCurrentObject ()) { + GALGAS_bool var_ok_5623 = GALGAS_bool (false) ; + cEnumerator_uint_36__34_List enumerator_5644 (this->mProperty_valueList, kENUMERATION_UP) ; + while (enumerator_5644.hasCurrentObject ()) { + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsEqual, enumerator_5580.current_value (HERE).objectCompare (enumerator_5644.current_value (HERE))).boolEnum () ; + if (kBoolTrue == test_0) { + var_ok_5623 = GALGAS_bool (true) ; + } + } + enumerator_5644.gotoNextObject () ; + } + outArgument_isWithin = outArgument_isWithin.operator_and (var_ok_5623 COMMA_SOURCE_FILE ("implementation_types.galgas", 201)) ; + enumerator_5580.gotoNextObject () ; + } + }else{ + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (constinArgument_value.readProperty_location (), GALGAS_string ("Incompatible set. Should be a UINT64 set"), fixItArray1 COMMA_SOURCE_FILE ("implementation_types.galgas", 204)) ; + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (this->mProperty_location, GALGAS_string ("Previous set was declared here"), fixItArray2 COMMA_SOURCE_FILE ("implementation_types.galgas", 205)) ; + outArgument_isWithin = GALGAS_bool (false) ; + } + } +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@sint32AttributeSet enclose' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_sint_33__32_AttributeSet::method_enclose (GALGAS_bool & outArgument_isWithin, + const GALGAS_attributeRange constinArgument_value, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_isWithin = GALGAS_bool (true) ; + if (constinArgument_value.isValid ()) { + if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_33__32_AttributeSet) { + GALGAS_sint_33__32_AttributeSet cast_6177_set ((cPtr_sint_33__32_AttributeSet *) constinArgument_value.ptr ()) ; + cEnumerator_sint_33__32_List enumerator_6191 (cast_6177_set.readProperty_valueList (), kENUMERATION_UP) ; + while (enumerator_6191.hasCurrentObject ()) { + GALGAS_bool var_ok_6234 = GALGAS_bool (false) ; + cEnumerator_sint_33__32_List enumerator_6255 (this->mProperty_valueList, kENUMERATION_UP) ; + while (enumerator_6255.hasCurrentObject ()) { + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsEqual, enumerator_6191.current_value (HERE).objectCompare (enumerator_6255.current_value (HERE))).boolEnum () ; + if (kBoolTrue == test_0) { + var_ok_6234 = GALGAS_bool (true) ; + } + } + enumerator_6255.gotoNextObject () ; + } + outArgument_isWithin = outArgument_isWithin.operator_and (var_ok_6234 COMMA_SOURCE_FILE ("implementation_types.galgas", 225)) ; + enumerator_6191.gotoNextObject () ; + } + }else{ + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (constinArgument_value.readProperty_location (), GALGAS_string ("Incompatible set. Should be a INT32 set"), fixItArray1 COMMA_SOURCE_FILE ("implementation_types.galgas", 228)) ; + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (this->mProperty_location, GALGAS_string ("Previous set was declared here"), fixItArray2 COMMA_SOURCE_FILE ("implementation_types.galgas", 229)) ; + outArgument_isWithin = GALGAS_bool (false) ; + } + } +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@sint64AttributeSet enclose' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_sint_36__34_AttributeSet::method_enclose (GALGAS_bool & outArgument_isWithin, + const GALGAS_attributeRange constinArgument_value, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_isWithin = GALGAS_bool (true) ; + if (constinArgument_value.isValid ()) { + if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_36__34_AttributeSet) { + GALGAS_sint_36__34_AttributeSet cast_6787_set ((cPtr_sint_36__34_AttributeSet *) constinArgument_value.ptr ()) ; + cEnumerator_sint_36__34_List enumerator_6801 (cast_6787_set.readProperty_valueList (), kENUMERATION_UP) ; + while (enumerator_6801.hasCurrentObject ()) { + GALGAS_bool var_ok_6844 = GALGAS_bool (false) ; + cEnumerator_sint_36__34_List enumerator_6865 (this->mProperty_valueList, kENUMERATION_UP) ; + while (enumerator_6865.hasCurrentObject ()) { + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsEqual, enumerator_6801.current_value (HERE).objectCompare (enumerator_6865.current_value (HERE))).boolEnum () ; + if (kBoolTrue == test_0) { + var_ok_6844 = GALGAS_bool (true) ; + } + } + enumerator_6865.gotoNextObject () ; + } + outArgument_isWithin = outArgument_isWithin.operator_and (var_ok_6844 COMMA_SOURCE_FILE ("implementation_types.galgas", 249)) ; + enumerator_6801.gotoNextObject () ; + } + }else{ + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (constinArgument_value.readProperty_location (), GALGAS_string ("Incompatible set. Should be a INT64 set"), fixItArray1 COMMA_SOURCE_FILE ("implementation_types.galgas", 252)) ; + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (this->mProperty_location, GALGAS_string ("Previous set was declared here"), fixItArray2 COMMA_SOURCE_FILE ("implementation_types.galgas", 253)) ; + outArgument_isWithin = GALGAS_bool (false) ; + } + } +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@floatAttributeSet enclose' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_floatAttributeSet::method_enclose (GALGAS_bool & outArgument_isWithin, + const GALGAS_attributeRange constinArgument_value, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_isWithin = GALGAS_bool (true) ; + if (constinArgument_value.isValid ()) { + if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_floatAttributeSet) { + GALGAS_floatAttributeSet cast_7395_set ((cPtr_floatAttributeSet *) constinArgument_value.ptr ()) ; + cEnumerator_floatList enumerator_7409 (cast_7395_set.readProperty_valueList (), kENUMERATION_UP) ; + while (enumerator_7409.hasCurrentObject ()) { + GALGAS_bool var_ok_7452 = GALGAS_bool (false) ; + cEnumerator_floatList enumerator_7473 (this->mProperty_valueList, kENUMERATION_UP) ; + while (enumerator_7473.hasCurrentObject ()) { + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsEqual, enumerator_7409.current_value (HERE).objectCompare (enumerator_7473.current_value (HERE))).boolEnum () ; + if (kBoolTrue == test_0) { + var_ok_7452 = GALGAS_bool (true) ; + } + } + enumerator_7473.gotoNextObject () ; + } + outArgument_isWithin = outArgument_isWithin.operator_and (var_ok_7452 COMMA_SOURCE_FILE ("implementation_types.galgas", 273)) ; + enumerator_7409.gotoNextObject () ; + } + }else{ + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (constinArgument_value.readProperty_location (), GALGAS_string ("Incompatible set. Should be a FLOAT set"), fixItArray1 COMMA_SOURCE_FILE ("implementation_types.galgas", 276)) ; + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (this->mProperty_location, GALGAS_string ("Previous set was declared here"), fixItArray2 COMMA_SOURCE_FILE ("implementation_types.galgas", 277)) ; + outArgument_isWithin = GALGAS_bool (false) ; + } + } +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@uint32AttributeMinMax enclose' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_uint_33__32_AttributeMinMax::method_enclose (GALGAS_bool & outArgument_isWithin, + const GALGAS_attributeRange constinArgument_value, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_isWithin = GALGAS_bool (false) ; + if (constinArgument_value.isValid ()) { + if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_33__32_AttributeMinMax) { + GALGAS_uint_33__32_AttributeMinMax cast_8015_minmax ((cPtr_uint_33__32_AttributeMinMax *) constinArgument_value.ptr ()) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsSupOrEqual, cast_8015_minmax.readProperty_min ().objectCompare (this->mProperty_min)).operator_and (GALGAS_bool (kIsInfOrEqual, cast_8015_minmax.readProperty_max ().objectCompare (this->mProperty_max)) COMMA_SOURCE_FILE ("implementation_types.galgas", 291)).boolEnum () ; + if (kBoolTrue == test_0) { + outArgument_isWithin = GALGAS_bool (true) ; + } + } + }else if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_33__32_AttributeSet) { + GALGAS_uint_33__32_AttributeSet cast_8138_set ((cPtr_uint_33__32_AttributeSet *) constinArgument_value.ptr ()) ; + outArgument_isWithin = GALGAS_bool (true) ; + cEnumerator_uint_33__32_List enumerator_8172 (cast_8138_set.readProperty_valueList (), kENUMERATION_UP) ; + while (enumerator_8172.hasCurrentObject ()) { + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = GALGAS_bool (kIsStrictInf, enumerator_8172.current_value (HERE).objectCompare (this->mProperty_min)).operator_or (GALGAS_bool (kIsStrictSup, enumerator_8172.current_value (HERE).objectCompare (this->mProperty_max)) COMMA_SOURCE_FILE ("implementation_types.galgas", 297)).boolEnum () ; + if (kBoolTrue == test_1) { + outArgument_isWithin = GALGAS_bool (false) ; + } + } + enumerator_8172.gotoNextObject () ; + } + }else{ + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (constinArgument_value.readProperty_location (), GALGAS_string ("Incompatible set. Should be a UINT32 range or UINT32 set"), fixItArray2 COMMA_SOURCE_FILE ("implementation_types.galgas", 302)) ; + TC_Array fixItArray3 ; + inCompiler->emitSemanticError (this->mProperty_location, GALGAS_string ("Previous set was declared here"), fixItArray3 COMMA_SOURCE_FILE ("implementation_types.galgas", 303)) ; + } + } +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@uint64AttributeMinMax enclose' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_uint_36__34_AttributeMinMax::method_enclose (GALGAS_bool & outArgument_isWithin, + const GALGAS_attributeRange constinArgument_value, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_isWithin = GALGAS_bool (false) ; + if (constinArgument_value.isValid ()) { + if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_36__34_AttributeMinMax) { + GALGAS_uint_36__34_AttributeMinMax cast_8674_minmax ((cPtr_uint_36__34_AttributeMinMax *) constinArgument_value.ptr ()) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsSupOrEqual, cast_8674_minmax.readProperty_min ().objectCompare (this->mProperty_min)).operator_and (GALGAS_bool (kIsInfOrEqual, cast_8674_minmax.readProperty_max ().objectCompare (this->mProperty_max)) COMMA_SOURCE_FILE ("implementation_types.galgas", 316)).boolEnum () ; + if (kBoolTrue == test_0) { + outArgument_isWithin = GALGAS_bool (true) ; + } + } + }else if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_36__34_AttributeSet) { + GALGAS_uint_36__34_AttributeSet cast_8797_set ((cPtr_uint_36__34_AttributeSet *) constinArgument_value.ptr ()) ; + outArgument_isWithin = GALGAS_bool (true) ; + cEnumerator_uint_36__34_List enumerator_8831 (cast_8797_set.readProperty_valueList (), kENUMERATION_UP) ; + while (enumerator_8831.hasCurrentObject ()) { + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = GALGAS_bool (kIsStrictInf, enumerator_8831.current_value (HERE).objectCompare (this->mProperty_min)).operator_or (GALGAS_bool (kIsStrictSup, enumerator_8831.current_value (HERE).objectCompare (this->mProperty_max)) COMMA_SOURCE_FILE ("implementation_types.galgas", 322)).boolEnum () ; + if (kBoolTrue == test_1) { + outArgument_isWithin = GALGAS_bool (false) ; + } + } + enumerator_8831.gotoNextObject () ; + } + }else{ + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (constinArgument_value.readProperty_location (), GALGAS_string ("Incompatible set. Should be a UINT64 range or UINT64 set"), fixItArray2 COMMA_SOURCE_FILE ("implementation_types.galgas", 327)) ; + TC_Array fixItArray3 ; + inCompiler->emitSemanticError (this->mProperty_location, GALGAS_string ("Previous set was declared here"), fixItArray3 COMMA_SOURCE_FILE ("implementation_types.galgas", 328)) ; + } + } +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@sint32AttributeMinMax enclose' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_sint_33__32_AttributeMinMax::method_enclose (GALGAS_bool & outArgument_isWithin, + const GALGAS_attributeRange constinArgument_value, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_isWithin = GALGAS_bool (false) ; + if (constinArgument_value.isValid ()) { + if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_33__32_AttributeMinMax) { + GALGAS_sint_33__32_AttributeMinMax cast_9329_minmax ((cPtr_sint_33__32_AttributeMinMax *) constinArgument_value.ptr ()) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsSupOrEqual, cast_9329_minmax.readProperty_min ().objectCompare (this->mProperty_min)).operator_and (GALGAS_bool (kIsInfOrEqual, cast_9329_minmax.readProperty_max ().objectCompare (this->mProperty_max)) COMMA_SOURCE_FILE ("implementation_types.galgas", 341)).boolEnum () ; + if (kBoolTrue == test_0) { + outArgument_isWithin = GALGAS_bool (true) ; + } + } + }else if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_33__32_AttributeSet) { + GALGAS_sint_33__32_AttributeSet cast_9452_set ((cPtr_sint_33__32_AttributeSet *) constinArgument_value.ptr ()) ; + outArgument_isWithin = GALGAS_bool (true) ; + cEnumerator_sint_33__32_List enumerator_9486 (cast_9452_set.readProperty_valueList (), kENUMERATION_UP) ; + while (enumerator_9486.hasCurrentObject ()) { + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = GALGAS_bool (kIsStrictInf, enumerator_9486.current_value (HERE).objectCompare (this->mProperty_min)).operator_or (GALGAS_bool (kIsStrictSup, enumerator_9486.current_value (HERE).objectCompare (this->mProperty_max)) COMMA_SOURCE_FILE ("implementation_types.galgas", 347)).boolEnum () ; + if (kBoolTrue == test_1) { + outArgument_isWithin = GALGAS_bool (false) ; + } + } + enumerator_9486.gotoNextObject () ; + } + }else{ + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (constinArgument_value.readProperty_location (), GALGAS_string ("Incompatible set. Should be a INT32 range or INT32 set"), fixItArray2 COMMA_SOURCE_FILE ("implementation_types.galgas", 352)) ; + TC_Array fixItArray3 ; + inCompiler->emitSemanticError (this->mProperty_location, GALGAS_string ("Previous set was declared here"), fixItArray3 COMMA_SOURCE_FILE ("implementation_types.galgas", 353)) ; + } + } +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@sint64AttributeMinMax enclose' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_sint_36__34_AttributeMinMax::method_enclose (GALGAS_bool & outArgument_isWithin, + const GALGAS_attributeRange constinArgument_value, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_isWithin = GALGAS_bool (false) ; + if (constinArgument_value.isValid ()) { + if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_36__34_AttributeMinMax) { + GALGAS_sint_36__34_AttributeMinMax cast_9986_minmax ((cPtr_sint_36__34_AttributeMinMax *) constinArgument_value.ptr ()) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsSupOrEqual, cast_9986_minmax.readProperty_min ().objectCompare (this->mProperty_min)).operator_and (GALGAS_bool (kIsInfOrEqual, cast_9986_minmax.readProperty_max ().objectCompare (this->mProperty_max)) COMMA_SOURCE_FILE ("implementation_types.galgas", 366)).boolEnum () ; + if (kBoolTrue == test_0) { + outArgument_isWithin = GALGAS_bool (true) ; + } + } + }else if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_36__34_AttributeSet) { + GALGAS_sint_36__34_AttributeSet cast_10109_set ((cPtr_sint_36__34_AttributeSet *) constinArgument_value.ptr ()) ; + outArgument_isWithin = GALGAS_bool (true) ; + cEnumerator_sint_36__34_List enumerator_10143 (cast_10109_set.readProperty_valueList (), kENUMERATION_UP) ; + while (enumerator_10143.hasCurrentObject ()) { + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = GALGAS_bool (kIsStrictInf, enumerator_10143.current_value (HERE).objectCompare (this->mProperty_min)).operator_or (GALGAS_bool (kIsStrictSup, enumerator_10143.current_value (HERE).objectCompare (this->mProperty_max)) COMMA_SOURCE_FILE ("implementation_types.galgas", 372)).boolEnum () ; + if (kBoolTrue == test_1) { + outArgument_isWithin = GALGAS_bool (false) ; + } + } + enumerator_10143.gotoNextObject () ; + } + }else{ + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (constinArgument_value.readProperty_location (), GALGAS_string ("Incompatible set. Should be a INT64 range or INT64 set"), fixItArray2 COMMA_SOURCE_FILE ("implementation_types.galgas", 377)) ; + TC_Array fixItArray3 ; + inCompiler->emitSemanticError (this->mProperty_location, GALGAS_string ("Previous set was declared here"), fixItArray3 COMMA_SOURCE_FILE ("implementation_types.galgas", 378)) ; + } + } +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@floatAttributeMinMax enclose' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_floatAttributeMinMax::method_enclose (GALGAS_bool & outArgument_isWithin, + const GALGAS_attributeRange constinArgument_value, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_isWithin = GALGAS_bool (false) ; + if (constinArgument_value.isValid ()) { + if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_floatAttributeMinMax) { + GALGAS_floatAttributeMinMax cast_10641_minmax ((cPtr_floatAttributeMinMax *) constinArgument_value.ptr ()) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsSupOrEqual, cast_10641_minmax.readProperty_min ().objectCompare (this->mProperty_min)).operator_and (GALGAS_bool (kIsInfOrEqual, cast_10641_minmax.readProperty_max ().objectCompare (this->mProperty_max)) COMMA_SOURCE_FILE ("implementation_types.galgas", 391)).boolEnum () ; + if (kBoolTrue == test_0) { + outArgument_isWithin = GALGAS_bool (true) ; + } + } + }else if (constinArgument_value.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_floatAttributeSet) { + GALGAS_floatAttributeSet cast_10763_set ((cPtr_floatAttributeSet *) constinArgument_value.ptr ()) ; + outArgument_isWithin = GALGAS_bool (true) ; + cEnumerator_floatList enumerator_10797 (cast_10763_set.readProperty_valueList (), kENUMERATION_UP) ; + while (enumerator_10797.hasCurrentObject ()) { + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = GALGAS_bool (kIsStrictInf, enumerator_10797.current_value (HERE).objectCompare (this->mProperty_min)).operator_or (GALGAS_bool (kIsStrictSup, enumerator_10797.current_value (HERE).objectCompare (this->mProperty_max)) COMMA_SOURCE_FILE ("implementation_types.galgas", 397)).boolEnum () ; + if (kBoolTrue == test_1) { + outArgument_isWithin = GALGAS_bool (false) ; + } + } + enumerator_10797.gotoNextObject () ; + } + }else{ + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (constinArgument_value.readProperty_location (), GALGAS_string ("Incompatible set. Should be a FLOAT range or FLOAT set"), fixItArray2 COMMA_SOURCE_FILE ("implementation_types.galgas", 402)) ; + TC_Array fixItArray3 ; + inCompiler->emitSemanticError (this->mProperty_location, GALGAS_string ("Previous set was declared here"), fixItArray3 COMMA_SOURCE_FILE ("implementation_types.galgas", 403)) ; + } + } +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'attributeRangeWithNumberList' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_attributeRange function_attributeRangeWithNumberList (const GALGAS_numberList & constinArgument_numbers, + const GALGAS_dataType & constinArgument_type, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_attributeRange result_range ; // Returned variable + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::constructor_uint_33__32_Number (SOURCE_FILE ("implementation_types.galgas", 412)))).boolEnum () ; + if (kBoolTrue == test_0) { + result_range = GALGAS_uint_33__32_AttributeSet::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 413)), function_uint_33__32_ListWithNumberList (constinArgument_numbers, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 413)) COMMA_SOURCE_FILE ("implementation_types.galgas", 413)) ; + } + } + if (kBoolFalse == test_0) { + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::constructor_sint_33__32_Number (SOURCE_FILE ("implementation_types.galgas", 414)))).boolEnum () ; + if (kBoolTrue == test_1) { + result_range = GALGAS_sint_33__32_AttributeSet::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 415)), function_sint_33__32_ListWithNumberList (constinArgument_numbers, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 415)) COMMA_SOURCE_FILE ("implementation_types.galgas", 415)) ; + } + } + if (kBoolFalse == test_1) { + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::constructor_uint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 416)))).boolEnum () ; + if (kBoolTrue == test_2) { + result_range = GALGAS_uint_36__34_AttributeSet::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 417)), function_uint_36__34_ListWithNumberList (constinArgument_numbers, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 417)) COMMA_SOURCE_FILE ("implementation_types.galgas", 417)) ; + } + } + if (kBoolFalse == test_2) { + enumGalgasBool test_3 = kBoolTrue ; + if (kBoolTrue == test_3) { + test_3 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::constructor_sint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 418)))).boolEnum () ; + if (kBoolTrue == test_3) { + result_range = GALGAS_sint_36__34_AttributeSet::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 419)), function_sint_36__34_ListWithNumberList (constinArgument_numbers, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 419)) COMMA_SOURCE_FILE ("implementation_types.galgas", 419)) ; + } + } + if (kBoolFalse == test_3) { + enumGalgasBool test_4 = kBoolTrue ; + if (kBoolTrue == test_4) { + test_4 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::constructor_floatNumber (SOURCE_FILE ("implementation_types.galgas", 420)))).boolEnum () ; + if (kBoolTrue == test_4) { + result_range = GALGAS_floatAttributeSet::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 421)), function_floatListWithNumberList (constinArgument_numbers, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 421)) COMMA_SOURCE_FILE ("implementation_types.galgas", 421)) ; + } + } + if (kBoolFalse == test_4) { + TC_Array fixItArray5 ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 423)), GALGAS_string ("internal. Unknown number type"), fixItArray5 COMMA_SOURCE_FILE ("implementation_types.galgas", 423)) ; + result_range.drop () ; // Release error dropped variable + } + } + } + } + } +//--- + return result_range ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_attributeRangeWithNumberList [3] = { + & kTypeDescriptor_GALGAS_numberList, + & kTypeDescriptor_GALGAS_dataType, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_attributeRangeWithNumberList (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_numberList operand0 = GALGAS_numberList::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_dataType operand1 = GALGAS_dataType::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_attributeRangeWithNumberList (operand0, + operand1, + inCompiler + COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_attributeRangeWithNumberList ("attributeRangeWithNumberList", + functionWithGenericHeader_attributeRangeWithNumberList, + & kTypeDescriptor_GALGAS_attributeRange, + 2, + functionArgs_attributeRangeWithNumberList) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@impStructType mergeWithType' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_impType cPtr_impStructType::getter_mergeWithType (GALGAS_impType inArgument_typeToMerge, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_impType result_mergedType ; // Returned variable + GALGAS_impStructType temp_0 ; + if (inArgument_typeToMerge.isValid ()) { + if (nullptr != dynamic_cast (inArgument_typeToMerge.ptr ())) { + temp_0 = (cPtr_impStructType *) inArgument_typeToMerge.ptr () ; + }else{ + inCompiler->castError ("impStructType", inArgument_typeToMerge.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("implementation_types.galgas", 467)) ; + } + } + GALGAS_impStructType var_castTypeToMerge_12884 = temp_0 ; + GALGAS_implementationObjectMap var_mergedAttributes_12959 = GALGAS_implementationObjectMap::constructor_emptyMap (SOURCE_FILE ("implementation_types.galgas", 468)) ; + cEnumerator_implementationObjectMap enumerator_12994 (this->mProperty_structAttributes, kENUMERATION_UP) ; + while (enumerator_12994.hasCurrentObject ()) { + GALGAS_impType var_mergedAttr_13033 = enumerator_12994.current_type (HERE) ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = var_castTypeToMerge_12884.readProperty_structAttributes ().getter_hasKey (enumerator_12994.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("implementation_types.galgas", 471)).boolEnum () ; + if (kBoolTrue == test_1) { + GALGAS_impType var_subTypeToMerge_13188 ; + var_castTypeToMerge_12884.readProperty_structAttributes ().method_get (enumerator_12994.current_lkey (HERE), var_subTypeToMerge_13188, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 472)) ; + var_mergedAttr_13033 = callExtensionGetter_mergeWithType ((const cPtr_impType *) enumerator_12994.current_type (HERE).ptr (), var_subTypeToMerge_13188, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 473)) ; + } + } + { + var_mergedAttributes_12959.setter_put (enumerator_12994.current_lkey (HERE), var_mergedAttr_13033, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 475)) ; + } + enumerator_12994.gotoNextObject () ; + } + result_mergedType = GALGAS_impStructType::constructor_new (this->mProperty_locations.add_operation (inArgument_typeToMerge.readProperty_locations (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 478)), this->mProperty_type, this->mProperty_name, this->mProperty_multiple, this->mProperty_descs.add_operation (inArgument_typeToMerge.readProperty_descs (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 482)), var_mergedAttributes_12959 COMMA_SOURCE_FILE ("implementation_types.galgas", 477)) ; +//--- + return result_mergedType ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@impVoid mergeWithType' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_impType cPtr_impVoid::getter_mergeWithType (GALGAS_impType inArgument_typeToMerge, + C_Compiler */* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_impType result_mergedType ; // Returned variable + result_mergedType = inArgument_typeToMerge ; +//--- + return result_mergedType ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@impAutoDefaultType getDefaultValue' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_object_5F_t cPtr_impAutoDefaultType::getter_getDefaultValue (C_Compiler */* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_object_5F_t result_outDefaultValue ; // Returned variable + result_outDefaultValue = this->mProperty_defaultValue ; +//--- + return result_outDefaultValue ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension setter '@impAutoDefaultType setDefValue' +// +//---------------------------------------------------------------------------------------------------------------------- + +static void extensionSetter_impAutoDefaultType_setDefValue (cPtr_impType * inObject, + GALGAS_object_5F_t inArgument_inDefaultValue, + C_Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) { + cPtr_impAutoDefaultType * object = (cPtr_impAutoDefaultType *) inObject ; + macroValidSharedObject (object, cPtr_impAutoDefaultType) ; + object->mProperty_defaultValue = inArgument_inDefaultValue ; +} +//---------------------------------------------------------------------------------------------------------------------- + +static void defineExtensionSetter_impAutoDefaultType_setDefValue (void) { + enterExtensionSetter_setDefValue (kTypeDescriptor_GALGAS_impAutoDefaultType.mSlotID, + extensionSetter_impAutoDefaultType_setDefValue) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_PrologueEpilogue gSetter_impAutoDefaultType_setDefValue (defineExtensionSetter_impAutoDefaultType_setDefValue, nullptr) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@impAutoDefaultType mergeWithType' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_impType cPtr_impAutoDefaultType::getter_mergeWithType (GALGAS_impType inArgument_typeToMerge, + C_Compiler */* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_impType result_mergedType ; // Returned variable + result_mergedType = inArgument_typeToMerge ; +//--- + return result_mergedType ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@impAutoDefaultType autoAllowed' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_bool cPtr_impAutoDefaultType::getter_autoAllowed (C_Compiler */* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_bool result_result ; // Returned variable + result_result = this->mProperty_withAuto ; +//--- + return result_result ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'multiError' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_multiError (GALGAS_locationList inArgument_locations, + GALGAS_string inArgument_errorMessage, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + cEnumerator_locationList enumerator_14829 (inArgument_locations, kENUMERATION_UP) ; + while (enumerator_14829.hasCurrentObject ()) { + TC_Array fixItArray0 ; + inCompiler->emitSemanticError (enumerator_14829.current_location (HERE), inArgument_errorMessage, fixItArray0 COMMA_SOURCE_FILE ("implementation_types.galgas", 546)) ; + enumerator_14829.gotoNextObject () ; + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@refType mergeWithType' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_impType cPtr_refType::getter_mergeWithType (GALGAS_impType inArgument_typeToMerge, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_impType result_mergedType ; // Returned variable + GALGAS_refType temp_0 ; + if (inArgument_typeToMerge.isValid ()) { + if (nullptr != dynamic_cast (inArgument_typeToMerge.ptr ())) { + temp_0 = (cPtr_refType *) inArgument_typeToMerge.ptr () ; + }else{ + inCompiler->castError ("refType", inArgument_typeToMerge.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("implementation_types.galgas", 558)) ; + } + } + GALGAS_refType var_castTypeToMerge_15066 = temp_0 ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = GALGAS_bool (kIsNotEqual, this->mProperty_ref.readProperty_string ().objectCompare (var_castTypeToMerge_15066.readProperty_ref ().readProperty_string ())).boolEnum () ; + if (kBoolTrue == test_1) { + this->mProperty_ref.log ("ref" COMMA_SOURCE_FILE ("implementation_types.galgas", 560)) ; + GALGAS_lstring var_csatRef_15194 = var_castTypeToMerge_15066.readProperty_ref () ; + var_csatRef_15194.log ("csatRef" COMMA_SOURCE_FILE ("implementation_types.galgas", 562)) ; + { + routine_multiError (inArgument_typeToMerge.readProperty_locations (), GALGAS_string ("Redefinition of ").add_operation (this->mProperty_name.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 563)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 563)) ; + } + { + routine_multiError (this->mProperty_locations, GALGAS_string ("Was defined here"), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 564)) ; + } + } + } + result_mergedType = GALGAS_refType::constructor_new (this->mProperty_locations.add_operation (inArgument_typeToMerge.readProperty_locations (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 567)), this->mProperty_type, this->mProperty_name, this->mProperty_multiple, this->mProperty_descs.add_operation (inArgument_typeToMerge.readProperty_descs (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 571)), var_castTypeToMerge_15066.readProperty_ref () COMMA_SOURCE_FILE ("implementation_types.galgas", 566)) ; +//--- + return result_mergedType ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'valueList' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string function_valueList (const GALGAS_enumValues & constinArgument_values, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_result ; // Returned variable + result_result = GALGAS_string::makeEmptyString () ; + cEnumerator_enumValues enumerator_16168 (constinArgument_values, kENUMERATION_UP) ; + while (enumerator_16168.hasCurrentObject ()) { + result_result.plusAssign_operation(enumerator_16168.current_lkey (HERE).readProperty_string (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 600)) ; + if (enumerator_16168.hasNextObject ()) { + result_result.plusAssign_operation(GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 602)) ; + } + enumerator_16168.gotoNextObject () ; + } +//--- + return result_result ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_valueList [2] = { + & kTypeDescriptor_GALGAS_enumValues, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_valueList (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_enumValues operand0 = GALGAS_enumValues::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_valueList (operand0, + inCompiler + COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_valueList ("valueList", + functionWithGenericHeader_valueList, + & kTypeDescriptor_GALGAS_string, + 1, + functionArgs_valueList) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@impRangedType mergeWithType' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_impType cPtr_impRangedType::getter_mergeWithType (GALGAS_impType inArgument_typeToMerge, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_impType result_mergedType ; // Returned variable + GALGAS_impRangedType temp_0 ; + if (inArgument_typeToMerge.isValid ()) { + if (nullptr != dynamic_cast (inArgument_typeToMerge.ptr ())) { + temp_0 = (cPtr_impRangedType *) inArgument_typeToMerge.ptr () ; + }else{ + inCompiler->castError ("impRangedType", inArgument_typeToMerge.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("implementation_types.galgas", 614)) ; + } + } + GALGAS_impRangedType var_castTypeToMerge_16444 = temp_0 ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + const GALGAS_impRangedType temp_2 = this ; + test_1 = function_checkRanged (temp_2, var_castTypeToMerge_16444, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 615)).boolEnum () ; + if (kBoolTrue == test_1) { + result_mergedType = inArgument_typeToMerge ; + } + } + if (kBoolFalse == test_1) { + const GALGAS_impRangedType temp_3 = this ; + result_mergedType = temp_3 ; + } +//--- + return result_mergedType ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@impBoolType mergeWithType' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_impType cPtr_impBoolType::getter_mergeWithType (GALGAS_impType inArgument_typeToMerge, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_impType result_mergedType ; // Returned variable + GALGAS_impBoolType temp_0 ; + if (inArgument_typeToMerge.isValid ()) { + if (nullptr != dynamic_cast (inArgument_typeToMerge.ptr ())) { + temp_0 = (cPtr_impBoolType *) inArgument_typeToMerge.ptr () ; + }else{ + inCompiler->castError ("impBoolType", inArgument_typeToMerge.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("implementation_types.galgas", 631)) ; + } + } + GALGAS_impBoolType var_castTypeToMerge_16854 = temp_0 ; + GALGAS_implementationObjectMap var_mergedTrueAttributes_16927 = GALGAS_implementationObjectMap::constructor_emptyMap (SOURCE_FILE ("implementation_types.galgas", 632)) ; + GALGAS_implementationObjectMap var_mergedFalseAttributes_16987 = GALGAS_implementationObjectMap::constructor_emptyMap (SOURCE_FILE ("implementation_types.galgas", 633)) ; + cEnumerator_implementationObjectMap enumerator_17027 (this->mProperty_trueSubAttributes, kENUMERATION_UP) ; + while (enumerator_17027.hasCurrentObject ()) { + GALGAS_impType var_mergedAttr_17067 = enumerator_17027.current_type (HERE) ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = var_castTypeToMerge_16854.readProperty_trueSubAttributes ().getter_hasKey (enumerator_17027.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("implementation_types.galgas", 636)).boolEnum () ; + if (kBoolTrue == test_1) { + GALGAS_impType var_subTypeToMerge_17224 ; + var_castTypeToMerge_16854.readProperty_trueSubAttributes ().method_get (enumerator_17027.current_lkey (HERE), var_subTypeToMerge_17224, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 637)) ; + var_mergedAttr_17067 = callExtensionGetter_mergeWithType ((const cPtr_impType *) enumerator_17027.current_type (HERE).ptr (), var_subTypeToMerge_17224, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 638)) ; + } + } + { + var_mergedTrueAttributes_16927.setter_put (enumerator_17027.current_lkey (HERE), var_mergedAttr_17067, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 640)) ; + } + enumerator_17027.gotoNextObject () ; + } + cEnumerator_implementationObjectMap enumerator_17406 (var_castTypeToMerge_16854.readProperty_trueSubAttributes (), kENUMERATION_UP) ; + while (enumerator_17406.hasCurrentObject ()) { + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = this->mProperty_trueSubAttributes.getter_hasKey (enumerator_17406.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("implementation_types.galgas", 644)).operator_not (SOURCE_FILE ("implementation_types.galgas", 644)).boolEnum () ; + if (kBoolTrue == test_2) { + { + var_mergedTrueAttributes_16927.setter_put (enumerator_17406.current_lkey (HERE), enumerator_17406.current_type (HERE), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 645)) ; + } + } + } + enumerator_17406.gotoNextObject () ; + } + cEnumerator_implementationObjectMap enumerator_17579 (this->mProperty_falseSubAttributes, kENUMERATION_UP) ; + while (enumerator_17579.hasCurrentObject ()) { + GALGAS_impType var_mergedAttr_17620 = enumerator_17579.current_type (HERE) ; + enumGalgasBool test_3 = kBoolTrue ; + if (kBoolTrue == test_3) { + test_3 = var_castTypeToMerge_16854.readProperty_falseSubAttributes ().getter_hasKey (enumerator_17579.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("implementation_types.galgas", 651)).boolEnum () ; + if (kBoolTrue == test_3) { + GALGAS_impType var_subTypeToMerge_17779 ; + var_castTypeToMerge_16854.readProperty_falseSubAttributes ().method_get (enumerator_17579.current_lkey (HERE), var_subTypeToMerge_17779, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 652)) ; + var_mergedAttr_17620 = callExtensionGetter_mergeWithType ((const cPtr_impType *) enumerator_17579.current_type (HERE).ptr (), var_subTypeToMerge_17779, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 653)) ; + } + } + { + var_mergedFalseAttributes_16987.setter_put (enumerator_17579.current_lkey (HERE), var_mergedAttr_17620, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 655)) ; + } + enumerator_17579.gotoNextObject () ; + } + cEnumerator_implementationObjectMap enumerator_17962 (var_castTypeToMerge_16854.readProperty_falseSubAttributes (), kENUMERATION_UP) ; + while (enumerator_17962.hasCurrentObject ()) { + enumGalgasBool test_4 = kBoolTrue ; + if (kBoolTrue == test_4) { + test_4 = this->mProperty_falseSubAttributes.getter_hasKey (enumerator_17962.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("implementation_types.galgas", 659)).operator_not (SOURCE_FILE ("implementation_types.galgas", 659)).boolEnum () ; + if (kBoolTrue == test_4) { + { + var_mergedTrueAttributes_16927.setter_put (enumerator_17962.current_lkey (HERE), enumerator_17962.current_type (HERE), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 660)) ; + } + } + } + enumerator_17962.gotoNextObject () ; + } + result_mergedType = GALGAS_impBoolType::constructor_new (this->mProperty_locations.add_operation (inArgument_typeToMerge.readProperty_locations (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 665)), this->mProperty_type, this->mProperty_name, this->mProperty_multiple, this->mProperty_descs.add_operation (inArgument_typeToMerge.readProperty_descs (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 669)), this->mProperty_withAuto, var_castTypeToMerge_16854.readProperty_defaultValue (), var_mergedTrueAttributes_16927, var_mergedFalseAttributes_16987 COMMA_SOURCE_FILE ("implementation_types.galgas", 664)) ; +//--- + return result_mergedType ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@impBoolType setDefault' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_impBoolType::method_setDefault (GALGAS_objectAttributes & ioArgument_attributes, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + if (this->mProperty_defaultValue.isValid ()) { + if (this->mProperty_defaultValue.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_void) { + }else if (this->mProperty_defaultValue.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_auto) { + }else if (this->mProperty_defaultValue.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_boolAttribute) { + GALGAS_boolAttribute cast_18611_b ((cPtr_boolAttribute *) this->mProperty_defaultValue.ptr ()) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = ioArgument_attributes.readProperty_objectParams ().getter_hasKey (this->mProperty_name.readProperty_string () COMMA_SOURCE_FILE ("implementation_types.galgas", 685)).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_identifierMap var_userAttributes_18874 = ioArgument_attributes.readProperty_objectParams () ; + GALGAS_object_5F_t var_value_18939 ; + var_userAttributes_18874.method_get (this->mProperty_name, var_value_18939, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 690)) ; + if (var_value_18939.isValid ()) { + if (var_value_18939.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_boolAttribute) { + GALGAS_boolAttribute cast_19037_boolValue ((cPtr_boolAttribute *) var_value_18939.ptr ()) ; + GALGAS_implementationObjectMap var_subImpAttributes_19088 ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = cast_19037_boolValue.readProperty_value ().boolEnum () ; + if (kBoolTrue == test_1) { + var_subImpAttributes_19088 = this->mProperty_trueSubAttributes ; + } + } + if (kBoolFalse == test_1) { + var_subImpAttributes_19088 = this->mProperty_falseSubAttributes ; + } + GALGAS_objectAttributes var_subAttributes_19297 = cast_19037_boolValue.readProperty_subAttributes () ; + { + routine_setDefaultsForType (var_subImpAttributes_19088, var_subAttributes_19297, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 700)) ; + } + GALGAS_boolAttribute var_bv_19463 = cast_19037_boolValue ; + { + var_bv_19463.setter_setSubAttributes (var_subAttributes_19297 COMMA_SOURCE_FILE ("implementation_types.galgas", 703)) ; + } + { + var_userAttributes_18874.setter_setValueForKey (var_bv_19463, this->mProperty_name.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 704)) ; + } + { + ioArgument_attributes.setter_setObjectParams (var_userAttributes_18874 COMMA_SOURCE_FILE ("implementation_types.galgas", 705)) ; + } + } + } + } + } + if (kBoolFalse == test_0) { + GALGAS_implementationObjectMap var_subImpAttributes_19712 ; + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = cast_18611_b.readProperty_value ().boolEnum () ; + if (kBoolTrue == test_2) { + var_subImpAttributes_19712 = this->mProperty_trueSubAttributes ; + } + } + if (kBoolFalse == test_2) { + var_subImpAttributes_19712 = this->mProperty_falseSubAttributes ; + } + GALGAS_objectAttributes var_subAttributes_19901 = function_emptyObject (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 714)) ; + { + routine_setDefaultsForType (var_subImpAttributes_19712, var_subAttributes_19901, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 715)) ; + } + GALGAS_boolAttribute var_defaults_20022 = GALGAS_boolAttribute::constructor_new (cast_18611_b.readProperty_oil_5F_desc (), cast_18611_b.readProperty_location (), cast_18611_b.readProperty_value (), var_subAttributes_19901 COMMA_SOURCE_FILE ("implementation_types.galgas", 716)) ; + GALGAS_identifierMap var_attr_20133 = ioArgument_attributes.readProperty_objectParams () ; + { + var_attr_20133.setter_put (this->mProperty_name, var_defaults_20022, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 718)) ; + } + { + ioArgument_attributes.setter_setObjectParams (var_attr_20133 COMMA_SOURCE_FILE ("implementation_types.galgas", 719)) ; + } + } + } + } +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@impEnumType mergeWithType' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_impType cPtr_impEnumType::getter_mergeWithType (GALGAS_impType inArgument_typeToMerge, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_impType result_mergedType ; // Returned variable + GALGAS_impEnumType temp_0 ; + if (inArgument_typeToMerge.isValid ()) { + if (nullptr != dynamic_cast (inArgument_typeToMerge.ptr ())) { + temp_0 = (cPtr_impEnumType *) inArgument_typeToMerge.ptr () ; + }else{ + inCompiler->castError ("impEnumType", inArgument_typeToMerge.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("implementation_types.galgas", 754)) ; + } + } + GALGAS_impEnumType var_castTypeToMerge_21072 = temp_0 ; + result_mergedType = GALGAS_impEnumType::constructor_new (this->mProperty_locations.add_operation (inArgument_typeToMerge.readProperty_locations (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 756)), this->mProperty_type, this->mProperty_name, this->mProperty_multiple, this->mProperty_descs.add_operation (inArgument_typeToMerge.readProperty_descs (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 760)), this->mProperty_withAuto, var_castTypeToMerge_21072.readProperty_defaultValue (), extensionGetter_mergeWithEnum (this->mProperty_valuesMap, var_castTypeToMerge_21072.readProperty_valuesMap (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 763)) COMMA_SOURCE_FILE ("implementation_types.galgas", 755)) ; +//--- + return result_mergedType ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'verifyEnum' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_verifyEnum (const GALGAS_impType constinArgument_anEnum, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + if (constinArgument_anEnum.isValid ()) { + if (constinArgument_anEnum.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impEnumType) { + GALGAS_impEnumType cast_21545_realEnum ((cPtr_impEnumType *) constinArgument_anEnum.ptr ()) ; + if (cast_21545_realEnum.readProperty_defaultValue ().isValid ()) { + if (cast_21545_realEnum.readProperty_defaultValue ().dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_string_5F_class) { + GALGAS_string_5F_class cast_21615_defaultValue ((cPtr_string_5F_class *) cast_21545_realEnum.readProperty_defaultValue ().ptr ()) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = cast_21545_realEnum.readProperty_valuesMap ().getter_hasKey (cast_21615_defaultValue.readProperty_value () COMMA_SOURCE_FILE ("implementation_types.galgas", 777)).operator_not (SOURCE_FILE ("implementation_types.galgas", 777)).boolEnum () ; + if (kBoolTrue == test_0) { + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (cast_21615_defaultValue.readProperty_location (), GALGAS_string ("Default enum value does not match any enum value"), fixItArray1 COMMA_SOURCE_FILE ("implementation_types.galgas", 778)) ; + } + } + } + } + }else{ + cEnumerator_locationList enumerator_21828 (constinArgument_anEnum.readProperty_locations (), kENUMERATION_UP) ; + while (enumerator_21828.hasCurrentObject ()) { + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (enumerator_21828.current_location (HERE), GALGAS_string ("Internal, not an @impEnumType"), fixItArray2 COMMA_SOURCE_FILE ("implementation_types.galgas", 783)) ; + enumerator_21828.gotoNextObject () ; + } + } + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'checkAndGetIntegerNumber' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_object_5F_t function_checkAndGetIntegerNumber (const GALGAS_lstring & constinArgument_oil_5F_desc, + const GALGAS_dataType & constinArgument_type, + const GALGAS_luint_36__34_ & constinArgument_number, + const GALGAS_bool & constinArgument_signed, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_object_5F_t result_value ; // Returned variable + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = constinArgument_signed.boolEnum () ; + if (kBoolTrue == test_0) { + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::constructor_sint_33__32_Number (SOURCE_FILE ("implementation_types.galgas", 845)))).boolEnum () ; + if (kBoolTrue == test_1) { + result_value = GALGAS_sint_33__32__5F_class::constructor_new (constinArgument_oil_5F_desc, constinArgument_number.readProperty_location (), constinArgument_number.readProperty_uint_36__34_ ().getter_sint (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 846)).multiply_operation (GALGAS_sint (int32_t (-1L)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 846)) COMMA_SOURCE_FILE ("implementation_types.galgas", 846)) ; + } + } + if (kBoolFalse == test_1) { + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::constructor_sint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 847)))).boolEnum () ; + if (kBoolTrue == test_2) { + result_value = GALGAS_sint_36__34__5F_class::constructor_new (constinArgument_oil_5F_desc, constinArgument_number.readProperty_location (), constinArgument_number.readProperty_uint_36__34_ ().getter_sint_36__34_ (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 848)).multiply_operation (GALGAS_sint_36__34_ (int64_t (-1LL)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 848)) COMMA_SOURCE_FILE ("implementation_types.galgas", 848)) ; + } + } + if (kBoolFalse == test_2) { + result_value = GALGAS_void::constructor_new (constinArgument_oil_5F_desc, constinArgument_number.readProperty_location () COMMA_SOURCE_FILE ("implementation_types.galgas", 850)) ; + TC_Array fixItArray3 ; + inCompiler->emitSemanticError (constinArgument_number.readProperty_location (), extensionGetter_oilType (constinArgument_type, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 851)).add_operation (GALGAS_string (" expected, got a SINT"), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 851)), fixItArray3 COMMA_SOURCE_FILE ("implementation_types.galgas", 851)) ; + } + } + } + } + if (kBoolFalse == test_0) { + enumGalgasBool test_4 = kBoolTrue ; + if (kBoolTrue == test_4) { + test_4 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::constructor_sint_33__32_Number (SOURCE_FILE ("implementation_types.galgas", 854)))).boolEnum () ; + if (kBoolTrue == test_4) { + result_value = GALGAS_sint_33__32__5F_class::constructor_new (constinArgument_oil_5F_desc, constinArgument_number.readProperty_location (), constinArgument_number.readProperty_uint_36__34_ ().getter_sint (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 855)) COMMA_SOURCE_FILE ("implementation_types.galgas", 855)) ; + } + } + if (kBoolFalse == test_4) { + enumGalgasBool test_5 = kBoolTrue ; + if (kBoolTrue == test_5) { + test_5 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::constructor_sint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 856)))).boolEnum () ; + if (kBoolTrue == test_5) { + result_value = GALGAS_sint_36__34__5F_class::constructor_new (constinArgument_oil_5F_desc, constinArgument_number.readProperty_location (), constinArgument_number.readProperty_uint_36__34_ ().getter_sint_36__34_ (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 857)) COMMA_SOURCE_FILE ("implementation_types.galgas", 857)) ; + } + } + if (kBoolFalse == test_5) { + enumGalgasBool test_6 = kBoolTrue ; + if (kBoolTrue == test_6) { + test_6 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::constructor_uint_33__32_Number (SOURCE_FILE ("implementation_types.galgas", 858)))).boolEnum () ; + if (kBoolTrue == test_6) { + result_value = GALGAS_uint_33__32__5F_class::constructor_new (constinArgument_oil_5F_desc, constinArgument_number.readProperty_location (), constinArgument_number.readProperty_uint_36__34_ ().getter_uint (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 859)) COMMA_SOURCE_FILE ("implementation_types.galgas", 859)) ; + } + } + if (kBoolFalse == test_6) { + enumGalgasBool test_7 = kBoolTrue ; + if (kBoolTrue == test_7) { + test_7 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::constructor_uint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 860)))).boolEnum () ; + if (kBoolTrue == test_7) { + result_value = GALGAS_uint_36__34__5F_class::constructor_new (constinArgument_oil_5F_desc, constinArgument_number.readProperty_location (), constinArgument_number.readProperty_uint_36__34_ () COMMA_SOURCE_FILE ("implementation_types.galgas", 861)) ; + } + } + if (kBoolFalse == test_7) { + result_value = GALGAS_void::constructor_new (constinArgument_oil_5F_desc, constinArgument_number.readProperty_location () COMMA_SOURCE_FILE ("implementation_types.galgas", 863)) ; + TC_Array fixItArray8 ; + inCompiler->emitSemanticError (constinArgument_number.readProperty_location (), extensionGetter_oilType (constinArgument_type, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 864)).add_operation (GALGAS_string (" expected, got a UINT"), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 864)), fixItArray8 COMMA_SOURCE_FILE ("implementation_types.galgas", 864)) ; + } + } + } + } + } +//--- + return result_value ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_checkAndGetIntegerNumber [5] = { + & kTypeDescriptor_GALGAS_lstring, + & kTypeDescriptor_GALGAS_dataType, + & kTypeDescriptor_GALGAS_luint_36__34_, + & kTypeDescriptor_GALGAS_bool, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_checkAndGetIntegerNumber (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_lstring operand0 = GALGAS_lstring::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_dataType operand1 = GALGAS_dataType::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_luint_36__34_ operand2 = GALGAS_luint_36__34_::extractObject (inEffectiveParameterArray.objectAtIndex (2 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_bool operand3 = GALGAS_bool::extractObject (inEffectiveParameterArray.objectAtIndex (3 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_checkAndGetIntegerNumber (operand0, + operand1, + operand2, + operand3, + inCompiler + COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_checkAndGetIntegerNumber ("checkAndGetIntegerNumber", + functionWithGenericHeader_checkAndGetIntegerNumber, + & kTypeDescriptor_GALGAS_object_5F_t, + 4, + functionArgs_checkAndGetIntegerNumber) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'checkAndGetFloatNumber' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_object_5F_t function_checkAndGetFloatNumber (const GALGAS_lstring & constinArgument_oil_5F_desc, + const GALGAS_dataType & constinArgument_type, + const GALGAS_ldouble & constinArgument_number, + const GALGAS_bool & constinArgument_signed, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_object_5F_t result_value ; // Returned variable + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = constinArgument_signed.boolEnum () ; + if (kBoolTrue == test_0) { + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::constructor_floatNumber (SOURCE_FILE ("implementation_types.galgas", 876)))).boolEnum () ; + if (kBoolTrue == test_1) { + result_value = GALGAS_float_5F_class::constructor_new (constinArgument_oil_5F_desc, constinArgument_number.readProperty_location (), constinArgument_number.readProperty_double ().multiply_operation (GALGAS_double (1).operator_unary_minus (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 877)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 877)) COMMA_SOURCE_FILE ("implementation_types.galgas", 877)) ; + } + } + if (kBoolFalse == test_1) { + result_value = GALGAS_void::constructor_new (constinArgument_oil_5F_desc, constinArgument_number.readProperty_location () COMMA_SOURCE_FILE ("implementation_types.galgas", 879)) ; + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (constinArgument_number.readProperty_location (), extensionGetter_oilType (constinArgument_type, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 880)).add_operation (GALGAS_string (" expected, got a FLOAT"), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 880)), fixItArray2 COMMA_SOURCE_FILE ("implementation_types.galgas", 880)) ; + } + } + } + if (kBoolFalse == test_0) { + enumGalgasBool test_3 = kBoolTrue ; + if (kBoolTrue == test_3) { + test_3 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::constructor_floatNumber (SOURCE_FILE ("implementation_types.galgas", 883)))).boolEnum () ; + if (kBoolTrue == test_3) { + result_value = GALGAS_float_5F_class::constructor_new (constinArgument_oil_5F_desc, constinArgument_number.readProperty_location (), constinArgument_number.readProperty_double () COMMA_SOURCE_FILE ("implementation_types.galgas", 884)) ; + } + } + if (kBoolFalse == test_3) { + result_value = GALGAS_void::constructor_new (constinArgument_oil_5F_desc, constinArgument_number.readProperty_location () COMMA_SOURCE_FILE ("implementation_types.galgas", 886)) ; + TC_Array fixItArray4 ; + inCompiler->emitSemanticError (constinArgument_number.readProperty_location (), extensionGetter_oilType (constinArgument_type, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 887)).add_operation (GALGAS_string (" expected, got a FLOAT"), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 887)), fixItArray4 COMMA_SOURCE_FILE ("implementation_types.galgas", 887)) ; + } + } +//--- + return result_value ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_checkAndGetFloatNumber [5] = { + & kTypeDescriptor_GALGAS_lstring, + & kTypeDescriptor_GALGAS_dataType, + & kTypeDescriptor_GALGAS_ldouble, + & kTypeDescriptor_GALGAS_bool, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_checkAndGetFloatNumber (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_lstring operand0 = GALGAS_lstring::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_dataType operand1 = GALGAS_dataType::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_ldouble operand2 = GALGAS_ldouble::extractObject (inEffectiveParameterArray.objectAtIndex (2 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_bool operand3 = GALGAS_bool::extractObject (inEffectiveParameterArray.objectAtIndex (3 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_checkAndGetFloatNumber (operand0, + operand1, + operand2, + operand3, + inCompiler + COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_checkAndGetFloatNumber ("checkAndGetFloatNumber", + functionWithGenericHeader_checkAndGetFloatNumber, + & kTypeDescriptor_GALGAS_object_5F_t, + 4, + functionArgs_checkAndGetFloatNumber) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'checkTypeForAttribute' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_checkTypeForAttribute (const GALGAS_implementationObjectMap constinArgument_obj, + const GALGAS_string constinArgument_attributeName, + const GALGAS_dataType constinArgument_expectedType, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = constinArgument_obj.getter_hasKey (constinArgument_attributeName COMMA_SOURCE_FILE ("implementation_types.galgas", 896)).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_impType var_type_25238 ; + constinArgument_obj.method_get (function_lstringWith (constinArgument_attributeName, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 898)), var_type_25238, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 898)) ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = GALGAS_bool (kIsNotEqual, var_type_25238.readProperty_type ().objectCompare (constinArgument_expectedType)).boolEnum () ; + if (kBoolTrue == test_1) { + cEnumerator_locationList enumerator_25342 (var_type_25238.readProperty_locations (), kENUMERATION_UP) ; + while (enumerator_25342.hasCurrentObject ()) { + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (enumerator_25342.current_location (HERE), constinArgument_attributeName.add_operation (GALGAS_string (" is a "), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 901)).add_operation (extensionGetter_oilType (var_type_25238.readProperty_type (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 901)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 901)), fixItArray2 COMMA_SOURCE_FILE ("implementation_types.galgas", 901)) ; + TC_Array fixItArray3 ; + inCompiler->emitSemanticError (enumerator_25342.current_location (HERE), constinArgument_attributeName.add_operation (GALGAS_string (" should be a "), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 902)).add_operation (extensionGetter_oilType (constinArgument_expectedType, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 902)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 902)), fixItArray3 COMMA_SOURCE_FILE ("implementation_types.galgas", 902)) ; + enumerator_25342.gotoNextObject () ; + } + } + } + } + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'boolSubAttributes' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_implementationObjectMap function_boolSubAttributes (const GALGAS_implementationObject & constinArgument_obj, + const GALGAS_string & constinArgument_attributeName, + const GALGAS_bool & constinArgument_boolValue, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_implementationObjectMap result_subImplementation ; // Returned variable + result_subImplementation = GALGAS_implementationObjectMap::constructor_emptyMap (SOURCE_FILE ("implementation_types.galgas", 913)) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = constinArgument_obj.readProperty_attributes ().getter_hasKey (constinArgument_attributeName COMMA_SOURCE_FILE ("implementation_types.galgas", 914)).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_impType var_type_25823 ; + constinArgument_obj.readProperty_attributes ().method_get (function_lstringWith (constinArgument_attributeName, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 916)), var_type_25823, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 916)) ; + if (var_type_25823.isValid ()) { + if (var_type_25823.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impBoolType) { + GALGAS_impBoolType cast_25929_boolType ((cPtr_impBoolType *) var_type_25823.ptr ()) ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = constinArgument_boolValue.boolEnum () ; + if (kBoolTrue == test_1) { + result_subImplementation = cast_25929_boolType.readProperty_trueSubAttributes () ; + } + } + if (kBoolFalse == test_1) { + result_subImplementation = cast_25929_boolType.readProperty_falseSubAttributes () ; + } + } + } + } + } +//--- + return result_subImplementation ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_boolSubAttributes [4] = { + & kTypeDescriptor_GALGAS_implementationObject, + & kTypeDescriptor_GALGAS_string, + & kTypeDescriptor_GALGAS_bool, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_boolSubAttributes (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_implementationObject operand0 = GALGAS_implementationObject::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_bool operand2 = GALGAS_bool::extractObject (inEffectiveParameterArray.objectAtIndex (2 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_boolSubAttributes (operand0, + operand1, + operand2, + inCompiler + COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_boolSubAttributes ("boolSubAttributes", + functionWithGenericHeader_boolSubAttributes, + & kTypeDescriptor_GALGAS_implementationObjectMap, + 3, + functionArgs_boolSubAttributes) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'enumSubAttributes' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_implementationObjectMap function_enumSubAttributes (const GALGAS_implementationObject & constinArgument_obj, + const GALGAS_string & constinArgument_attributeName, + const GALGAS_string & constinArgument_enumValue, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_implementationObjectMap result_subImplementation ; // Returned variable + result_subImplementation = GALGAS_implementationObjectMap::constructor_emptyMap (SOURCE_FILE ("implementation_types.galgas", 933)) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = constinArgument_obj.readProperty_attributes ().getter_hasKey (constinArgument_attributeName COMMA_SOURCE_FILE ("implementation_types.galgas", 934)).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_impType var_type_26406 ; + constinArgument_obj.readProperty_attributes ().method_get (function_lstringWith (constinArgument_attributeName, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 936)), var_type_26406, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 936)) ; + if (var_type_26406.isValid ()) { + if (var_type_26406.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impEnumType) { + GALGAS_impEnumType cast_26512_enumType ((cPtr_impEnumType *) var_type_26406.ptr ()) ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = cast_26512_enumType.readProperty_valuesMap ().getter_hasKey (constinArgument_enumValue COMMA_SOURCE_FILE ("implementation_types.galgas", 939)).boolEnum () ; + if (kBoolTrue == test_1) { + cast_26512_enumType.readProperty_valuesMap ().method_get (function_lstringWith (constinArgument_enumValue, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 940)), result_subImplementation, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 940)) ; + } + } + } + } + } + } +//--- + return result_subImplementation ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_enumSubAttributes [4] = { + & kTypeDescriptor_GALGAS_implementationObject, + & kTypeDescriptor_GALGAS_string, + & kTypeDescriptor_GALGAS_string, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_enumSubAttributes (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_implementationObject operand0 = GALGAS_implementationObject::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_string operand2 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (2 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_enumSubAttributes (operand0, + operand1, + operand2, + inCompiler + COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_enumSubAttributes ("enumSubAttributes", + functionWithGenericHeader_enumSubAttributes, + & kTypeDescriptor_GALGAS_implementationObjectMap, + 3, + functionArgs_enumSubAttributes) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'checkFilters' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_checkFilters (const GALGAS_implementationObject constinArgument_messageProperty, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_implementationObjectMap var_filter_26800 = function_enumSubAttributes (constinArgument_messageProperty, GALGAS_string ("FILTER"), GALGAS_string ("MASKEDNEWEQUALSX"), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 951)) ; + { + routine_checkTypeForAttribute (var_filter_26800, GALGAS_string ("MASK"), GALGAS_dataType::constructor_uint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 952)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 952)) ; + } + { + routine_checkTypeForAttribute (var_filter_26800, GALGAS_string ("X"), GALGAS_dataType::constructor_uint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 953)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 953)) ; + } + var_filter_26800 = function_enumSubAttributes (constinArgument_messageProperty, GALGAS_string ("FILTER"), GALGAS_string ("MASKEDNEWDIFFERSX"), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 954)) ; + { + routine_checkTypeForAttribute (var_filter_26800, GALGAS_string ("MASK"), GALGAS_dataType::constructor_uint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 955)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 955)) ; + } + { + routine_checkTypeForAttribute (var_filter_26800, GALGAS_string ("X"), GALGAS_dataType::constructor_uint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 956)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 956)) ; + } + var_filter_26800 = function_enumSubAttributes (constinArgument_messageProperty, GALGAS_string ("FILTER"), GALGAS_string ("MASKEDNEWEQUALSMASKEDOLD"), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 957)) ; + { + routine_checkTypeForAttribute (var_filter_26800, GALGAS_string ("MASK"), GALGAS_dataType::constructor_uint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 958)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 958)) ; + } + var_filter_26800 = function_enumSubAttributes (constinArgument_messageProperty, GALGAS_string ("FILTER"), GALGAS_string ("NEWISWITHIN"), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 959)) ; + { + routine_checkTypeForAttribute (var_filter_26800, GALGAS_string ("MIN"), GALGAS_dataType::constructor_uint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 960)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 960)) ; + } + { + routine_checkTypeForAttribute (var_filter_26800, GALGAS_string ("MAX"), GALGAS_dataType::constructor_uint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 961)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 961)) ; + } + var_filter_26800 = function_enumSubAttributes (constinArgument_messageProperty, GALGAS_string ("FILTER"), GALGAS_string ("NEWISOUTSIDE"), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 962)) ; + { + routine_checkTypeForAttribute (var_filter_26800, GALGAS_string ("MIN"), GALGAS_dataType::constructor_uint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 963)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 963)) ; + } + { + routine_checkTypeForAttribute (var_filter_26800, GALGAS_string ("MAX"), GALGAS_dataType::constructor_uint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 964)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 964)) ; + } + var_filter_26800 = function_enumSubAttributes (constinArgument_messageProperty, GALGAS_string ("FILTER"), GALGAS_string ("ONEEVERYN"), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 965)) ; + { + routine_checkTypeForAttribute (var_filter_26800, GALGAS_string ("PERIOD"), GALGAS_dataType::constructor_uint_33__32_Number (SOURCE_FILE ("implementation_types.galgas", 966)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 966)) ; + } + { + routine_checkTypeForAttribute (var_filter_26800, GALGAS_string ("OFFSET"), GALGAS_dataType::constructor_uint_33__32_Number (SOURCE_FILE ("implementation_types.galgas", 967)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 967)) ; + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@refType checkAttributeReferences' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_refType::method_checkAttributeReferences (const GALGAS_implementation constinArgument_imp, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = callExtensionGetter_hasKey ((const cPtr_implementation *) constinArgument_imp.ptr (), this->mProperty_ref.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 982)).operator_not (SOURCE_FILE ("implementation_types.galgas", 982)).boolEnum () ; + if (kBoolTrue == test_0) { + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (this->mProperty_ref.readProperty_location (), this->mProperty_ref.readProperty_string ().add_operation (GALGAS_string (" object kind does not exist"), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 983)), fixItArray1 COMMA_SOURCE_FILE ("implementation_types.galgas", 983)) ; + } + } +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@impBoolType checkAttributeReferences' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_impBoolType::method_checkAttributeReferences (const GALGAS_implementation constinArgument_imp, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + cEnumerator_implementationObjectMap enumerator_28672 (this->mProperty_trueSubAttributes, kENUMERATION_UP) ; + while (enumerator_28672.hasCurrentObject ()) { + callExtensionMethod_checkAttributeReferences ((cPtr_impType *) enumerator_28672.current_type (HERE).ptr (), constinArgument_imp, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 991)) ; + enumerator_28672.gotoNextObject () ; + } + cEnumerator_implementationObjectMap enumerator_28754 (this->mProperty_falseSubAttributes, kENUMERATION_UP) ; + while (enumerator_28754.hasCurrentObject ()) { + callExtensionMethod_checkAttributeReferences ((cPtr_impType *) enumerator_28754.current_type (HERE).ptr (), constinArgument_imp, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 994)) ; + enumerator_28754.gotoNextObject () ; + } +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@impEnumType checkAttributeReferences' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_impEnumType::method_checkAttributeReferences (const GALGAS_implementation constinArgument_imp, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + cEnumerator_enumValues enumerator_28923 (this->mProperty_valuesMap, kENUMERATION_UP) ; + while (enumerator_28923.hasCurrentObject ()) { + cEnumerator_implementationObjectMap enumerator_28951 (enumerator_28923.current_subAttributes (HERE), kENUMERATION_UP) ; + while (enumerator_28951.hasCurrentObject ()) { + callExtensionMethod_checkAttributeReferences ((cPtr_impType *) enumerator_28951.current_type (HERE).ptr (), constinArgument_imp, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1003)) ; + enumerator_28951.gotoNextObject () ; + } + enumerator_28923.gotoNextObject () ; + } +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'setDefaultsForType' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_setDefaultsForType (const GALGAS_implementationObjectMap constinArgument_impObject, + GALGAS_objectAttributes & ioArgument_objectParams, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + cEnumerator_implementationObjectMap enumerator_29147 (constinArgument_impObject, kENUMERATION_UP) ; + while (enumerator_29147.hasCurrentObject ()) { + if (enumerator_29147.current_type (HERE).isValid ()) { + if (nullptr != dynamic_cast (enumerator_29147.current_type (HERE).ptr ())) { + GALGAS_impAutoDefaultType cast_29213_defaultType ((cPtr_impAutoDefaultType *) enumerator_29147.current_type (HERE).ptr ()) ; + callExtensionMethod_setDefault ((cPtr_impAutoDefaultType *) cast_29213_defaultType.ptr (), ioArgument_objectParams, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1015)) ; + } + } + enumerator_29147.gotoNextObject () ; + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@noRange contains' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_bool cPtr_noRange::getter_contains (const GALGAS_object_5F_t /* constinArgument_obj */, + C_Compiler */* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_bool result_isInside ; // Returned variable + result_isInside = GALGAS_bool (true) ; +//--- + return result_isInside ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@noRange string' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string cPtr_noRange::getter_string (C_Compiler */* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_desc ; // Returned variable + result_desc = GALGAS_string ("\?") ; +//--- + return result_desc ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@uint32AttributeSet contains' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_bool cPtr_uint_33__32_AttributeSet::getter_contains (const GALGAS_object_5F_t constinArgument_obj, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_bool result_isInside ; // Returned variable + if (constinArgument_obj.isValid ()) { + if (constinArgument_obj.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_33__32__5F_class) { + GALGAS_uint_33__32__5F_class cast_31592_intVal ((cPtr_uint_33__32__5F_class *) constinArgument_obj.ptr ()) ; + result_isInside = GALGAS_bool (false) ; + cEnumerator_uint_33__32_List enumerator_31629 (this->mProperty_valueList, kENUMERATION_UP) ; + while (enumerator_31629.hasCurrentObject ()) { + result_isInside = result_isInside.operator_or (GALGAS_bool (kIsEqual, enumerator_31629.current_value (HERE).objectCompare (cast_31592_intVal.readProperty_value ())) COMMA_SOURCE_FILE ("implementation_types.galgas", 1103)) ; + enumerator_31629.gotoNextObject () ; + } + }else{ + result_isInside = GALGAS_bool (false) ; + TC_Array fixItArray0 ; + inCompiler->emitSemanticError (constinArgument_obj.readProperty_location (), GALGAS_string ("UINT32 expected"), fixItArray0 COMMA_SOURCE_FILE ("implementation_types.galgas", 1107)) ; + } + } +//--- + return result_isInside ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@uint32AttributeSet string' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string cPtr_uint_33__32_AttributeSet::getter_string (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_desc ; // Returned variable + result_desc = GALGAS_string::makeEmptyString () ; + cEnumerator_uint_33__32_List enumerator_31858 (this->mProperty_valueList, kENUMERATION_UP) ; + while (enumerator_31858.hasCurrentObject ()) { + result_desc.plusAssign_operation(enumerator_31858.current_value (HERE).getter_string (SOURCE_FILE ("implementation_types.galgas", 1115)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1115)) ; + if (enumerator_31858.hasNextObject ()) { + result_desc.plusAssign_operation(GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1117)) ; + } + enumerator_31858.gotoNextObject () ; + } +//--- + return result_desc ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@uint32AttributeMinMax contains' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_bool cPtr_uint_33__32_AttributeMinMax::getter_contains (const GALGAS_object_5F_t constinArgument_obj, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_bool result_isInside ; // Returned variable + if (constinArgument_obj.isValid ()) { + if (constinArgument_obj.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_33__32__5F_class) { + GALGAS_uint_33__32__5F_class cast_32068_intVal ((cPtr_uint_33__32__5F_class *) constinArgument_obj.ptr ()) ; + GALGAS_bool test_0 = GALGAS_bool (kIsInfOrEqual, this->mProperty_min.objectCompare (cast_32068_intVal.readProperty_value ())) ; + if (kBoolTrue == test_0.boolEnum ()) { + test_0 = GALGAS_bool (kIsInfOrEqual, cast_32068_intVal.readProperty_value ().objectCompare (this->mProperty_max)) ; + } + result_isInside = test_0 ; + }else{ + result_isInside = GALGAS_bool (false) ; + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (constinArgument_obj.readProperty_location (), GALGAS_string ("UINT32 expected"), fixItArray1 COMMA_SOURCE_FILE ("implementation_types.galgas", 1130)) ; + } + } +//--- + return result_isInside ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@uint32AttributeMinMax string' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string cPtr_uint_33__32_AttributeMinMax::getter_string (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_desc ; // Returned variable + result_desc = this->mProperty_min.getter_string (SOURCE_FILE ("implementation_types.galgas", 1136)).add_operation (GALGAS_string (".."), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1136)).add_operation (this->mProperty_max.getter_string (SOURCE_FILE ("implementation_types.galgas", 1136)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1136)) ; +//--- + return result_desc ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@sint32AttributeSet contains' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_bool cPtr_sint_33__32_AttributeSet::getter_contains (const GALGAS_object_5F_t constinArgument_obj, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_bool result_isInside ; // Returned variable + if (constinArgument_obj.isValid ()) { + if (constinArgument_obj.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_33__32__5F_class) { + GALGAS_sint_33__32__5F_class cast_32443_intVal ((cPtr_sint_33__32__5F_class *) constinArgument_obj.ptr ()) ; + result_isInside = GALGAS_bool (true) ; + cEnumerator_sint_33__32_List enumerator_32479 (this->mProperty_valueList, kENUMERATION_UP) ; + while (enumerator_32479.hasCurrentObject ()) { + result_isInside = result_isInside.operator_and (GALGAS_bool (kIsEqual, enumerator_32479.current_value (HERE).objectCompare (cast_32443_intVal.readProperty_value ())) COMMA_SOURCE_FILE ("implementation_types.galgas", 1147)) ; + enumerator_32479.gotoNextObject () ; + } + }else{ + result_isInside = GALGAS_bool (false) ; + TC_Array fixItArray0 ; + inCompiler->emitSemanticError (constinArgument_obj.readProperty_location (), GALGAS_string ("SINT32 expected"), fixItArray0 COMMA_SOURCE_FILE ("implementation_types.galgas", 1151)) ; + } + } +//--- + return result_isInside ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@sint32AttributeSet string' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string cPtr_sint_33__32_AttributeSet::getter_string (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_desc ; // Returned variable + result_desc = GALGAS_string::makeEmptyString () ; + cEnumerator_sint_33__32_List enumerator_32708 (this->mProperty_valueList, kENUMERATION_UP) ; + while (enumerator_32708.hasCurrentObject ()) { + result_desc.plusAssign_operation(enumerator_32708.current_value (HERE).getter_string (SOURCE_FILE ("implementation_types.galgas", 1159)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1159)) ; + if (enumerator_32708.hasNextObject ()) { + result_desc.plusAssign_operation(GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1161)) ; + } + enumerator_32708.gotoNextObject () ; + } +//--- + return result_desc ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@sint32AttributeMinMax contains' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_bool cPtr_sint_33__32_AttributeMinMax::getter_contains (const GALGAS_object_5F_t constinArgument_obj, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_bool result_isInside ; // Returned variable + if (constinArgument_obj.isValid ()) { + if (constinArgument_obj.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_33__32__5F_class) { + GALGAS_sint_33__32__5F_class cast_32918_intVal ((cPtr_sint_33__32__5F_class *) constinArgument_obj.ptr ()) ; + GALGAS_bool test_0 = GALGAS_bool (kIsInfOrEqual, this->mProperty_min.objectCompare (cast_32918_intVal.readProperty_value ())) ; + if (kBoolTrue == test_0.boolEnum ()) { + test_0 = GALGAS_bool (kIsInfOrEqual, cast_32918_intVal.readProperty_value ().objectCompare (this->mProperty_max)) ; + } + result_isInside = test_0 ; + }else{ + result_isInside = GALGAS_bool (false) ; + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (constinArgument_obj.readProperty_location (), GALGAS_string ("SINT32 expected"), fixItArray1 COMMA_SOURCE_FILE ("implementation_types.galgas", 1174)) ; + } + } +//--- + return result_isInside ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@sint32AttributeMinMax string' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string cPtr_sint_33__32_AttributeMinMax::getter_string (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_desc ; // Returned variable + result_desc = this->mProperty_min.getter_string (SOURCE_FILE ("implementation_types.galgas", 1180)).add_operation (GALGAS_string (".."), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1180)).add_operation (this->mProperty_max.getter_string (SOURCE_FILE ("implementation_types.galgas", 1180)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1180)) ; +//--- + return result_desc ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@uint64AttributeSet contains' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_bool cPtr_uint_36__34_AttributeSet::getter_contains (const GALGAS_object_5F_t constinArgument_obj, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_bool result_isInside ; // Returned variable + if (constinArgument_obj.isValid ()) { + if (constinArgument_obj.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_36__34__5F_class) { + GALGAS_uint_36__34__5F_class cast_33293_intVal ((cPtr_uint_36__34__5F_class *) constinArgument_obj.ptr ()) ; + result_isInside = GALGAS_bool (true) ; + cEnumerator_uint_36__34_List enumerator_33329 (this->mProperty_valueList, kENUMERATION_UP) ; + while (enumerator_33329.hasCurrentObject ()) { + result_isInside = result_isInside.operator_and (GALGAS_bool (kIsEqual, enumerator_33329.current_value (HERE).objectCompare (cast_33293_intVal.readProperty_value ())) COMMA_SOURCE_FILE ("implementation_types.galgas", 1191)) ; + enumerator_33329.gotoNextObject () ; + } + }else{ + result_isInside = GALGAS_bool (false) ; + TC_Array fixItArray0 ; + inCompiler->emitSemanticError (constinArgument_obj.readProperty_location (), GALGAS_string ("UINT64 expected"), fixItArray0 COMMA_SOURCE_FILE ("implementation_types.galgas", 1195)) ; + } + } +//--- + return result_isInside ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@uint64AttributeSet string' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string cPtr_uint_36__34_AttributeSet::getter_string (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_desc ; // Returned variable + result_desc = GALGAS_string::makeEmptyString () ; + cEnumerator_uint_36__34_List enumerator_33558 (this->mProperty_valueList, kENUMERATION_UP) ; + while (enumerator_33558.hasCurrentObject ()) { + result_desc.plusAssign_operation(enumerator_33558.current_value (HERE).getter_string (SOURCE_FILE ("implementation_types.galgas", 1203)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1203)) ; + if (enumerator_33558.hasNextObject ()) { + result_desc.plusAssign_operation(GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1205)) ; + } + enumerator_33558.gotoNextObject () ; + } +//--- + return result_desc ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@uint64AttributeMinMax contains' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_bool cPtr_uint_36__34_AttributeMinMax::getter_contains (const GALGAS_object_5F_t constinArgument_obj, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_bool result_isInside ; // Returned variable + if (constinArgument_obj.isValid ()) { + if (constinArgument_obj.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_36__34__5F_class) { + GALGAS_uint_36__34__5F_class cast_33768_intVal ((cPtr_uint_36__34__5F_class *) constinArgument_obj.ptr ()) ; + GALGAS_bool test_0 = GALGAS_bool (kIsInfOrEqual, this->mProperty_min.objectCompare (cast_33768_intVal.readProperty_value ())) ; + if (kBoolTrue == test_0.boolEnum ()) { + test_0 = GALGAS_bool (kIsInfOrEqual, cast_33768_intVal.readProperty_value ().objectCompare (this->mProperty_max)) ; + } + result_isInside = test_0 ; + }else{ + result_isInside = GALGAS_bool (false) ; + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (constinArgument_obj.readProperty_location (), GALGAS_string ("UINT64 expected"), fixItArray1 COMMA_SOURCE_FILE ("implementation_types.galgas", 1218)) ; + } + } +//--- + return result_isInside ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@uint64AttributeMinMax string' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string cPtr_uint_36__34_AttributeMinMax::getter_string (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_desc ; // Returned variable + result_desc = this->mProperty_min.getter_string (SOURCE_FILE ("implementation_types.galgas", 1224)).add_operation (GALGAS_string (".."), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1224)).add_operation (this->mProperty_max.getter_string (SOURCE_FILE ("implementation_types.galgas", 1224)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1224)) ; +//--- + return result_desc ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@sint64AttributeSet contains' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_bool cPtr_sint_36__34_AttributeSet::getter_contains (const GALGAS_object_5F_t constinArgument_obj, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_bool result_isInside ; // Returned variable + if (constinArgument_obj.isValid ()) { + if (constinArgument_obj.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_36__34__5F_class) { + GALGAS_sint_36__34__5F_class cast_34143_intVal ((cPtr_sint_36__34__5F_class *) constinArgument_obj.ptr ()) ; + result_isInside = GALGAS_bool (true) ; + cEnumerator_sint_36__34_List enumerator_34179 (this->mProperty_valueList, kENUMERATION_UP) ; + while (enumerator_34179.hasCurrentObject ()) { + result_isInside = result_isInside.operator_and (GALGAS_bool (kIsEqual, enumerator_34179.current_value (HERE).objectCompare (cast_34143_intVal.readProperty_value ())) COMMA_SOURCE_FILE ("implementation_types.galgas", 1235)) ; + enumerator_34179.gotoNextObject () ; + } + }else{ + result_isInside = GALGAS_bool (false) ; + TC_Array fixItArray0 ; + inCompiler->emitSemanticError (constinArgument_obj.readProperty_location (), GALGAS_string ("SINT64 expected"), fixItArray0 COMMA_SOURCE_FILE ("implementation_types.galgas", 1239)) ; + } + } +//--- + return result_isInside ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@sint64AttributeSet string' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string cPtr_sint_36__34_AttributeSet::getter_string (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_desc ; // Returned variable + result_desc = GALGAS_string::makeEmptyString () ; + cEnumerator_sint_36__34_List enumerator_34408 (this->mProperty_valueList, kENUMERATION_UP) ; + while (enumerator_34408.hasCurrentObject ()) { + result_desc.plusAssign_operation(enumerator_34408.current_value (HERE).getter_string (SOURCE_FILE ("implementation_types.galgas", 1247)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1247)) ; + if (enumerator_34408.hasNextObject ()) { + result_desc.plusAssign_operation(GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1249)) ; + } + enumerator_34408.gotoNextObject () ; + } +//--- + return result_desc ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@sint64AttributeMinMax contains' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_bool cPtr_sint_36__34_AttributeMinMax::getter_contains (const GALGAS_object_5F_t constinArgument_obj, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_bool result_isInside ; // Returned variable + if (constinArgument_obj.isValid ()) { + if (constinArgument_obj.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_36__34__5F_class) { + GALGAS_sint_36__34__5F_class cast_34619_intVal ((cPtr_sint_36__34__5F_class *) constinArgument_obj.ptr ()) ; + GALGAS_bool test_0 = GALGAS_bool (kIsInfOrEqual, this->mProperty_min.objectCompare (cast_34619_intVal.readProperty_value ())) ; + if (kBoolTrue == test_0.boolEnum ()) { + test_0 = GALGAS_bool (kIsInfOrEqual, cast_34619_intVal.readProperty_value ().objectCompare (this->mProperty_max)) ; + } + result_isInside = test_0 ; + }else{ + result_isInside = GALGAS_bool (false) ; + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (constinArgument_obj.readProperty_location (), GALGAS_string ("SINT64 expected"), fixItArray1 COMMA_SOURCE_FILE ("implementation_types.galgas", 1263)) ; + } + } +//--- + return result_isInside ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@sint64AttributeMinMax string' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string cPtr_sint_36__34_AttributeMinMax::getter_string (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_desc ; // Returned variable + result_desc = this->mProperty_min.getter_string (SOURCE_FILE ("implementation_types.galgas", 1269)).add_operation (GALGAS_string (".."), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1269)).add_operation (this->mProperty_max.getter_string (SOURCE_FILE ("implementation_types.galgas", 1269)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1269)) ; +//--- + return result_desc ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@floatAttributeSet contains' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_bool cPtr_floatAttributeSet::getter_contains (const GALGAS_object_5F_t constinArgument_obj, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_bool result_isInside ; // Returned variable + if (constinArgument_obj.isValid ()) { + if (constinArgument_obj.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_float_5F_class) { + GALGAS_float_5F_class cast_34992_intVal ((cPtr_float_5F_class *) constinArgument_obj.ptr ()) ; + result_isInside = GALGAS_bool (true) ; + cEnumerator_floatList enumerator_35028 (this->mProperty_valueList, kENUMERATION_UP) ; + while (enumerator_35028.hasCurrentObject ()) { + result_isInside = result_isInside.operator_and (GALGAS_bool (kIsEqual, enumerator_35028.current_value (HERE).objectCompare (cast_34992_intVal.readProperty_value ())) COMMA_SOURCE_FILE ("implementation_types.galgas", 1280)) ; + enumerator_35028.gotoNextObject () ; + } + }else{ + result_isInside = GALGAS_bool (false) ; + TC_Array fixItArray0 ; + inCompiler->emitSemanticError (constinArgument_obj.readProperty_location (), GALGAS_string ("FLOAT expected"), fixItArray0 COMMA_SOURCE_FILE ("implementation_types.galgas", 1284)) ; + } + } +//--- + return result_isInside ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@floatAttributeSet string' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string cPtr_floatAttributeSet::getter_string (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_desc ; // Returned variable + result_desc = GALGAS_string::makeEmptyString () ; + cEnumerator_floatList enumerator_35255 (this->mProperty_valueList, kENUMERATION_UP) ; + while (enumerator_35255.hasCurrentObject ()) { + result_desc.plusAssign_operation(enumerator_35255.current_value (HERE).getter_string (SOURCE_FILE ("implementation_types.galgas", 1292)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1292)) ; + if (enumerator_35255.hasNextObject ()) { + result_desc.plusAssign_operation(GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1294)) ; + } + enumerator_35255.gotoNextObject () ; + } +//--- + return result_desc ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@floatAttributeMinMax contains' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_bool cPtr_floatAttributeMinMax::getter_contains (const GALGAS_object_5F_t constinArgument_obj, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_bool result_isInside ; // Returned variable + if (constinArgument_obj.isValid ()) { + if (constinArgument_obj.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_float_5F_class) { + GALGAS_float_5F_class cast_35463_intVal ((cPtr_float_5F_class *) constinArgument_obj.ptr ()) ; + GALGAS_bool test_0 = GALGAS_bool (kIsInfOrEqual, this->mProperty_min.objectCompare (cast_35463_intVal.readProperty_value ())) ; + if (kBoolTrue == test_0.boolEnum ()) { + test_0 = GALGAS_bool (kIsInfOrEqual, cast_35463_intVal.readProperty_value ().objectCompare (this->mProperty_max)) ; + } + result_isInside = test_0 ; + }else{ + result_isInside = GALGAS_bool (false) ; + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (constinArgument_obj.readProperty_location (), GALGAS_string ("FLOAT expected"), fixItArray1 COMMA_SOURCE_FILE ("implementation_types.galgas", 1307)) ; + } + } +//--- + return result_isInside ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@floatAttributeMinMax string' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string cPtr_floatAttributeMinMax::getter_string (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_desc ; // Returned variable + result_desc = this->mProperty_min.getter_string (SOURCE_FILE ("implementation_types.galgas", 1313)).add_operation (GALGAS_string (".."), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1313)).add_operation (this->mProperty_max.getter_string (SOURCE_FILE ("implementation_types.galgas", 1313)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1313)) ; +//--- + return result_desc ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Once function 'emptyLString' +// +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_lstring onceFunction_emptyLString (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_lstring result_ls ; // Returned variable + result_ls = GALGAS_lstring::constructor_new (GALGAS_string::makeEmptyString (), GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 29)) COMMA_SOURCE_FILE ("goil_basic_types.galgas", 29)) ; +//--- + return result_ls ; +} + + + +//---------------------------------------------------------------------------------------------------------------------- +// Function implementation +//---------------------------------------------------------------------------------------------------------------------- + +static bool gOnceFunctionResultAvailable_emptyLString = false ; +static GALGAS_lstring gOnceFunctionResult_emptyLString ; + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_lstring function_emptyLString (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (! gOnceFunctionResultAvailable_emptyLString) { + gOnceFunctionResult_emptyLString = onceFunction_emptyLString (inCompiler COMMA_THERE) ; + gOnceFunctionResultAvailable_emptyLString = true ; + } + return gOnceFunctionResult_emptyLString ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +static void releaseOnceFunctionResult_emptyLString (void) { + gOnceFunctionResult_emptyLString.drop () ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_PrologueEpilogue gEpilogueForOnceFunction_emptyLString (nullptr, + releaseOnceFunctionResult_emptyLString) ; + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_emptyLString [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_emptyLString (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_emptyLString (inCompiler COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_emptyLString ("emptyLString", + functionWithGenericHeader_emptyLString, + & kTypeDescriptor_GALGAS_lstring, + 0, + functionArgs_emptyLString) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'emptyObject' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_objectAttributes function_emptyObject (C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_objectAttributes result_result ; // Returned variable + result_result = GALGAS_objectAttributes::constructor_new (GALGAS_identifierMap::constructor_emptyMap (SOURCE_FILE ("goil_basic_types.galgas", 73)) COMMA_SOURCE_FILE ("goil_basic_types.galgas", 73)) ; +//--- + return result_result ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_emptyObject [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_emptyObject (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_emptyObject (inCompiler COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_emptyObject ("emptyObject", + functionWithGenericHeader_emptyObject, + & kTypeDescriptor_GALGAS_objectAttributes, + 0, + functionArgs_emptyObject) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension setter '@multipleAttribute mergeSubAttributes' +// +//---------------------------------------------------------------------------------------------------------------------- + +static void extensionSetter_multipleAttribute_mergeSubAttributes (cPtr_object_5F_t * inObject, + GALGAS_object_5F_t inArgument_withObject, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + cPtr_multipleAttribute * object = (cPtr_multipleAttribute *) inObject ; + macroValidSharedObject (object, cPtr_multipleAttribute) ; + if (inArgument_withObject.isValid ()) { + if (inArgument_withObject.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_multipleAttribute) { + GALGAS_multipleAttribute cast_2234_multipleObject ((cPtr_multipleAttribute *) inArgument_withObject.ptr ()) ; + object->mProperty_items.plusAssign_operation(cast_2234_multipleObject.readProperty_items (), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 93)) ; + } + } +} +//---------------------------------------------------------------------------------------------------------------------- + +static void defineExtensionSetter_multipleAttribute_mergeSubAttributes (void) { + enterExtensionSetter_mergeSubAttributes (kTypeDescriptor_GALGAS_multipleAttribute.mSlotID, + extensionSetter_multipleAttribute_mergeSubAttributes) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_PrologueEpilogue gSetter_multipleAttribute_mergeSubAttributes (defineExtensionSetter_multipleAttribute_mergeSubAttributes, nullptr) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'multipleAttributeOrError' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_identifierList function_multipleAttributeOrError (const GALGAS_object_5F_t & constinArgument_t, + const GALGAS_string & constinArgument_att, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_identifierList result_v ; // Returned variable + result_v = GALGAS_identifierList::constructor_emptyList (SOURCE_FILE ("goil_basic_types.galgas", 101)) ; + if (constinArgument_t.isValid ()) { + if (constinArgument_t.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_multipleAttribute) { + GALGAS_multipleAttribute cast_2464_l ((cPtr_multipleAttribute *) constinArgument_t.ptr ()) ; + result_v = cast_2464_l.readProperty_items () ; + }else{ + TC_Array fixItArray0 ; + inCompiler->emitSemanticError (constinArgument_t.readProperty_location (), GALGAS_string ("Internal error, ").add_operation (constinArgument_att, inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 106)).add_operation (GALGAS_string (" has a wrong datatype"), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 106)), fixItArray0 COMMA_SOURCE_FILE ("goil_basic_types.galgas", 106)) ; + } + } +//--- + return result_v ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_multipleAttributeOrError [3] = { + & kTypeDescriptor_GALGAS_object_5F_t, + & kTypeDescriptor_GALGAS_string, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_multipleAttributeOrError (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_object_5F_t operand0 = GALGAS_object_5F_t::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_multipleAttributeOrError (operand0, + operand1, + inCompiler + COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_multipleAttributeOrError ("multipleAttributeOrError", + functionWithGenericHeader_multipleAttributeOrError, + & kTypeDescriptor_GALGAS_identifierList, + 2, + functionArgs_multipleAttributeOrError) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension setter '@boolAttribute mergeSubAttributes' +// +//---------------------------------------------------------------------------------------------------------------------- + +static void extensionSetter_boolAttribute_mergeSubAttributes (cPtr_object_5F_t * inObject, + GALGAS_object_5F_t inArgument_withObject, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + cPtr_boolAttribute * object = (cPtr_boolAttribute *) inObject ; + macroValidSharedObject (object, cPtr_boolAttribute) ; + if (inArgument_withObject.isValid ()) { + if (inArgument_withObject.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_boolAttribute) { + GALGAS_boolAttribute cast_2778_boolObject ((cPtr_boolAttribute *) inArgument_withObject.ptr ()) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsEqual, object->mProperty_value.objectCompare (cast_2778_boolObject.readProperty_value ())).boolEnum () ; if (kBoolTrue == test_0) { - test_0 = cast_2382_sa.readProperty_subAttributes ().readProperty_objectParams ().getter_hasKey (enumerator_2395.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("semantic_verification.galgas", 88)).boolEnum () ; - if (kBoolTrue == test_0) { - GALGAS_object_5F_t var_subAttr_2516 ; - cast_2382_sa.readProperty_subAttributes ().readProperty_objectParams ().method_get (enumerator_2395.current_lkey (HERE), var_subAttr_2516, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 90)) ; - callExtensionMethod_verifyMultipleType ((cPtr_impType *) enumerator_2395.current_type (HERE).ptr (), var_subAttr_2516, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 91)) ; + { + object->mProperty_subAttributes.insulate (HERE) ; + cPtr_objectAttributes * ptr_2840 = (cPtr_objectAttributes *) object->mProperty_subAttributes.ptr () ; + callExtensionSetter_mergeAttributes ((cPtr_objectAttributes *) ptr_2840, cast_2778_boolObject.readProperty_subAttributes (), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 120)) ; + } + } + } + } + } +} +//---------------------------------------------------------------------------------------------------------------------- + +static void defineExtensionSetter_boolAttribute_mergeSubAttributes (void) { + enterExtensionSetter_mergeSubAttributes (kTypeDescriptor_GALGAS_boolAttribute.mSlotID, + extensionSetter_boolAttribute_mergeSubAttributes) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_PrologueEpilogue gSetter_boolAttribute_mergeSubAttributes (defineExtensionSetter_boolAttribute_mergeSubAttributes, nullptr) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'boolAttributeOrError' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_bool function_boolAttributeOrError (GALGAS_object_5F_t inArgument_t, + GALGAS_string inArgument_att, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_bool result_v ; // Returned variable + result_v = GALGAS_bool (false) ; + if (inArgument_t.isValid ()) { + if (inArgument_t.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_boolAttribute) { + GALGAS_boolAttribute cast_3046_attribute ((cPtr_boolAttribute *) inArgument_t.ptr ()) ; + result_v = cast_3046_attribute.readProperty_value () ; + }else{ + TC_Array fixItArray0 ; + inCompiler->emitSemanticError (inArgument_t.readProperty_location (), GALGAS_string ("Internal error, ").add_operation (inArgument_att, inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 134)).add_operation (GALGAS_string (" has a wrong datatype"), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 134)), fixItArray0 COMMA_SOURCE_FILE ("goil_basic_types.galgas", 134)) ; + } + } +//--- + return result_v ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_boolAttributeOrError [3] = { + & kTypeDescriptor_GALGAS_object_5F_t, + & kTypeDescriptor_GALGAS_string, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_boolAttributeOrError (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_object_5F_t operand0 = GALGAS_object_5F_t::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_boolAttributeOrError (operand0, + operand1, + inCompiler + COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_boolAttributeOrError ("boolAttributeOrError", + functionWithGenericHeader_boolAttributeOrError, + & kTypeDescriptor_GALGAS_bool, + 2, + functionArgs_boolAttributeOrError) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension setter '@enumAttribute mergeSubAttributes' +// +//---------------------------------------------------------------------------------------------------------------------- + +static void extensionSetter_enumAttribute_mergeSubAttributes (cPtr_object_5F_t * inObject, + GALGAS_object_5F_t inArgument_withObject, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + cPtr_enumAttribute * object = (cPtr_enumAttribute *) inObject ; + macroValidSharedObject (object, cPtr_enumAttribute) ; + if (inArgument_withObject.isValid ()) { + if (inArgument_withObject.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_enumAttribute) { + GALGAS_enumAttribute cast_3377_enumObject ((cPtr_enumAttribute *) inArgument_withObject.ptr ()) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsEqual, object->mProperty_value.objectCompare (cast_3377_enumObject.readProperty_value ())).boolEnum () ; + if (kBoolTrue == test_0) { + { + object->mProperty_subAttributes.insulate (HERE) ; + cPtr_objectAttributes * ptr_3439 = (cPtr_objectAttributes *) object->mProperty_subAttributes.ptr () ; + callExtensionSetter_mergeAttributes ((cPtr_objectAttributes *) ptr_3439, cast_3377_enumObject.readProperty_subAttributes (), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 148)) ; } } - enumerator_2395.gotoNextObject () ; } + } + } +} +//---------------------------------------------------------------------------------------------------------------------- + +static void defineExtensionSetter_enumAttribute_mergeSubAttributes (void) { + enterExtensionSetter_mergeSubAttributes (kTypeDescriptor_GALGAS_enumAttribute.mSlotID, + extensionSetter_enumAttribute_mergeSubAttributes) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_PrologueEpilogue gSetter_enumAttribute_mergeSubAttributes (defineExtensionSetter_enumAttribute_mergeSubAttributes, nullptr) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'uint32_or_error' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_uint function_uint_33__32__5F_or_5F_error (GALGAS_object_5F_t inArgument_t, + GALGAS_string inArgument_att, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_uint result_v ; // Returned variable + result_v = GALGAS_uint (uint32_t (0U)) ; + if (inArgument_t.isValid ()) { + if (inArgument_t.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_33__32__5F_class) { + GALGAS_uint_33__32__5F_class cast_3835_ui ((cPtr_uint_33__32__5F_class *) inArgument_t.ptr ()) ; + result_v = cast_3835_ui.readProperty_value () ; + }else{ + TC_Array fixItArray0 ; + inCompiler->emitSemanticError (inArgument_t.readProperty_location (), inArgument_att.add_operation (GALGAS_string (" is not defined"), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 175)), fixItArray0 COMMA_SOURCE_FILE ("goil_basic_types.galgas", 175)) ; + } + } +//--- + return result_v ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_uint_33__32__5F_or_5F_error [3] = { + & kTypeDescriptor_GALGAS_object_5F_t, + & kTypeDescriptor_GALGAS_string, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_uint_33__32__5F_or_5F_error (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_object_5F_t operand0 = GALGAS_object_5F_t::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_uint_33__32__5F_or_5F_error (operand0, + operand1, + inCompiler + COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_uint_33__32__5F_or_5F_error ("uint32_or_error", + functionWithGenericHeader_uint_33__32__5F_or_5F_error, + & kTypeDescriptor_GALGAS_uint, + 2, + functionArgs_uint_33__32__5F_or_5F_error) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'uint32OrError' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_uint function_uint_33__32_OrError (GALGAS_object_5F_t inArgument_t, + GALGAS_string inArgument_att, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_uint result_v ; // Returned variable + result_v = GALGAS_uint (uint32_t (0U)) ; + if (inArgument_t.isValid ()) { + if (inArgument_t.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_33__32__5F_class) { + GALGAS_uint_33__32__5F_class cast_4034_ui ((cPtr_uint_33__32__5F_class *) inArgument_t.ptr ()) ; + result_v = cast_4034_ui.readProperty_value () ; + }else{ + TC_Array fixItArray0 ; + inCompiler->emitSemanticError (inArgument_t.readProperty_location (), inArgument_att.add_operation (GALGAS_string (" is not defined"), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 188)), fixItArray0 COMMA_SOURCE_FILE ("goil_basic_types.galgas", 188)) ; + } + } +//--- + return result_v ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_uint_33__32_OrError [3] = { + & kTypeDescriptor_GALGAS_object_5F_t, + & kTypeDescriptor_GALGAS_string, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_uint_33__32_OrError (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_object_5F_t operand0 = GALGAS_object_5F_t::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_uint_33__32_OrError (operand0, + operand1, + inCompiler + COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_uint_33__32_OrError ("uint32OrError", + functionWithGenericHeader_uint_33__32_OrError, + & kTypeDescriptor_GALGAS_uint, + 2, + functionArgs_uint_33__32_OrError) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'sint32OrError' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_sint function_sint_33__32_OrError (GALGAS_object_5F_t inArgument_t, + GALGAS_string inArgument_att, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_sint result_v ; // Returned variable + result_v = GALGAS_sint (int32_t (0L)) ; + if (inArgument_t.isValid ()) { + if (inArgument_t.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_33__32__5F_class) { + GALGAS_sint_33__32__5F_class cast_4371_ui ((cPtr_sint_33__32__5F_class *) inArgument_t.ptr ()) ; + result_v = cast_4371_ui.readProperty_value () ; }else{ - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), GALGAS_string ("STRUCT expected"), fixItArray1 COMMA_SOURCE_FILE ("semantic_verification.galgas", 95)) ; + TC_Array fixItArray0 ; + inCompiler->emitSemanticError (inArgument_t.readProperty_location (), inArgument_att.add_operation (GALGAS_string (" is not defined"), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 208)), fixItArray0 COMMA_SOURCE_FILE ("goil_basic_types.galgas", 208)) ; + } + } +//--- + return result_v ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_sint_33__32_OrError [3] = { + & kTypeDescriptor_GALGAS_object_5F_t, + & kTypeDescriptor_GALGAS_string, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_sint_33__32_OrError (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_object_5F_t operand0 = GALGAS_object_5F_t::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_sint_33__32_OrError (operand0, + operand1, + inCompiler + COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_sint_33__32_OrError ("sint32OrError", + functionWithGenericHeader_sint_33__32_OrError, + & kTypeDescriptor_GALGAS_sint, + 2, + functionArgs_sint_33__32_OrError) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'uint64OrError' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_uint_36__34_ function_uint_36__34_OrError (GALGAS_object_5F_t inArgument_t, + GALGAS_string inArgument_att, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_uint_36__34_ result_v ; // Returned variable + result_v = GALGAS_uint_36__34_ (uint64_t (0ULL)) ; + if (inArgument_t.isValid ()) { + if (inArgument_t.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_36__34__5F_class) { + GALGAS_uint_36__34__5F_class cast_4708_ui ((cPtr_uint_36__34__5F_class *) inArgument_t.ptr ()) ; + result_v = cast_4708_ui.readProperty_value () ; + }else{ + TC_Array fixItArray0 ; + inCompiler->emitSemanticError (inArgument_t.readProperty_location (), GALGAS_string ("Internal error, ").add_operation (inArgument_att, inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 228)).add_operation (GALGAS_string (" has a wrong datatype"), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 228)), fixItArray0 COMMA_SOURCE_FILE ("goil_basic_types.galgas", 228)) ; + } + } +//--- + return result_v ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_uint_36__34_OrError [3] = { + & kTypeDescriptor_GALGAS_object_5F_t, + & kTypeDescriptor_GALGAS_string, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_uint_36__34_OrError (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_object_5F_t operand0 = GALGAS_object_5F_t::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_uint_36__34_OrError (operand0, + operand1, + inCompiler + COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_uint_36__34_OrError ("uint64OrError", + functionWithGenericHeader_uint_36__34_OrError, + & kTypeDescriptor_GALGAS_uint_36__34_, + 2, + functionArgs_uint_36__34_OrError) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'luint64OrError' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_luint_36__34_ function_luint_36__34_OrError (GALGAS_object_5F_t inArgument_t, + GALGAS_string inArgument_att, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_luint_36__34_ result_v ; // Returned variable + if (inArgument_t.isValid ()) { + if (inArgument_t.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_36__34__5F_class) { + GALGAS_uint_36__34__5F_class cast_4926_ui ((cPtr_uint_36__34__5F_class *) inArgument_t.ptr ()) ; + result_v = GALGAS_luint_36__34_::constructor_new (cast_4926_ui.readProperty_value (), cast_4926_ui.readProperty_location () COMMA_SOURCE_FILE ("goil_basic_types.galgas", 238)) ; + }else{ + result_v = GALGAS_luint_36__34_::constructor_new (GALGAS_uint_36__34_ (uint64_t (0ULL)), GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 240)) COMMA_SOURCE_FILE ("goil_basic_types.galgas", 240)) ; + TC_Array fixItArray0 ; + inCompiler->emitSemanticError (inArgument_t.readProperty_location (), GALGAS_string ("Internal error, ").add_operation (inArgument_att, inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 241)).add_operation (GALGAS_string (" has a wrong datatype"), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 241)), fixItArray0 COMMA_SOURCE_FILE ("goil_basic_types.galgas", 241)) ; + } + } +//--- + return result_v ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_luint_36__34_OrError [3] = { + & kTypeDescriptor_GALGAS_object_5F_t, + & kTypeDescriptor_GALGAS_string, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_luint_36__34_OrError (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_object_5F_t operand0 = GALGAS_object_5F_t::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_luint_36__34_OrError (operand0, + operand1, + inCompiler + COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_luint_36__34_OrError ("luint64OrError", + functionWithGenericHeader_luint_36__34_OrError, + & kTypeDescriptor_GALGAS_luint_36__34_, + 2, + functionArgs_luint_36__34_OrError) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'sint64OrError' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_sint_36__34_ function_sint_36__34_OrError (GALGAS_object_5F_t inArgument_t, + GALGAS_string inArgument_att, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_sint_36__34_ result_v ; // Returned variable + result_v = GALGAS_sint_36__34_ (int64_t (0LL)) ; + if (inArgument_t.isValid ()) { + if (inArgument_t.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_36__34__5F_class) { + GALGAS_sint_36__34__5F_class cast_5365_ui ((cPtr_sint_36__34__5F_class *) inArgument_t.ptr ()) ; + result_v = cast_5365_ui.readProperty_value () ; + }else{ + TC_Array fixItArray0 ; + inCompiler->emitSemanticError (inArgument_t.readProperty_location (), GALGAS_string ("Internal error, ").add_operation (inArgument_att, inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 261)).add_operation (GALGAS_string (" has a wrong datatype"), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 261)), fixItArray0 COMMA_SOURCE_FILE ("goil_basic_types.galgas", 261)) ; + } + } +//--- + return result_v ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_sint_36__34_OrError [3] = { + & kTypeDescriptor_GALGAS_object_5F_t, + & kTypeDescriptor_GALGAS_string, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_sint_36__34_OrError (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_object_5F_t operand0 = GALGAS_object_5F_t::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_sint_36__34_OrError (operand0, + operand1, + inCompiler + COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_sint_36__34_OrError ("sint64OrError", + functionWithGenericHeader_sint_36__34_OrError, + & kTypeDescriptor_GALGAS_sint_36__34_, + 2, + functionArgs_sint_36__34_OrError) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'floatOrError' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_double function_floatOrError (GALGAS_object_5F_t inArgument_t, + GALGAS_string inArgument_att, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_double result_v ; // Returned variable + result_v = GALGAS_double (0) ; + if (inArgument_t.isValid ()) { + if (inArgument_t.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_float_5F_class) { + GALGAS_float_5F_class cast_5715_ui ((cPtr_float_5F_class *) inArgument_t.ptr ()) ; + result_v = cast_5715_ui.readProperty_value () ; + }else{ + TC_Array fixItArray0 ; + inCompiler->emitSemanticError (inArgument_t.readProperty_location (), GALGAS_string ("Internal error, ").add_operation (inArgument_att, inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 281)).add_operation (GALGAS_string (" has a wrong datatype"), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 281)), fixItArray0 COMMA_SOURCE_FILE ("goil_basic_types.galgas", 281)) ; } } +//--- + return result_v ; } -//-------------------------------------------------------------------------------------------------- + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_floatOrError [3] = { + & kTypeDescriptor_GALGAS_object_5F_t, + & kTypeDescriptor_GALGAS_string, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_floatOrError (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_object_5F_t operand0 = GALGAS_object_5F_t::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_floatOrError (operand0, + operand1, + inCompiler + COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_floatOrError ("floatOrError", + functionWithGenericHeader_floatOrError, + & kTypeDescriptor_GALGAS_double, + 2, + functionArgs_floatOrError) ; + +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@refType verifyType' +//Function 'stringAttributeOrError' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_refType::method_verifyType (const GALGAS_object_5F_t constinArgument_attr, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - if (constinArgument_attr.isValid ()) { - if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_objectRefAttribute) { +GALGAS_lstring function_stringAttributeOrError (const GALGAS_object_5F_t & constinArgument_attribute, + const GALGAS_string & constinArgument_attributeName, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_lstring result_result ; // Returned variable + result_result = function_emptyLString (inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 303)) ; + if (constinArgument_attribute.isValid ()) { + if (constinArgument_attribute.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_stringAttribute) { + GALGAS_stringAttribute cast_6260_attribute ((cPtr_stringAttribute *) constinArgument_attribute.ptr ()) ; + result_result = GALGAS_lstring::constructor_new (cast_6260_attribute.readProperty_value (), cast_6260_attribute.readProperty_location () COMMA_SOURCE_FILE ("goil_basic_types.galgas", 306)) ; }else{ TC_Array fixItArray0 ; - inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), GALGAS_string ("object reference expected"), fixItArray0 COMMA_SOURCE_FILE ("semantic_verification.galgas", 105)) ; + inCompiler->emitSemanticError (constinArgument_attribute.readProperty_location (), GALGAS_string ("Internal error ").add_operation (constinArgument_attributeName, inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 308)).add_operation (GALGAS_string (" has a wrong datatype"), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 308)), fixItArray0 COMMA_SOURCE_FILE ("goil_basic_types.galgas", 308)) ; } } +//--- + return result_result ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_stringAttributeOrError [3] = { + & kTypeDescriptor_GALGAS_object_5F_t, + & kTypeDescriptor_GALGAS_string, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_stringAttributeOrError (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_object_5F_t operand0 = GALGAS_object_5F_t::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_stringAttributeOrError (operand0, + operand1, + inCompiler + COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_stringAttributeOrError ("stringAttributeOrError", + functionWithGenericHeader_stringAttributeOrError, + & kTypeDescriptor_GALGAS_lstring, + 2, + functionArgs_stringAttributeOrError) ; + +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@impBoolType verifyType' +//Overriding extension setter '@structAttribute mergeSubAttributes' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_impBoolType::method_verifyType (const GALGAS_object_5F_t constinArgument_attr, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - if (constinArgument_attr.isValid ()) { - if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_boolAttribute) { - GALGAS_boolAttribute cast_3144_b ((cPtr_boolAttribute *) constinArgument_attr.ptr ()) ; +static void extensionSetter_structAttribute_mergeSubAttributes (cPtr_object_5F_t * inObject, + GALGAS_object_5F_t inArgument_withObject, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + cPtr_structAttribute * object = (cPtr_structAttribute *) inObject ; + macroValidSharedObject (object, cPtr_structAttribute) ; + if (inArgument_withObject.isValid ()) { + if (inArgument_withObject.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_structAttribute) { + GALGAS_structAttribute cast_6665_structObject ((cPtr_structAttribute *) inArgument_withObject.ptr ()) ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - test_0 = cast_3144_b.readProperty_value ().boolEnum () ; + test_0 = GALGAS_bool (kIsEqual, object->mProperty_structName.readProperty_string ().objectCompare (cast_6665_structObject.readProperty_structName ().readProperty_string ())).boolEnum () ; if (kBoolTrue == test_0) { - cEnumerator_implementationObjectMap enumerator_3180 (this->mProperty_trueSubAttributes, kENUMERATION_UP) ; - while (enumerator_3180.hasCurrentObject ()) { - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = cast_3144_b.readProperty_subAttributes ().readProperty_objectParams ().getter_hasKey (enumerator_3180.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("semantic_verification.galgas", 116)).boolEnum () ; - if (kBoolTrue == test_1) { - GALGAS_object_5F_t var_subAttrs_3305 ; - cast_3144_b.readProperty_subAttributes ().readProperty_objectParams ().method_get (enumerator_3180.current_lkey (HERE), var_subAttrs_3305, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 118)) ; - callExtensionMethod_verifyMultipleType ((cPtr_impType *) enumerator_3180.current_type (HERE).ptr (), var_subAttrs_3305, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 119)) ; - } - } - enumerator_3180.gotoNextObject () ; - } - } - } - if (kBoolFalse == test_0) { - cEnumerator_implementationObjectMap enumerator_3466 (this->mProperty_falseSubAttributes, kENUMERATION_UP) ; - while (enumerator_3466.hasCurrentObject ()) { - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = cast_3144_b.readProperty_subAttributes ().readProperty_objectParams ().getter_hasKey (enumerator_3466.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("semantic_verification.galgas", 124)).boolEnum () ; - if (kBoolTrue == test_2) { - GALGAS_object_5F_t var_subAttrs_3592 ; - cast_3144_b.readProperty_subAttributes ().readProperty_objectParams ().method_get (enumerator_3466.current_lkey (HERE), var_subAttrs_3592, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 126)) ; - callExtensionMethod_verifyMultipleType ((cPtr_impType *) enumerator_3466.current_type (HERE).ptr (), var_subAttrs_3592, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 127)) ; - } + { + object->mProperty_subAttributes.insulate (HERE) ; + cPtr_objectAttributes * ptr_6759 = (cPtr_objectAttributes *) object->mProperty_subAttributes.ptr () ; + callExtensionSetter_mergeAttributes ((cPtr_objectAttributes *) ptr_6759, cast_6665_structObject.readProperty_subAttributes (), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 322)) ; } - enumerator_3466.gotoNextObject () ; } } - }else{ - TC_Array fixItArray3 ; - inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), GALGAS_string ("BOOLEAN expected"), fixItArray3 COMMA_SOURCE_FILE ("semantic_verification.galgas", 132)) ; } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +static void defineExtensionSetter_structAttribute_mergeSubAttributes (void) { + enterExtensionSetter_mergeSubAttributes (kTypeDescriptor_GALGAS_structAttribute.mSlotID, + extensionSetter_structAttribute_mergeSubAttributes) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_PrologueEpilogue gSetter_structAttribute_mergeSubAttributes (defineExtensionSetter_structAttribute_mergeSubAttributes, nullptr) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'empty_lstring' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_lstring function_empty_5F_lstring (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_lstring result_ls ; // Returned variable + result_ls = GALGAS_lstring::constructor_new (GALGAS_string::makeEmptyString (), GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 487)) COMMA_SOURCE_FILE ("goil_basic_types.galgas", 487)) ; +//--- + return result_ls ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_empty_5F_lstring [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_empty_5F_lstring (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_empty_5F_lstring (inCompiler COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_empty_5F_lstring ("empty_lstring", + functionWithGenericHeader_empty_5F_lstring, + & kTypeDescriptor_GALGAS_lstring, + 0, + functionArgs_empty_5F_lstring) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'void_obj' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_object_5F_t function_void_5F_obj (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_object_5F_t result_v ; // Returned variable + result_v = GALGAS_void::constructor_new (function_emptyLString (inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 492)), GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 492)) COMMA_SOURCE_FILE ("goil_basic_types.galgas", 492)) ; +//--- + return result_v ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_void_5F_obj [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_void_5F_obj (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_void_5F_obj (inCompiler COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_void_5F_obj ("void_obj", + functionWithGenericHeader_void_5F_obj, + & kTypeDescriptor_GALGAS_object_5F_t, + 0, + functionArgs_void_5F_obj) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'luint64_value' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_luint_36__34_ function_luint_36__34__5F_value (const GALGAS_uint_36__34__5F_class & constinArgument_c, + C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_luint_36__34_ result_v ; // Returned variable + result_v = GALGAS_luint_36__34_::constructor_new (constinArgument_c.readProperty_value (), constinArgument_c.readProperty_location () COMMA_SOURCE_FILE ("goil_basic_types.galgas", 686)) ; +//--- + return result_v ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_luint_36__34__5F_value [2] = { + & kTypeDescriptor_GALGAS_uint_36__34__5F_class, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_luint_36__34__5F_value (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_uint_36__34__5F_class operand0 = GALGAS_uint_36__34__5F_class::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_luint_36__34__5F_value (operand0, + inCompiler + COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_luint_36__34__5F_value ("luint64_value", + functionWithGenericHeader_luint_36__34__5F_value, + & kTypeDescriptor_GALGAS_luint_36__34_, + 1, + functionArgs_luint_36__34__5F_value) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'projectName' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string function_projectName (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_directory ; // Returned variable + result_directory = GALGAS_string::constructor_stringWithSourceFilePath (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 30)).getter_stringByDeletingPathExtension (SOURCE_FILE ("goil_routines.galgas", 30)) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsNotEqual, GALGAS_string (gOption_goil_5F_options_project_5F_dir.readProperty_value ()).objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; + if (kBoolTrue == test_0) { + result_directory = GALGAS_string (gOption_goil_5F_options_project_5F_dir.readProperty_value ()) ; + } + } +//--- + return result_directory ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_projectName [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_projectName (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_projectName (inCompiler COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_projectName ("projectName", + functionWithGenericHeader_projectName, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_projectName) ; + +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@impEnumType verifyType' +//Function 'oil_dir' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_impEnumType::method_verifyType (const GALGAS_object_5F_t constinArgument_attr, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - if (constinArgument_attr.isValid ()) { - if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_enumAttribute) { - GALGAS_enumAttribute cast_3985_e ((cPtr_enumAttribute *) constinArgument_attr.ptr ()) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = this->mProperty_valuesMap.getter_hasKey (cast_3985_e.readProperty_value () COMMA_SOURCE_FILE ("semantic_verification.galgas", 141)).boolEnum () ; - if (kBoolTrue == test_0) { - GALGAS_implementationObjectMap var_validVal_4066 ; - this->mProperty_valuesMap.method_get (function_lstringWith (cast_3985_e.readProperty_value (), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 143)), var_validVal_4066, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 143)) ; - cEnumerator_implementationObjectMap enumerator_4142 (var_validVal_4066, kENUMERATION_UP) ; - while (enumerator_4142.hasCurrentObject ()) { - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = cast_3985_e.readProperty_subAttributes ().readProperty_objectParams ().getter_hasKey (enumerator_4142.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("semantic_verification.galgas", 145)).boolEnum () ; - if (kBoolTrue == test_1) { - GALGAS_object_5F_t var_subAttrs_4258 ; - cast_3985_e.readProperty_subAttributes ().readProperty_objectParams ().method_get (enumerator_4142.current_lkey (HERE), var_subAttrs_4258, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 147)) ; - callExtensionMethod_verifyMultipleType ((cPtr_impType *) enumerator_4142.current_type (HERE).ptr (), var_subAttrs_4258, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 148)) ; - } - } - enumerator_4142.gotoNextObject () ; - } - } - } - if (kBoolFalse == test_0) { - TC_Array fixItArray2 ; - inCompiler->emitSemanticError (cast_3985_e.readProperty_location (), cast_3985_e.readProperty_value ().add_operation (GALGAS_string (" is not a valid enum value"), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 152)), fixItArray2 COMMA_SOURCE_FILE ("semantic_verification.galgas", 152)) ; - } - }else if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_auto) { - }else{ - inCompiler->printMessage (GALGAS_string ("**** @impEnumType ****\n") COMMA_SOURCE_FILE ("semantic_verification.galgas", 156)) ; - TC_Array fixItArray3 ; - inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), GALGAS_string ("ENUM expected"), fixItArray3 COMMA_SOURCE_FILE ("semantic_verification.galgas", 157)) ; - } - } +GALGAS_string function_oil_5F_dir (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_dir ; // Returned variable + result_dir = GALGAS_string::constructor_stringWithSourceFilePath (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 37)).getter_stringByDeletingLastPathComponent (SOURCE_FILE ("goil_routines.galgas", 37)) ; +//--- + return result_dir ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_oil_5F_dir [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_oil_5F_dir (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_oil_5F_dir (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_oil_5F_dir ("oil_dir", + functionWithGenericHeader_oil_5F_dir, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_oil_5F_dir) ; + +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@impAutoDefaultType verifyType' +//Function 'arch' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_impAutoDefaultType::method_verifyType (const GALGAS_object_5F_t constinArgument_attr, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - if (constinArgument_attr.isValid ()) { - if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_stringAttribute) { - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsNotEqual, this->mProperty_type.objectCompare (GALGAS_dataType::class_func_string (SOURCE_FILE ("semantic_verification.galgas", 167)))).operator_and (GALGAS_bool (kIsNotEqual, this->mProperty_type.objectCompare (GALGAS_dataType::class_func_identifier (SOURCE_FILE ("semantic_verification.galgas", 167)))) COMMA_SOURCE_FILE ("semantic_verification.galgas", 167)).boolEnum () ; - if (kBoolTrue == test_0) { - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), GALGAS_string ("string of identifier expected"), fixItArray1 COMMA_SOURCE_FILE ("semantic_verification.galgas", 168)) ; - } - } - }else if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_string_5F_class) { - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = GALGAS_bool (kIsNotEqual, this->mProperty_type.objectCompare (GALGAS_dataType::class_func_identifier (SOURCE_FILE ("semantic_verification.galgas", 171)))).boolEnum () ; - if (kBoolTrue == test_2) { - TC_Array fixItArray3 ; - inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), extensionGetter_oilType (this->mProperty_type, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 172)).add_operation (GALGAS_string (" expected"), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 172)), fixItArray3 COMMA_SOURCE_FILE ("semantic_verification.galgas", 172)) ; - } - } - }else if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_auto) { - }else{ - inCompiler->printMessage (GALGAS_string ("*** @impAutoDefaultType ***\n") COMMA_SOURCE_FILE ("semantic_verification.galgas", 176)) ; - constinArgument_attr.log ("attr" COMMA_SOURCE_FILE ("semantic_verification.galgas", 177)) ; - TC_Array fixItArray4 ; - inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), extensionGetter_oilType (this->mProperty_type, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 178)).add_operation (GALGAS_string (" expected"), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 178)), fixItArray4 COMMA_SOURCE_FILE ("semantic_verification.galgas", 178)) ; - } - } +GALGAS_string function_arch (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_arch_5F_name ; // Returned variable + GALGAS_stringlist var_components_1206 = GALGAS_string (gOption_goil_5F_options_target_5F_platform.readProperty_value ()).getter_componentsSeparatedByString (GALGAS_string ("/") COMMA_SOURCE_FILE ("goil_routines.galgas", 45)) ; + var_components_1206.method_first (result_arch_5F_name, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 46)) ; +//--- + return result_arch_5F_name ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_arch [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_arch (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_arch (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_arch ("arch", + functionWithGenericHeader_arch, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_arch) ; + +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@impRangedType verifyType' +//Function 'chip' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_impRangedType::method_verifyType (const GALGAS_object_5F_t constinArgument_attr, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - if (constinArgument_attr.isValid ()) { - if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_33__32__5F_class) { - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsNotEqual, this->mProperty_type.objectCompare (GALGAS_dataType::class_func_uint_33__32_Number (SOURCE_FILE ("semantic_verification.galgas", 188)))).boolEnum () ; - if (kBoolTrue == test_0) { - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), extensionGetter_oilType (this->mProperty_type, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 189)).add_operation (GALGAS_string (" expected"), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 189)), fixItArray1 COMMA_SOURCE_FILE ("semantic_verification.galgas", 189)) ; - } - } - }else if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_33__32__5F_class) { - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = GALGAS_bool (kIsNotEqual, this->mProperty_type.objectCompare (GALGAS_dataType::class_func_sint_33__32_Number (SOURCE_FILE ("semantic_verification.galgas", 192)))).boolEnum () ; - if (kBoolTrue == test_2) { - TC_Array fixItArray3 ; - inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), extensionGetter_oilType (this->mProperty_type, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 193)).add_operation (GALGAS_string (" expected"), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 193)), fixItArray3 COMMA_SOURCE_FILE ("semantic_verification.galgas", 193)) ; - } - } - }else if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_36__34__5F_class) { - enumGalgasBool test_4 = kBoolTrue ; - if (kBoolTrue == test_4) { - test_4 = GALGAS_bool (kIsNotEqual, this->mProperty_type.objectCompare (GALGAS_dataType::class_func_uint_36__34_Number (SOURCE_FILE ("semantic_verification.galgas", 196)))).boolEnum () ; - if (kBoolTrue == test_4) { - TC_Array fixItArray5 ; - inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), extensionGetter_oilType (this->mProperty_type, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 197)).add_operation (GALGAS_string (" expected"), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 197)), fixItArray5 COMMA_SOURCE_FILE ("semantic_verification.galgas", 197)) ; - } - } - }else if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_36__34__5F_class) { - enumGalgasBool test_6 = kBoolTrue ; - if (kBoolTrue == test_6) { - test_6 = GALGAS_bool (kIsNotEqual, this->mProperty_type.objectCompare (GALGAS_dataType::class_func_sint_36__34_Number (SOURCE_FILE ("semantic_verification.galgas", 200)))).boolEnum () ; - if (kBoolTrue == test_6) { - TC_Array fixItArray7 ; - inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), extensionGetter_oilType (this->mProperty_type, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 201)).add_operation (GALGAS_string (" expected"), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 201)), fixItArray7 COMMA_SOURCE_FILE ("semantic_verification.galgas", 201)) ; - } - } - }else if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_float_5F_class) { - enumGalgasBool test_8 = kBoolTrue ; - if (kBoolTrue == test_8) { - test_8 = GALGAS_bool (kIsNotEqual, this->mProperty_type.objectCompare (GALGAS_dataType::class_func_floatNumber (SOURCE_FILE ("semantic_verification.galgas", 204)))).boolEnum () ; - if (kBoolTrue == test_8) { - TC_Array fixItArray9 ; - inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), extensionGetter_oilType (this->mProperty_type, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 205)).add_operation (GALGAS_string (" expected"), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 205)), fixItArray9 COMMA_SOURCE_FILE ("semantic_verification.galgas", 205)) ; - } - } - }else if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_auto) { - enumGalgasBool test_10 = kBoolTrue ; - if (kBoolTrue == test_10) { - test_10 = GALGAS_bool (kIsEqual, this->mProperty_withAuto.objectCompare (GALGAS_bool (false))).boolEnum () ; - if (kBoolTrue == test_10) { - TC_Array fixItArray11 ; - inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), GALGAS_string ("AUTO is not allowed for ").add_operation (this->mProperty_name.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 209)).add_operation (GALGAS_string (" attribute"), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 209)), fixItArray11 COMMA_SOURCE_FILE ("semantic_verification.galgas", 209)) ; - } - } - }else{ - TC_Array fixItArray12 ; - inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), extensionGetter_oilType (this->mProperty_type, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 213)).add_operation (GALGAS_string (" expected"), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 213)), fixItArray12 COMMA_SOURCE_FILE ("semantic_verification.galgas", 213)) ; +GALGAS_string function_chip (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_chip_5F_name ; // Returned variable + GALGAS_stringlist var_components_1527 = GALGAS_string (gOption_goil_5F_options_target_5F_platform.readProperty_value ()).getter_componentsSeparatedByString (GALGAS_string ("/") COMMA_SOURCE_FILE ("goil_routines.galgas", 54)) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsStrictSup, var_components_1527.getter_count (SOURCE_FILE ("goil_routines.galgas", 55)).objectCompare (GALGAS_uint (uint32_t (1U)))).boolEnum () ; + if (kBoolTrue == test_0) { + result_chip_5F_name = var_components_1527.getter_mValueAtIndex (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 56)) ; } } + if (kBoolFalse == test_0) { + result_chip_5F_name = GALGAS_string::makeEmptyString () ; + } +//--- + return result_chip_5F_name ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_chip [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_chip (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_chip (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_chip ("chip", + functionWithGenericHeader_chip, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_chip) ; + +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'attributeAllowsAuto' +//Function 'board' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_bool function_attributeAllowsAuto (const GALGAS_impType & constinArgument_type, - Compiler * - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_bool result_allowsAuto ; // Returned variable - result_allowsAuto = GALGAS_bool (true) ; - if (constinArgument_type.isValid ()) { - if (nullptr != dynamic_cast (constinArgument_type.ptr ())) { - GALGAS_impAutoDefaultType cast_6579_autoType ((cPtr_impAutoDefaultType *) constinArgument_type.ptr ()) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = cast_6579_autoType.readProperty_withAuto ().operator_not (SOURCE_FILE ("semantic_verification.galgas", 225)).boolEnum () ; - if (kBoolTrue == test_0) { - result_allowsAuto = GALGAS_bool (false) ; - } +GALGAS_string function_board (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_board_5F_name ; // Returned variable + GALGAS_stringlist var_components_1945 = GALGAS_string (gOption_goil_5F_options_target_5F_platform.readProperty_value ()).getter_componentsSeparatedByString (GALGAS_string ("/") COMMA_SOURCE_FILE ("goil_routines.galgas", 68)) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsStrictSup, var_components_1945.getter_count (SOURCE_FILE ("goil_routines.galgas", 69)).objectCompare (GALGAS_uint (uint32_t (2U)))).boolEnum () ; + if (kBoolTrue == test_0) { + { + GALGAS_string joker_2098 ; // Joker input parameter + var_components_1945.setter_popFirst (joker_2098, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 70)) ; } - }else{ - result_allowsAuto = GALGAS_bool (false) ; + { + GALGAS_string joker_2129 ; // Joker input parameter + var_components_1945.setter_popFirst (joker_2129, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 71)) ; + } + result_board_5F_name = GALGAS_string::constructor_componentsJoinedByString (var_components_1945, GALGAS_string ("/") COMMA_SOURCE_FILE ("goil_routines.galgas", 72)) ; } } + if (kBoolFalse == test_0) { + result_board_5F_name = GALGAS_string::makeEmptyString () ; + } //--- - return result_allowsAuto ; + return result_board_5F_name ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_attributeAllowsAuto [2] = { - & kTypeDescriptor_GALGAS_impType, +static const C_galgas_type_descriptor * functionArgs_board [1] = { nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_attributeAllowsAuto (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_impType operand0 = GALGAS_impType::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_attributeAllowsAuto (operand0, - inCompiler - COMMA_THERE).getter_object (THERE) ; +static GALGAS_object functionWithGenericHeader_board (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_board (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_attributeAllowsAuto ("attributeAllowsAuto", - functionWithGenericHeader_attributeAllowsAuto, - & kTypeDescriptor_GALGAS_bool, - 1, - functionArgs_attributeAllowsAuto) ; +C_galgas_function_descriptor functionDescriptor_board ("board", + functionWithGenericHeader_board, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_board) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'verifyAllAttributes??' +//Function 'targetPathList' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_verifyAllAttributes_3F__3F_ (const GALGAS_implementation constinArgument_imp, - const GALGAS_objectsMap constinArgument_objects, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - cEnumerator_objectsMap enumerator_6885 (constinArgument_objects, kENUMERATION_UP) ; - while (enumerator_6885.hasCurrentObject ()) { - GALGAS_implementationObject var_impObj_6933 = callExtensionGetter_impObject ((const cPtr_implementation *) constinArgument_imp.ptr (), enumerator_6885.current_lkey (HERE).readProperty_string (), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 242)) ; - cEnumerator_objectKindMap enumerator_7036 (enumerator_6885.current_objectsOfKind (HERE).readProperty_objects (), kENUMERATION_UP) ; - while (enumerator_7036.hasCurrentObject ()) { - cEnumerator_implementationObjectMap enumerator_7085 (var_impObj_6933.readProperty_attributes (), kENUMERATION_UP) ; - while (enumerator_7085.hasCurrentObject ()) { - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = enumerator_7036.current_attributes (HERE).readProperty_objectParams ().getter_hasKey (enumerator_7085.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("semantic_verification.galgas", 246)).boolEnum () ; - if (kBoolTrue == test_0) { - GALGAS_object_5F_t var_value_7316 ; - enumerator_7036.current_attributes (HERE).readProperty_objectParams ().method_get (enumerator_7085.current_lkey (HERE), var_value_7316, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 250)) ; - if (var_value_7316.isValid ()) { - if (var_value_7316.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_auto) { - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = function_attributeAllowsAuto (enumerator_7085.current_type (HERE), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 254)).operator_not (SOURCE_FILE ("semantic_verification.galgas", 254)).boolEnum () ; - if (kBoolTrue == test_1) { - TC_Array fixItArray2 ; - inCompiler->emitSemanticError (var_value_7316.readProperty_location (), GALGAS_string ("AUTO value is not allowed for the ").add_operation (enumerator_6885.current_lkey (HERE).readProperty_string (), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 255)).add_operation (GALGAS_string (" attribute"), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 255)), fixItArray2 COMMA_SOURCE_FILE ("semantic_verification.galgas", 255)) ; - } - } - } - } - } - } - if (kBoolFalse == test_0) { - enumGalgasBool test_3 = kBoolTrue ; - if (kBoolTrue == test_3) { - test_3 = function_attributeAllowsAuto (enumerator_7085.current_type (HERE), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 260)).operator_not (SOURCE_FILE ("semantic_verification.galgas", 260)).operator_and (enumerator_7085.current_type (HERE).readProperty_multiple ().operator_not (SOURCE_FILE ("semantic_verification.galgas", 260)) COMMA_SOURCE_FILE ("semantic_verification.galgas", 260)).boolEnum () ; - if (kBoolTrue == test_3) { - TC_Array fixItArray4 ; - inCompiler->emitSemanticError (enumerator_7036.current_lkey (HERE).readProperty_location (), GALGAS_string ("In ").add_operation (enumerator_6885.current_lkey (HERE).readProperty_string (), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 261)).add_operation (GALGAS_string (" "), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 261)).add_operation (enumerator_7036.current_lkey (HERE).readProperty_string (), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 261)).add_operation (GALGAS_string (", attribute "), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 261)).add_operation (enumerator_7085.current_lkey (HERE).readProperty_string (), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 261)).add_operation (GALGAS_string (" is not defined and is not AUTO"), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 261)), fixItArray4 COMMA_SOURCE_FILE ("semantic_verification.galgas", 261)) ; - } - } - } - if (enumerator_7085.current_type (HERE).isValid ()) { - if (enumerator_7085.current_type (HERE).dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impAutoDefaultType) { - } - } - enumerator_7085.gotoNextObject () ; - } - enumerator_7036.gotoNextObject () ; - } - enumerator_6885.gotoNextObject () ; +GALGAS_list function_targetPathList (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_list result_pathList ; // Returned variable + GALGAS_stringlist var_components_2363 = GALGAS_string (gOption_goil_5F_options_target_5F_platform.readProperty_value ()).getter_componentsSeparatedByString (GALGAS_string ("/") COMMA_SOURCE_FILE ("goil_routines.galgas", 82)) ; + result_pathList = GALGAS_list::constructor_emptyList (SOURCE_FILE ("goil_routines.galgas", 83)) ; + cEnumerator_stringlist enumerator_2494 (var_components_2363, kENUMERATION_UP) ; + while (enumerator_2494.hasCurrentObject ()) { + GALGAS_gtlData var_cont_2534 = GALGAS_gtlString::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 85)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 85)), enumerator_2494.current_mValue (HERE) COMMA_SOURCE_FILE ("goil_routines.galgas", 85)) ; + result_pathList.addAssign_operation (var_cont_2534 COMMA_SOURCE_FILE ("goil_routines.galgas", 86)) ; + enumerator_2494.gotoNextObject () ; } +//--- + return result_pathList ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@multipleAttribute verifyCrossReferences' -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_multipleAttribute::method_verifyCrossReferences (const GALGAS_objectsMap constinArgument_allObjects, - const GALGAS_impType constinArgument_type, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - cEnumerator_identifierList enumerator_19057 (this->mProperty_items, kENUMERATION_UP) ; - while (enumerator_19057.hasCurrentObject ()) { - callExtensionMethod_verifyCrossReferences ((cPtr_object_5F_t *) enumerator_19057.current_item (HERE).ptr (), constinArgument_allObjects, constinArgument_type, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 617)) ; - enumerator_19057.gotoNextObject () ; - } -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@boolAttribute verifyCrossReferences' -// -//-------------------------------------------------------------------------------------------------- +static const C_galgas_type_descriptor * functionArgs_targetPathList [1] = { + nullptr +} ; -void cPtr_boolAttribute::method_verifyCrossReferences (const GALGAS_objectsMap constinArgument_allObjects, - const GALGAS_impType constinArgument_type, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_impBoolType temp_0 ; - if (constinArgument_type.isValid ()) { - if (nullptr != dynamic_cast (constinArgument_type.ptr ())) { - temp_0 = (cPtr_impBoolType *) constinArgument_type.ptr () ; - }else{ - inCompiler->castError ("impBoolType", constinArgument_type.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("semantic_verification.galgas", 625)) ; - } - } - GALGAS_impBoolType var_boolType_19259 = temp_0 ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = this->mProperty_value.boolEnum () ; - if (kBoolTrue == test_1) { - callExtensionMethod_verifyCrossReferences ((cPtr_objectAttributes *) this->mProperty_subAttributes.ptr (), constinArgument_allObjects, var_boolType_19259.readProperty_trueSubAttributes (), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 627)) ; - } - } - if (kBoolFalse == test_1) { - callExtensionMethod_verifyCrossReferences ((cPtr_objectAttributes *) this->mProperty_subAttributes.ptr (), constinArgument_allObjects, var_boolType_19259.readProperty_falseSubAttributes (), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 629)) ; - } -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@enumAttribute verifyCrossReferences' -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_enumAttribute::method_verifyCrossReferences (const GALGAS_objectsMap constinArgument_allObjects, - const GALGAS_impType constinArgument_type, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_impEnumType temp_0 ; - if (constinArgument_type.isValid ()) { - if (nullptr != dynamic_cast (constinArgument_type.ptr ())) { - temp_0 = (cPtr_impEnumType *) constinArgument_type.ptr () ; - }else{ - inCompiler->castError ("impEnumType", constinArgument_type.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("semantic_verification.galgas", 637)) ; - } - } - GALGAS_impEnumType var_enumType_19619 = temp_0 ; - GALGAS_lstring var_key_19666 = GALGAS_lstring::class_func_new (this->mProperty_value, GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 638)), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 638)) ; - GALGAS_implementationObjectMap var_expectedAttributes_19764 ; - var_enumType_19619.readProperty_valuesMap ().method_get (var_key_19666, var_expectedAttributes_19764, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 639)) ; - callExtensionMethod_verifyCrossReferences ((cPtr_objectAttributes *) this->mProperty_subAttributes.ptr (), constinArgument_allObjects, var_expectedAttributes_19764, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 640)) ; +static GALGAS_object functionWithGenericHeader_targetPathList (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_targetPathList (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@structAttribute verifyCrossReferences' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_structAttribute::method_verifyCrossReferences (const GALGAS_objectsMap constinArgument_allObjects, - const GALGAS_impType constinArgument_type, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_impStructType temp_0 ; - if (constinArgument_type.isValid ()) { - if (nullptr != dynamic_cast (constinArgument_type.ptr ())) { - temp_0 = (cPtr_impStructType *) constinArgument_type.ptr () ; - }else{ - inCompiler->castError ("impStructType", constinArgument_type.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("semantic_verification.galgas", 647)) ; - } - } - GALGAS_impStructType var_structType_19990 = temp_0 ; - callExtensionMethod_verifyCrossReferences ((cPtr_objectAttributes *) this->mProperty_subAttributes.ptr (), constinArgument_allObjects, var_structType_19990.readProperty_structAttributes (), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 648)) ; -} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_targetPathList ("targetPathList", + functionWithGenericHeader_targetPathList, + & kTypeDescriptor_GALGAS_list, + 0, + functionArgs_targetPathList) ; + +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@objectRefAttribute verifyCrossReferences' +//Function 'add_path_component' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_objectRefAttribute::method_verifyCrossReferences (const GALGAS_objectsMap constinArgument_allObjects, - const GALGAS_impType constinArgument_type, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_refType temp_0 ; - if (constinArgument_type.isValid ()) { - if (nullptr != dynamic_cast (constinArgument_type.ptr ())) { - temp_0 = (cPtr_refType *) constinArgument_type.ptr () ; - }else{ - inCompiler->castError ("refType", constinArgument_type.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("semantic_verification.galgas", 655)) ; - } - } - GALGAS_refType var_refType_20240 = temp_0 ; - GALGAS_objectKind var_kindMap_20367 ; - constinArgument_allObjects.method_get (var_refType_20240.readProperty_ref (), var_kindMap_20367, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 657)) ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = var_kindMap_20367.readProperty_objects ().getter_hasKey (this->mProperty_value.readProperty_string () COMMA_SOURCE_FILE ("semantic_verification.galgas", 658)).operator_not (SOURCE_FILE ("semantic_verification.galgas", 658)).boolEnum () ; - if (kBoolTrue == test_1) { - TC_Array fixItArray2 ; - inCompiler->emitSemanticError (this->mProperty_value.readProperty_location (), GALGAS_string ("Referenced ").add_operation (var_refType_20240.readProperty_ref ().readProperty_string (), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 659)).add_operation (GALGAS_string (": "), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 659)).add_operation (this->mProperty_value.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 659)).add_operation (GALGAS_string (" does not exist"), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 659)), fixItArray2 COMMA_SOURCE_FILE ("semantic_verification.galgas", 659)) ; +GALGAS_string function_add_5F_path_5F_component (GALGAS_string inArgument_path, + GALGAS_string inArgument_component, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_new_5F_path ; // Returned variable + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsNotEqual, inArgument_path.getter_characterAtIndex (inArgument_path.getter_count (SOURCE_FILE ("goil_routines.galgas", 97)).substract_operation (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 97)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 97)).objectCompare (GALGAS_char (TO_UNICODE (47)))).boolEnum () ; + if (kBoolTrue == test_0) { + result_new_5F_path = inArgument_path.add_operation (GALGAS_string ("/"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 98)).add_operation (inArgument_component, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 98)) ; } } -} -//-------------------------------------------------------------------------------------------------- -// -//Routine 'verifyAll??' -// -//-------------------------------------------------------------------------------------------------- - -void routine_verifyAll_3F__3F_ (const GALGAS_implementation constinArgument_imp, - const GALGAS_applicationDefinition constinArgument_application, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - { - routine_verifyAllAttributes_3F__3F_ (constinArgument_imp, constinArgument_application.readProperty_objects (), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 681)) ; + if (kBoolFalse == test_0) { + result_new_5F_path = inArgument_path.add_operation (inArgument_component, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 100)) ; } - callExtensionMethod_verifyApplication ((cPtr_implementation *) constinArgument_imp.ptr (), constinArgument_application, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 682)) ; - callExtensionMethod_verifyCrossReferences ((cPtr_applicationDefinition *) constinArgument_application.ptr (), constinArgument_imp, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 685)) ; -} - - -//-------------------------------------------------------------------------------------------------- -// -//Function 'emptyApplicationDefinition' -// -//-------------------------------------------------------------------------------------------------- - -GALGAS_applicationDefinition function_emptyApplicationDefinition (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_applicationDefinition result_result ; // Returned variable - result_result = GALGAS_applicationDefinition::class_func_new (function_emptyLString (inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 56)), function_emptyLString (inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 57)), function_emptyLString (inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 58)), function_emptyLString (inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 59)), GALGAS_objectsMap::class_func_emptyMap (SOURCE_FILE ("goil_types_root.galgas", 60)) COMMA_SOURCE_FILE ("goil_types_root.galgas", 55)) ; //--- - return result_result ; + return result_new_5F_path ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_emptyApplicationDefinition [1] = { +static const C_galgas_type_descriptor * functionArgs_add_5F_path_5F_component [3] = { + & kTypeDescriptor_GALGAS_string, + & kTypeDescriptor_GALGAS_string, nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_emptyApplicationDefinition (Compiler * inCompiler, - const cObjectArray & /* inEffectiveParameterArray */, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - return function_emptyApplicationDefinition (inCompiler COMMA_THERE).getter_object (THERE) ; +static GALGAS_object functionWithGenericHeader_add_5F_path_5F_component (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_string operand0 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_add_5F_path_5F_component (operand0, + operand1, + inCompiler + COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_emptyApplicationDefinition ("emptyApplicationDefinition", - functionWithGenericHeader_emptyApplicationDefinition, - & kTypeDescriptor_GALGAS_applicationDefinition, - 0, - functionArgs_emptyApplicationDefinition) ; +C_galgas_function_descriptor functionDescriptor_add_5F_path_5F_component ("add_path_component", + functionWithGenericHeader_add_5F_path_5F_component, + & kTypeDescriptor_GALGAS_string, + 2, + functionArgs_add_5F_path_5F_component) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'osObject' +//Function 'rootTemplatesDirectory' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_objectAttributes function_osObject (const GALGAS_objectsMap & constinArgument_objects, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_objectAttributes result_os ; // Returned variable - GALGAS_objectKind var_objectsForKind_1572 ; - constinArgument_objects.method_get (function_lstringWith (GALGAS_string ("OS"), inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 67)), var_objectsForKind_1572, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 67)) ; - GALGAS_lstringlist var_names_1658 = var_objectsForKind_1572.readProperty_objects ().getter_keyList (SOURCE_FILE ("goil_types_root.galgas", 68)) ; - GALGAS_lstring var_name_1716 ; - var_names_1658.method_first (var_name_1716, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 70)) ; - var_objectsForKind_1572.readProperty_objects ().method_get (var_name_1716, result_os, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 71)) ; +GALGAS_string function_rootTemplatesDirectory (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_templateDirectory ; // Returned variable + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsNotEqual, GALGAS_string (gOption_goil_5F_options_template_5F_dir.readProperty_value ()).objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; + if (kBoolTrue == test_0) { + result_templateDirectory = GALGAS_string (gOption_goil_5F_options_template_5F_dir.readProperty_value ()) ; + } + } + if (kBoolFalse == test_0) { + GALGAS_string var_env_3104 = GALGAS_string::constructor_stringWithEnvironmentVariableOrEmpty (GALGAS_string ("GOIL_TEMPLATES") COMMA_SOURCE_FILE ("goil_routines.galgas", 110)) ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = GALGAS_bool (kIsNotEqual, var_env_3104.objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; + if (kBoolTrue == test_1) { + result_templateDirectory = var_env_3104 ; + } + } + if (kBoolFalse == test_1) { + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 114)), GALGAS_string ("The templates path is not set. Use --templates option or set the GOIL_TEMPLATES environment variable"), fixItArray2 COMMA_SOURCE_FILE ("goil_routines.galgas", 114)) ; + result_templateDirectory.drop () ; // Release error dropped variable + } + } + result_templateDirectory = result_templateDirectory.getter_unixPathWithNativePath (SOURCE_FILE ("goil_routines.galgas", 118)) ; + result_templateDirectory = result_templateDirectory.getter_stringByStandardizingPath (SOURCE_FILE ("goil_routines.galgas", 119)) ; + enumGalgasBool test_3 = kBoolTrue ; + if (kBoolTrue == test_3) { + test_3 = GALGAS_bool (kIsNotEqual, result_templateDirectory.getter_characterAtIndex (GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 121)).objectCompare (GALGAS_char (TO_UNICODE (47)))).boolEnum () ; + if (kBoolTrue == test_3) { + enumGalgasBool test_4 = kBoolTrue ; + if (kBoolTrue == test_4) { + test_4 = GALGAS_bool (kIsEqual, result_templateDirectory.getter_characterAtIndex (GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 122)).objectCompare (GALGAS_char (TO_UNICODE (126)))).boolEnum () ; + if (kBoolTrue == test_4) { + GALGAS_string var_home_3672 = GALGAS_string::constructor_stringWithEnvironmentVariableOrEmpty (GALGAS_string ("HOME") COMMA_SOURCE_FILE ("goil_routines.galgas", 123)) ; + GALGAS_string var_relativeToHome_3753 = result_templateDirectory.getter_rightSubString (result_templateDirectory.getter_count (SOURCE_FILE ("goil_routines.galgas", 124)).substract_operation (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 124)) COMMA_SOURCE_FILE ("goil_routines.galgas", 124)) ; + result_templateDirectory = var_home_3672.add_operation (var_relativeToHome_3753, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 125)) ; + } + } + if (kBoolFalse == test_4) { + GALGAS_string var_currentDirectory_3912 = GALGAS_string::constructor_stringWithCurrentDirectory (SOURCE_FILE ("goil_routines.galgas", 127)) ; + result_templateDirectory = var_currentDirectory_3912.add_operation (GALGAS_string ("/"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 128)).add_operation (result_templateDirectory, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 128)) ; + } + result_templateDirectory = result_templateDirectory.getter_stringByStandardizingPath (SOURCE_FILE ("goil_routines.galgas", 130)) ; + } + } //--- - return result_os ; + return result_templateDirectory ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_osObject [2] = { - & kTypeDescriptor_GALGAS_objectsMap, +static const C_galgas_type_descriptor * functionArgs_rootTemplatesDirectory [1] = { nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_osObject (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_objectsMap operand0 = GALGAS_objectsMap::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_osObject (operand0, - inCompiler - COMMA_THERE).getter_object (THERE) ; +static GALGAS_object functionWithGenericHeader_rootTemplatesDirectory (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_rootTemplatesDirectory (inCompiler COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_osObject ("osObject", - functionWithGenericHeader_osObject, - & kTypeDescriptor_GALGAS_objectAttributes, - 1, - functionArgs_osObject) ; +C_galgas_function_descriptor functionDescriptor_rootTemplatesDirectory ("rootTemplatesDirectory", + functionWithGenericHeader_rootTemplatesDirectory, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_rootTemplatesDirectory) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'objectForKindAndName' +//Function 'templates_directory' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_objectAttributes function_objectForKindAndName (const GALGAS_objectsMap & constinArgument_objects, - const GALGAS_string & constinArgument_kind, - const GALGAS_string & constinArgument_name, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_objectAttributes result_object ; // Returned variable +GALGAS_string function_templates_5F_directory (GALGAS_string inArgument_prefix, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_temp_5F_dir ; // Returned variable + result_temp_5F_dir = function_rootTemplatesDirectory (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 135)) ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - test_0 = constinArgument_objects.getter_hasKey (constinArgument_kind COMMA_SOURCE_FILE ("goil_types_root.galgas", 79)).boolEnum () ; + test_0 = GALGAS_bool (kIsNotEqual, result_temp_5F_dir.objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; if (kBoolTrue == test_0) { - GALGAS_objectKind var_kindObj_1966 ; - constinArgument_objects.method_get (function_lstringWith (constinArgument_kind, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 81)), var_kindObj_1966, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 81)) ; + result_temp_5F_dir = function_add_5F_path_5F_component (result_temp_5F_dir, inArgument_prefix, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 137)) ; enumGalgasBool test_1 = kBoolTrue ; if (kBoolTrue == test_1) { - test_1 = var_kindObj_1966.readProperty_objects ().getter_hasKey (constinArgument_name COMMA_SOURCE_FILE ("goil_types_root.galgas", 82)).boolEnum () ; + test_1 = GALGAS_bool (kIsNotEqual, result_temp_5F_dir.getter_characterAtIndex (GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 139)).objectCompare (GALGAS_char (TO_UNICODE (47)))).boolEnum () ; if (kBoolTrue == test_1) { - var_kindObj_1966.readProperty_objects ().method_get (function_lstringWith (constinArgument_name, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 83)), result_object, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 83)) ; + GALGAS_string var_curdir_4433 = GALGAS_string::constructor_stringWithCurrentDirectory (SOURCE_FILE ("goil_routines.galgas", 140)) ; + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = GALGAS_bool (kIsEqual, result_temp_5F_dir.getter_characterAtIndex (GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 141)).objectCompare (GALGAS_char (TO_UNICODE (46)))).operator_and (GALGAS_bool (kIsEqual, result_temp_5F_dir.getter_characterAtIndex (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 141)).objectCompare (GALGAS_char (TO_UNICODE (47)))) COMMA_SOURCE_FILE ("goil_routines.galgas", 141)).boolEnum () ; + if (kBoolTrue == test_2) { + result_temp_5F_dir = result_temp_5F_dir.getter_stringByRemovingCharacterAtIndex (GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 142)).getter_stringByRemovingCharacterAtIndex (GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 142)) ; + } + } + result_temp_5F_dir = var_curdir_4433.add_operation (GALGAS_string ("/"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 144)).add_operation (result_temp_5F_dir, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 144)) ; } } - if (kBoolFalse == test_1) { - result_object = GALGAS_objectAttributes::class_func_new (GALGAS_identifierMap::class_func_emptyMap (SOURCE_FILE ("goil_types_root.galgas", 85)) COMMA_SOURCE_FILE ("goil_types_root.galgas", 85)) ; + enumGalgasBool test_3 = kBoolTrue ; + if (kBoolTrue == test_3) { + test_3 = GALGAS_bool (kIsNotEqual, result_temp_5F_dir.getter_characterAtIndex (result_temp_5F_dir.getter_count (SOURCE_FILE ("goil_routines.galgas", 146)).substract_operation (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 146)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 146)).objectCompare (GALGAS_char (TO_UNICODE (47)))).boolEnum () ; + if (kBoolTrue == test_3) { + result_temp_5F_dir.plusAssign_operation(GALGAS_string ("/"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 147)) ; + } } } } - if (kBoolFalse == test_0) { - result_object = GALGAS_objectAttributes::class_func_new (GALGAS_identifierMap::class_func_emptyMap (SOURCE_FILE ("goil_types_root.galgas", 88)) COMMA_SOURCE_FILE ("goil_types_root.galgas", 88)) ; - } //--- - return result_object ; + return result_temp_5F_dir ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_objectForKindAndName [4] = { - & kTypeDescriptor_GALGAS_objectsMap, - & kTypeDescriptor_GALGAS_string, +static const C_galgas_type_descriptor * functionArgs_templates_5F_directory [2] = { & kTypeDescriptor_GALGAS_string, nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_objectForKindAndName (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_objectsMap operand0 = GALGAS_objectsMap::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_string operand2 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (2 COMMA_HERE), +static GALGAS_object functionWithGenericHeader_templates_5F_directory (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_string operand0 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), inCompiler COMMA_THERE) ; - return function_objectForKindAndName (operand0, - operand1, - operand2, - inCompiler - COMMA_THERE).getter_object (THERE) ; + return function_templates_5F_directory (operand0, + inCompiler + COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_objectForKindAndName ("objectForKindAndName", - functionWithGenericHeader_objectForKindAndName, - & kTypeDescriptor_GALGAS_objectAttributes, - 3, - functionArgs_objectForKindAndName) ; +C_galgas_function_descriptor functionDescriptor_templates_5F_directory ("templates_directory", + functionWithGenericHeader_templates_5F_directory, + & kTypeDescriptor_GALGAS_string, + 1, + functionArgs_templates_5F_directory) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'setObjectForKindAndName&???' +//Function 'templateFilePath' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_setObjectForKindAndName_26__3F__3F__3F_ (GALGAS_objectsMap & ioArgument_objects, - const GALGAS_string constinArgument_kind, - const GALGAS_string constinArgument_name, - const GALGAS_objectAttributes constinArgument_object, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_lstring var_lkind_2431 = function_lstringWith (constinArgument_kind, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 97)) ; - GALGAS_lstring var_lname_2473 = function_lstringWith (constinArgument_name, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 98)) ; - GALGAS_objectKind var_kindObj_2514 = GALGAS_objectKind::class_func_new (GALGAS_objectKindMap::class_func_emptyMap (SOURCE_FILE ("goil_types_root.galgas", 99)) COMMA_SOURCE_FILE ("goil_types_root.galgas", 99)) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = ioArgument_objects.getter_hasKey (constinArgument_kind COMMA_SOURCE_FILE ("goil_types_root.galgas", 100)).boolEnum () ; - if (kBoolTrue == test_0) { - { - ioArgument_objects.setter_del (var_lkind_2431, var_kindObj_2514, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 101)) ; +GALGAS_string function_templateFilePath (const GALGAS_string & constinArgument_prefix, + const GALGAS_string & constinArgument_file, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_path ; // Returned variable + GALGAS_stringlist var_components_5031 = GALGAS_string (gOption_goil_5F_options_target_5F_platform.readProperty_value ()).getter_componentsSeparatedByString (GALGAS_string ("/") COMMA_SOURCE_FILE ("goil_routines.galgas", 158)) ; + GALGAS_string var_templateDir_5137 = function_templates_5F_directory (constinArgument_prefix, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 159)) ; + GALGAS_bool var_notFound_5188 = GALGAS_bool (true) ; + GALGAS_bool var_notOver_5212 = GALGAS_bool (true) ; + result_path = GALGAS_string::makeEmptyString () ; + if (var_components_5031.getter_count (SOURCE_FILE ("goil_routines.galgas", 164)).add_operation (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 164)).isValid ()) { + uint32_t variant_5244 = var_components_5031.getter_count (SOURCE_FILE ("goil_routines.galgas", 164)).add_operation (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 164)).uintValue () ; + bool loop_5244 = true ; + while (loop_5244) { + loop_5244 = var_notFound_5188.operator_and (var_notOver_5212 COMMA_SOURCE_FILE ("goil_routines.galgas", 165)).isValid () ; + if (loop_5244) { + loop_5244 = var_notFound_5188.operator_and (var_notOver_5212 COMMA_SOURCE_FILE ("goil_routines.galgas", 165)).boolValue () ; } - } - } - GALGAS_objectKindMap var_kindMap_2662 = var_kindObj_2514.readProperty_objects () ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = var_kindMap_2662.getter_hasKey (constinArgument_name COMMA_SOURCE_FILE ("goil_types_root.galgas", 104)).boolEnum () ; - if (kBoolTrue == test_1) { - { - GALGAS_objectAttributes joker_2749 ; // Joker input parameter - var_kindMap_2662.setter_del (var_lname_2473, joker_2749, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 105)) ; + if (loop_5244 && (0 == variant_5244)) { + loop_5244 = false ; + inCompiler->loopRunTimeVariantError (SOURCE_FILE ("goil_routines.galgas", 164)) ; + } + if (loop_5244) { + variant_5244 -- ; + GALGAS_string var_targetPath_5319 = var_templateDir_5137.add_operation (GALGAS_string::constructor_componentsJoinedByString (var_components_5031, GALGAS_string ("/") COMMA_SOURCE_FILE ("goil_routines.galgas", 166)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 166)).add_operation (GALGAS_string ("/"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 166)).add_operation (constinArgument_file, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 166)) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = var_targetPath_5319.getter_fileExists (SOURCE_FILE ("goil_routines.galgas", 168)).boolEnum () ; + if (kBoolTrue == test_0) { + var_notFound_5188 = GALGAS_bool (false) ; + result_path = var_targetPath_5319 ; + } + } + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = GALGAS_bool (kIsStrictSup, var_components_5031.getter_count (SOURCE_FILE ("goil_routines.galgas", 172)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + if (kBoolTrue == test_1) { + { + GALGAS_string joker_5604 ; // Joker input parameter + var_components_5031.setter_popLast (joker_5604, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 173)) ; + } + } + } + if (kBoolFalse == test_1) { + var_notOver_5212 = GALGAS_bool (false) ; + } } } } - { - var_kindMap_2662.setter_put (var_lname_2473, constinArgument_object, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 107)) ; - } - { - var_kindObj_2514.setter_setObjects (var_kindMap_2662 COMMA_SOURCE_FILE ("goil_types_root.galgas", 108)) ; - } - { - ioArgument_objects.setter_put (var_lkind_2431, var_kindObj_2514, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 109)) ; - } -} - - -//-------------------------------------------------------------------------------------------------- -// -//Function 'objectsForKind' -// -//-------------------------------------------------------------------------------------------------- - -GALGAS_objectKind function_objectsForKind (const GALGAS_objectsMap & constinArgument_objects, - const GALGAS_string & constinArgument_kind, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_objectKind result_result ; // Returned variable - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = constinArgument_objects.getter_hasKey (constinArgument_kind COMMA_SOURCE_FILE ("goil_types_root.galgas", 116)).boolEnum () ; - if (kBoolTrue == test_0) { - constinArgument_objects.method_get (function_lstringWith (constinArgument_kind, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 117)), result_result, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 117)) ; - } - } - if (kBoolFalse == test_0) { - result_result = GALGAS_objectKind::class_func_new (GALGAS_objectKindMap::class_func_emptyMap (SOURCE_FILE ("goil_types_root.galgas", 119)) COMMA_SOURCE_FILE ("goil_types_root.galgas", 119)) ; - } //--- - return result_result ; + return result_path ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_objectsForKind [3] = { - & kTypeDescriptor_GALGAS_objectsMap, +static const C_galgas_type_descriptor * functionArgs_templateFilePath [3] = { + & kTypeDescriptor_GALGAS_string, & kTypeDescriptor_GALGAS_string, nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_objectsForKind (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_objectsMap operand0 = GALGAS_objectsMap::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; +static GALGAS_object functionWithGenericHeader_templateFilePath (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_string operand0 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), inCompiler COMMA_THERE) ; - return function_objectsForKind (operand0, - operand1, - inCompiler - COMMA_THERE).getter_object (THERE) ; + return function_templateFilePath (operand0, + operand1, + inCompiler + COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_objectsForKind ("objectsForKind", - functionWithGenericHeader_objectsForKind, - & kTypeDescriptor_GALGAS_objectKind, - 2, - functionArgs_objectsForKind) ; +C_galgas_function_descriptor functionDescriptor_templateFilePath ("templateFilePath", + functionWithGenericHeader_templateFilePath, + & kTypeDescriptor_GALGAS_string, + 2, + functionArgs_templateFilePath) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'listInOS' +//Function 'allTemplatePaths' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_identifierList function_listInOS (const GALGAS_objectsMap & constinArgument_objects, - const GALGAS_string & constinArgument_attributeName, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_identifierList result_items ; // Returned variable - GALGAS_object_5F_t var_itemsContainer_3225 ; - GALGAS_objectAttributes var_os_3264 = function_osObject (constinArgument_objects, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 128)) ; - var_os_3264.readProperty_objectParams ().method_get (function_lstringWith (constinArgument_attributeName, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 129)), var_itemsContainer_3225, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 129)) ; - result_items = function_multipleAttributeOrError (var_itemsContainer_3225, constinArgument_attributeName, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 130)) ; +GALGAS_stringlist function_allTemplatePaths (const GALGAS_string & constinArgument_prefix, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_stringlist result_paths ; // Returned variable + GALGAS_stringlist var_components_5742 = GALGAS_string (gOption_goil_5F_options_target_5F_platform.readProperty_value ()).getter_componentsSeparatedByString (GALGAS_string ("/") COMMA_SOURCE_FILE ("goil_routines.galgas", 184)) ; + GALGAS_string var_partialPath_5844 = function_templates_5F_directory (constinArgument_prefix, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 185)) ; + result_paths = GALGAS_stringlist::constructor_listWithValue (var_partialPath_5844 COMMA_SOURCE_FILE ("goil_routines.galgas", 187)) ; + cEnumerator_stringlist enumerator_5963 (var_components_5742, kENUMERATION_UP) ; + while (enumerator_5963.hasCurrentObject ()) { + var_partialPath_5844 = function_add_5F_path_5F_component (var_partialPath_5844, enumerator_5963.current_mValue (HERE), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 190)) ; + { + result_paths.setter_insertAtIndex (var_partialPath_5844, GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 191)) ; + } + enumerator_5963.gotoNextObject () ; + } //--- - return result_items ; + return result_paths ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_listInOS [3] = { - & kTypeDescriptor_GALGAS_objectsMap, +static const C_galgas_type_descriptor * functionArgs_allTemplatePaths [2] = { & kTypeDescriptor_GALGAS_string, nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_listInOS (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_objectsMap operand0 = GALGAS_objectsMap::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), +static GALGAS_object functionWithGenericHeader_allTemplatePaths (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_string operand0 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), inCompiler COMMA_THERE) ; - return function_listInOS (operand0, - operand1, - inCompiler - COMMA_THERE).getter_object (THERE) ; + return function_allTemplatePaths (operand0, + inCompiler + COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_listInOS ("listInOS", - functionWithGenericHeader_listInOS, - & kTypeDescriptor_GALGAS_identifierList, - 2, - functionArgs_listInOS) ; +C_galgas_function_descriptor functionDescriptor_allTemplatePaths ("allTemplatePaths", + functionWithGenericHeader_allTemplatePaths, + & kTypeDescriptor_GALGAS_stringlist, + 1, + functionArgs_allTemplatePaths) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'customGtlStringGetter' +//Routine 'checkTemplatesPath' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlData function_customGtlStringGetter (const GALGAS_lstring & constinArgument_methodName, - const GALGAS_gtlDataList & constinArgument_arguments, - const GALGAS_gtlContext &, - const GALGAS_library &, - const GALGAS_string & constinArgument_value, - const GALGAS_location & constinArgument_where, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_gtlData result_result ; // Returned variable +void routine_checkTemplatesPath (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string var_configDir_6146 = function_rootTemplatesDirectory (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 197)).add_operation (GALGAS_string ("/config"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 197)) ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsEqual, GALGAS_string ("parseOIL").objectCompare (constinArgument_methodName.readProperty_string ())).boolEnum () ; + test_0 = var_configDir_6146.getter_directoryExists (SOURCE_FILE ("goil_routines.galgas", 198)).operator_not (SOURCE_FILE ("goil_routines.galgas", 198)).boolEnum () ; if (kBoolTrue == test_0) { - { - routine_argumentsCheck_3F__3F__3F_ (constinArgument_methodName, function_noArgument (inCompiler COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 11)), constinArgument_arguments, inCompiler COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 11)) ; - } - GALGAS_string var_rootTemplatesDir_343 = function_templates_5F_directory (GALGAS_string::makeEmptyString (), inCompiler COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 12)) ; - GALGAS_implementation var_imp_407 = GALGAS_implementation::class_func_new (GALGAS_implementationMap::class_func_emptyMap (SOURCE_FILE ("goil_gtl_extension.galgas", 13)) COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 13)) ; - GALGAS_applicationDefinition var_app_493 = function_emptyApplicationDefinition (inCompiler COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 14)) ; - GALGAS_lstring var_includeToParse_545 = GALGAS_lstring::class_func_new (var_rootTemplatesDir_343.add_operation (GALGAS_string ("libraries/config.oil"), inCompiler COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 16)), constinArgument_where, inCompiler COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 15)) ; - GALGAS_lstring var_fileToParse_661 = GALGAS_lstring::class_func_new (var_rootTemplatesDir_343.add_operation (GALGAS_string ("libraries/"), inCompiler COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 20)).add_operation (constinArgument_value, inCompiler COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 20)), constinArgument_where, inCompiler COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 19)) ; - cGrammar_goil_5F_file_5F_level_5F_include_5F_without_5F_include::_performSourceFileParsing_ (inCompiler, var_includeToParse_545, var_imp_407, var_app_493 COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 23)) ; - cGrammar_goil_5F_file_5F_level_5F_include_5F_without_5F_include::_performSourceFileParsing_ (inCompiler, var_fileToParse_661, var_imp_407, var_app_493 COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 26)) ; - GALGAS_gtlData var_templateData_957 = callExtensionGetter_templateData ((const cPtr_applicationDefinition *) var_app_493.ptr (), var_imp_407, inCompiler COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 29)) ; - result_result = var_templateData_957 ; + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 199)), GALGAS_string ("The templates path '").add_operation (var_configDir_6146, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 199)).add_operation (GALGAS_string ("' is not set to the templates directory"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 199)), fixItArray1 COMMA_SOURCE_FILE ("goil_routines.galgas", 199)) ; } } if (kBoolFalse == test_0) { - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (constinArgument_methodName.readProperty_location (), GALGAS_string ("unknown getter '").add_operation (constinArgument_methodName.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 32)).add_operation (GALGAS_string ("' for string target"), inCompiler COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 32)), fixItArray1 COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 32)) ; - result_result.drop () ; // Release error dropped variable + GALGAS_string var_partialPath_6361 = var_configDir_6146 ; + GALGAS_bool var_continueIt_6395 = GALGAS_bool (true) ; + GALGAS_stringlist var_components_6433 = GALGAS_string (gOption_goil_5F_options_target_5F_platform.readProperty_value ()).getter_componentsSeparatedByString (GALGAS_string ("/") COMMA_SOURCE_FILE ("goil_routines.galgas", 203)) ; + cEnumerator_stringlist enumerator_6542 (var_components_6433, kENUMERATION_UP) ; + while (enumerator_6542.hasCurrentObject ()) { + var_partialPath_6361 = var_partialPath_6361.add_operation (GALGAS_string ("/"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 205)).add_operation (enumerator_6542.current_mValue (HERE), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 205)) ; + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + GALGAS_bool test_3 = var_continueIt_6395 ; + if (kBoolTrue == test_3.boolEnum ()) { + test_3 = var_partialPath_6361.getter_directoryExists (SOURCE_FILE ("goil_routines.galgas", 206)).operator_not (SOURCE_FILE ("goil_routines.galgas", 206)) ; + } + test_2 = test_3.boolEnum () ; + if (kBoolTrue == test_2) { + TC_Array fixItArray4 ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 207)), GALGAS_string ("The templates path '").add_operation (var_partialPath_6361, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 207)).add_operation (GALGAS_string ("' does not exist in the templates directory"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 207)), fixItArray4 COMMA_SOURCE_FILE ("goil_routines.galgas", 207)) ; + var_continueIt_6395 = GALGAS_bool (false) ; + } + } + enumerator_6542.gotoNextObject () ; + } + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'allTemplateFilePaths' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_stringlist function_allTemplateFilePaths (const GALGAS_string & constinArgument_prefix, + const GALGAS_string & constinArgument_file, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_stringlist result_paths ; // Returned variable + GALGAS_stringlist var_components_6948 = GALGAS_string (gOption_goil_5F_options_target_5F_platform.readProperty_value ()).getter_componentsSeparatedByString (GALGAS_string ("/") COMMA_SOURCE_FILE ("goil_routines.galgas", 220)) ; + GALGAS_string var_templateDir_7054 = function_templates_5F_directory (constinArgument_prefix, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 221)) ; + GALGAS_bool var_notOver_7105 = GALGAS_bool (true) ; + result_paths = GALGAS_stringlist::constructor_emptyList (SOURCE_FILE ("goil_routines.galgas", 223)) ; + if (var_components_6948.getter_count (SOURCE_FILE ("goil_routines.galgas", 225)).add_operation (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 225)).isValid ()) { + uint32_t variant_7158 = var_components_6948.getter_count (SOURCE_FILE ("goil_routines.galgas", 225)).add_operation (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 225)).uintValue () ; + bool loop_7158 = true ; + while (loop_7158) { + loop_7158 = var_notOver_7105.isValid () ; + if (loop_7158) { + loop_7158 = var_notOver_7105.boolValue () ; + } + if (loop_7158 && (0 == variant_7158)) { + loop_7158 = false ; + inCompiler->loopRunTimeVariantError (SOURCE_FILE ("goil_routines.galgas", 225)) ; + } + if (loop_7158) { + variant_7158 -- ; + GALGAS_string var_intermediatePath_7218 = GALGAS_string::constructor_componentsJoinedByString (var_components_6948, GALGAS_string ("/") COMMA_SOURCE_FILE ("goil_routines.galgas", 227)) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsNotEqual, var_intermediatePath_7218.objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; + if (kBoolTrue == test_0) { + var_intermediatePath_7218.plusAssign_operation(GALGAS_string ("/"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 228)) ; + } + } + GALGAS_string var_targetPath_7370 = var_templateDir_7054.add_operation (var_intermediatePath_7218, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 229)).add_operation (constinArgument_file, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 229)) ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = var_targetPath_7370.getter_fileExists (SOURCE_FILE ("goil_routines.galgas", 231)).boolEnum () ; + if (kBoolTrue == test_1) { + result_paths.addAssign_operation (var_targetPath_7370 COMMA_SOURCE_FILE ("goil_routines.galgas", 232)) ; + } + } + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = GALGAS_bool (kIsStrictSup, var_components_6948.getter_count (SOURCE_FILE ("goil_routines.galgas", 234)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + if (kBoolTrue == test_2) { + { + GALGAS_string joker_7594 ; // Joker input parameter + var_components_6948.setter_popLast (joker_7594, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 235)) ; + } + } + } + if (kBoolFalse == test_2) { + var_notOver_7105 = GALGAS_bool (false) ; + } + } + } } //--- - return result_result ; + return result_paths ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_customGtlStringGetter [7] = { - & kTypeDescriptor_GALGAS_lstring, - & kTypeDescriptor_GALGAS_gtlDataList, - & kTypeDescriptor_GALGAS_gtlContext, - & kTypeDescriptor_GALGAS_library, +static const C_galgas_type_descriptor * functionArgs_allTemplateFilePaths [3] = { + & kTypeDescriptor_GALGAS_string, & kTypeDescriptor_GALGAS_string, - & kTypeDescriptor_GALGAS_location, nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_allTemplateFilePaths (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_string operand0 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_allTemplateFilePaths (operand0, + operand1, + inCompiler + COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_allTemplateFilePaths ("allTemplateFilePaths", + functionWithGenericHeader_allTemplateFilePaths, + & kTypeDescriptor_GALGAS_stringlist, + 2, + functionArgs_allTemplateFilePaths) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'prefix' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_prefix (GALGAS_prefix_5F_map inArgument_p, + GALGAS_string inArgument_key, + GALGAS_string & outArgument_val, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_val.drop () ; // Release 'out' argument + GALGAS_lstring var_lkey_7718 = GALGAS_lstring::constructor_new (inArgument_key, GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 243)) COMMA_SOURCE_FILE ("goil_routines.galgas", 243)) ; + GALGAS_string joker_7788 ; // Joker input parameter + inArgument_p.method_prefix (var_lkey_7718, outArgument_val, joker_7788, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 244)) ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'performReplace' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_performReplace (GALGAS_prefix_5F_map inArgument_p, + GALGAS_string inArgument_key, + GALGAS_string inArgument_name, + GALGAS_string & ioArgument_res, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_lstring var_lkey_7890 = GALGAS_lstring::constructor_new (inArgument_key, GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 248)) COMMA_SOURCE_FILE ("goil_routines.galgas", 248)) ; + GALGAS_string var_prefix_7951 ; + GALGAS_string var_tag_5F_to_5F_rep_7974 ; + inArgument_p.method_prefix (var_lkey_7890, var_prefix_7951, var_tag_5F_to_5F_rep_7974, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 251)) ; + ioArgument_res = ioArgument_res.getter_stringByReplacingStringByString (var_tag_5F_to_5F_rep_7974, var_prefix_7951.add_operation (inArgument_name, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 252)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 252)) ; +} + -static GALGAS_object functionWithGenericHeader_customGtlStringGetter (Compiler * inCompiler, - const cObjectArray & inEffectiveParameterArray, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - const GALGAS_lstring operand0 = GALGAS_lstring::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_gtlDataList operand1 = GALGAS_gtlDataList::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_gtlContext operand2 = GALGAS_gtlContext::extractObject (inEffectiveParameterArray.objectAtIndex (2 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_library operand3 = GALGAS_library::extractObject (inEffectiveParameterArray.objectAtIndex (3 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_string operand4 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (4 COMMA_HERE), - inCompiler - COMMA_THERE) ; - const GALGAS_location operand5 = GALGAS_location::extractObject (inEffectiveParameterArray.objectAtIndex (5 COMMA_HERE), - inCompiler - COMMA_THERE) ; - return function_customGtlStringGetter (operand0, - operand1, - operand2, - operand3, - operand4, - operand5, - inCompiler - COMMA_THERE).getter_object (THERE) ; -} +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'doReplace' +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +void routine_doReplace (GALGAS_string & ioArgument_s, + GALGAS_string inArgument_o, + GALGAS_string inArgument_n, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + ioArgument_s = ioArgument_s.getter_stringByReplacingStringByString (inArgument_o, inArgument_n, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 256)) ; +} -C_galgas_function_descriptor functionDescriptor_customGtlStringGetter ("customGtlStringGetter", - functionWithGenericHeader_customGtlStringGetter, - & kTypeDescriptor_GALGAS_gtlData, - 6, - functionArgs_customGtlStringGetter) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'generate_signed_type??!' +//Routine 'do_replace_default' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_generate_5F_signed_5F_type_3F__3F__21_ (GALGAS_uint_36__34_ inArgument_count, - GALGAS_string inArgument_err, - GALGAS_string & outArgument_type, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_type.drop () ; // Release 'out' argument - GALGAS_uint_36__34_ var_max_5F_s_38__1048 = GALGAS_uint_36__34_ (uint64_t (128ULL)) ; - GALGAS_uint_36__34_ var_max_5F_s_31__36__1079 = GALGAS_uint_36__34_ (uint64_t (32768ULL)) ; - GALGAS_uint_36__34_ var_max_5F_s_33__32__1111 = GALGAS_uint_36__34_ (uint64_t (2147483648ULL)) ; +void routine_do_5F_replace_5F_default (GALGAS_string & ioArgument_s, + GALGAS_string inArgument_o, + GALGAS_string inArgument_n, + GALGAS_string inArgument_d, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsStrictInf, inArgument_count.objectCompare (var_max_5F_s_38__1048)).boolEnum () ; + test_0 = GALGAS_bool (kIsNotEqual, inArgument_n.objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; if (kBoolTrue == test_0) { - outArgument_type = GALGAS_string ("s8") ; + ioArgument_s = ioArgument_s.getter_stringByReplacingStringByString (inArgument_o, inArgument_n, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 261)) ; } } if (kBoolFalse == test_0) { - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = GALGAS_bool (kIsStrictInf, inArgument_count.objectCompare (var_max_5F_s_31__36__1079)).boolEnum () ; - if (kBoolTrue == test_1) { - outArgument_type = GALGAS_string ("s16") ; + ioArgument_s = ioArgument_s.getter_stringByReplacingStringByString (inArgument_o, inArgument_d, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 263)) ; + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'replace_no_prefix' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_replace_5F_no_5F_prefix (GALGAS_prefix_5F_map inArgument_p, + GALGAS_string inArgument_key, + GALGAS_string inArgument_name, + GALGAS_string & ioArgument_res, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_lstring var_lkey_8507 = GALGAS_lstring::constructor_new (inArgument_key, GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 268)) COMMA_SOURCE_FILE ("goil_routines.galgas", 268)) ; + GALGAS_string var_tag_5F_to_5F_rep_8590 ; + GALGAS_string joker_8621 ; // Joker input parameter + inArgument_p.method_prefix (var_lkey_8507, joker_8621, var_tag_5F_to_5F_rep_8590, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 271)) ; + ioArgument_res = ioArgument_res.getter_stringByReplacingStringByString (var_tag_5F_to_5F_rep_8590, inArgument_name, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 272)) ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'table_core' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_table_5F_core (GALGAS_string inArgument_typename, + GALGAS_string inArgument_varname, + GALGAS_string inArgument_obj_5F_prefix, + GALGAS_stringset inArgument_names, + GALGAS_string & ioArgument_header, + GALGAS_string & ioArgument_implementation, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_uint var_n_9050 = GALGAS_uint (uint32_t (0U)) ; + cEnumerator_stringset enumerator_9073 (inArgument_names, kENUMERATION_UP) ; + while (enumerator_9073.hasCurrentObject ()) { + ioArgument_header = ioArgument_header.add_operation (GALGAS_string ("#define "), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 291)).add_operation (inArgument_varname, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 291)).add_operation (GALGAS_string ("_id_of_"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 291)).add_operation (enumerator_9073.current_key (HERE), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 291)).add_operation (GALGAS_string (" "), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 291)).add_operation (var_n_9050.getter_string (SOURCE_FILE ("goil_routines.galgas", 291)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 291)).add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 291)) ; + ioArgument_header = ioArgument_header.add_operation (GALGAS_string ("#define "), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 299)).add_operation (enumerator_9073.current_key (HERE), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 299)).add_operation (GALGAS_string (" "), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 299)).add_operation (inArgument_varname, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 299)).add_operation (GALGAS_string ("_id_of_"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 299)).add_operation (enumerator_9073.current_key (HERE), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 299)).add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 299)) ; + ioArgument_implementation = ioArgument_implementation.add_operation (GALGAS_string (" (tpl_"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 300)).add_operation (inArgument_typename, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 300)).add_operation (GALGAS_string (" *)&"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 300)).add_operation (inArgument_obj_5F_prefix, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 300)).add_operation (enumerator_9073.current_key (HERE), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 300)) ; + var_n_9050.increment_operation (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 301)) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsNotEqual, var_n_9050.objectCompare (inArgument_names.getter_count (SOURCE_FILE ("goil_routines.galgas", 302)))).boolEnum () ; + if (kBoolTrue == test_0) { + ioArgument_implementation = ioArgument_implementation.add_operation (GALGAS_string (",\n"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 303)) ; } } - if (kBoolFalse == test_1) { - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = GALGAS_bool (kIsStrictInf, inArgument_count.objectCompare (var_max_5F_s_33__32__1111)).boolEnum () ; - if (kBoolTrue == test_2) { - outArgument_type = GALGAS_string ("s32") ; - } - } - if (kBoolFalse == test_2) { - outArgument_type = GALGAS_string::makeEmptyString () ; - TC_Array fixItArray3 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 51)), inArgument_err, fixItArray3 COMMA_SOURCE_FILE ("goil_code_generation.galgas", 51)) ; - } + if (kBoolFalse == test_0) { + ioArgument_implementation = ioArgument_implementation.add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 304)) ; } + enumerator_9073.gotoNextObject () ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'generate_unsigned_type??!' +//Routine 'add_to_stringset' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_generate_5F_unsigned_5F_type_3F__3F__21_ (GALGAS_uint_36__34_ inArgument_count, - GALGAS_string inArgument_err, - GALGAS_string & outArgument_type, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_type.drop () ; // Release 'out' argument - GALGAS_uint_36__34_ var_max_5F_u_38__1504 = GALGAS_uint_36__34_ (uint64_t (256ULL)) ; - GALGAS_uint_36__34_ var_max_5F_u_31__36__1535 = GALGAS_uint_36__34_ (uint64_t (65536ULL)) ; - GALGAS_uint_36__34_ var_max_5F_u_33__32__1567 = GALGAS_uint_36__34_ (uint64_t (4294967296ULL)) ; +void routine_add_5F_to_5F_stringset (GALGAS_stringset & ioArgument_ss, + GALGAS_string inArgument_new, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsStrictInf, inArgument_count.objectCompare (var_max_5F_u_38__1504)).boolEnum () ; + test_0 = ioArgument_ss.getter_hasKey (inArgument_new COMMA_SOURCE_FILE ("goil_routines.galgas", 409)).boolEnum () ; if (kBoolTrue == test_0) { - outArgument_type = GALGAS_string ("u8") ; + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 410)), GALGAS_string ("'").add_operation (inArgument_new, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 410)).add_operation (GALGAS_string ("' is already declared before"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 410)), fixItArray1 COMMA_SOURCE_FILE ("goil_routines.galgas", 410)) ; } } if (kBoolFalse == test_0) { - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = GALGAS_bool (kIsStrictInf, inArgument_count.objectCompare (var_max_5F_u_31__36__1535)).boolEnum () ; - if (kBoolTrue == test_1) { - outArgument_type = GALGAS_string ("u16") ; - } - } - if (kBoolFalse == test_1) { - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = GALGAS_bool (kIsStrictInf, inArgument_count.objectCompare (var_max_5F_u_33__32__1567)).boolEnum () ; - if (kBoolTrue == test_2) { - outArgument_type = GALGAS_string ("u32") ; - } - } - if (kBoolFalse == test_2) { - outArgument_type = GALGAS_string::makeEmptyString () ; - TC_Array fixItArray3 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 76)), inArgument_err, fixItArray3 COMMA_SOURCE_FILE ("goil_code_generation.galgas", 76)) ; - } - } + ioArgument_ss.addAssign_operation (inArgument_new COMMA_SOURCE_FILE ("goil_routines.galgas", 412)) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'generate_mask_type??!' +//Routine 'file_in_path' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_generate_5F_mask_5F_type_3F__3F__21_ (GALGAS_uint_36__34_ inArgument_count, - GALGAS_string inArgument_err, - GALGAS_string & outArgument_type, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_type.drop () ; // Release 'out' argument - GALGAS_uint_36__34_ var_max_5F_u_38__1954 = GALGAS_uint_36__34_ (uint64_t (8ULL)) ; - GALGAS_uint_36__34_ var_max_5F_u_31__36__1980 = GALGAS_uint_36__34_ (uint64_t (16ULL)) ; - GALGAS_uint_36__34_ var_max_5F_u_33__32__2007 = GALGAS_uint_36__34_ (uint64_t (32ULL)) ; +void routine_file_5F_in_5F_path (GALGAS_lstring & ioArgument_file_5F_name, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string var_include_5F_path_12900 = GALGAS_string::constructor_stringWithEnvironmentVariableOrEmpty (GALGAS_string ("GOIL_INCLUDE_PATH") COMMA_SOURCE_FILE ("goil_routines.galgas", 418)) ; + GALGAS_stringlist var_systemPaths_13120 = function_allTemplatePaths (GALGAS_string ("config"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 422)) ; + GALGAS_stringlist var_includePathList_13182 ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsInfOrEqual, inArgument_count.objectCompare (var_max_5F_u_38__1954)).boolEnum () ; + test_0 = GALGAS_bool (kIsNotEqual, var_include_5F_path_12900.objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; if (kBoolTrue == test_0) { - outArgument_type = GALGAS_string ("u8") ; + var_includePathList_13182 = var_include_5F_path_12900.getter_componentsSeparatedByString (GALGAS_string (":") COMMA_SOURCE_FILE ("goil_routines.galgas", 425)) ; } } if (kBoolFalse == test_0) { + var_includePathList_13182 = GALGAS_stringlist::constructor_emptyList (SOURCE_FILE ("goil_routines.galgas", 427)) ; + } + GALGAS_stringlist var_path_5F_list_13386 = var_includePathList_13182.add_operation (var_systemPaths_13120, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 429)) ; + GALGAS_bool var_not_5F_found_13439 = GALGAS_bool (true) ; + cEnumerator_stringlist enumerator_13473 (var_path_5F_list_13386, kENUMERATION_UP) ; + while (enumerator_13473.hasCurrentObject ()) { + GALGAS_string var_full_5F_file_5F_path_13512 = enumerator_13473.current_mValue (HERE) ; enumGalgasBool test_1 = kBoolTrue ; if (kBoolTrue == test_1) { - test_1 = GALGAS_bool (kIsInfOrEqual, inArgument_count.objectCompare (var_max_5F_u_31__36__1980)).boolEnum () ; + test_1 = GALGAS_bool (kIsNotEqual, var_full_5F_file_5F_path_13512.objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; if (kBoolTrue == test_1) { - outArgument_type = GALGAS_string ("u16") ; - } - } - if (kBoolFalse == test_1) { - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = GALGAS_bool (kIsInfOrEqual, inArgument_count.objectCompare (var_max_5F_u_33__32__2007)).boolEnum () ; + enumGalgasBool test_2 = kBoolTrue ; if (kBoolTrue == test_2) { - outArgument_type = GALGAS_string ("u32") ; + test_2 = GALGAS_bool (kIsNotEqual, var_full_5F_file_5F_path_13512.getter_characterAtIndex (var_full_5F_file_5F_path_13512.getter_count (SOURCE_FILE ("goil_routines.galgas", 435)).substract_operation (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 435)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 435)).objectCompare (GALGAS_char (TO_UNICODE (47)))).boolEnum () ; + if (kBoolTrue == test_2) { + var_full_5F_file_5F_path_13512.plusAssign_operation(GALGAS_string ("/"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 436)) ; + } } } - if (kBoolFalse == test_2) { - outArgument_type = GALGAS_string::makeEmptyString () ; - TC_Array fixItArray3 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 101)), inArgument_err, fixItArray3 COMMA_SOURCE_FILE ("goil_code_generation.galgas", 101)) ; + } + var_full_5F_file_5F_path_13512.plusAssign_operation(ioArgument_file_5F_name.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 439)) ; + enumGalgasBool test_3 = kBoolTrue ; + if (kBoolTrue == test_3) { + test_3 = var_full_5F_file_5F_path_13512.getter_fileExists (SOURCE_FILE ("goil_routines.galgas", 440)).operator_and (var_not_5F_found_13439 COMMA_SOURCE_FILE ("goil_routines.galgas", 440)).boolEnum () ; + if (kBoolTrue == test_3) { + ioArgument_file_5F_name = GALGAS_lstring::constructor_new (var_full_5F_file_5F_path_13512, GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 441)) COMMA_SOURCE_FILE ("goil_routines.galgas", 441)) ; + var_not_5F_found_13439 = GALGAS_bool (false) ; } } + enumerator_13473.gotoNextObject () ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@goilContext fullPrefix' +//Routine 'is_in_lstringlist' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring cPtr_goilContext::getter_fullPrefix (const GALGAS_gtlData constinArgument_vars, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_lstring result_full ; // Returned variable - GALGAS_string var_stringPrefix_22321 = this->mProperty_prefix.readProperty_string () ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsEqual, GALGAS_string ("compiler").objectCompare (var_stringPrefix_22321)).boolEnum () ; +void routine_is_5F_in_5F_lstringlist (GALGAS_lstringlist inArgument_l, + GALGAS_lstring inArgument_e, + GALGAS_lstring & outArgument_f, + GALGAS_bool & outArgument_p, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_f.drop () ; // Release 'out' argument + outArgument_p.drop () ; // Release 'out' argument + outArgument_p = GALGAS_bool (false) ; + outArgument_f = GALGAS_lstring::constructor_new (GALGAS_string::makeEmptyString (), GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 453)) COMMA_SOURCE_FILE ("goil_routines.galgas", 453)) ; + cEnumerator_lstringlist enumerator_14127 (inArgument_l, kENUMERATION_UP) ; + while (enumerator_14127.hasCurrentObject ()) { + enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - GALGAS_gtlData var_compiler_22438 ; - GALGAS_bool joker_22447 ; // Joker input parameter - callExtensionMethod_structField ((cPtr_gtlData *) constinArgument_vars.ptr (), function_lstring (GALGAS_string ("COMPILER"), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 691)), var_compiler_22438, joker_22447, inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 691)) ; - GALGAS_gtlString temp_1 ; - if (var_compiler_22438.isValid ()) { - if (nullptr != dynamic_cast (var_compiler_22438.ptr ())) { - temp_1 = (cPtr_gtlString *) var_compiler_22438.ptr () ; - }else{ - inCompiler->castError ("gtlString", var_compiler_22438.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("goil_code_generation.galgas", 692)) ; - } - } - var_stringPrefix_22321.plusAssign_operation(GALGAS_string ("/").add_operation (callExtensionGetter_string ((const cPtr_gtlString *) temp_1.ptr (), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 692)), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 692)), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 692)) ; - } - } - if (kBoolFalse == test_0) { - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = GALGAS_bool (kIsEqual, GALGAS_string ("linker").objectCompare (var_stringPrefix_22321)).boolEnum () ; - if (kBoolTrue == test_2) { - GALGAS_gtlData var_linker_22596 ; - GALGAS_bool joker_22603 ; // Joker input parameter - callExtensionMethod_structField ((cPtr_gtlData *) constinArgument_vars.ptr (), function_lstring (GALGAS_string ("LINKER"), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 694)), var_linker_22596, joker_22603, inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 694)) ; - GALGAS_gtlString temp_3 ; - if (var_linker_22596.isValid ()) { - if (nullptr != dynamic_cast (var_linker_22596.ptr ())) { - temp_3 = (cPtr_gtlString *) var_linker_22596.ptr () ; - }else{ - inCompiler->castError ("gtlString", var_linker_22596.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("goil_code_generation.galgas", 695)) ; - } - } - var_stringPrefix_22321.plusAssign_operation(GALGAS_string ("/").add_operation (callExtensionGetter_string ((const cPtr_gtlString *) temp_3.ptr (), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 695)), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 695)), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 695)) ; - } - } - if (kBoolFalse == test_2) { - enumGalgasBool test_4 = kBoolTrue ; - if (kBoolTrue == test_4) { - test_4 = GALGAS_bool (kIsEqual, GALGAS_string ("assembler").objectCompare (var_stringPrefix_22321)).boolEnum () ; - if (kBoolTrue == test_4) { - GALGAS_gtlData var_assembler_22756 ; - GALGAS_bool joker_22766 ; // Joker input parameter - callExtensionMethod_structField ((cPtr_gtlData *) constinArgument_vars.ptr (), function_lstring (GALGAS_string ("ASSEMBLER"), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 697)), var_assembler_22756, joker_22766, inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 697)) ; - GALGAS_gtlString temp_5 ; - if (var_assembler_22756.isValid ()) { - if (nullptr != dynamic_cast (var_assembler_22756.ptr ())) { - temp_5 = (cPtr_gtlString *) var_assembler_22756.ptr () ; - }else{ - inCompiler->castError ("gtlString", var_assembler_22756.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("goil_code_generation.galgas", 698)) ; - } - } - var_stringPrefix_22321.plusAssign_operation(GALGAS_string ("/").add_operation (callExtensionGetter_string ((const cPtr_gtlString *) temp_5.ptr (), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 698)), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 698)), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 698)) ; - } - } - if (kBoolFalse == test_4) { - enumGalgasBool test_6 = kBoolTrue ; - if (kBoolTrue == test_6) { - test_6 = GALGAS_bool (kIsEqual, var_stringPrefix_22321.objectCompare (GALGAS_string ("ROOT"))).boolEnum () ; - if (kBoolTrue == test_6) { - var_stringPrefix_22321 = GALGAS_string::makeEmptyString () ; - } - } + test_0 = GALGAS_bool (kIsEqual, enumerator_14127.current_mValue (HERE).readProperty_string ().objectCompare (inArgument_e.readProperty_string ())).boolEnum () ; + if (kBoolTrue == test_0) { + outArgument_p = GALGAS_bool (true) ; + outArgument_f = enumerator_14127.current_mValue (HERE) ; } } + enumerator_14127.gotoNextObject () ; } - result_full = GALGAS_lstring::class_func_new (var_stringPrefix_22321, this->mProperty_prefix.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 702)) ; -//--- - return result_full ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Function 'emptyGoilContext' +//Function 'isInLstringlist' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_goilContext function_emptyGoilContext (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_goilContext result_context ; // Returned variable - result_context = GALGAS_goilContext::class_func_new (function_emptylstring (inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 710)), GALGAS_string::makeEmptyString (), GALGAS_string::makeEmptyString (), GALGAS_string::makeEmptyString (), GALGAS_string (".gtl"), GALGAS_stringlist::class_func_emptyList (SOURCE_FILE ("goil_code_generation.galgas", 715)), GALGAS_gtlDataList::class_func_emptyList (SOURCE_FILE ("goil_code_generation.galgas", 716)), GALGAS_bool (true), function_defaultDebugSettings (inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 718)) COMMA_SOURCE_FILE ("goil_code_generation.galgas", 709)) ; +GALGAS_bool function_isInLstringlist (GALGAS_lstringlist inArgument_l, + GALGAS_lstring inArgument_e, + C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_bool result_p ; // Returned variable + result_p = GALGAS_bool (false) ; + cEnumerator_lstringlist enumerator_14325 (inArgument_l, kENUMERATION_UP) ; + while (enumerator_14325.hasCurrentObject ()) { + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsEqual, enumerator_14325.current_mValue (HERE).readProperty_string ().objectCompare (inArgument_e.readProperty_string ())).boolEnum () ; + if (kBoolTrue == test_0) { + result_p = GALGAS_bool (true) ; + } + } + enumerator_14325.gotoNextObject () ; + } //--- - return result_context ; + return result_p ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Function introspection -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_emptyGoilContext [1] = { +static const C_galgas_type_descriptor * functionArgs_isInLstringlist [3] = { + & kTypeDescriptor_GALGAS_lstringlist, + & kTypeDescriptor_GALGAS_lstring, nullptr } ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_emptyGoilContext (Compiler * inCompiler, - const cObjectArray & /* inEffectiveParameterArray */, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - return function_emptyGoilContext (inCompiler COMMA_THERE).getter_object (THERE) ; +static GALGAS_object functionWithGenericHeader_isInLstringlist (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_lstringlist operand0 = GALGAS_lstringlist::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_lstring operand1 = GALGAS_lstring::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_isInLstringlist (operand0, + operand1, + inCompiler + COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_emptyGoilContext ("emptyGoilContext", - functionWithGenericHeader_emptyGoilContext, - & kTypeDescriptor_GALGAS_goilContext, - 0, - functionArgs_emptyGoilContext) ; +C_galgas_function_descriptor functionDescriptor_isInLstringlist ("isInLstringlist", + functionWithGenericHeader_isInLstringlist, + & kTypeDescriptor_GALGAS_bool, + 2, + functionArgs_isInLstringlist) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'generate_all?' +//Routine 'add_lstring_unique' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_generate_5F_all_3F_ (GALGAS_gtlData inArgument_cfg, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string var_temp_5F_dir_23447 = function_templates_5F_directory (GALGAS_string ("code"), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 735)) ; +void routine_add_5F_lstring_5F_unique (GALGAS_lstringlist & ioArgument_l, + GALGAS_lstring inArgument_e, + GALGAS_string inArgument_att, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_bool var_found_14492 ; + GALGAS_lstring var_res_14513 ; + { + routine_is_5F_in_5F_lstringlist (ioArgument_l, inArgument_e, var_res_14513, var_found_14492, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 480)) ; + } enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsNotEqual, var_temp_5F_dir_23447.objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; + test_0 = var_found_14492.boolEnum () ; if (kBoolTrue == test_0) { - GALGAS_string var_target_23531 = GALGAS_string (gOption_goil_5F_options_target_5F_platform.readProperty_value ()) ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = GALGAS_bool (kIsNotEqual, var_target_23531.objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; - if (kBoolTrue == test_1) { - GALGAS_gtlContext var_context_23634 = function_emptyGoilContext (inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 741)) ; - { - var_context_23634.setter_setTemplateDirectory (function_templates_5F_directory (GALGAS_string::makeEmptyString (), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 743)) COMMA_SOURCE_FILE ("goil_code_generation.galgas", 742)) ; - } - { - var_context_23634.setter_setUserTemplateDirectory (GALGAS_string::class_func_stringWithSourceFilePath (inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 746)).getter_stringByDeletingLastPathComponent (SOURCE_FILE ("goil_code_generation.galgas", 746)).add_operation (GALGAS_string ("/templates"), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 746)) COMMA_SOURCE_FILE ("goil_code_generation.galgas", 745)) ; - } - { - var_context_23634.setter_setTemplateExtension (GALGAS_string ("goilTemplate") COMMA_SOURCE_FILE ("goil_code_generation.galgas", 749)) ; - } - { - var_context_23634.insulate (HERE) ; - cPtr_gtlContext * ptr_24018 = (cPtr_gtlContext *) var_context_23634.ptr () ; - callExtensionSetter_addModulePath ((cPtr_gtlContext *) ptr_24018, function_templates_5F_directory (GALGAS_string::makeEmptyString (), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 753)), GALGAS_string ("lib"), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 752)) ; - } - { - var_context_23634.setter_setPath (GALGAS_string (gOption_goil_5F_options_target_5F_platform.readProperty_value ()) COMMA_SOURCE_FILE ("goil_code_generation.galgas", 756)) ; - } - GALGAS_string var_goilLog_24251 = function_invokeGTL (GALGAS_gtlString::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 762)), function_lstring (GALGAS_string ("root template filename"), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 763)), GALGAS_string (gOption_goil_5F_options_root.readProperty_value ()) COMMA_SOURCE_FILE ("goil_code_generation.galgas", 761)), var_context_23634, inArgument_cfg, inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 760)) ; - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = GALGAS_bool (gOption_goil_5F_options_generate_5F_log.readProperty_value ()).boolEnum () ; - if (kBoolTrue == test_2) { - var_goilLog_24251.method_writeToFile (GALGAS_string ("goil.log"), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 771)) ; - } - } - } - } - if (kBoolFalse == test_1) { - inCompiler->printMessage (GALGAS_string ("No target platform given, compiling aborted\n") COMMA_SOURCE_FILE ("goil_code_generation.galgas", 775)) ; - } + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (inArgument_e.readProperty_location (), inArgument_att.add_operation (GALGAS_string (" "), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 482)).add_operation (inArgument_e.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 482)).add_operation (GALGAS_string (" has already be listed"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 482)), fixItArray1 COMMA_SOURCE_FILE ("goil_routines.galgas", 482)) ; + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (var_res_14513.readProperty_location (), GALGAS_string ("was listed here"), fixItArray2 COMMA_SOURCE_FILE ("goil_routines.galgas", 483)) ; } } if (kBoolFalse == test_0) { - inCompiler->printMessage (GALGAS_string ("No template directory defined, compiling aborted\n") COMMA_SOURCE_FILE ("goil_code_generation.galgas", 778)) ; + ioArgument_l.addAssign_operation (inArgument_e COMMA_SOURCE_FILE ("goil_routines.galgas", 485)) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'getAutosarVersion?!!' +//Routine 'set_lstring_if_empty' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_getAutosarVersion_3F__21__21_ (GALGAS_arxmlNode inArgument_rootNode, - GALGAS_lstring & outArgument_iAutosarVersion, - GALGAS_lstring & outArgument_iAutosarDescription, - Compiler * inCompiler +void routine_set_5F_lstring_5F_if_5F_empty (GALGAS_lstring & ioArgument_s, + GALGAS_lstring inArgument_ns, + GALGAS_string inArgument_att, + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { - outArgument_iAutosarVersion.drop () ; // Release 'out' argument - outArgument_iAutosarDescription.drop () ; // Release 'out' argument - GALGAS_lstring var_autosarVersion_7851 = function_lstringWith (GALGAS_string::makeEmptyString (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 273)) ; - GALGAS_lstring var_autosarDescription_7896 = function_lstringWith (GALGAS_string::makeEmptyString (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 274)) ; - GALGAS_arxmlElementList var_autosarNodes_8021 = GALGAS_arxmlElementList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 277)) ; - callExtensionMethod_getSubElementsFromName ((cPtr_arxmlNode *) inArgument_rootNode.ptr (), GALGAS_string ("AUTOSAR"), var_autosarNodes_8021, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 278)) ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsEqual, var_autosarNodes_8021.getter_count (SOURCE_FILE ("arxml_parser.galgas", 279)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + test_0 = GALGAS_bool (kIsEqual, ioArgument_s.readProperty_string ().objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; if (kBoolTrue == test_0) { - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 280)), GALGAS_string ("[TPS_GST_00077] : Missing root AUTOSAR node."), fixItArray1 COMMA_SOURCE_FILE ("arxml_parser.galgas", 280)) ; - } - } - GALGAS_arxmlElementList var_adminDataNodes_8238 = GALGAS_arxmlElementList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 283)) ; - extensionMethod_getSubElementsFromName (var_autosarNodes_8021, GALGAS_string ("ADMIN-DATA"), var_adminDataNodes_8238, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 284)) ; - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = GALGAS_bool (kIsEqual, var_adminDataNodes_8238.getter_count (SOURCE_FILE ("arxml_parser.galgas", 285)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; - if (kBoolTrue == test_2) { - TC_Array fixItArray3 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 286)), GALGAS_string ("[TPS_ECUC_06004] : Missing AUTOSAR's ADMIN-DATA node."), fixItArray3 COMMA_SOURCE_FILE ("arxml_parser.galgas", 286)) ; + ioArgument_s = inArgument_ns ; } } - GALGAS_arxmlElementList var_revisions_8477 = GALGAS_arxmlElementList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 289)) ; - extensionMethod_getElementsFromName (var_adminDataNodes_8238, GALGAS_string ("DOC-REVISION"), var_revisions_8477, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 290)) ; - enumGalgasBool test_4 = kBoolTrue ; - if (kBoolTrue == test_4) { - test_4 = GALGAS_bool (kIsEqual, var_adminDataNodes_8238.getter_count (SOURCE_FILE ("arxml_parser.galgas", 291)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; - if (kBoolTrue == test_4) { - TC_Array fixItArray5 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 292)), GALGAS_string ("Missing AUTOSAR'S ADMIN-DATA's DOC-REVISION NODE"), fixItArray5 COMMA_SOURCE_FILE ("arxml_parser.galgas", 292)) ; - } - } - GALGAS_bool var_version_5F_found_8690 = GALGAS_bool (false) ; - GALGAS_bool var_issued_5F_by_5F_found_8720 = GALGAS_bool (false) ; - GALGAS_lstring var_issued_5F_by_8755 = function_lstringWith (GALGAS_string::makeEmptyString (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 297)) ; - cEnumerator_arxmlElementList enumerator_8810 (var_revisions_8477, kENUMERATION_UP) ; - bool bool_6 = var_version_5F_found_8690.operator_not (SOURCE_FILE ("arxml_parser.galgas", 300)).isValidAndTrue () ; - if (enumerator_8810.hasCurrentObject () && bool_6) { - while (enumerator_8810.hasCurrentObject () && bool_6) { - var_issued_5F_by_5F_found_8720 = GALGAS_bool (false) ; - callExtensionMethod_getProperty ((cPtr_arxmlElementNode *) enumerator_8810.current_node (HERE).ptr (), GALGAS_string ("ISSUED-BY"), var_issued_5F_by_8755, var_issued_5F_by_5F_found_8720, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 302)) ; - enumGalgasBool test_7 = kBoolTrue ; - if (kBoolTrue == test_7) { - GALGAS_bool test_8 = var_issued_5F_by_5F_found_8720 ; - if (kBoolTrue == test_8.boolEnum ()) { - test_8 = GALGAS_bool (kIsEqual, var_issued_5F_by_8755.readProperty_string ().objectCompare (GALGAS_string ("AUTOSAR"))) ; - } - test_7 = test_8.boolEnum () ; - if (kBoolTrue == test_7) { - GALGAS_bool var_description_5F_found_9033 = GALGAS_bool (false) ; - callExtensionMethod_getProperty ((cPtr_arxmlElementNode *) enumerator_8810.current_node (HERE).ptr (), GALGAS_string ("REVISION-LABEL"), var_autosarVersion_7851, var_version_5F_found_8690, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 305)) ; - callExtensionMethod_getProperty ((cPtr_arxmlElementNode *) enumerator_8810.current_node (HERE).ptr (), GALGAS_string ("DATE"), var_autosarDescription_7896, var_description_5F_found_9033, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 306)) ; - } - } - enumerator_8810.gotoNextObject () ; - if (enumerator_8810.hasCurrentObject ()) { - bool_6 = var_version_5F_found_8690.operator_not (SOURCE_FILE ("arxml_parser.galgas", 300)).isValidAndTrue () ; - } - } + if (kBoolFalse == test_0) { + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (inArgument_ns.readProperty_location (), inArgument_att.add_operation (GALGAS_string (" Redefinition"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 496)), fixItArray1 COMMA_SOURCE_FILE ("goil_routines.galgas", 496)) ; + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (ioArgument_s.readProperty_location (), GALGAS_string ("was defined here"), fixItArray2 COMMA_SOURCE_FILE ("goil_routines.galgas", 497)) ; } - outArgument_iAutosarVersion = var_autosarVersion_7851 ; - outArgument_iAutosarDescription = var_autosarDescription_7896 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'includeConfigs&&&?' +//Routine 'add_makefile_flag_if_not_empty' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_includeConfigs_26__26__26__3F_ (GALGAS_implementation & ioArgument_imp, - GALGAS_applicationDefinition & ioArgument_application, - GALGAS_string & ioArgument_fileIncludeList, - GALGAS_lstring inArgument_version, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string var_config_5F_file_5F_name_9573 = GALGAS_string (gOption_goil_5F_options_config.readProperty_value ()) ; - GALGAS_stringlist var_configFiles_9647 = function_allTemplateFilePaths (GALGAS_string ("config"), var_config_5F_file_5F_name_9573.add_operation (GALGAS_string (".oil"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 325)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 324)) ; - cEnumerator_stringlist enumerator_9906 (var_configFiles_9647, kENUMERATION_DOWN) ; - while (enumerator_9906.hasCurrentObject ()) { - cGrammar_goil_5F_file_5F_level_5F_include::_performSourceFileParsing_ (inCompiler, function_lstringWith (enumerator_9906.current_mValue (HERE), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 330)), ioArgument_imp, ioArgument_application, ioArgument_fileIncludeList, GALGAS_bool (false) COMMA_SOURCE_FILE ("arxml_parser.galgas", 330)) ; - enumerator_9906.gotoNextObject () ; - } - GALGAS_stringlist var_configVersionFiles_10217 = function_allTemplateFilePaths (GALGAS_string ("config"), var_config_5F_file_5F_name_9573.add_operation (inArgument_version.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 337)).add_operation (GALGAS_string (".oil"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 337)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 336)) ; - cEnumerator_stringlist enumerator_10369 (var_configVersionFiles_10217, kENUMERATION_DOWN) ; - while (enumerator_10369.hasCurrentObject ()) { - cGrammar_goil_5F_file_5F_level_5F_include::_performSourceFileParsing_ (inCompiler, function_lstringWith (enumerator_10369.current_mValue (HERE), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 340)), ioArgument_imp, ioArgument_application, ioArgument_fileIncludeList, GALGAS_bool (false) COMMA_SOURCE_FILE ("arxml_parser.galgas", 340)) ; - enumerator_10369.gotoNextObject () ; +void routine_add_5F_makefile_5F_flag_5F_if_5F_not_5F_empty (GALGAS_string & ioArgument_receiver, + GALGAS_string inArgument_flag_5F_name, + GALGAS_string inArgument_flag_5F_value, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsNotEqual, inArgument_flag_5F_value.objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; + if (kBoolTrue == test_0) { + ioArgument_receiver.plusAssign_operation(inArgument_flag_5F_name.add_operation (GALGAS_string ("="), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 506)).add_operation (inArgument_flag_5F_value, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 506)).add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 506)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 506)) ; + } } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'nodeToClass?&!' +//Function 'lstringWith' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_nodeToClass_3F__26__21_ (GALGAS_arxmlNode inArgument_rootNode, - GALGAS_arxmlMetaClassMap & ioArgument_classMap, - GALGAS_arxmlElementValue & outArgument_rootValue, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_rootValue.drop () ; // Release 'out' argument - GALGAS_arxmlElementList var_autosarNodes_10738 = GALGAS_arxmlElementList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 351)) ; - callExtensionMethod_getSubElementsFromName ((cPtr_arxmlNode *) inArgument_rootNode.ptr (), GALGAS_string ("AUTOSAR"), var_autosarNodes_10738, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 352)) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsEqual, var_autosarNodes_10738.getter_count (SOURCE_FILE ("arxml_parser.galgas", 353)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; - if (kBoolTrue == test_0) { - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 354)), GALGAS_string ("[TPS_GST_00077] : Missing root AUTOSAR node."), fixItArray1 COMMA_SOURCE_FILE ("arxml_parser.galgas", 354)) ; - } - } - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = GALGAS_bool (kIsStrictSup, var_autosarNodes_10738.getter_count (SOURCE_FILE ("arxml_parser.galgas", 356)).objectCompare (GALGAS_uint (uint32_t (1U)))).boolEnum () ; - if (kBoolTrue == test_2) { - TC_Array fixItArray3 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 357)), GALGAS_string ("[TPS_GST_00077] : Too many AUTOSAR nodes."), fixItArray3 COMMA_SOURCE_FILE ("arxml_parser.galgas", 357)) ; - } - } - GALGAS_arxmlElementNode var_autosarNode_11098 ; - var_autosarNodes_10738.method_first (var_autosarNode_11098, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 362)) ; - { - routine_nodeToClassRes_3F__3F__21_ (var_autosarNode_11098, ioArgument_classMap, outArgument_rootValue, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 363)) ; - } +GALGAS_lstring function_lstringWith (GALGAS_string inArgument_s, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_lstring result_r ; // Returned variable + result_r = GALGAS_lstring::constructor_new (inArgument_s, GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 511)) COMMA_SOURCE_FILE ("goil_routines.galgas", 511)) ; +//--- + return result_r ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_lstringWith [2] = { + & kTypeDescriptor_GALGAS_string, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_lstringWith (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_string operand0 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_lstringWith (operand0, + inCompiler + COMMA_THERE).getter_object (THERE) ; } +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_lstringWith ("lstringWith", + functionWithGenericHeader_lstringWith, + & kTypeDescriptor_GALGAS_lstring, + 1, + functionArgs_lstringWith) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'nodeToClassRes??!' +//Function 'stripString' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_nodeToClassRes_3F__3F__21_ (GALGAS_arxmlElementNode inArgument_currentElement, - GALGAS_arxmlMetaClassMap inArgument_classMap, - GALGAS_arxmlElementValue & outArgument_elementValue, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_elementValue.drop () ; // Release 'out' argument - GALGAS_arxmlMetaClass var_currentClass_11372 ; - inArgument_classMap.method_searchKey (inArgument_currentElement.readProperty_name (), var_currentClass_11372, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 373)) ; - GALGAS_bool var_textFound_11481 = GALGAS_bool (false) ; - GALGAS_lstring var_text_11510 = GALGAS_lstring::class_func_new (GALGAS_string::makeEmptyString (), GALGAS_location::class_func_nowhere (SOURCE_FILE ("arxml_parser.galgas", 377)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 377)) ; - callExtensionMethod_getText ((cPtr_arxmlElementNode *) inArgument_currentElement.ptr (), var_text_11510, var_textFound_11481, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 378)) ; - GALGAS_lstring var_type_11628 = var_currentClass_11372.readProperty_name () ; - outArgument_elementValue = GALGAS_arxmlElementValue::class_func_new (var_type_11628, var_text_11510, GALGAS_arxmlElementValueMap::class_func_emptyMap (SOURCE_FILE ("arxml_parser.galgas", 385)), inArgument_currentElement.readProperty_attributes () COMMA_SOURCE_FILE ("arxml_parser.galgas", 382)) ; - GALGAS_arxmlElementList var_subElements_12034 ; - callExtensionMethod_getSubElements ((cPtr_arxmlElementNode *) inArgument_currentElement.ptr (), var_subElements_12034, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 390)) ; - cEnumerator_arxmlElementList enumerator_12072 (var_subElements_12034, kENUMERATION_UP) ; - while (enumerator_12072.hasCurrentObject ()) { - enumGalgasBool test_0 = kBoolTrue ; +GALGAS_string function_stripString (GALGAS_string inArgument_s, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_r ; // Returned variable + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsStrictSup, inArgument_s.getter_count (SOURCE_FILE ("goil_routines.galgas", 515)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; if (kBoolTrue == test_0) { - test_0 = callExtensionGetter_hasElement ((const cPtr_arxmlMetaClass *) var_currentClass_11372.ptr (), enumerator_12072.current_node (HERE).readProperty_name ().readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 392)).operator_not (SOURCE_FILE ("arxml_parser.galgas", 392)).boolEnum () ; - if (kBoolTrue == test_0) { - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (enumerator_12072.current_node (HERE).readProperty_name ().readProperty_location (), GALGAS_string ("The element ").add_operation (enumerator_12072.current_node (HERE).readProperty_name ().readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 393)).add_operation (GALGAS_string (" does not belong to the "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 393)).add_operation (inArgument_currentElement.readProperty_name ().readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 394)).add_operation (GALGAS_string (" element.\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 395)).add_operation (GALGAS_string ("Possible elements are :\n "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 395)).add_operation (extensionGetter_string (var_currentClass_11372.readProperty_lElementLegacy (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 396)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 396)), fixItArray1 COMMA_SOURCE_FILE ("arxml_parser.galgas", 393)) ; - } - } - enumerator_12072.gotoNextObject () ; - } - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = GALGAS_bool (kIsNotEqual, inArgument_currentElement.readProperty_name ().readProperty_string ().objectCompare (GALGAS_string ("AUTOSAR"))).boolEnum () ; - if (kBoolTrue == test_2) { - cEnumerator_arxmlAttributeMap enumerator_12603 (inArgument_currentElement.readProperty_attributes (), kENUMERATION_UP) ; - while (enumerator_12603.hasCurrentObject ()) { - enumGalgasBool test_3 = kBoolTrue ; - if (kBoolTrue == test_3) { - test_3 = callExtensionGetter_hasAttribute ((const cPtr_arxmlMetaClass *) var_currentClass_11372.ptr (), enumerator_12603.current_lkey (HERE).readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 404)).operator_not (SOURCE_FILE ("arxml_parser.galgas", 404)).boolEnum () ; - if (kBoolTrue == test_3) { - TC_Array fixItArray4 ; - inCompiler->emitSemanticError (enumerator_12603.current_lkey (HERE).readProperty_location (), GALGAS_string ("The attribute ").add_operation (enumerator_12603.current_lkey (HERE).readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 405)).add_operation (GALGAS_string (" does not belong to the "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 405)).add_operation (inArgument_currentElement.readProperty_name ().readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 405)).add_operation (GALGAS_string (" element.\nPossible "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 406)).add_operation (GALGAS_string ("attributes are :\n "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 406)).add_operation (extensionGetter_string (var_currentClass_11372.readProperty_lAttributeLegacy (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 407)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 407)), fixItArray4 COMMA_SOURCE_FILE ("arxml_parser.galgas", 405)) ; + GALGAS_uint var_first_15244 = GALGAS_uint (uint32_t (0U)) ; + GALGAS_uint var_last_15264 = inArgument_s.getter_count (SOURCE_FILE ("goil_routines.galgas", 517)) ; + GALGAS_bool var_finished_15348 = GALGAS_bool (false) ; + if (inArgument_s.getter_count (SOURCE_FILE ("goil_routines.galgas", 520)).isValid ()) { + uint32_t variant_15369 = inArgument_s.getter_count (SOURCE_FILE ("goil_routines.galgas", 520)).uintValue () ; + bool loop_15369 = true ; + while (loop_15369) { + loop_15369 = var_finished_15348.operator_not (SOURCE_FILE ("goil_routines.galgas", 521)).isValid () ; + if (loop_15369) { + loop_15369 = var_finished_15348.operator_not (SOURCE_FILE ("goil_routines.galgas", 521)).boolValue () ; + } + if (loop_15369 && (0 == variant_15369)) { + loop_15369 = false ; + inCompiler->loopRunTimeVariantError (SOURCE_FILE ("goil_routines.galgas", 520)) ; + } + if (loop_15369) { + variant_15369 -- ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = GALGAS_bool (kIsEqual, inArgument_s.getter_characterAtIndex (var_first_15244, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 522)).objectCompare (GALGAS_char (TO_UNICODE (32)))).boolEnum () ; + if (kBoolTrue == test_1) { + var_first_15244.increment_operation (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 523)) ; + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = GALGAS_bool (kIsEqual, var_first_15244.objectCompare (inArgument_s.getter_count (SOURCE_FILE ("goil_routines.galgas", 524)))).boolEnum () ; + if (kBoolTrue == test_2) { + var_finished_15348 = GALGAS_bool (true) ; + } + } + } + } + if (kBoolFalse == test_1) { + var_finished_15348 = GALGAS_bool (true) ; + } } } - enumerator_12603.gotoNextObject () ; - } - } - } - cEnumerator_arxmlMetaElementList enumerator_13044 (var_currentClass_11372.readProperty_lElementLegacy (), kENUMERATION_UP) ; - while (enumerator_13044.hasCurrentObject ()) { - GALGAS_arxmlElementList var_subElements_13112 = GALGAS_arxmlElementList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 414)) ; - callExtensionMethod_getSubElementsFromName ((cPtr_arxmlElementNode *) inArgument_currentElement.ptr (), enumerator_13044.current_lElement (HERE).readProperty_name ().readProperty_string (), var_subElements_13112, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 416)) ; - GALGAS_uint var_minOccurs_13331 = GALGAS_uint (uint32_t (1U)) ; - GALGAS_uint var_maxOccurs_13355 = GALGAS_uint (uint32_t (1U)) ; - enumGalgasBool test_5 = kBoolTrue ; - if (kBoolTrue == test_5) { - GALGAS_bool test_6 = GALGAS_bool (kIsNotEqual, enumerator_13044.current_lElement (HERE).readProperty_minOccurs ().readProperty_string ().objectCompare (GALGAS_string::makeEmptyString ())) ; - if (kBoolTrue == test_6.boolEnum ()) { - test_6 = enumerator_13044.current_lElement (HERE).readProperty_minOccurs ().readProperty_string ().getter_isDecimalUnsignedNumber (SOURCE_FILE ("arxml_parser.galgas", 424)) ; - } - test_5 = test_6.boolEnum () ; - if (kBoolTrue == test_5) { - var_minOccurs_13331 = enumerator_13044.current_lElement (HERE).readProperty_minOccurs ().readProperty_string ().getter_decimalUnsignedNumber (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 425)) ; - } - } - enumGalgasBool test_7 = kBoolTrue ; - if (kBoolTrue == test_7) { - test_7 = GALGAS_bool (kIsStrictInf, var_subElements_13112.getter_count (SOURCE_FILE ("arxml_parser.galgas", 428)).objectCompare (var_minOccurs_13331)).boolEnum () ; - if (kBoolTrue == test_7) { - TC_Array fixItArray8 ; - inCompiler->emitSemanticError (inArgument_currentElement.readProperty_name ().readProperty_location (), GALGAS_string ("Missing element ").add_operation (enumerator_13044.current_lElement (HERE).readProperty_name ().readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 429)).add_operation (GALGAS_string (". Minimum : "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 429)).add_operation (var_minOccurs_13331.getter_string (SOURCE_FILE ("arxml_parser.galgas", 430)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 430)).add_operation (GALGAS_string ("."), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 430)).add_operation (GALGAS_string (" Found "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 430)).add_operation (var_subElements_13112.getter_count (SOURCE_FILE ("arxml_parser.galgas", 431)).getter_string (SOURCE_FILE ("arxml_parser.galgas", 431)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 431)), fixItArray8 COMMA_SOURCE_FILE ("arxml_parser.galgas", 429)) ; } - } - enumGalgasBool test_9 = kBoolTrue ; - if (kBoolTrue == test_9) { - GALGAS_bool test_10 = GALGAS_bool (kIsNotEqual, enumerator_13044.current_lElement (HERE).readProperty_maxOccurs ().readProperty_string ().objectCompare (GALGAS_string ("unbounded"))) ; - if (kBoolTrue == test_10.boolEnum ()) { - test_10 = GALGAS_bool (kIsNotEqual, enumerator_13044.current_lElement (HERE).readProperty_maxOccurs ().readProperty_string ().objectCompare (GALGAS_string::makeEmptyString ())) ; - } - test_9 = test_10.boolEnum () ; - if (kBoolTrue == test_9) { - enumGalgasBool test_11 = kBoolTrue ; - if (kBoolTrue == test_11) { - GALGAS_bool test_12 = GALGAS_bool (kIsNotEqual, enumerator_13044.current_lElement (HERE).readProperty_maxOccurs ().readProperty_string ().objectCompare (GALGAS_string::makeEmptyString ())) ; - if (kBoolTrue == test_12.boolEnum ()) { - test_12 = enumerator_13044.current_lElement (HERE).readProperty_maxOccurs ().readProperty_string ().getter_isDecimalUnsignedNumber (SOURCE_FILE ("arxml_parser.galgas", 439)) ; + var_finished_15348 = GALGAS_bool (false) ; + if (inArgument_s.getter_count (SOURCE_FILE ("goil_routines.galgas", 529)).isValid ()) { + uint32_t variant_15654 = inArgument_s.getter_count (SOURCE_FILE ("goil_routines.galgas", 529)).uintValue () ; + bool loop_15654 = true ; + while (loop_15654) { + loop_15654 = var_finished_15348.operator_not (SOURCE_FILE ("goil_routines.galgas", 530)).isValid () ; + if (loop_15654) { + loop_15654 = var_finished_15348.operator_not (SOURCE_FILE ("goil_routines.galgas", 530)).boolValue () ; } - test_11 = test_12.boolEnum () ; - if (kBoolTrue == test_11) { - var_maxOccurs_13355 = enumerator_13044.current_lElement (HERE).readProperty_maxOccurs ().readProperty_string ().getter_decimalUnsignedNumber (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 440)) ; + if (loop_15654 && (0 == variant_15654)) { + loop_15654 = false ; + inCompiler->loopRunTimeVariantError (SOURCE_FILE ("goil_routines.galgas", 529)) ; } - } - enumGalgasBool test_13 = kBoolTrue ; - if (kBoolTrue == test_13) { - test_13 = GALGAS_bool (kIsStrictSup, var_subElements_13112.getter_count (SOURCE_FILE ("arxml_parser.galgas", 443)).objectCompare (var_maxOccurs_13355)).boolEnum () ; - if (kBoolTrue == test_13) { - TC_Array fixItArray14 ; - inCompiler->emitSemanticError (inArgument_currentElement.readProperty_name ().readProperty_location (), GALGAS_string ("Too many node ").add_operation (enumerator_13044.current_lElement (HERE).readProperty_name ().readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 444)).add_operation (GALGAS_string (". Minimum : "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 444)).add_operation (var_minOccurs_13331.getter_string (SOURCE_FILE ("arxml_parser.galgas", 445)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 445)).add_operation (GALGAS_string (" ; Maximum : "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 445)).add_operation (var_maxOccurs_13355.getter_string (SOURCE_FILE ("arxml_parser.galgas", 445)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 445)).add_operation (GALGAS_string (". Found "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 445)).add_operation (var_subElements_13112.getter_count (SOURCE_FILE ("arxml_parser.galgas", 446)).getter_string (SOURCE_FILE ("arxml_parser.galgas", 446)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 446)), fixItArray14 COMMA_SOURCE_FILE ("arxml_parser.galgas", 444)) ; + if (loop_15654) { + variant_15654 -- ; + enumGalgasBool test_3 = kBoolTrue ; + if (kBoolTrue == test_3) { + test_3 = GALGAS_bool (kIsEqual, inArgument_s.getter_characterAtIndex (var_last_15264.substract_operation (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 531)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 531)).objectCompare (GALGAS_char (TO_UNICODE (32)))).boolEnum () ; + if (kBoolTrue == test_3) { + var_last_15264.decrement_operation (inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 532)) ; + enumGalgasBool test_4 = kBoolTrue ; + if (kBoolTrue == test_4) { + test_4 = GALGAS_bool (kIsEqual, var_last_15264.objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + if (kBoolTrue == test_4) { + var_finished_15348 = GALGAS_bool (true) ; + } + } + } + } + if (kBoolFalse == test_3) { + var_finished_15348 = GALGAS_bool (true) ; + } } - } - } - } - cEnumerator_arxmlElementList enumerator_14632 (var_subElements_13112, kENUMERATION_UP) ; - while (enumerator_14632.hasCurrentObject ()) { - GALGAS_arxmlElementValue var_subElementValue_14691 ; - { - routine_nodeToClassRes_3F__3F__21_ (enumerator_14632.current_node (HERE), inArgument_classMap, var_subElementValue_14691, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 453)) ; - } - { - outArgument_elementValue.insulate (HERE) ; - cPtr_arxmlElementValue * ptr_14777 = (cPtr_arxmlElementValue *) outArgument_elementValue.ptr () ; - callExtensionSetter_insertElement ((cPtr_arxmlElementValue *) ptr_14777, enumerator_14632.current_node (HERE).readProperty_name (), var_subElementValue_14691, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 454)) ; + } } - enumerator_14632.gotoNextObject () ; - } - enumerator_13044.gotoNextObject () ; - } -} - - -//-------------------------------------------------------------------------------------------------- -// -//Routine 'addText&?' -// -//-------------------------------------------------------------------------------------------------- - -void routine_addText_26__3F_ (GALGAS_arxmlNodeList & ioArgument_nodes, - const GALGAS_bool constinArgument_doNotCondenseWhiteSpaces, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string var_s_14956 = GALGAS_string::class_func_retrieveAndResetTemplateString (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 463)) ; - GALGAS_string var_trimmedString_15006 = var_s_14956.getter_stringByTrimmingWhiteSpaces (SOURCE_FILE ("arxml_parser.galgas", 464)) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsStrictSup, var_trimmedString_15006.getter_count (SOURCE_FILE ("arxml_parser.galgas", 465)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; - if (kBoolTrue == test_0) { - GALGAS_lstring var_ls_15108 ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = constinArgument_doNotCondenseWhiteSpaces.boolEnum () ; - if (kBoolTrue == test_1) { - var_ls_15108 = GALGAS_lstring::class_func_new (var_s_14956, GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 468)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 468)) ; + enumGalgasBool test_5 = kBoolTrue ; + if (kBoolTrue == test_5) { + test_5 = GALGAS_bool (kIsStrictInf, var_first_15244.objectCompare (var_last_15264)).boolEnum () ; + if (kBoolTrue == test_5) { + result_r = inArgument_s.getter_subString (var_first_15244, var_last_15264.substract_operation (var_first_15244, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 538)) COMMA_SOURCE_FILE ("goil_routines.galgas", 538)) ; } } - if (kBoolFalse == test_1) { - var_ls_15108 = GALGAS_lstring::class_func_new (var_trimmedString_15006, GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 470)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 470)) ; + if (kBoolFalse == test_5) { + result_r = GALGAS_string::makeEmptyString () ; } - ioArgument_nodes.addAssign_operation (GALGAS_arxmlTextNode::class_func_new (var_ls_15108 COMMA_SOURCE_FILE ("arxml_parser.galgas", 473)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 473)) ; } } + if (kBoolFalse == test_0) { + result_r = GALGAS_string::makeEmptyString () ; + } +//--- + return result_r ; } -//-------------------------------------------------------------------------------------------------- -// -//Routine 'convertToOil&&?' -// -//-------------------------------------------------------------------------------------------------- - -void routine_convertToOil_26__26__3F_ (GALGAS_implementation & ioArgument_imp, - GALGAS_applicationDefinition & ioArgument_application, - GALGAS_arxmlElementValue inArgument_rootValue, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_lstring var_emptyPath_15418 = GALGAS_lstring::class_func_new (GALGAS_string::makeEmptyString (), GALGAS_location::class_func_nowhere (SOURCE_FILE ("arxml_parser.galgas", 482)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 482)) ; - GALGAS_arxmlElementValueList var_packages_15505 = GALGAS_arxmlElementValueList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 485)) ; - GALGAS_stringlist var_packagesPath_15533 = GALGAS_stringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 486)) ; - var_packagesPath_15533.addAssign_operation (GALGAS_string ("AR-PACKAGES") COMMA_SOURCE_FILE ("arxml_parser.galgas", 487)) ; - var_packagesPath_15533.addAssign_operation (GALGAS_string ("AR-PACKAGE") COMMA_SOURCE_FILE ("arxml_parser.galgas", 488)) ; - callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_rootValue.ptr (), var_packagesPath_15533, var_packages_15505, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 489)) ; - cEnumerator_arxmlElementValueList enumerator_15722 (var_packages_15505, kENUMERATION_UP) ; - while (enumerator_15722.hasCurrentObject ()) { - { - routine_arxmlImplementationPackage_26__3F__3F_ (ioArgument_imp, enumerator_15722.current_value (HERE), var_emptyPath_15418, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 493)) ; - } - enumerator_15722.gotoNextObject () ; - } - cEnumerator_arxmlElementValueList enumerator_15856 (var_packages_15505, kENUMERATION_UP) ; - while (enumerator_15856.hasCurrentObject ()) { - { - routine_arxmlDefinitionPackage_26__26__3F__3F_ (ioArgument_imp, ioArgument_application, enumerator_15856.current_value (HERE), var_emptyPath_15418, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 498)) ; - } - enumerator_15856.gotoNextObject () ; - } -} +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- +static const C_galgas_type_descriptor * functionArgs_stripString [2] = { + & kTypeDescriptor_GALGAS_string, + nullptr +} ; -//-------------------------------------------------------------------------------------------------- -// -//Routine 'arxmlImplementationPackage&??' -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_arxmlImplementationPackage_26__3F__3F_ (GALGAS_implementation & ioArgument_imp, - GALGAS_arxmlElementValue inArgument_packageElement, - GALGAS_lstring inArgument_parentPath, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_lstring var_packageName_16229 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), GALGAS_string ("SHORT-NAME"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 512)) ; - GALGAS_lstring var_currentPath_16342 = GALGAS_lstring::class_func_new (inArgument_parentPath.readProperty_string ().add_operation (GALGAS_string ("/"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 515)).add_operation (var_packageName_16229.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 515)), var_packageName_16229.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 515)) ; - GALGAS_arxmlElementValueList var_definitions_16572 = GALGAS_arxmlElementValueList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 519)) ; - GALGAS_stringlist var_definitionPath_16603 = GALGAS_stringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 520)) ; - var_definitionPath_16603.addAssign_operation (GALGAS_string ("ELEMENTS") COMMA_SOURCE_FILE ("arxml_parser.galgas", 521)) ; - var_definitionPath_16603.addAssign_operation (GALGAS_string ("ECUC-MODULE-DEF") COMMA_SOURCE_FILE ("arxml_parser.galgas", 522)) ; - callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), var_definitionPath_16603, var_definitions_16572, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 523)) ; - cEnumerator_arxmlElementValueList enumerator_16786 (var_definitions_16572, kENUMERATION_UP) ; - while (enumerator_16786.hasCurrentObject ()) { - { - routine_arxmlImplementationRoot_26__3F__3F_ (ioArgument_imp, enumerator_16786.current_value (HERE), var_currentPath_16342, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 525)) ; - } - enumerator_16786.gotoNextObject () ; - } - GALGAS_arxmlElementValueList var_packages_16962 = GALGAS_arxmlElementValueList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 529)) ; - GALGAS_stringlist var_packagesPath_16990 = GALGAS_stringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 530)) ; - var_packagesPath_16990.addAssign_operation (GALGAS_string ("AR-PACKAGES") COMMA_SOURCE_FILE ("arxml_parser.galgas", 531)) ; - var_packagesPath_16990.addAssign_operation (GALGAS_string ("AR-PACKAGE") COMMA_SOURCE_FILE ("arxml_parser.galgas", 532)) ; - callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), var_packagesPath_16990, var_packages_16962, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 533)) ; - cEnumerator_arxmlElementValueList enumerator_17160 (var_packages_16962, kENUMERATION_UP) ; - while (enumerator_17160.hasCurrentObject ()) { - { - routine_arxmlImplementationPackage_26__3F__3F_ (ioArgument_imp, enumerator_17160.current_value (HERE), var_currentPath_16342, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 535)) ; - } - enumerator_17160.gotoNextObject () ; - } +static GALGAS_object functionWithGenericHeader_stripString (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_string operand0 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_stripString (operand0, + inCompiler + COMMA_THERE).getter_object (THERE) ; } +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_stripString ("stripString", + functionWithGenericHeader_stripString, + & kTypeDescriptor_GALGAS_string, + 1, + functionArgs_stripString) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'arxmlImplementationRoot&??' +//Routine 'errorNoFileFound' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_arxmlImplementationRoot_26__3F__3F_ (GALGAS_implementation & ioArgument_implementation, - GALGAS_arxmlElementValue inArgument_packageElement, - GALGAS_lstring inArgument_parentPath, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_lstring var_objectName_17422 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), GALGAS_string ("SHORT-NAME"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 545)) ; - { - routine_displayOil_3F_ (GALGAS_string ("\nIMPLEMENTATION ").add_operation (var_objectName_17422.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 546)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 546)) ; - } - GALGAS_lstring var_currentPath_17581 = GALGAS_lstring::class_func_new (inArgument_parentPath.readProperty_string ().add_operation (GALGAS_string ("/"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 549)).add_operation (var_objectName_17422.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 549)), inArgument_parentPath.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 549)) ; - GALGAS_lstring var_oil_5F_desc_17787 ; - { - routine_arxmlGetDescription_3F__21_ (inArgument_packageElement, var_oil_5F_desc_17787, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 553)) ; - } - GALGAS_arxmlElementValueList var_subDefs_17850 = GALGAS_arxmlElementValueList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 556)) ; - GALGAS_stringlist var_subDefsPath_17877 = GALGAS_stringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 557)) ; - var_subDefsPath_17877.addAssign_operation (GALGAS_string ("CONTAINERS") COMMA_SOURCE_FILE ("arxml_parser.galgas", 558)) ; - var_subDefsPath_17877.addAssign_operation (GALGAS_string ("ECUC-PARAM-CONF-CONTAINER-DEF") COMMA_SOURCE_FILE ("arxml_parser.galgas", 559)) ; - callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), var_subDefsPath_17877, var_subDefs_17850, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 560)) ; - { - routine_displayOil_3F_ (GALGAS_string ("\n{\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 562)) ; - } - cEnumerator_arxmlElementValueList enumerator_18121 (var_subDefs_17850, kENUMERATION_UP) ; - while (enumerator_18121.hasCurrentObject ()) { - { - routine_arxmlImplementationObject_26__3F__3F_ (ioArgument_implementation, enumerator_18121.current_value (HERE), var_currentPath_17581, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 566)) ; - } - enumerator_18121.gotoNextObject () ; - } - { - routine_displayOil_3F_ (GALGAS_string ("}; /* END IMPLEMENTATION ").add_operation (var_objectName_17422.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 569)).add_operation (GALGAS_string (" : \""), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 569)).add_operation (var_oil_5F_desc_17787.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 570)).add_operation (GALGAS_string ("\" */\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 570)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 569)) ; +void routine_errorNoFileFound (const GALGAS_stringlist constinArgument_searchedPaths, + const GALGAS_string constinArgument_kind, + const GALGAS_lstring constinArgument_file, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string var_m_16123 = GALGAS_string ("cannot find a valid path for the '").add_operation (constinArgument_file.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 551)).add_operation (GALGAS_string ("' "), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 551)).add_operation (constinArgument_kind, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 551)).add_operation (GALGAS_string (" file. I have tried:"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 551)) ; + cEnumerator_stringlist enumerator_16216 (constinArgument_searchedPaths, kENUMERATION_UP) ; + while (enumerator_16216.hasCurrentObject ()) { + var_m_16123.plusAssign_operation(GALGAS_string ("\n - '").add_operation (enumerator_16216.current_mValue (HERE), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 553)).add_operation (GALGAS_string ("'"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 553)), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 553)) ; + enumerator_16216.gotoNextObject () ; } + TC_Array fixItArray0 ; + inCompiler->emitSemanticError (constinArgument_file.readProperty_location (), var_m_16123, fixItArray0 COMMA_SOURCE_FILE ("goil_routines.galgas", 555)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'arxmlImplementationObject&??' +//Function 'stringLBool' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_arxmlImplementationObject_26__3F__3F_ (GALGAS_implementation & ioArgument_implementation, - GALGAS_arxmlElementValue inArgument_packageElement, - GALGAS_lstring inArgument_parentPath, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_implementationMap var_imp_18497 = ioArgument_implementation.readProperty_imp () ; - GALGAS_implementationObjectMap var_objectAttributes_18551 = GALGAS_implementationObjectMap::class_func_emptyMap (SOURCE_FILE ("arxml_parser.galgas", 579)) ; - GALGAS_lstring var_objectName_18713 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), GALGAS_string ("SHORT-NAME"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 583)) ; - GALGAS_lstring var_currentPath_18824 = GALGAS_lstring::class_func_new (inArgument_parentPath.readProperty_string ().add_operation (GALGAS_string ("/"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 586)).add_operation (var_objectName_18713.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 586)), inArgument_parentPath.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 586)) ; - GALGAS_lstring var_objectKind_19073 = var_objectName_18713 ; - var_objectKind_19073.setter_setString (var_objectName_18713.readProperty_string ().getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 591)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 591)) ; - { - routine_displayOil_3F_ (GALGAS_string (" ").add_operation (var_objectKind_19073.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 593)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 593)) ; - } - GALGAS_lbool var_multiple_19297 ; - { - routine_arxmlGetMultiplicity_3F__3F__21_ (inArgument_packageElement, var_objectName_18713, var_multiple_19297, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 596)) ; - } - { - routine_displayOil_3F_ (GALGAS_string ("\n {\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 597)) ; - } - GALGAS_lstring var_oil_5F_desc_19416 ; - { - routine_arxmlGetDescription_3F__21_ (inArgument_packageElement, var_oil_5F_desc_19416, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 600)) ; - } - { - routine_arxmlImplementationContainer_26__3F__3F_ (var_objectAttributes_18551, inArgument_packageElement, var_currentPath_18824, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 603)) ; - } - { - routine_displayOil_3F_ (GALGAS_string (" }; /* \"").add_operation (var_oil_5F_desc_19416.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 607)).add_operation (GALGAS_string ("\"*/\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 607)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 607)) ; - } - GALGAS_implementationObject var_newObject_19721 = GALGAS_implementationObject::class_func_new (var_multiple_19297, var_objectAttributes_18551 COMMA_SOURCE_FILE ("arxml_parser.galgas", 611)) ; - GALGAS_implementationObject var_object_19894 ; +GALGAS_string function_stringLBool (const GALGAS_lbool & constinArgument_boolValue, + C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_result ; // Returned variable enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - test_0 = callExtensionGetter_hasKey ((const cPtr_implementation *) ioArgument_implementation.ptr (), var_objectName_18713.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 616)).boolEnum () ; + test_0 = constinArgument_boolValue.readProperty_bool ().boolEnum () ; if (kBoolTrue == test_0) { - { - var_imp_18497.setter_del (var_objectName_18713, var_object_19894, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 617)) ; - } - var_object_19894 = callExtensionGetter_mergeImplementationObjectWith ((const cPtr_implementationObject *) var_object_19894.ptr (), var_newObject_19721, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 618)) ; + result_result = GALGAS_string ("TRUE") ; } } if (kBoolFalse == test_0) { - var_object_19894 = var_newObject_19721 ; - } - { - var_imp_18497.setter_put (var_objectName_18713, var_object_19894, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 624)) ; - } - { - ioArgument_implementation.setter_setImp (var_imp_18497 COMMA_SOURCE_FILE ("arxml_parser.galgas", 625)) ; + result_result = GALGAS_string ("FALSE") ; } +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- -// -//Routine 'arxmlImplementationContainer&??' -// -//-------------------------------------------------------------------------------------------------- - -void routine_arxmlImplementationContainer_26__3F__3F_ (GALGAS_implementationObjectMap & ioArgument_objectAttributes, - GALGAS_arxmlElementValue inArgument_currentElement, - GALGAS_lstring inArgument_parentPath, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_arxmlElementValueList var_intParameters_20546 = GALGAS_arxmlElementValueList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 636)) ; - GALGAS_stringlist var_intParametersPath_20579 = GALGAS_stringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 637)) ; - var_intParametersPath_20579.addAssign_operation (GALGAS_string ("PARAMETERS") COMMA_SOURCE_FILE ("arxml_parser.galgas", 638)) ; - var_intParametersPath_20579.addAssign_operation (GALGAS_string ("ECUC-INTEGER-PARAM-DEF") COMMA_SOURCE_FILE ("arxml_parser.galgas", 639)) ; - callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), var_intParametersPath_20579, var_intParameters_20546, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 640)) ; - cEnumerator_arxmlElementValueList enumerator_20786 (var_intParameters_20546, kENUMERATION_UP) ; - while (enumerator_20786.hasCurrentObject ()) { - GALGAS_lstring var_attributeName_20834 ; - GALGAS_impType var_type_20865 ; - { - routine_arxmlImplementationContainerNumber_21__21__3F__3F__3F_ (var_attributeName_20834, var_type_20865, GALGAS_dataType::class_func_uint_36__34_Number (SOURCE_FILE ("arxml_parser.galgas", 647)), enumerator_20786.current_value (HERE), inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 645)) ; - } - { - routine_arxmlInsertObjectAttribute_26__3F__3F_ (ioArgument_objectAttributes, var_attributeName_20834, var_type_20865, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 650)) ; - } - enumerator_20786.gotoNextObject () ; - } - GALGAS_arxmlElementValueList var_floatParameters_21418 = GALGAS_arxmlElementValueList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 656)) ; - GALGAS_stringlist var_floatParametersPath_21453 = GALGAS_stringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 657)) ; - var_floatParametersPath_21453.addAssign_operation (GALGAS_string ("PARAMETERS") COMMA_SOURCE_FILE ("arxml_parser.galgas", 658)) ; - var_floatParametersPath_21453.addAssign_operation (GALGAS_string ("ECUC-FLOAT-PARAM-DEF") COMMA_SOURCE_FILE ("arxml_parser.galgas", 659)) ; - callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), var_floatParametersPath_21453, var_floatParameters_21418, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 660)) ; - cEnumerator_arxmlElementValueList enumerator_21668 (var_floatParameters_21418, kENUMERATION_UP) ; - while (enumerator_21668.hasCurrentObject ()) { - GALGAS_lstring var_attributeName_21718 ; - GALGAS_impType var_type_21749 ; - { - routine_arxmlImplementationContainerNumber_21__21__3F__3F__3F_ (var_attributeName_21718, var_type_21749, GALGAS_dataType::class_func_floatNumber (SOURCE_FILE ("arxml_parser.galgas", 667)), enumerator_21668.current_value (HERE), inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 665)) ; - } - { - routine_arxmlInsertObjectAttribute_26__3F__3F_ (ioArgument_objectAttributes, var_attributeName_21718, var_type_21749, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 670)) ; - } - enumerator_21668.gotoNextObject () ; - } - GALGAS_arxmlElementValueList var_stringParameters_22289 = GALGAS_arxmlElementValueList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 676)) ; - GALGAS_stringlist var_stringParametersPath_22325 = GALGAS_stringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 677)) ; - var_stringParametersPath_22325.addAssign_operation (GALGAS_string ("PARAMETERS") COMMA_SOURCE_FILE ("arxml_parser.galgas", 678)) ; - var_stringParametersPath_22325.addAssign_operation (GALGAS_string ("ECUC-STRING-PARAM-DEF") COMMA_SOURCE_FILE ("arxml_parser.galgas", 679)) ; - callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), var_stringParametersPath_22325, var_stringParameters_22289, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 680)) ; - cEnumerator_arxmlElementValueList enumerator_22546 (var_stringParameters_22289, kENUMERATION_UP) ; - while (enumerator_22546.hasCurrentObject ()) { - GALGAS_lstring var_attributeName_22597 ; - GALGAS_impType var_type_22628 ; - { - routine_arxmlImplementationContainerString_21__21__3F__3F__3F_ (var_attributeName_22597, var_type_22628, GALGAS_dataType::class_func_string (SOURCE_FILE ("arxml_parser.galgas", 687)), enumerator_22546.current_value (HERE), inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 685)) ; - } - { - routine_arxmlInsertObjectAttribute_26__3F__3F_ (ioArgument_objectAttributes, var_attributeName_22597, var_type_22628, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 690)) ; - } - enumerator_22546.gotoNextObject () ; - } - GALGAS_arxmlElementValueList var_booleanParameters_23164 = GALGAS_arxmlElementValueList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 696)) ; - GALGAS_stringlist var_booleanParametersPath_23201 = GALGAS_stringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 697)) ; - var_booleanParametersPath_23201.addAssign_operation (GALGAS_string ("PARAMETERS") COMMA_SOURCE_FILE ("arxml_parser.galgas", 698)) ; - var_booleanParametersPath_23201.addAssign_operation (GALGAS_string ("ECUC-BOOLEAN-PARAM-DEF") COMMA_SOURCE_FILE ("arxml_parser.galgas", 699)) ; - callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), var_booleanParametersPath_23201, var_booleanParameters_23164, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 700)) ; - cEnumerator_arxmlElementValueList enumerator_23428 (var_booleanParameters_23164, kENUMERATION_UP) ; - while (enumerator_23428.hasCurrentObject ()) { - GALGAS_lstring var_attributeName_23480 ; - GALGAS_impType var_type_23511 ; - { - routine_arxmlImplementationContainerBoolean_21__21__3F__3F__3F_ (var_attributeName_23480, var_type_23511, GALGAS_dataType::class_func_boolean (SOURCE_FILE ("arxml_parser.galgas", 707)), enumerator_23428.current_value (HERE), inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 705)) ; - } - { - routine_arxmlInsertObjectAttribute_26__3F__3F_ (ioArgument_objectAttributes, var_attributeName_23480, var_type_23511, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 710)) ; - } - enumerator_23428.gotoNextObject () ; - } - GALGAS_arxmlElementValueList var_enumParameters_24050 = GALGAS_arxmlElementValueList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 716)) ; - GALGAS_stringlist var_enumParametersPath_24084 = GALGAS_stringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 717)) ; - var_enumParametersPath_24084.addAssign_operation (GALGAS_string ("PARAMETERS") COMMA_SOURCE_FILE ("arxml_parser.galgas", 718)) ; - var_enumParametersPath_24084.addAssign_operation (GALGAS_string ("ECUC-ENUMERATION-PARAM-DEF") COMMA_SOURCE_FILE ("arxml_parser.galgas", 719)) ; - callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), var_enumParametersPath_24084, var_enumParameters_24050, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 720)) ; - cEnumerator_arxmlElementValueList enumerator_24300 (var_enumParameters_24050, kENUMERATION_UP) ; - while (enumerator_24300.hasCurrentObject ()) { - GALGAS_lstring var_attributeName_24349 ; - GALGAS_impType var_type_24380 ; - { - routine_arxmlImplementationContainerEnumeration_21__21__3F__3F__3F_ (var_attributeName_24349, var_type_24380, GALGAS_dataType::class_func_enumeration (SOURCE_FILE ("arxml_parser.galgas", 727)), enumerator_24300.current_value (HERE), inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 725)) ; - } - { - routine_arxmlInsertObjectAttribute_26__3F__3F_ (ioArgument_objectAttributes, var_attributeName_24349, var_type_24380, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 730)) ; - } - enumerator_24300.gotoNextObject () ; - } - GALGAS_arxmlElementValueList var_structParameters_24945 = GALGAS_arxmlElementValueList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 736)) ; - GALGAS_stringlist var_structParametersPath_24981 = GALGAS_stringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 737)) ; - var_structParametersPath_24981.addAssign_operation (GALGAS_string ("SUB-CONTAINERS") COMMA_SOURCE_FILE ("arxml_parser.galgas", 738)) ; - var_structParametersPath_24981.addAssign_operation (GALGAS_string ("ECUC-PARAM-CONF-CONTAINER-DEF") COMMA_SOURCE_FILE ("arxml_parser.galgas", 739)) ; - callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), var_structParametersPath_24981, var_structParameters_24945, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 740)) ; - cEnumerator_arxmlElementValueList enumerator_25214 (var_structParameters_24945, kENUMERATION_UP) ; - while (enumerator_25214.hasCurrentObject ()) { - GALGAS_lstring var_attributeName_25265 ; - GALGAS_impType var_type_25296 ; - { - routine_arxmlImplementationContainerStructure_21__21__3F__3F__3F_ (var_attributeName_25265, var_type_25296, GALGAS_dataType::class_func_structType (SOURCE_FILE ("arxml_parser.galgas", 747)), enumerator_25214.current_value (HERE), inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 745)) ; - } - { - routine_arxmlInsertObjectAttribute_26__3F__3F_ (ioArgument_objectAttributes, var_attributeName_25265, var_type_25296, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 750)) ; - } - enumerator_25214.gotoNextObject () ; - } - GALGAS_arxmlElementValueList var_identParameters_25854 = GALGAS_arxmlElementValueList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 756)) ; - GALGAS_stringlist var_identParametersPath_25889 = GALGAS_stringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 757)) ; - var_identParametersPath_25889.addAssign_operation (GALGAS_string ("REFERENCES") COMMA_SOURCE_FILE ("arxml_parser.galgas", 758)) ; - var_identParametersPath_25889.addAssign_operation (GALGAS_string ("TPL-IDENTIFIER-DEF") COMMA_SOURCE_FILE ("arxml_parser.galgas", 759)) ; - callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), var_identParametersPath_25889, var_identParameters_25854, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 760)) ; - cEnumerator_arxmlElementValueList enumerator_26102 (var_identParameters_25854, kENUMERATION_UP) ; - while (enumerator_26102.hasCurrentObject ()) { - GALGAS_lstring var_attributeName_26152 ; - GALGAS_impType var_type_26183 ; - { - routine_arxmlImplementationContainerIdentifier_21__21__3F__3F__3F_ (var_attributeName_26152, var_type_26183, GALGAS_dataType::class_func_identifier (SOURCE_FILE ("arxml_parser.galgas", 767)), enumerator_26102.current_value (HERE), inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 765)) ; - } - { - routine_arxmlInsertObjectAttribute_26__3F__3F_ (ioArgument_objectAttributes, var_attributeName_26152, var_type_26183, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 770)) ; - } - enumerator_26102.gotoNextObject () ; - } - GALGAS_arxmlElementValueList var_refParameters_26745 = GALGAS_arxmlElementValueList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 776)) ; - GALGAS_stringlist var_refParametersPath_26778 = GALGAS_stringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 777)) ; - var_refParametersPath_26778.addAssign_operation (GALGAS_string ("REFERENCES") COMMA_SOURCE_FILE ("arxml_parser.galgas", 778)) ; - var_refParametersPath_26778.addAssign_operation (GALGAS_string ("ECUC-REFERENCE-DEF") COMMA_SOURCE_FILE ("arxml_parser.galgas", 779)) ; - callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), var_refParametersPath_26778, var_refParameters_26745, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 780)) ; - cEnumerator_arxmlElementValueList enumerator_26981 (var_refParameters_26745, kENUMERATION_UP) ; - while (enumerator_26981.hasCurrentObject ()) { - GALGAS_lstring var_attributeName_27029 ; - GALGAS_impType var_type_27060 ; - { - routine_arxmlImplementationContainerReference_21__21__3F__3F__3F_ (var_attributeName_27029, var_type_27060, GALGAS_dataType::class_func_objectType (SOURCE_FILE ("arxml_parser.galgas", 787)), enumerator_26981.current_value (HERE), inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 785)) ; - } - { - routine_arxmlInsertObjectAttribute_26__3F__3F_ (ioArgument_objectAttributes, var_attributeName_27029, var_type_27060, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 790)) ; - } - enumerator_26981.gotoNextObject () ; - } -} +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- +static const C_galgas_type_descriptor * functionArgs_stringLBool [2] = { + & kTypeDescriptor_GALGAS_lbool, + nullptr +} ; -//-------------------------------------------------------------------------------------------------- -// -//Routine 'arxmlImplementationContainerNumber!!???' -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_arxmlImplementationContainerNumber_21__21__3F__3F__3F_ (GALGAS_lstring & outArgument_objectName, - GALGAS_impType & outArgument_options, - const GALGAS_dataType constinArgument_iType, - GALGAS_arxmlElementValue inArgument_parameter, - GALGAS_lstring /* inArgument_parentPath */, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_objectName.drop () ; // Release 'out' argument - outArgument_options.drop () ; // Release 'out' argument - GALGAS_dataType var_type_27685 = constinArgument_iType ; - { - routine_arxmlGetName_3F__21_ (inArgument_parameter, outArgument_objectName, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 806)) ; - } - GALGAS_lbool var_multiple_27839 ; - { - routine_arxmlGetMultiplicity_3F__3F__21_ (inArgument_parameter, outArgument_objectName, var_multiple_27839, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 809)) ; - } - GALGAS_bool var_withAuto_27905 ; - { - routine_arxmlGetWithAuto_3F__21_ (inArgument_parameter, var_withAuto_27905, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 812)) ; - } - GALGAS_lstring var_oil_5F_desc_27994 ; - { - routine_arxmlGetDescription_3F__21_ (inArgument_parameter, var_oil_5F_desc_27994, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 815)) ; - } - GALGAS_attributeRange var_range_28151 ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - GALGAS_bool test_1 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("MIN"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 821)) ; - if (kBoolTrue == test_1.boolEnum ()) { - test_1 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("MAX"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 821)) ; - } - test_0 = test_1.boolEnum () ; - if (kBoolTrue == test_0) { - GALGAS_lstring var_min_28243 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("MIN"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 822)) ; - GALGAS_lstring var_max_28300 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("MAX"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 823)) ; - GALGAS_string var_minSignString_28356 = GALGAS_string::makeEmptyString () ; - GALGAS_string var_maxSignString_28387 = GALGAS_string::makeEmptyString () ; - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = GALGAS_bool (kIsEqual, var_max_28300.readProperty_string ().getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 827)).objectCompare (GALGAS_string ("INF"))).boolEnum () ; - if (kBoolTrue == test_2) { - var_max_28300.setter_setString (GALGAS_sint_36__34_::class_func_max (SOURCE_FILE ("arxml_parser.galgas", 828)).getter_string (SOURCE_FILE ("arxml_parser.galgas", 828)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 828)) ; - } - } - GALGAS_bool var_minSign_28542 ; - { - routine_arxmlPopSign_26__21_ (var_min_28243, var_minSign_28542, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 831)) ; - } - GALGAS_bool var_maxSign_28585 ; - { - routine_arxmlPopSign_26__21_ (var_max_28300, var_maxSign_28585, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 832)) ; - } - enumGalgasBool test_3 = kBoolTrue ; - if (kBoolTrue == test_3) { - test_3 = var_minSign_28542.boolEnum () ; - if (kBoolTrue == test_3) { - var_minSignString_28356 = GALGAS_string ("-") ; - var_type_27685 = GALGAS_dataType::class_func_sint_36__34_Number (SOURCE_FILE ("arxml_parser.galgas", 837)) ; - } - } - enumGalgasBool test_4 = kBoolTrue ; - if (kBoolTrue == test_4) { - test_4 = var_maxSign_28585.boolEnum () ; - if (kBoolTrue == test_4) { - var_maxSignString_28387 = GALGAS_string ("-") ; - var_type_27685 = GALGAS_dataType::class_func_sint_36__34_Number (SOURCE_FILE ("arxml_parser.galgas", 841)) ; - } - } - { - routine_displayOil_3F_ (GALGAS_string (" ").add_operation (extensionGetter_oilType (var_type_27685, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 843)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 843)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 843)) ; - } - { - routine_displayOil_3F_ (GALGAS_string (" ").add_operation (outArgument_objectName.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 844)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 844)) ; - } - GALGAS_object_5F_t var_start_28934 ; - GALGAS_object_5F_t var_stop_28958 ; - enumGalgasBool test_5 = kBoolTrue ; - if (kBoolTrue == test_5) { - GALGAS_bool test_6 = GALGAS_bool (kIsEqual, var_type_27685.objectCompare (GALGAS_dataType::class_func_uint_36__34_Number (SOURCE_FILE ("arxml_parser.galgas", 849)))) ; - if (kBoolTrue != test_6.boolEnum ()) { - test_6 = GALGAS_bool (kIsEqual, var_type_27685.objectCompare (GALGAS_dataType::class_func_sint_36__34_Number (SOURCE_FILE ("arxml_parser.galgas", 849)))) ; - } - test_5 = test_6.boolEnum () ; - if (kBoolTrue == test_5) { - GALGAS_luint_36__34_ var_minVal_29060 = GALGAS_luint_36__34_::class_func_new (var_min_28243.readProperty_string ().getter_decimalUnsigned_36__34_Number (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 851)), var_min_28243.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 850)) ; - GALGAS_luint_36__34_ var_maxVal_29242 = GALGAS_luint_36__34_::class_func_new (var_max_28300.readProperty_string ().getter_decimalUnsigned_36__34_Number (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 855)), var_max_28300.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 854)) ; - { - routine_displayOil_3F_ (GALGAS_string ("[").add_operation (var_minSignString_28356, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 858)).add_operation (var_minVal_29060.readProperty_uint_36__34_ ().getter_string (SOURCE_FILE ("arxml_parser.galgas", 858)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 858)).add_operation (GALGAS_string (" .. "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 858)).add_operation (var_maxSignString_28387, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 859)).add_operation (var_maxVal_29242.readProperty_uint_36__34_ ().getter_string (SOURCE_FILE ("arxml_parser.galgas", 859)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 859)).add_operation (GALGAS_string ("]"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 859)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 858)) ; - } - var_start_28934 = function_checkAndGetIntegerNumber (function_emptyLString (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 860)), var_type_27685, var_minVal_29060, var_minSign_28542, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 860)) ; - var_stop_28958 = function_checkAndGetIntegerNumber (function_emptyLString (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 861)), var_type_27685, var_maxVal_29242, var_maxSign_28585, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 861)) ; - } - } - if (kBoolFalse == test_5) { - enumGalgasBool test_7 = kBoolTrue ; - if (kBoolTrue == test_7) { - test_7 = GALGAS_bool (kIsEqual, var_type_27685.objectCompare (GALGAS_dataType::class_func_floatNumber (SOURCE_FILE ("arxml_parser.galgas", 862)))).boolEnum () ; - if (kBoolTrue == test_7) { - GALGAS_ldouble var_minVal_29748 = GALGAS_ldouble::class_func_new (var_min_28243.readProperty_string ().getter_doubleNumber (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 864)), var_min_28243.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 863)) ; - GALGAS_ldouble var_maxVal_29919 = GALGAS_ldouble::class_func_new (var_max_28300.readProperty_string ().getter_doubleNumber (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 868)), var_max_28300.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 867)) ; - { - routine_displayOil_3F_ (GALGAS_string ("[").add_operation (var_minVal_29748.readProperty_double ().getter_string (SOURCE_FILE ("arxml_parser.galgas", 871)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 871)).add_operation (GALGAS_string (" .. "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 871)).add_operation (var_maxVal_29919.readProperty_double ().getter_string (SOURCE_FILE ("arxml_parser.galgas", 871)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 871)).add_operation (GALGAS_string ("]"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 871)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 871)) ; - } - var_start_28934 = function_checkAndGetFloatNumber (function_emptyLString (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 872)), var_type_27685, var_minVal_29748, var_minSign_28542, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 872)) ; - var_stop_28958 = function_checkAndGetFloatNumber (function_emptyLString (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 873)), var_type_27685, var_maxVal_29919, var_maxSign_28585, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 873)) ; - } - } - if (kBoolFalse == test_7) { - TC_Array fixItArray8 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 875)), GALGAS_string ("Internal error"), fixItArray8 COMMA_SOURCE_FILE ("arxml_parser.galgas", 875)) ; - var_start_28934.drop () ; // Release error dropped variable - var_stop_28958.drop () ; // Release error dropped variable - } - } - var_range_28151 = function_buildRange (var_type_27685, var_start_28934, var_stop_28958, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 877)) ; - } - } - if (kBoolFalse == test_0) { - { - routine_displayOil_3F_ (GALGAS_string (" ").add_operation (extensionGetter_oilType (var_type_27685, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 879)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 879)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 879)) ; - } - { - routine_displayOil_3F_ (GALGAS_string (" ").add_operation (outArgument_objectName.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 880)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 880)) ; - } - var_range_28151 = GALGAS_noRange::class_func_new (outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 881)) ; - } - GALGAS_object_5F_t var_defaultValue_30590 ; - enumGalgasBool test_9 = kBoolTrue ; - if (kBoolTrue == test_9) { - test_9 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("DEFAULT-VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 886)).boolEnum () ; - if (kBoolTrue == test_9) { - GALGAS_lstring var_value_30666 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("DEFAULT-VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 887)) ; - GALGAS_bool var_sign_30788 ; - { - routine_arxmlPopSign_26__21_ (var_value_30666, var_sign_30788, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 890)) ; - } - enumGalgasBool test_10 = kBoolTrue ; - if (kBoolTrue == test_10) { - GALGAS_bool test_11 = GALGAS_bool (kIsEqual, var_type_27685.objectCompare (GALGAS_dataType::class_func_uint_36__34_Number (SOURCE_FILE ("arxml_parser.galgas", 893)))) ; - if (kBoolTrue != test_11.boolEnum ()) { - test_11 = GALGAS_bool (kIsEqual, var_type_27685.objectCompare (GALGAS_dataType::class_func_sint_36__34_Number (SOURCE_FILE ("arxml_parser.galgas", 893)))) ; - } - test_10 = test_11.boolEnum () ; - if (kBoolTrue == test_10) { - GALGAS_luint_36__34_ var_integerValue_30962 = GALGAS_luint_36__34_::class_func_new (var_value_30666.readProperty_string ().getter_decimalUnsignedNumber (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 895)).getter_uint_36__34_ (SOURCE_FILE ("arxml_parser.galgas", 895)), var_value_30666.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 894)) ; - { - routine_displayOil_3F_ (GALGAS_string (" = ").add_operation (var_integerValue_30962.readProperty_uint_36__34_ ().getter_string (SOURCE_FILE ("arxml_parser.galgas", 897)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 897)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 897)) ; - } - var_defaultValue_30590 = function_checkAndGetIntegerNumber (var_oil_5F_desc_27994, var_type_27685, var_integerValue_30962, var_sign_30788, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 898)) ; - } - } - if (kBoolFalse == test_10) { - enumGalgasBool test_12 = kBoolTrue ; - if (kBoolTrue == test_12) { - test_12 = GALGAS_bool (kIsEqual, var_type_27685.objectCompare (GALGAS_dataType::class_func_floatNumber (SOURCE_FILE ("arxml_parser.galgas", 902)))).boolEnum () ; - if (kBoolTrue == test_12) { - GALGAS_ldouble var_floatValue_31443 = GALGAS_ldouble::class_func_new (var_value_30666.readProperty_string ().getter_doubleNumber (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 904)), var_value_30666.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 903)) ; - { - routine_displayOil_3F_ (GALGAS_string (" = ").add_operation (var_floatValue_31443.readProperty_double ().getter_string (SOURCE_FILE ("arxml_parser.galgas", 906)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 906)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 906)) ; - } - var_defaultValue_30590 = function_checkAndGetFloatNumber (var_oil_5F_desc_27994, var_type_27685, var_floatValue_31443, var_sign_30788, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 907)) ; - } - } - if (kBoolFalse == test_12) { - TC_Array fixItArray13 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 912)), GALGAS_string ("Internal error"), fixItArray13 COMMA_SOURCE_FILE ("arxml_parser.galgas", 912)) ; - var_defaultValue_30590.drop () ; // Release error dropped variable - } - } - } - } - if (kBoolFalse == test_9) { - enumGalgasBool test_14 = kBoolTrue ; - if (kBoolTrue == test_14) { - test_14 = var_withAuto_27905.boolEnum () ; - if (kBoolTrue == test_14) { - var_defaultValue_30590 = GALGAS_auto::class_func_new (var_oil_5F_desc_27994, outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 915)) ; - } - } - if (kBoolFalse == test_14) { - var_defaultValue_30590 = GALGAS_void::class_func_new (var_oil_5F_desc_27994, outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 917)) ; - } - } - { - routine_displayOil_3F_ (GALGAS_string (": \"").add_operation (var_oil_5F_desc_27994.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 919)).add_operation (GALGAS_string ("\";\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 919)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 919)) ; - } - GALGAS_locationList temp_15 = GALGAS_locationList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 922)) ; - temp_15.addAssign_operation (outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 922)) ; - GALGAS_lstringlist temp_16 = GALGAS_lstringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 926)) ; - temp_16.addAssign_operation (var_oil_5F_desc_27994 COMMA_SOURCE_FILE ("arxml_parser.galgas", 926)) ; - outArgument_options = GALGAS_impRangedType::class_func_new (temp_15, var_type_27685, outArgument_objectName, var_multiple_27839.readProperty_bool (), temp_16, var_withAuto_27905, var_defaultValue_30590, var_range_28151 COMMA_SOURCE_FILE ("arxml_parser.galgas", 922)) ; +static GALGAS_object functionWithGenericHeader_stringLBool (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_lbool operand0 = GALGAS_lbool::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_stringLBool (operand0, + inCompiler + COMMA_THERE).getter_object (THERE) ; } +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_stringLBool ("stringLBool", + functionWithGenericHeader_stringLBool, + & kTypeDescriptor_GALGAS_string, + 1, + functionArgs_stringLBool) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'arxmlImplementationContainerString!!???' +//Overriding extension method '@structAttribute set' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_arxmlImplementationContainerString_21__21__3F__3F__3F_ (GALGAS_lstring & outArgument_objectName, - GALGAS_impType & outArgument_options, - const GALGAS_dataType constinArgument_type, - GALGAS_arxmlElementValue inArgument_parameter, - GALGAS_lstring /* inArgument_parentPath */, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_objectName.drop () ; // Release 'out' argument - outArgument_options.drop () ; // Release 'out' argument - { - routine_displayOil_3F_ (GALGAS_string (" ").add_operation (extensionGetter_oilType (constinArgument_type, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 939)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 939)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 939)) ; - } - { - routine_arxmlGetName_3F__21_ (inArgument_parameter, outArgument_objectName, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 942)) ; - } - { - routine_displayOil_3F_ (GALGAS_string (" ").add_operation (outArgument_objectName.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 943)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 943)) ; - } - GALGAS_lbool var_multiple_32874 ; - { - routine_arxmlGetMultiplicity_3F__3F__21_ (inArgument_parameter, outArgument_objectName, var_multiple_32874, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 946)) ; - } - GALGAS_bool var_withAuto_32940 ; +void cPtr_structAttribute::method_set (const GALGAS_lstring constinArgument_name, + GALGAS_gtlData & ioArgument_result, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_gtlData var_subAttrs_928 = callExtensionGetter_fieldMap ((const cPtr_objectAttributes *) this->mProperty_subAttributes.ptr (), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 33)) ; { - routine_arxmlGetWithAuto_3F__21_ (inArgument_parameter, var_withAuto_32940, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 949)) ; + var_subAttrs_928.insulate (HERE) ; + cPtr_gtlData * ptr_969 = (cPtr_gtlData *) var_subAttrs_928.ptr () ; + callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_969, GALGAS_lstring::constructor_new (GALGAS_string ("NAME"), this->mProperty_structName.readProperty_location () COMMA_SOURCE_FILE ("systemConfig.galgas", 35)), GALGAS_gtlString::constructor_new (this->mProperty_location, this->mProperty_oil_5F_desc, this->mProperty_structName.readProperty_string () COMMA_SOURCE_FILE ("systemConfig.galgas", 36)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 34)) ; } - GALGAS_lstring var_oil_5F_desc_33029 ; { - routine_arxmlGetDescription_3F__21_ (inArgument_parameter, var_oil_5F_desc_33029, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 952)) ; - } - GALGAS_object_5F_t var_defaultValue_33075 ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("DEFAULT-VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 957)).boolEnum () ; - if (kBoolTrue == test_0) { - GALGAS_lstring var_value_33155 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("DEFAULT-VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 958)) ; - { - routine_displayOil_3F_ (GALGAS_string (" = \"").add_operation (var_value_33155.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 959)).add_operation (GALGAS_string ("\""), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 959)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 959)) ; - } - var_defaultValue_33075 = GALGAS_stringAttribute::class_func_new (var_oil_5F_desc_33029, var_value_33155.readProperty_location (), var_value_33155.readProperty_string () COMMA_SOURCE_FILE ("arxml_parser.galgas", 960)) ; - } - } - if (kBoolFalse == test_0) { - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = var_withAuto_32940.boolEnum () ; - if (kBoolTrue == test_1) { - var_defaultValue_33075 = GALGAS_auto::class_func_new (var_oil_5F_desc_33029, outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 966)) ; - } - } - if (kBoolFalse == test_1) { - var_defaultValue_33075 = GALGAS_void::class_func_new (var_oil_5F_desc_33029, outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 968)) ; - } + var_subAttrs_928.setter_setMeta (this->mProperty_oil_5F_desc COMMA_SOURCE_FILE ("systemConfig.galgas", 38)) ; } { - routine_displayOil_3F_ (GALGAS_string (": \"").add_operation (var_oil_5F_desc_33029.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 970)).add_operation (GALGAS_string ("\";\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 970)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 970)) ; + ioArgument_result.insulate (HERE) ; + cPtr_gtlData * ptr_1124 = (cPtr_gtlData *) ioArgument_result.ptr () ; + callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_1124, constinArgument_name, var_subAttrs_928, inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 39)) ; } - GALGAS_locationList temp_2 = GALGAS_locationList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 974)) ; - temp_2.addAssign_operation (outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 974)) ; - GALGAS_lstringlist temp_3 = GALGAS_lstringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 978)) ; - temp_3.addAssign_operation (var_oil_5F_desc_33029 COMMA_SOURCE_FILE ("arxml_parser.galgas", 978)) ; - outArgument_options = GALGAS_impAutoDefaultType::class_func_new (temp_2, constinArgument_type, outArgument_objectName, var_multiple_32874.readProperty_bool (), temp_3, var_withAuto_32940, var_defaultValue_33075 COMMA_SOURCE_FILE ("arxml_parser.galgas", 973)) ; } - - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'arxmlImplementationContainerBoolean!!???' +//Overriding extension method '@boolAttribute set' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_arxmlImplementationContainerBoolean_21__21__3F__3F__3F_ (GALGAS_lstring & outArgument_objectName, - GALGAS_impType & outArgument_options, - const GALGAS_dataType constinArgument_type, - GALGAS_arxmlElementValue inArgument_parameter, - GALGAS_lstring inArgument_parentPath, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_objectName.drop () ; // Release 'out' argument - outArgument_options.drop () ; // Release 'out' argument - { - routine_displayOil_3F_ (GALGAS_string (" ").add_operation (extensionGetter_oilType (constinArgument_type, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 991)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 991)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 991)) ; - } - { - routine_arxmlGetName_3F__21_ (inArgument_parameter, outArgument_objectName, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 994)) ; - } - { - routine_displayOil_3F_ (GALGAS_string (" ").add_operation (outArgument_objectName.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 995)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 995)) ; - } - GALGAS_bool var_withAuto_34510 ; - { - routine_arxmlGetWithAuto_3F__21_ (inArgument_parameter, var_withAuto_34510, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 998)) ; - } - GALGAS_lbool var_multiple_34604 ; - { - routine_arxmlGetMultiplicity_3F__3F__21_ (inArgument_parameter, outArgument_objectName, var_multiple_34604, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1001)) ; - } - GALGAS_lstring var_oil_5F_desc_34693 ; +void cPtr_boolAttribute::method_set (const GALGAS_lstring constinArgument_name, + GALGAS_gtlData & ioArgument_result, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { { - routine_arxmlGetDescription_3F__21_ (inArgument_parameter, var_oil_5F_desc_34693, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1004)) ; + ioArgument_result.insulate (HERE) ; + cPtr_gtlData * ptr_1570 = (cPtr_gtlData *) ioArgument_result.ptr () ; + callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_1570, constinArgument_name, GALGAS_gtlBool::constructor_new (this->mProperty_location, this->mProperty_oil_5F_desc, this->mProperty_value COMMA_SOURCE_FILE ("systemConfig.galgas", 52)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 52)) ; } - GALGAS_object_5F_t var_defaultValue_34738 ; + GALGAS_gtlData var_subAttrs_1655 = callExtensionGetter_fieldMap ((const cPtr_objectAttributes *) this->mProperty_subAttributes.ptr (), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 53)) ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - test_0 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("DEFAULT-VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1008)).boolEnum () ; - if (kBoolTrue == test_0) { - GALGAS_lstring var_value_34818 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("DEFAULT-VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1009)) ; - GALGAS_bool var_booleanValue_34888 ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - GALGAS_bool test_2 = GALGAS_bool (kIsEqual, var_value_34818.readProperty_string ().getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 1011)).objectCompare (GALGAS_string ("TRUE"))) ; - if (kBoolTrue != test_2.boolEnum ()) { - test_2 = GALGAS_bool (kIsEqual, var_value_34818.readProperty_string ().objectCompare (GALGAS_string ("1"))) ; - } - test_1 = test_2.boolEnum () ; - if (kBoolTrue == test_1) { - var_booleanValue_34888 = GALGAS_bool (true) ; - } - } - if (kBoolFalse == test_1) { - enumGalgasBool test_3 = kBoolTrue ; - if (kBoolTrue == test_3) { - GALGAS_bool test_4 = GALGAS_bool (kIsEqual, var_value_34818.readProperty_string ().getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 1014)).objectCompare (GALGAS_string ("FALSE"))) ; - if (kBoolTrue != test_4.boolEnum ()) { - test_4 = GALGAS_bool (kIsEqual, var_value_34818.readProperty_string ().objectCompare (GALGAS_string ("0"))) ; - } - test_3 = test_4.boolEnum () ; - if (kBoolTrue == test_3) { - var_booleanValue_34888 = GALGAS_bool (false) ; - } - } - if (kBoolFalse == test_3) { - var_booleanValue_34888 = GALGAS_bool (false) ; - TC_Array fixItArray5 ; - inCompiler->emitSemanticError (var_value_34818.readProperty_location (), GALGAS_string ("A Boolean must be 'true', 'false', '0' or '1'"), fixItArray5 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1019)) ; - } - } - { - routine_displayOil_3F_ (GALGAS_string (" = ").add_operation (var_booleanValue_34888.getter_cString (SOURCE_FILE ("arxml_parser.galgas", 1021)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1021)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1021)) ; - } - var_defaultValue_34738 = GALGAS_boolAttribute::class_func_new (var_oil_5F_desc_34693, var_value_34818.readProperty_location (), var_booleanValue_34888, GALGAS_objectAttributes::class_func_new (GALGAS_identifierMap::class_func_emptyMap (SOURCE_FILE ("arxml_parser.galgas", 1028)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1026)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1022)) ; - } - } - if (kBoolFalse == test_0) { - enumGalgasBool test_6 = kBoolTrue ; - if (kBoolTrue == test_6) { - test_6 = var_withAuto_34510.boolEnum () ; - if (kBoolTrue == test_6) { - var_defaultValue_34738 = GALGAS_auto::class_func_new (var_oil_5F_desc_34693, outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1032)) ; + GALGAS_gtlStruct temp_1 ; + if (var_subAttrs_1655.isValid ()) { + if (nullptr != dynamic_cast (var_subAttrs_1655.ptr ())) { + temp_1 = (cPtr_gtlStruct *) var_subAttrs_1655.ptr () ; + }else{ + inCompiler->castError ("gtlStruct", var_subAttrs_1655.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("systemConfig.galgas", 54)) ; } } - if (kBoolFalse == test_6) { - var_defaultValue_34738 = GALGAS_void::class_func_new (var_oil_5F_desc_34693, outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1034)) ; - } - } - GALGAS_implementationObjectMap var_structAttributes_36004 = GALGAS_implementationObjectMap::class_func_emptyMap (SOURCE_FILE ("arxml_parser.galgas", 1040)) ; - enumGalgasBool test_7 = kBoolTrue ; - if (kBoolTrue == test_7) { - test_7 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("SUB-CONTAINERS"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1041)).boolEnum () ; - if (kBoolTrue == test_7) { - { - routine_displayOil_3F_ (GALGAS_string ("\n {\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1042)) ; - } + test_0 = GALGAS_bool (kIsStrictSup, temp_1.readProperty_value ().getter_count (SOURCE_FILE ("systemConfig.galgas", 54)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_lstring var_structName_1761 = GALGAS_lstring::constructor_new (constinArgument_name.readProperty_string ().add_operation (GALGAS_string ("_S"), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 55)), constinArgument_name.readProperty_location () COMMA_SOURCE_FILE ("systemConfig.galgas", 55)) ; { - routine_arxmlImplementationContainer_26__3F__3F_ (var_structAttributes_36004, inArgument_parameter, inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1043)) ; + var_subAttrs_1655.setter_setMeta (this->mProperty_oil_5F_desc COMMA_SOURCE_FILE ("systemConfig.galgas", 56)) ; } { - routine_displayOil_3F_ (GALGAS_string ("\n } : \"").add_operation (var_oil_5F_desc_34693.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1044)).add_operation (GALGAS_string ("\";\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1044)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1044)) ; + ioArgument_result.insulate (HERE) ; + cPtr_gtlData * ptr_1871 = (cPtr_gtlData *) ioArgument_result.ptr () ; + callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_1871, var_structName_1761, var_subAttrs_1655, inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 57)) ; } } } - if (kBoolFalse == test_7) { - { - routine_displayOil_3F_ (GALGAS_string (" : \"").add_operation (var_oil_5F_desc_34693.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1046)).add_operation (GALGAS_string ("\";\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1046)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1046)) ; - } - } - GALGAS_locationList temp_8 = GALGAS_locationList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1051)) ; - temp_8.addAssign_operation (outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1051)) ; - GALGAS_lstringlist temp_9 = GALGAS_lstringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1055)) ; - temp_9.addAssign_operation (var_oil_5F_desc_34693 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1055)) ; - outArgument_options = GALGAS_impBoolType::class_func_new (temp_8, constinArgument_type, outArgument_objectName, var_multiple_34604.readProperty_bool (), temp_9, var_withAuto_34510, var_defaultValue_34738, var_structAttributes_36004, var_structAttributes_36004 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1050)) ; } - - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'arxmlImplementationContainerEnumeration!!???' +//Overriding extension method '@enumAttribute set' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_arxmlImplementationContainerEnumeration_21__21__3F__3F__3F_ (GALGAS_lstring & outArgument_objectName, - GALGAS_impType & outArgument_options, - const GALGAS_dataType constinArgument_type, - GALGAS_arxmlElementValue inArgument_parameter, - GALGAS_lstring /* inArgument_parentPath */, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_objectName.drop () ; // Release 'out' argument - outArgument_options.drop () ; // Release 'out' argument - { - routine_displayOil_3F_ (GALGAS_string (" ").add_operation (extensionGetter_oilType (constinArgument_type, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1070)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1070)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1070)) ; - } - { - routine_arxmlGetName_3F__21_ (inArgument_parameter, outArgument_objectName, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1073)) ; - } - { - routine_displayOil_3F_ (GALGAS_string (" ").add_operation (outArgument_objectName.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1074)).add_operation (GALGAS_string ("["), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1074)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1074)) ; - } - GALGAS_bool var_withAuto_37173 ; - { - routine_arxmlGetWithAuto_3F__21_ (inArgument_parameter, var_withAuto_37173, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1077)) ; - } - GALGAS_lbool var_multiple_37267 ; - { - routine_arxmlGetMultiplicity_3F__3F__21_ (inArgument_parameter, outArgument_objectName, var_multiple_37267, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1080)) ; - } - GALGAS_lstring var_oil_5F_desc_37356 ; - { - routine_arxmlGetDescription_3F__21_ (inArgument_parameter, var_oil_5F_desc_37356, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1083)) ; - } - GALGAS_enumValues var_enumValues_37446 = GALGAS_enumValues::class_func_emptyMap (SOURCE_FILE ("arxml_parser.galgas", 1087)) ; - GALGAS_arxmlElementValueList var_enumElementValues_37507 = GALGAS_arxmlElementValueList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1088)) ; - GALGAS_stringlist var_enumElementValuesPath_37544 = GALGAS_stringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1089)) ; - var_enumElementValuesPath_37544.addAssign_operation (GALGAS_string ("LITERALS") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1090)) ; - var_enumElementValuesPath_37544.addAssign_operation (GALGAS_string ("ECUC-ENUMERATION-LITERAL-DEF") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1091)) ; - callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_parameter.ptr (), var_enumElementValuesPath_37544, var_enumElementValues_37507, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1092)) ; - cEnumerator_arxmlElementValueList enumerator_37770 (var_enumElementValues_37507, kENUMERATION_UP) ; - while (enumerator_37770.hasCurrentObject ()) { - GALGAS_lstring var_enumValueName_37822 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) enumerator_37770.current_value (HERE).ptr (), GALGAS_string ("SHORT-NAME"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1094)) ; - { - var_enumValues_37446.setter_put (var_enumValueName_37822, GALGAS_implementationObjectMap::class_func_emptyMap (SOURCE_FILE ("arxml_parser.galgas", 1095)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1095)) ; - } - { - routine_displayOil_3F_ (var_enumValueName_37822.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1096)) ; - } - if (enumerator_37770.hasNextObject ()) { - { - routine_displayOil_3F_ (GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1098)) ; - } - } - enumerator_37770.gotoNextObject () ; - } +void cPtr_enumAttribute::method_set (const GALGAS_lstring constinArgument_name, + GALGAS_gtlData & ioArgument_result, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { { - routine_displayOil_3F_ (GALGAS_string ("]"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1100)) ; + ioArgument_result.insulate (HERE) ; + cPtr_gtlData * ptr_2190 = (cPtr_gtlData *) ioArgument_result.ptr () ; + callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_2190, constinArgument_name, GALGAS_gtlString::constructor_new (this->mProperty_location, this->mProperty_oil_5F_desc, this->mProperty_value COMMA_SOURCE_FILE ("systemConfig.galgas", 66)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 66)) ; } - GALGAS_object_5F_t var_defaultValue_38090 ; + GALGAS_gtlData var_subAttrs_2277 = callExtensionGetter_fieldMap ((const cPtr_objectAttributes *) this->mProperty_subAttributes.ptr (), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 67)) ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - test_0 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("DEFAULT-VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1104)).boolEnum () ; + GALGAS_gtlStruct temp_1 ; + if (var_subAttrs_2277.isValid ()) { + if (nullptr != dynamic_cast (var_subAttrs_2277.ptr ())) { + temp_1 = (cPtr_gtlStruct *) var_subAttrs_2277.ptr () ; + }else{ + inCompiler->castError ("gtlStruct", var_subAttrs_2277.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("systemConfig.galgas", 68)) ; + } + } + test_0 = GALGAS_bool (kIsStrictSup, temp_1.readProperty_value ().getter_count (SOURCE_FILE ("systemConfig.galgas", 68)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; if (kBoolTrue == test_0) { - GALGAS_lstring var_value_38170 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("DEFAULT-VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1105)) ; + GALGAS_lstring var_structName_2383 = GALGAS_lstring::constructor_new (constinArgument_name.readProperty_string ().add_operation (GALGAS_string ("_S"), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 69)), constinArgument_name.readProperty_location () COMMA_SOURCE_FILE ("systemConfig.galgas", 69)) ; { - routine_displayOil_3F_ (GALGAS_string (" = ").add_operation (var_value_38170.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1106)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1106)) ; + var_subAttrs_2277.setter_setMeta (this->mProperty_oil_5F_desc COMMA_SOURCE_FILE ("systemConfig.galgas", 70)) ; } - var_defaultValue_38090 = GALGAS_enumAttribute::class_func_new (var_oil_5F_desc_37356, var_value_38170.readProperty_location (), var_value_38170.readProperty_string (), GALGAS_objectAttributes::class_func_new (GALGAS_identifierMap::class_func_emptyMap (SOURCE_FILE ("arxml_parser.galgas", 1113)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1111)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1107)) ; - } - } - if (kBoolFalse == test_0) { - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = var_withAuto_37173.boolEnum () ; - if (kBoolTrue == test_1) { - var_defaultValue_38090 = GALGAS_auto::class_func_new (var_oil_5F_desc_37356, outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1117)) ; + { + ioArgument_result.insulate (HERE) ; + cPtr_gtlData * ptr_2493 = (cPtr_gtlData *) ioArgument_result.ptr () ; + callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_2493, var_structName_2383, var_subAttrs_2277, inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 71)) ; } } - if (kBoolFalse == test_1) { - var_defaultValue_38090 = GALGAS_void::class_func_new (var_oil_5F_desc_37356, outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1119)) ; - } - } - { - routine_displayOil_3F_ (GALGAS_string ("\n : \"").add_operation (var_oil_5F_desc_37356.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1122)).add_operation (GALGAS_string ("\";\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1122)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1122)) ; } - GALGAS_locationList temp_2 = GALGAS_locationList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1126)) ; - temp_2.addAssign_operation (outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1126)) ; - GALGAS_lstringlist temp_3 = GALGAS_lstringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1130)) ; - temp_3.addAssign_operation (var_oil_5F_desc_37356 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1130)) ; - outArgument_options = GALGAS_impEnumType::class_func_new (temp_2, constinArgument_type, outArgument_objectName, var_multiple_37267.readProperty_bool (), temp_3, var_withAuto_37173, var_defaultValue_38090, var_enumValues_37446 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1125)) ; } - - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'arxmlImplementationContainerStructure!!???' +//Overriding extension method '@stringAttribute set' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_arxmlImplementationContainerStructure_21__21__3F__3F__3F_ (GALGAS_lstring & outArgument_objectName, - GALGAS_impType & outArgument_options, - const GALGAS_dataType constinArgument_type, - GALGAS_arxmlElementValue inArgument_parameter, - GALGAS_lstring inArgument_parentPath, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_objectName.drop () ; // Release 'out' argument - outArgument_options.drop () ; // Release 'out' argument - { - routine_displayOil_3F_ (GALGAS_string (" ").add_operation (extensionGetter_oilType (constinArgument_type, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1145)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1145)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1145)) ; - } - { - routine_arxmlGetName_3F__21_ (inArgument_parameter, outArgument_objectName, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1148)) ; - } - { - routine_displayOil_3F_ (GALGAS_string (" ").add_operation (outArgument_objectName.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1149)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1149)) ; - } - GALGAS_lbool var_multiple_39724 ; - { - routine_arxmlGetMultiplicity_3F__3F__21_ (inArgument_parameter, outArgument_objectName, var_multiple_39724, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1152)) ; - } - GALGAS_lstring var_oil_5F_desc_39813 ; - { - routine_arxmlGetDescription_3F__21_ (inArgument_parameter, var_oil_5F_desc_39813, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1155)) ; - } - { - routine_displayOil_3F_ (GALGAS_string ("\n {\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1157)) ; - } - GALGAS_implementationObjectMap var_structAttributes_39880 = GALGAS_implementationObjectMap::class_func_emptyMap (SOURCE_FILE ("arxml_parser.galgas", 1160)) ; - { - routine_arxmlImplementationContainer_26__3F__3F_ (var_structAttributes_39880, inArgument_parameter, inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1161)) ; - } +void cPtr_stringAttribute::method_set (const GALGAS_lstring constinArgument_name, + GALGAS_gtlData & ioArgument_result, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { { - routine_displayOil_3F_ (GALGAS_string ("\n } : \"").add_operation (var_oil_5F_desc_39813.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1163)).add_operation (GALGAS_string ("\";\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1163)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1163)) ; + ioArgument_result.insulate (HERE) ; + cPtr_gtlData * ptr_2628 = (cPtr_gtlData *) ioArgument_result.ptr () ; + callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_2628, constinArgument_name, GALGAS_gtlString::constructor_new (this->mProperty_location, this->mProperty_oil_5F_desc, this->mProperty_value COMMA_SOURCE_FILE ("systemConfig.galgas", 76)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 76)) ; } - GALGAS_locationList temp_0 = GALGAS_locationList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1167)) ; - temp_0.addAssign_operation (outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1167)) ; - GALGAS_lstringlist temp_1 = GALGAS_lstringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1171)) ; - temp_1.addAssign_operation (var_oil_5F_desc_39813 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1171)) ; - outArgument_options = GALGAS_impStructType::class_func_new (temp_0, constinArgument_type, outArgument_objectName, var_multiple_39724.readProperty_bool (), temp_1, var_structAttributes_39880 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1166)) ; } - - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'arxmlImplementationContainerIdentifier!!???' +//Overriding extension method '@string_class set' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_arxmlImplementationContainerIdentifier_21__21__3F__3F__3F_ (GALGAS_lstring & outArgument_objectName, - GALGAS_impType & outArgument_options, - const GALGAS_dataType constinArgument_type, - GALGAS_arxmlElementValue inArgument_parameter, - GALGAS_lstring /* inArgument_parentPath */, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_objectName.drop () ; // Release 'out' argument - outArgument_options.drop () ; // Release 'out' argument - { - routine_displayOil_3F_ (GALGAS_string (" ").add_operation (extensionGetter_oilType (constinArgument_type, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1183)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1183)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1183)) ; - } - { - routine_arxmlGetName_3F__21_ (inArgument_parameter, outArgument_objectName, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1186)) ; - } - { - routine_displayOil_3F_ (GALGAS_string (" ").add_operation (outArgument_objectName.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1187)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1187)) ; - } - GALGAS_lbool var_multiple_40815 ; - { - routine_arxmlGetMultiplicity_3F__3F__21_ (inArgument_parameter, outArgument_objectName, var_multiple_40815, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1190)) ; - } - GALGAS_bool var_withAuto_40881 ; +void cPtr_string_5F_class::method_set (const GALGAS_lstring constinArgument_name, + GALGAS_gtlData & ioArgument_result, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { { - routine_arxmlGetWithAuto_3F__21_ (inArgument_parameter, var_withAuto_40881, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1193)) ; + ioArgument_result.insulate (HERE) ; + cPtr_gtlData * ptr_2785 = (cPtr_gtlData *) ioArgument_result.ptr () ; + callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_2785, constinArgument_name, GALGAS_gtlString::constructor_new (this->mProperty_location, this->mProperty_oil_5F_desc, this->mProperty_value COMMA_SOURCE_FILE ("systemConfig.galgas", 80)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 80)) ; } - GALGAS_lstring var_oil_5F_desc_40970 ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@objectRefAttribute set' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_objectRefAttribute::method_set (const GALGAS_lstring constinArgument_name, + GALGAS_gtlData & ioArgument_result, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { { - routine_arxmlGetDescription_3F__21_ (inArgument_parameter, var_oil_5F_desc_40970, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1196)) ; - } - GALGAS_object_5F_t var_defaultValue_41015 ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("DEFAULT-VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1200)).boolEnum () ; - if (kBoolTrue == test_0) { - GALGAS_lstring var_value_41095 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("DEFAULT-VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1201)) ; - { - routine_displayOil_3F_ (GALGAS_string (" = ").add_operation (var_value_41095.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1202)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1202)) ; - } - var_defaultValue_41015 = GALGAS_stringAttribute::class_func_new (var_oil_5F_desc_40970, var_value_41095.readProperty_location (), var_value_41095.readProperty_string () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1203)) ; - } + ioArgument_result.insulate (HERE) ; + cPtr_gtlData * ptr_2948 = (cPtr_gtlData *) ioArgument_result.ptr () ; + callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_2948, constinArgument_name, GALGAS_gtlString::constructor_new (this->mProperty_location, this->mProperty_oil_5F_desc, this->mProperty_value.readProperty_string () COMMA_SOURCE_FILE ("systemConfig.galgas", 84)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 84)) ; } - if (kBoolFalse == test_0) { - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = var_withAuto_40881.boolEnum () ; - if (kBoolTrue == test_1) { - var_defaultValue_41015 = GALGAS_auto::class_func_new (var_oil_5F_desc_40970, outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1209)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@multipleAttribute set' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_multipleAttribute::method_set (const GALGAS_lstring constinArgument_name, + GALGAS_gtlData & ioArgument_result, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_gtlList var_multiple_3116 = GALGAS_gtlList::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 88)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 88)), GALGAS_list::constructor_emptyList (SOURCE_FILE ("systemConfig.galgas", 88)) COMMA_SOURCE_FILE ("systemConfig.galgas", 88)) ; + cEnumerator_identifierList enumerator_3177 (this->mProperty_items, kENUMERATION_UP) ; + while (enumerator_3177.hasCurrentObject ()) { + GALGAS_gtlData var_multipleItem_3206 = GALGAS_gtlStruct::constructor_new (this->mProperty_location, this->mProperty_oil_5F_desc, GALGAS_gtlVarMap::constructor_emptyMap (SOURCE_FILE ("systemConfig.galgas", 90)) COMMA_SOURCE_FILE ("systemConfig.galgas", 90)) ; + if (enumerator_3177.current_item (HERE).isValid ()) { + if (enumerator_3177.current_item (HERE).dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_structAttribute) { + GALGAS_structAttribute cast_3314_aStruct ((cPtr_structAttribute *) enumerator_3177.current_item (HERE).ptr ()) ; + { + var_multipleItem_3206.insulate (HERE) ; + cPtr_gtlData * ptr_3333 = (cPtr_gtlData *) var_multipleItem_3206.ptr () ; + callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_3333, GALGAS_lstring::constructor_new (GALGAS_string ("NAME"), cast_3314_aStruct.readProperty_location () COMMA_SOURCE_FILE ("systemConfig.galgas", 94)), GALGAS_gtlString::constructor_new (cast_3314_aStruct.readProperty_location (), cast_3314_aStruct.readProperty_oil_5F_desc (), cast_3314_aStruct.readProperty_structName ().readProperty_string () COMMA_SOURCE_FILE ("systemConfig.galgas", 95)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 93)) ; + } + GALGAS_gtlData var_subAttrs_3571 = callExtensionGetter_fieldMap ((const cPtr_objectAttributes *) cast_3314_aStruct.readProperty_subAttributes ().ptr (), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 101)) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + GALGAS_gtlStruct temp_1 ; + if (var_subAttrs_3571.isValid ()) { + if (nullptr != dynamic_cast (var_subAttrs_3571.ptr ())) { + temp_1 = (cPtr_gtlStruct *) var_subAttrs_3571.ptr () ; + }else{ + inCompiler->castError ("gtlStruct", var_subAttrs_3571.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("systemConfig.galgas", 102)) ; + } + } + test_0 = GALGAS_bool (kIsStrictSup, temp_1.readProperty_value ().getter_count (SOURCE_FILE ("systemConfig.galgas", 102)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_gtlStruct temp_2 ; + if (var_subAttrs_3571.isValid ()) { + if (nullptr != dynamic_cast (var_subAttrs_3571.ptr ())) { + temp_2 = (cPtr_gtlStruct *) var_subAttrs_3571.ptr () ; + }else{ + inCompiler->castError ("gtlStruct", var_subAttrs_3571.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("systemConfig.galgas", 103)) ; + } + } + cEnumerator_gtlVarMap enumerator_3686 (temp_2.readProperty_value (), kENUMERATION_UP) ; + while (enumerator_3686.hasCurrentObject ()) { + { + var_multipleItem_3206.insulate (HERE) ; + cPtr_gtlData * ptr_3740 = (cPtr_gtlData *) var_multipleItem_3206.ptr () ; + callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_3740, enumerator_3686.current_lkey (HERE), enumerator_3686.current_value (HERE), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 104)) ; + } + enumerator_3686.gotoNextObject () ; + } + } + } + }else{ + callExtensionMethod_set ((cPtr_object_5F_t *) enumerator_3177.current_item (HERE).ptr (), GALGAS_lstring::constructor_new (GALGAS_string ("VALUE"), enumerator_3177.current_item (HERE).readProperty_location () COMMA_SOURCE_FILE ("systemConfig.galgas", 108)), var_multipleItem_3206, inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 108)) ; } } - if (kBoolFalse == test_1) { - var_defaultValue_41015 = GALGAS_void::class_func_new (var_oil_5F_desc_40970, outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1211)) ; + { + var_multiple_3116.insulate (HERE) ; + cPtr_gtlList * ptr_3904 = (cPtr_gtlList *) var_multiple_3116.ptr () ; + callExtensionSetter_appendItem ((cPtr_gtlList *) ptr_3904, var_multipleItem_3206, inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 110)) ; } + enumerator_3177.gotoNextObject () ; + } + { + var_multiple_3116.setter_setMeta (this->mProperty_oil_5F_desc COMMA_SOURCE_FILE ("systemConfig.galgas", 112)) ; } { - routine_displayOil_3F_ (GALGAS_string (": \"").add_operation (var_oil_5F_desc_40970.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1213)).add_operation (GALGAS_string ("\";\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1213)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1213)) ; + ioArgument_result.insulate (HERE) ; + cPtr_gtlData * ptr_3983 = (cPtr_gtlData *) ioArgument_result.ptr () ; + callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_3983, constinArgument_name, var_multiple_3116, inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 113)) ; } - GALGAS_locationList temp_2 = GALGAS_locationList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1217)) ; - temp_2.addAssign_operation (outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1217)) ; - GALGAS_lstringlist temp_3 = GALGAS_lstringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1221)) ; - temp_3.addAssign_operation (var_oil_5F_desc_40970 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1221)) ; - outArgument_options = GALGAS_impAutoDefaultType::class_func_new (temp_2, constinArgument_type, outArgument_objectName, var_multiple_40815.readProperty_bool (), temp_3, var_withAuto_40881, var_defaultValue_41015 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1216)) ; } - - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'arxmlImplementationContainerReference!!???' +//Overriding extension method '@uint32_class set' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_arxmlImplementationContainerReference_21__21__3F__3F__3F_ (GALGAS_lstring & outArgument_objectName, - GALGAS_impType & outArgument_options, - const GALGAS_dataType constinArgument_type, - GALGAS_arxmlElementValue inArgument_parameter, - GALGAS_lstring /* inArgument_parentPath */, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_objectName.drop () ; // Release 'out' argument - outArgument_options.drop () ; // Release 'out' argument - GALGAS_lstring var_objectType_42284 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("DESTINATION-REF"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1235)) ; - var_objectType_42284.setter_setString (var_objectType_42284.readProperty_string ().getter_lastPathComponent (SOURCE_FILE ("arxml_parser.galgas", 1237)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1237)) ; - { - routine_displayOil_3F_ (GALGAS_string (" ").add_operation (var_objectType_42284.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1238)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1238)) ; - } - { - routine_arxmlGetName_3F__21_ (inArgument_parameter, outArgument_objectName, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1241)) ; - } - { - routine_displayOil_3F_ (GALGAS_string (" ").add_operation (outArgument_objectName.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1242)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1242)) ; - } - GALGAS_lbool var_multiple_42708 ; +void cPtr_uint_33__32__5F_class::method_set (const GALGAS_lstring constinArgument_name, + GALGAS_gtlData & ioArgument_result, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { { - routine_arxmlGetMultiplicity_3F__3F__21_ (inArgument_parameter, outArgument_objectName, var_multiple_42708, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1245)) ; + ioArgument_result.insulate (HERE) ; + cPtr_gtlData * ptr_4103 = (cPtr_gtlData *) ioArgument_result.ptr () ; + callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_4103, constinArgument_name, GALGAS_gtlInt::constructor_new (this->mProperty_location, this->mProperty_oil_5F_desc, this->mProperty_value.getter_bigint (SOURCE_FILE ("systemConfig.galgas", 119)) COMMA_SOURCE_FILE ("systemConfig.galgas", 119)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 117)) ; } - GALGAS_lstring var_oil_5F_desc_42797 ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@sint32_class set' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_sint_33__32__5F_class::method_set (const GALGAS_lstring constinArgument_name, + GALGAS_gtlData & ioArgument_result, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { { - routine_arxmlGetDescription_3F__21_ (inArgument_parameter, var_oil_5F_desc_42797, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1248)) ; + ioArgument_result.insulate (HERE) ; + cPtr_gtlData * ptr_4277 = (cPtr_gtlData *) ioArgument_result.ptr () ; + callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_4277, constinArgument_name, GALGAS_gtlInt::constructor_new (this->mProperty_location, this->mProperty_oil_5F_desc, this->mProperty_value.getter_bigint (SOURCE_FILE ("systemConfig.galgas", 126)) COMMA_SOURCE_FILE ("systemConfig.galgas", 126)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 124)) ; } +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@uint64_class set' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_uint_36__34__5F_class::method_set (const GALGAS_lstring constinArgument_name, + GALGAS_gtlData & ioArgument_result, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { { - routine_displayOil_3F_ (GALGAS_string (": \"").add_operation (var_oil_5F_desc_42797.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1250)).add_operation (GALGAS_string ("\";\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1250)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1250)) ; + ioArgument_result.insulate (HERE) ; + cPtr_gtlData * ptr_4451 = (cPtr_gtlData *) ioArgument_result.ptr () ; + callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_4451, constinArgument_name, GALGAS_gtlInt::constructor_new (this->mProperty_location, this->mProperty_oil_5F_desc, this->mProperty_value.getter_bigint (SOURCE_FILE ("systemConfig.galgas", 133)) COMMA_SOURCE_FILE ("systemConfig.galgas", 133)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 131)) ; } - GALGAS_locationList temp_0 = GALGAS_locationList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1254)) ; - temp_0.addAssign_operation (outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1254)) ; - GALGAS_lstringlist temp_1 = GALGAS_lstringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1258)) ; - temp_1.addAssign_operation (var_oil_5F_desc_42797 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1258)) ; - outArgument_options = GALGAS_refType::class_func_new (temp_0, constinArgument_type, outArgument_objectName, var_multiple_42708.readProperty_bool (), temp_1, var_objectType_42284 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1253)) ; } - - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'arxmlDefinitionPackage&&??' +//Overriding extension method '@sint64_class set' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_arxmlDefinitionPackage_26__26__3F__3F_ (GALGAS_implementation & ioArgument_imp, - GALGAS_applicationDefinition & ioArgument_application, - GALGAS_arxmlElementValue inArgument_packageElement, - GALGAS_lstring inArgument_parentPath, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_lstring var_packageName_43450 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), GALGAS_string ("SHORT-NAME"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1274)) ; - GALGAS_lstring var_currentPath_43563 = GALGAS_lstring::class_func_new (inArgument_parentPath.readProperty_string ().add_operation (GALGAS_string ("/"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1277)).add_operation (var_packageName_43450.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1277)), var_packageName_43450.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1277)) ; - GALGAS_arxmlElementValueList var_definitions_43790 = GALGAS_arxmlElementValueList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1281)) ; - GALGAS_stringlist var_definitionPath_43821 = GALGAS_stringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1282)) ; - var_definitionPath_43821.addAssign_operation (GALGAS_string ("ELEMENTS") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1283)) ; - var_definitionPath_43821.addAssign_operation (GALGAS_string ("ECUC-MODULE-CONFIGURATION-VALUES") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1284)) ; - callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), var_definitionPath_43821, var_definitions_43790, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1285)) ; - cEnumerator_arxmlElementValueList enumerator_44021 (var_definitions_43790, kENUMERATION_UP) ; - while (enumerator_44021.hasCurrentObject ()) { - { - routine_arxmlDefinitionRoot_26__26__3F__3F_ (ioArgument_imp, ioArgument_application, enumerator_44021.current_value (HERE), var_currentPath_43563, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1287)) ; - } - enumerator_44021.gotoNextObject () ; - } - GALGAS_arxmlElementValueList var_packages_44207 = GALGAS_arxmlElementValueList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1291)) ; - GALGAS_stringlist var_packagesPath_44235 = GALGAS_stringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1292)) ; - var_packagesPath_44235.addAssign_operation (GALGAS_string ("AR-PACKAGES") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1293)) ; - var_packagesPath_44235.addAssign_operation (GALGAS_string ("AR-PACKAGE") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1294)) ; - callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), var_packagesPath_44235, var_packages_44207, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1295)) ; - cEnumerator_arxmlElementValueList enumerator_44405 (var_packages_44207, kENUMERATION_UP) ; - while (enumerator_44405.hasCurrentObject ()) { - { - routine_arxmlDefinitionPackage_26__26__3F__3F_ (ioArgument_imp, ioArgument_application, enumerator_44405.current_value (HERE), var_currentPath_43563, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1297)) ; - } - enumerator_44405.gotoNextObject () ; +void cPtr_sint_36__34__5F_class::method_set (const GALGAS_lstring constinArgument_name, + GALGAS_gtlData & ioArgument_result, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + { + ioArgument_result.insulate (HERE) ; + cPtr_gtlData * ptr_4625 = (cPtr_gtlData *) ioArgument_result.ptr () ; + callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_4625, constinArgument_name, GALGAS_gtlInt::constructor_new (this->mProperty_location, this->mProperty_oil_5F_desc, this->mProperty_value.getter_bigint (SOURCE_FILE ("systemConfig.galgas", 140)) COMMA_SOURCE_FILE ("systemConfig.galgas", 140)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 138)) ; } } - - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'arxmlDefinitionRoot&&??' +//Overriding extension method '@float_class set' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_arxmlDefinitionRoot_26__26__3F__3F_ (GALGAS_implementation & ioArgument_imp, - GALGAS_applicationDefinition & ioArgument_application, - GALGAS_arxmlElementValue inArgument_packageElement, - GALGAS_lstring /* inArgument_parentPath */, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_lstring var_cpuName_44697 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), GALGAS_string ("SHORT-NAME"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1308)) ; - GALGAS_lstring var_currentPath_44807 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), GALGAS_string ("DEFINITION-REF"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1311)) ; - GALGAS_objectsMap var_objects_44926 = ioArgument_application.readProperty_objects () ; - GALGAS_lstring var_oil_5F_desc_45042 ; +void cPtr_float_5F_class::method_set (const GALGAS_lstring constinArgument_name, + GALGAS_gtlData & ioArgument_result, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { { - routine_arxmlGetDescription_3F__21_ (inArgument_packageElement, var_oil_5F_desc_45042, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1317)) ; + ioArgument_result.insulate (HERE) ; + cPtr_gtlData * ptr_4798 = (cPtr_gtlData *) ioArgument_result.ptr () ; + callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_4798, constinArgument_name, GALGAS_gtlFloat::constructor_new (this->mProperty_location, this->mProperty_oil_5F_desc, this->mProperty_value COMMA_SOURCE_FILE ("systemConfig.galgas", 147)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 145)) ; } - GALGAS_arxmlElementValueList var_subDefs_45105 = GALGAS_arxmlElementValueList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1320)) ; - GALGAS_stringlist var_subDefsPath_45132 = GALGAS_stringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1321)) ; - var_subDefsPath_45132.addAssign_operation (GALGAS_string ("CONTAINERS") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1322)) ; - var_subDefsPath_45132.addAssign_operation (GALGAS_string ("ECUC-CONTAINER-VALUE") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1323)) ; - callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), var_subDefsPath_45132, var_subDefs_45105, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1324)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@auto set' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_auto::method_set (const GALGAS_lstring constinArgument_name, + GALGAS_gtlData & ioArgument_result, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { { - routine_displayOil_3F_ (GALGAS_string ("\nCPU ").add_operation (var_cpuName_44697.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1326)).add_operation (GALGAS_string ("\n{\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1326)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1326)) ; + ioArgument_result.insulate (HERE) ; + cPtr_gtlData * ptr_4957 = (cPtr_gtlData *) ioArgument_result.ptr () ; + callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_4957, constinArgument_name, GALGAS_gtlEnum::constructor_new (this->mProperty_location, this->mProperty_oil_5F_desc, GALGAS_string ("auto") COMMA_SOURCE_FILE ("systemConfig.galgas", 154)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 152)) ; } - cEnumerator_arxmlElementValueList enumerator_45352 (var_subDefs_45105, kENUMERATION_UP) ; - while (enumerator_45352.hasCurrentObject ()) { - { - routine_arxmlDefinitionObject_26__26__3F__3F_ (ioArgument_imp, var_objects_44926, enumerator_45352.current_value (HERE), var_currentPath_44807, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1329)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'setDefaults' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_setDefaults (const GALGAS_implementation constinArgument_imp, + GALGAS_applicationDefinition & ioArgument_application, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_objectsMap var_objects_870 = ioArgument_application.readProperty_objects () ; + cEnumerator_lstringlist enumerator_948 (var_objects_870.getter_keyList (SOURCE_FILE ("defaults.galgas", 35)), kENUMERATION_UP) ; + while (enumerator_948.hasCurrentObject ()) { + cMapElement_objectsMap * objectArray_989 = (cMapElement_objectsMap *) var_objects_870.readWriteAccessForWithInstructionWithErrorMessage (inCompiler, enumerator_948.current_mValue (HERE), kSearchErrorMessage_objectsMap_get COMMA_SOURCE_FILE ("defaults.galgas", 36)) ; + if (nullptr != objectArray_989) { + macroValidSharedObject (objectArray_989, cMapElement_objectsMap) ; + GALGAS_objectKindMap var_objOfKind_1061 = objectArray_989->mProperty_objectsOfKind.readProperty_objects () ; + cEnumerator_lstringlist enumerator_1117 (var_objOfKind_1061.getter_keyList (SOURCE_FILE ("defaults.galgas", 38)), kENUMERATION_UP) ; + while (enumerator_1117.hasCurrentObject ()) { + cMapElement_objectKindMap * objectArray_1164 = (cMapElement_objectKindMap *) var_objOfKind_1061.readWriteAccessForWithInstructionWithErrorMessage (inCompiler, enumerator_1117.current_mValue (HERE), kSearchErrorMessage_objectKindMap_get COMMA_SOURCE_FILE ("defaults.galgas", 39)) ; + if (nullptr != objectArray_1164) { + macroValidSharedObject (objectArray_1164, cMapElement_objectKindMap) ; + GALGAS_implementationObject var_impObject_1253 = callExtensionGetter_impObject ((const cPtr_implementation *) constinArgument_imp.ptr (), enumerator_948.current_mValue (HERE).readProperty_string (), inCompiler COMMA_SOURCE_FILE ("defaults.galgas", 40)) ; + { + routine_setDefaultsForType (var_impObject_1253.readProperty_attributes (), objectArray_1164->mProperty_attributes, inCompiler COMMA_SOURCE_FILE ("defaults.galgas", 41)) ; + } + } + enumerator_1117.gotoNextObject () ; + } + { + objectArray_989->mProperty_objectsOfKind.setter_setObjects (var_objOfKind_1061 COMMA_SOURCE_FILE ("defaults.galgas", 44)) ; + } } - enumerator_45352.gotoNextObject () ; - } - { - ioArgument_application.setter_setName (var_cpuName_44697 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1333)) ; - } - { - ioArgument_application.setter_setObjects (var_objects_44926 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1334)) ; + enumerator_948.gotoNextObject () ; } { - routine_displayOil_3F_ (GALGAS_string ("}; /* END CPU ").add_operation (var_cpuName_44697.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1336)).add_operation (GALGAS_string (" : \""), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1336)).add_operation (var_oil_5F_desc_45042.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1337)).add_operation (GALGAS_string ("\" */\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1337)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1336)) ; + ioArgument_application.setter_setObjects (var_objects_870 COMMA_SOURCE_FILE ("defaults.galgas", 48)) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'arxmlDefinitionObject&&??' +//Overriding extension method '@impStructType verifyType' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_arxmlDefinitionObject_26__26__3F__3F_ (GALGAS_implementation & ioArgument_imp, - GALGAS_objectsMap & ioArgument_objects, - GALGAS_arxmlElementValue inArgument_currentElement, - GALGAS_lstring inArgument_parentPath, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_lstring var_currentPath_45842 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), GALGAS_string ("DEFINITION-REF"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1347)) ; - GALGAS_lstring var_objectKind_45969 ; - { - routine_oilEquivalentName_3F__3F__21_ (inArgument_parentPath, var_currentPath_45842, var_objectKind_45969, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1348)) ; - } - GALGAS_implementationObject var_impObjOfKind_46032 = callExtensionGetter_impObject ((const cPtr_implementation *) ioArgument_imp.ptr (), var_objectKind_45969.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1351)) ; - GALGAS_objectKind var_objectsForKind_46098 = GALGAS_objectKind::class_func_new (GALGAS_objectKindMap::class_func_emptyMap (SOURCE_FILE ("arxml_parser.galgas", 1352)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1352)) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = ioArgument_objects.getter_hasKey (var_objectKind_45969.readProperty_string () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1353)).boolEnum () ; - if (kBoolTrue == test_0) { - { - ioArgument_objects.setter_del (var_objectKind_45969, var_objectsForKind_46098, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1354)) ; +void cPtr_impStructType::method_verifyType (const GALGAS_object_5F_t constinArgument_attr, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + if (constinArgument_attr.isValid ()) { + if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_structAttribute) { + GALGAS_structAttribute cast_2382_sa ((cPtr_structAttribute *) constinArgument_attr.ptr ()) ; + cEnumerator_implementationObjectMap enumerator_2395 (this->mProperty_structAttributes, kENUMERATION_UP) ; + while (enumerator_2395.hasCurrentObject ()) { + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = cast_2382_sa.readProperty_subAttributes ().readProperty_objectParams ().getter_hasKey (enumerator_2395.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("semantic_verification.galgas", 88)).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_object_5F_t var_subAttr_2516 ; + cast_2382_sa.readProperty_subAttributes ().readProperty_objectParams ().method_get (enumerator_2395.current_lkey (HERE), var_subAttr_2516, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 90)) ; + callExtensionMethod_verifyMultipleType ((cPtr_impType *) enumerator_2395.current_type (HERE).ptr (), var_subAttr_2516, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 91)) ; + } + } + enumerator_2395.gotoNextObject () ; } + }else{ + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), GALGAS_string ("STRUCT expected"), fixItArray1 COMMA_SOURCE_FILE ("semantic_verification.galgas", 95)) ; } } - GALGAS_lstring var_objectName_46295 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), GALGAS_string ("SHORT-NAME"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1358)) ; - GALGAS_objectAttributes var_object_46411 = function_emptyObject (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1361)) ; - GALGAS_objectKindMap var_objectsKind_46451 = var_objectsForKind_46098.readProperty_objects () ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = GALGAS_bool (kIsEqual, var_impObjOfKind_46032.readProperty_multiple ().readProperty_bool ().objectCompare (GALGAS_bool (false))).boolEnum () ; - if (kBoolTrue == test_1) { - var_objectName_46295 = var_objectKind_45969 ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@refType verifyType' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_refType::method_verifyType (const GALGAS_object_5F_t constinArgument_attr, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + if (constinArgument_attr.isValid ()) { + if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_objectRefAttribute) { + }else{ + TC_Array fixItArray0 ; + inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), GALGAS_string ("object reference expected"), fixItArray0 COMMA_SOURCE_FILE ("semantic_verification.galgas", 105)) ; } } - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = var_objectsKind_46451.getter_hasKey (var_objectName_46295.readProperty_string () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1371)).boolEnum () ; - if (kBoolTrue == test_2) { - { - var_objectsKind_46451.setter_del (var_objectName_46295, var_object_46411, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1372)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@impBoolType verifyType' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_impBoolType::method_verifyType (const GALGAS_object_5F_t constinArgument_attr, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + if (constinArgument_attr.isValid ()) { + if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_boolAttribute) { + GALGAS_boolAttribute cast_3144_b ((cPtr_boolAttribute *) constinArgument_attr.ptr ()) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = cast_3144_b.readProperty_value ().boolEnum () ; + if (kBoolTrue == test_0) { + cEnumerator_implementationObjectMap enumerator_3180 (this->mProperty_trueSubAttributes, kENUMERATION_UP) ; + while (enumerator_3180.hasCurrentObject ()) { + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = cast_3144_b.readProperty_subAttributes ().readProperty_objectParams ().getter_hasKey (enumerator_3180.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("semantic_verification.galgas", 116)).boolEnum () ; + if (kBoolTrue == test_1) { + GALGAS_object_5F_t var_subAttrs_3305 ; + cast_3144_b.readProperty_subAttributes ().readProperty_objectParams ().method_get (enumerator_3180.current_lkey (HERE), var_subAttrs_3305, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 118)) ; + callExtensionMethod_verifyMultipleType ((cPtr_impType *) enumerator_3180.current_type (HERE).ptr (), var_subAttrs_3305, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 119)) ; + } + } + enumerator_3180.gotoNextObject () ; + } + } + } + if (kBoolFalse == test_0) { + cEnumerator_implementationObjectMap enumerator_3466 (this->mProperty_falseSubAttributes, kENUMERATION_UP) ; + while (enumerator_3466.hasCurrentObject ()) { + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = cast_3144_b.readProperty_subAttributes ().readProperty_objectParams ().getter_hasKey (enumerator_3466.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("semantic_verification.galgas", 124)).boolEnum () ; + if (kBoolTrue == test_2) { + GALGAS_object_5F_t var_subAttrs_3592 ; + cast_3144_b.readProperty_subAttributes ().readProperty_objectParams ().method_get (enumerator_3466.current_lkey (HERE), var_subAttrs_3592, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 126)) ; + callExtensionMethod_verifyMultipleType ((cPtr_impType *) enumerator_3466.current_type (HERE).ptr (), var_subAttrs_3592, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 127)) ; + } + } + enumerator_3466.gotoNextObject () ; + } } + }else{ + TC_Array fixItArray3 ; + inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), GALGAS_string ("BOOLEAN expected"), fixItArray3 COMMA_SOURCE_FILE ("semantic_verification.galgas", 132)) ; } } - GALGAS_lstring var_oil_5F_desc_47020 ; - { - routine_arxmlGetDescription_3F__21_ (inArgument_currentElement, var_oil_5F_desc_47020, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1376)) ; - } - { - routine_displayOil_3F_ (GALGAS_string (" ").add_operation (var_objectKind_45969.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1378)).add_operation (GALGAS_string (" "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1378)).add_operation (var_objectName_46295.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1378)).add_operation (GALGAS_string ("\n {\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1378)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1378)) ; - } - { - routine_arxmlDefinitionContainer_3F__26__3F__3F_ (var_impObjOfKind_46032.readProperty_attributes (), var_object_46411, inArgument_currentElement, var_currentPath_45842, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1381)) ; - } - { - routine_displayOil_3F_ (GALGAS_string (" } : \"").add_operation (var_oil_5F_desc_47020.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1386)).add_operation (GALGAS_string ("\";\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1386)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1386)) ; - } - GALGAS_identifierMap var_attributes_47413 = var_object_46411.readProperty_objectParams () ; - enumGalgasBool test_3 = kBoolTrue ; - if (kBoolTrue == test_3) { - test_3 = var_attributes_47413.getter_hasKey (GALGAS_string ("NAME") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1390)).operator_not (SOURCE_FILE ("arxml_parser.galgas", 1390)).boolEnum () ; - if (kBoolTrue == test_3) { - { - var_attributes_47413.setter_put (GALGAS_lstring::class_func_new (GALGAS_string ("NAME"), var_objectName_46295.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1391)), GALGAS_stringAttribute::class_func_new (var_oil_5F_desc_47020, var_objectName_46295.readProperty_location (), var_objectName_46295.readProperty_string () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1392)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1391)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@impEnumType verifyType' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_impEnumType::method_verifyType (const GALGAS_object_5F_t constinArgument_attr, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + if (constinArgument_attr.isValid ()) { + if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_enumAttribute) { + GALGAS_enumAttribute cast_3985_e ((cPtr_enumAttribute *) constinArgument_attr.ptr ()) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = this->mProperty_valuesMap.getter_hasKey (cast_3985_e.readProperty_value () COMMA_SOURCE_FILE ("semantic_verification.galgas", 141)).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_implementationObjectMap var_validVal_4066 ; + this->mProperty_valuesMap.method_get (function_lstringWith (cast_3985_e.readProperty_value (), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 143)), var_validVal_4066, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 143)) ; + cEnumerator_implementationObjectMap enumerator_4142 (var_validVal_4066, kENUMERATION_UP) ; + while (enumerator_4142.hasCurrentObject ()) { + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = cast_3985_e.readProperty_subAttributes ().readProperty_objectParams ().getter_hasKey (enumerator_4142.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("semantic_verification.galgas", 145)).boolEnum () ; + if (kBoolTrue == test_1) { + GALGAS_object_5F_t var_subAttrs_4258 ; + cast_3985_e.readProperty_subAttributes ().readProperty_objectParams ().method_get (enumerator_4142.current_lkey (HERE), var_subAttrs_4258, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 147)) ; + callExtensionMethod_verifyMultipleType ((cPtr_impType *) enumerator_4142.current_type (HERE).ptr (), var_subAttrs_4258, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 148)) ; + } + } + enumerator_4142.gotoNextObject () ; + } + } } - { - var_object_46411.setter_setObjectParams (var_attributes_47413 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1395)) ; + if (kBoolFalse == test_0) { + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (cast_3985_e.readProperty_location (), cast_3985_e.readProperty_value ().add_operation (GALGAS_string (" is not a valid enum value"), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 152)), fixItArray2 COMMA_SOURCE_FILE ("semantic_verification.galgas", 152)) ; } + }else if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_auto) { + }else{ + inCompiler->printMessage (GALGAS_string ("**** @impEnumType ****\n") COMMA_SOURCE_FILE ("semantic_verification.galgas", 156)) ; + TC_Array fixItArray3 ; + inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), GALGAS_string ("ENUM expected"), fixItArray3 COMMA_SOURCE_FILE ("semantic_verification.galgas", 157)) ; } } - { - var_objectsKind_46451.setter_put (var_objectName_46295, var_object_46411, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1397)) ; - } - { - var_objectsForKind_46098.setter_setObjects (var_objectsKind_46451 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1398)) ; - } - { - ioArgument_objects.setter_put (var_objectKind_45969, var_objectsForKind_46098, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1399)) ; - } } - - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'arxmlDefinitionContainer?&??' +//Overriding extension method '@impAutoDefaultType verifyType' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_arxmlDefinitionContainer_3F__26__3F__3F_ (const GALGAS_implementationObjectMap constinArgument_types, - GALGAS_objectAttributes & ioArgument_identifiers, - GALGAS_arxmlElementValue inArgument_currentElement, - GALGAS_lstring inArgument_currentPath, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_arxmlElementValueList var_textParameters_48205 = GALGAS_arxmlElementValueList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1409)) ; - GALGAS_stringlist var_textParametersPath_48239 = GALGAS_stringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1410)) ; - var_textParametersPath_48239.addAssign_operation (GALGAS_string ("PARAMETER-VALUES") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1411)) ; - var_textParametersPath_48239.addAssign_operation (GALGAS_string ("ECUC-TEXTUAL-PARAM-VALUE") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1412)) ; - callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), var_textParametersPath_48239, var_textParameters_48205, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1413)) ; - GALGAS_arxmlElementValueList var_numParameters_48524 = GALGAS_arxmlElementValueList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1416)) ; - GALGAS_stringlist var_numParametersPath_48557 = GALGAS_stringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1417)) ; - var_numParametersPath_48557.addAssign_operation (GALGAS_string ("PARAMETER-VALUES") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1418)) ; - var_numParametersPath_48557.addAssign_operation (GALGAS_string ("ECUC-NUMERICAL-PARAM-VALUE") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1419)) ; - callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), var_numParametersPath_48557, var_numParameters_48524, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1420)) ; - GALGAS_arxmlElementValueList var_refParameters_48810 = GALGAS_arxmlElementValueList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1423)) ; - GALGAS_stringlist var_refParametersPath_48843 = GALGAS_stringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1424)) ; - var_refParametersPath_48843.addAssign_operation (GALGAS_string ("REFERENCE-VALUES") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1425)) ; - var_refParametersPath_48843.addAssign_operation (GALGAS_string ("ECUC-REFERENCE-VALUE") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1426)) ; - callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), var_refParametersPath_48843, var_refParameters_48810, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1427)) ; - GALGAS_arxmlElementValueList var_structParameters_49090 = GALGAS_arxmlElementValueList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1430)) ; - GALGAS_stringlist var_structParametersPath_49126 = GALGAS_stringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1431)) ; - var_structParametersPath_49126.addAssign_operation (GALGAS_string ("SUB-CONTAINERS") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1432)) ; - var_structParametersPath_49126.addAssign_operation (GALGAS_string ("ECUC-CONTAINER-VALUE") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1433)) ; - callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), var_structParametersPath_49126, var_structParameters_49090, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1434)) ; - GALGAS_arxmlElementValueList var_allParameters_49380 = var_numParameters_48524.add_operation (var_textParameters_48205, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1437)).add_operation (var_refParameters_48810, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1438)).add_operation (var_structParameters_49090, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1439)) ; - cEnumerator_arxmlElementValueList enumerator_49644 (var_allParameters_49380, kENUMERATION_UP) ; - while (enumerator_49644.hasCurrentObject ()) { - { - routine_arxmlDefinitionParameter_3F__26__3F__3F_ (constinArgument_types, ioArgument_identifiers, enumerator_49644.current_value (HERE), inArgument_currentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1444)) ; +void cPtr_impAutoDefaultType::method_verifyType (const GALGAS_object_5F_t constinArgument_attr, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + if (constinArgument_attr.isValid ()) { + if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_stringAttribute) { + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsNotEqual, this->mProperty_type.objectCompare (GALGAS_dataType::constructor_string (SOURCE_FILE ("semantic_verification.galgas", 167)))).operator_and (GALGAS_bool (kIsNotEqual, this->mProperty_type.objectCompare (GALGAS_dataType::constructor_identifier (SOURCE_FILE ("semantic_verification.galgas", 167)))) COMMA_SOURCE_FILE ("semantic_verification.galgas", 167)).boolEnum () ; + if (kBoolTrue == test_0) { + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), GALGAS_string ("string of identifier expected"), fixItArray1 COMMA_SOURCE_FILE ("semantic_verification.galgas", 168)) ; + } + } + }else if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_string_5F_class) { + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = GALGAS_bool (kIsNotEqual, this->mProperty_type.objectCompare (GALGAS_dataType::constructor_identifier (SOURCE_FILE ("semantic_verification.galgas", 171)))).boolEnum () ; + if (kBoolTrue == test_2) { + TC_Array fixItArray3 ; + inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), extensionGetter_oilType (this->mProperty_type, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 172)).add_operation (GALGAS_string (" expected"), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 172)), fixItArray3 COMMA_SOURCE_FILE ("semantic_verification.galgas", 172)) ; + } + } + }else if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_auto) { + }else{ + inCompiler->printMessage (GALGAS_string ("*** @impAutoDefaultType ***\n") COMMA_SOURCE_FILE ("semantic_verification.galgas", 176)) ; + constinArgument_attr.log ("attr" COMMA_SOURCE_FILE ("semantic_verification.galgas", 177)) ; + TC_Array fixItArray4 ; + inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), extensionGetter_oilType (this->mProperty_type, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 178)).add_operation (GALGAS_string (" expected"), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 178)), fixItArray4 COMMA_SOURCE_FILE ("semantic_verification.galgas", 178)) ; } - enumerator_49644.gotoNextObject () ; } } - - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'arxmlDefinitionParameter?&??' +//Overriding extension method '@impRangedType verifyType' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_arxmlDefinitionParameter_3F__26__3F__3F_ (const GALGAS_implementationObjectMap constinArgument_types, - GALGAS_objectAttributes & ioArgument_identifiers, - GALGAS_arxmlElementValue inArgument_parameter, - GALGAS_lstring inArgument_parentPath, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_object_5F_t var_val_49953 ; - GALGAS_lstring var_parameterPath_49972 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("DEFINITION-REF"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1456)) ; - GALGAS_lstring var_parameterType_50094 ; - { - routine_oilEquivalentName_3F__3F__21_ (inArgument_parentPath, var_parameterPath_49972, var_parameterType_50094, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1457)) ; - } - GALGAS_bool var_typeOk_50142 = GALGAS_bool (false) ; - GALGAS_locationList temp_0 = GALGAS_locationList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1461)) ; - temp_0.addAssign_operation (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1461)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1461)) ; - GALGAS_impType var_type_50168 = GALGAS_impVoid::class_func_new (temp_0, GALGAS_dataType::class_func_void (SOURCE_FILE ("arxml_parser.galgas", 1463)), function_emptyLString (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1463)), GALGAS_bool (false), GALGAS_lstringlist::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1465)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1461)) ; - GALGAS_lstring var_valueType_50439 = callExtensionGetter_getAttributeValueFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("DEFINITION-REF"), GALGAS_string ("DEST"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1467)) ; - GALGAS_lstring var_oil_5F_desc_50633 = GALGAS_lstring::class_func_new (GALGAS_string::makeEmptyString (), GALGAS_location::class_func_nowhere (SOURCE_FILE ("arxml_parser.galgas", 1472)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1472)) ; - GALGAS_bool var_isAuto_50791 = GALGAS_bool (false) ; - GALGAS_lstring var_parameterValue_50817 ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1479)).boolEnum () ; - if (kBoolTrue == test_1) { - var_parameterValue_50817 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1483)) ; - } - } - if (kBoolFalse == test_1) { - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("VALUE-REF"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1484)).boolEnum () ; +void cPtr_impRangedType::method_verifyType (const GALGAS_object_5F_t constinArgument_attr, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + if (constinArgument_attr.isValid ()) { + if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_33__32__5F_class) { + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsNotEqual, this->mProperty_type.objectCompare (GALGAS_dataType::constructor_uint_33__32_Number (SOURCE_FILE ("semantic_verification.galgas", 188)))).boolEnum () ; + if (kBoolTrue == test_0) { + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), extensionGetter_oilType (this->mProperty_type, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 189)).add_operation (GALGAS_string (" expected"), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 189)), fixItArray1 COMMA_SOURCE_FILE ("semantic_verification.galgas", 189)) ; + } + } + }else if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_33__32__5F_class) { + enumGalgasBool test_2 = kBoolTrue ; if (kBoolTrue == test_2) { - var_parameterValue_50817 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("VALUE-REF"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1488)) ; - var_parameterValue_50817.setter_setString (var_parameterValue_50817.readProperty_string ().getter_lastPathComponent (SOURCE_FILE ("arxml_parser.galgas", 1490)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1490)) ; - enumGalgasBool test_3 = kBoolTrue ; - if (kBoolTrue == test_3) { - test_3 = GALGAS_bool (kIsEqual, var_parameterType_50094.readProperty_string ().getter_rightSubString (GALGAS_uint (uint32_t (3U)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1492)).objectCompare (GALGAS_string ("REF"))).boolEnum () ; - if (kBoolTrue == test_3) { - var_parameterType_50094.setter_setString (var_parameterType_50094.readProperty_string ().getter_leftSubString (var_parameterType_50094.readProperty_string ().getter_count (SOURCE_FILE ("arxml_parser.galgas", 1494)).substract_operation (GALGAS_uint (uint32_t (3U)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1494)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1493)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1493)) ; - } + test_2 = GALGAS_bool (kIsNotEqual, this->mProperty_type.objectCompare (GALGAS_dataType::constructor_sint_33__32_Number (SOURCE_FILE ("semantic_verification.galgas", 192)))).boolEnum () ; + if (kBoolTrue == test_2) { + TC_Array fixItArray3 ; + inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), extensionGetter_oilType (this->mProperty_type, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 193)).add_operation (GALGAS_string (" expected"), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 193)), fixItArray3 COMMA_SOURCE_FILE ("semantic_verification.galgas", 193)) ; } - if (kBoolFalse == test_3) { - enumGalgasBool test_4 = kBoolTrue ; - if (kBoolTrue == test_4) { - test_4 = GALGAS_bool (kIsEqual, var_parameterType_50094.readProperty_string ().getter_rightSubString (GALGAS_uint (uint32_t (4U)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1495)).objectCompare (GALGAS_string ("REFS"))).boolEnum () ; - if (kBoolTrue == test_4) { - var_parameterType_50094.setter_setString (var_parameterType_50094.readProperty_string ().getter_leftSubString (var_parameterType_50094.readProperty_string ().getter_count (SOURCE_FILE ("arxml_parser.galgas", 1497)).substract_operation (GALGAS_uint (uint32_t (4U)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1497)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1496)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1496)) ; - } - } - if (kBoolFalse == test_4) { - TC_Array fixItArray5 ; - inCompiler->emitSemanticError (var_parameterType_50094.readProperty_location (), GALGAS_string ("An object reference must end with REF or REFS"), fixItArray5 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1499)) ; - } + } + }else if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_uint_36__34__5F_class) { + enumGalgasBool test_4 = kBoolTrue ; + if (kBoolTrue == test_4) { + test_4 = GALGAS_bool (kIsNotEqual, this->mProperty_type.objectCompare (GALGAS_dataType::constructor_uint_36__34_Number (SOURCE_FILE ("semantic_verification.galgas", 196)))).boolEnum () ; + if (kBoolTrue == test_4) { + TC_Array fixItArray5 ; + inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), extensionGetter_oilType (this->mProperty_type, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 197)).add_operation (GALGAS_string (" expected"), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 197)), fixItArray5 COMMA_SOURCE_FILE ("semantic_verification.galgas", 197)) ; } } - } - if (kBoolFalse == test_2) { + }else if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_sint_36__34__5F_class) { enumGalgasBool test_6 = kBoolTrue ; if (kBoolTrue == test_6) { - GALGAS_bool test_7 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("PARAMETER-VALUES"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1501)) ; - if (kBoolTrue != test_7.boolEnum ()) { - test_7 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("REFERENCE-VALUES"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1502)) ; - } - test_6 = test_7.boolEnum () ; + test_6 = GALGAS_bool (kIsNotEqual, this->mProperty_type.objectCompare (GALGAS_dataType::constructor_sint_36__34_Number (SOURCE_FILE ("semantic_verification.galgas", 200)))).boolEnum () ; if (kBoolTrue == test_6) { - var_parameterValue_50817 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("SHORT-NAME"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1506)) ; + TC_Array fixItArray7 ; + inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), extensionGetter_oilType (this->mProperty_type, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 201)).add_operation (GALGAS_string (" expected"), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 201)), fixItArray7 COMMA_SOURCE_FILE ("semantic_verification.galgas", 201)) ; } } - if (kBoolFalse == test_6) { - enumGalgasBool test_8 = kBoolTrue ; + }else if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_float_5F_class) { + enumGalgasBool test_8 = kBoolTrue ; + if (kBoolTrue == test_8) { + test_8 = GALGAS_bool (kIsNotEqual, this->mProperty_type.objectCompare (GALGAS_dataType::constructor_floatNumber (SOURCE_FILE ("semantic_verification.galgas", 204)))).boolEnum () ; if (kBoolTrue == test_8) { - test_8 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("IS-AUTO-VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1507)).boolEnum () ; - if (kBoolTrue == test_8) { - var_parameterValue_50817 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("IS-AUTO-VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1511)) ; - enumGalgasBool test_9 = kBoolTrue ; - if (kBoolTrue == test_9) { - GALGAS_bool test_10 = GALGAS_bool (kIsEqual, var_parameterValue_50817.readProperty_string ().getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 1512)).objectCompare (GALGAS_string ("TRUE"))) ; - if (kBoolTrue != test_10.boolEnum ()) { - test_10 = GALGAS_bool (kIsEqual, var_parameterValue_50817.readProperty_string ().objectCompare (GALGAS_string ("1"))) ; - } - test_9 = test_10.boolEnum () ; - if (kBoolTrue == test_9) { - var_isAuto_50791 = GALGAS_bool (true) ; - } - } - } + TC_Array fixItArray9 ; + inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), extensionGetter_oilType (this->mProperty_type, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 205)).add_operation (GALGAS_string (" expected"), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 205)), fixItArray9 COMMA_SOURCE_FILE ("semantic_verification.galgas", 205)) ; } - if (kBoolFalse == test_8) { + } + }else if (constinArgument_attr.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_auto) { + enumGalgasBool test_10 = kBoolTrue ; + if (kBoolTrue == test_10) { + test_10 = GALGAS_bool (kIsEqual, this->mProperty_withAuto.objectCompare (GALGAS_bool (false))).boolEnum () ; + if (kBoolTrue == test_10) { TC_Array fixItArray11 ; - inCompiler->emitSemanticError (var_parameterType_50094.readProperty_location (), GALGAS_string ("No value has been found."), fixItArray11 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1517)) ; - var_parameterValue_50817.drop () ; // Release error dropped variable + inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), GALGAS_string ("AUTO is not allowed for ").add_operation (this->mProperty_name.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 209)).add_operation (GALGAS_string (" attribute"), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 209)), fixItArray11 COMMA_SOURCE_FILE ("semantic_verification.galgas", 209)) ; } } + }else{ + TC_Array fixItArray12 ; + inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), extensionGetter_oilType (this->mProperty_type, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 213)).add_operation (GALGAS_string (" expected"), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 213)), fixItArray12 COMMA_SOURCE_FILE ("semantic_verification.galgas", 213)) ; } } - enumGalgasBool test_12 = kBoolTrue ; - if (kBoolTrue == test_12) { - test_12 = constinArgument_types.getter_hasKey (var_parameterType_50094.readProperty_string () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1521)).boolEnum () ; - if (kBoolTrue == test_12) { - constinArgument_types.method_get (var_parameterType_50094, var_type_50168, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1522)) ; - var_typeOk_50142 = GALGAS_bool (true) ; - { - routine_testTypeError_3F__3F_ (var_type_50168.readProperty_type (), var_valueType_50439, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1525)) ; - } - } - } - if (kBoolFalse == test_12) { - TC_Array fixItArray13 ; - inCompiler->emitSemanticError (var_parameterType_50094.readProperty_location (), var_parameterType_50094.readProperty_string ().add_operation (GALGAS_string (" is not declared in the "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1527)).add_operation (GALGAS_string ("IMPLEMENTATION."), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1527)), fixItArray13 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1527)) ; - } - { - routine_displayOil_3F_ (GALGAS_string (" ").add_operation (var_parameterType_50094.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1531)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1531)) ; - } - GALGAS_implementationObjectMap var_subTypes_53409 = GALGAS_implementationObjectMap::class_func_emptyMap (SOURCE_FILE ("arxml_parser.galgas", 1533)) ; - GALGAS_objectAttributes var_subAttributes_53477 = function_emptyObject (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1534)) ; - enumGalgasBool test_14 = kBoolTrue ; - if (kBoolTrue == test_14) { - test_14 = var_isAuto_50791.boolEnum () ; - if (kBoolTrue == test_14) { - { - routine_displayOil_3F_ (GALGAS_string (" = AUTO;"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1543)) ; - } - enumGalgasBool test_15 = kBoolTrue ; - if (kBoolTrue == test_15) { - test_15 = callExtensionGetter_autoAllowed ((const cPtr_impType *) var_type_50168.ptr (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1544)).boolEnum () ; - if (kBoolTrue == test_15) { - var_val_49953 = GALGAS_auto::class_func_new (var_oil_5F_desc_50633, var_parameterValue_50817.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1545)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'attributeAllowsAuto' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_bool function_attributeAllowsAuto (const GALGAS_impType & constinArgument_type, + C_Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_bool result_allowsAuto ; // Returned variable + result_allowsAuto = GALGAS_bool (true) ; + if (constinArgument_type.isValid ()) { + if (nullptr != dynamic_cast (constinArgument_type.ptr ())) { + GALGAS_impAutoDefaultType cast_6579_autoType ((cPtr_impAutoDefaultType *) constinArgument_type.ptr ()) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = cast_6579_autoType.readProperty_withAuto ().operator_not (SOURCE_FILE ("semantic_verification.galgas", 225)).boolEnum () ; + if (kBoolTrue == test_0) { + result_allowsAuto = GALGAS_bool (false) ; } } - if (kBoolFalse == test_15) { - TC_Array fixItArray16 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1547)), GALGAS_string ("AUTO is not allowed"), fixItArray16 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1547)) ; - var_val_49953.drop () ; // Release error dropped variable - } + }else{ + result_allowsAuto = GALGAS_bool (false) ; } } - if (kBoolFalse == test_14) { - enumGalgasBool test_17 = kBoolTrue ; - if (kBoolTrue == test_17) { - test_17 = GALGAS_bool (kIsEqual, var_valueType_50439.readProperty_string ().objectCompare (GALGAS_string ("ECUC-ENUMERATION-PARAM-DEF"))).boolEnum () ; - if (kBoolTrue == test_17) { - GALGAS_impEnumType temp_18 ; - if (var_type_50168.isValid ()) { - if (nullptr != dynamic_cast (var_type_50168.ptr ())) { - temp_18 = (cPtr_impEnumType *) var_type_50168.ptr () ; - }else{ - inCompiler->castError ("impEnumType", var_type_50168.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1554)) ; - } - } - GALGAS_impEnumType var_enumType_54289 = temp_18 ; - enumGalgasBool test_19 = kBoolTrue ; - if (kBoolTrue == test_19) { - test_19 = var_enumType_54289.readProperty_valuesMap ().getter_hasKey (var_parameterValue_50817.readProperty_string () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1555)).boolEnum () ; - if (kBoolTrue == test_19) { - var_enumType_54289.readProperty_valuesMap ().method_get (var_parameterValue_50817, var_subTypes_53409, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1556)) ; - } - } - if (kBoolFalse == test_19) { - TC_Array fixItArray20 ; - inCompiler->emitSemanticError (var_parameterValue_50817.readProperty_location (), var_parameterValue_50817.readProperty_string ().add_operation (GALGAS_string (" ENUM value "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1558)).add_operation (GALGAS_string ("for "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1558)).add_operation (var_parameterType_50094.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1559)).add_operation (GALGAS_string (" undeclared.\nOne of the following"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1559)).add_operation (GALGAS_string ("values are expected :\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1559)).add_operation (function_valueList (var_enumType_54289.readProperty_valuesMap (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1560)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1560)), fixItArray20 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1558)) ; - } - { - routine_displayOil_3F_ (GALGAS_string (" = ").add_operation (var_parameterValue_50817.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1563)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1563)) ; - } - enumGalgasBool test_21 = kBoolTrue ; - if (kBoolTrue == test_21) { - test_21 = GALGAS_bool (kIsNotEqual, var_subTypes_53409.getter_count (SOURCE_FILE ("arxml_parser.galgas", 1564)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; - if (kBoolTrue == test_21) { - { - routine_displayOil_3F_ (GALGAS_string ("\n {\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1565)) ; - } - { - routine_arxmlDefinitionContainer_3F__26__3F__3F_ (var_subTypes_53409, var_subAttributes_53477, inArgument_parameter, inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1566)) ; - } - { - routine_displayOil_3F_ (GALGAS_string (" }"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1568)) ; - } - } - } - { - routine_displayOil_3F_ (GALGAS_string (";"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1570)) ; - } - var_val_49953 = GALGAS_enumAttribute::class_func_new (var_oil_5F_desc_50633, var_parameterValue_50817.readProperty_location (), var_parameterValue_50817.readProperty_string (), var_subAttributes_53477 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1572)) ; - } - } - if (kBoolFalse == test_17) { - enumGalgasBool test_22 = kBoolTrue ; - if (kBoolTrue == test_22) { - test_22 = GALGAS_bool (kIsEqual, var_valueType_50439.readProperty_string ().objectCompare (GALGAS_string ("ECUC-BOOLEAN-PARAM-DEF"))).boolEnum () ; - if (kBoolTrue == test_22) { - GALGAS_impBoolType temp_23 ; - if (var_type_50168.isValid ()) { - if (nullptr != dynamic_cast (var_type_50168.ptr ())) { - temp_23 = (cPtr_impBoolType *) var_type_50168.ptr () ; - }else{ - inCompiler->castError ("impBoolType", var_type_50168.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1581)) ; - } - } - GALGAS_impBoolType var_boolType_55423 = temp_23 ; - GALGAS_bool var_booleanValue_55469 ; - enumGalgasBool test_24 = kBoolTrue ; - if (kBoolTrue == test_24) { - GALGAS_bool test_25 = GALGAS_bool (kIsEqual, var_parameterValue_50817.readProperty_string ().getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 1583)).objectCompare (GALGAS_string ("TRUE"))) ; - if (kBoolTrue != test_25.boolEnum ()) { - test_25 = GALGAS_bool (kIsEqual, var_parameterValue_50817.readProperty_string ().objectCompare (GALGAS_string ("1"))) ; - } - test_24 = test_25.boolEnum () ; - if (kBoolTrue == test_24) { - var_subTypes_53409 = var_boolType_55423.readProperty_trueSubAttributes () ; - var_booleanValue_55469 = GALGAS_bool (true) ; - } - } - if (kBoolFalse == test_24) { - enumGalgasBool test_26 = kBoolTrue ; - if (kBoolTrue == test_26) { - GALGAS_bool test_27 = GALGAS_bool (kIsEqual, var_parameterValue_50817.readProperty_string ().getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 1587)).objectCompare (GALGAS_string ("FALSE"))) ; - if (kBoolTrue != test_27.boolEnum ()) { - test_27 = GALGAS_bool (kIsEqual, var_parameterValue_50817.readProperty_string ().objectCompare (GALGAS_string ("0"))) ; - } - test_26 = test_27.boolEnum () ; - if (kBoolTrue == test_26) { - var_subTypes_53409 = var_boolType_55423.readProperty_falseSubAttributes () ; - var_booleanValue_55469 = GALGAS_bool (false) ; - } - } - if (kBoolFalse == test_26) { - var_booleanValue_55469 = GALGAS_bool (false) ; - TC_Array fixItArray28 ; - inCompiler->emitSemanticError (var_parameterValue_50817.readProperty_location (), GALGAS_string ("A Boolean must be 'true', 'false', '0' or '1'"), fixItArray28 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1593)) ; - } - } - { - routine_displayOil_3F_ (GALGAS_string (" = ").add_operation (var_booleanValue_55469.getter_cString (SOURCE_FILE ("arxml_parser.galgas", 1596)).getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 1596)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1596)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1596)) ; - } - enumGalgasBool test_29 = kBoolTrue ; - if (kBoolTrue == test_29) { - test_29 = GALGAS_bool (kIsNotEqual, var_subTypes_53409.getter_count (SOURCE_FILE ("arxml_parser.galgas", 1597)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; - if (kBoolTrue == test_29) { - { - routine_displayOil_3F_ (GALGAS_string ("\n {\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1598)) ; - } - { - routine_arxmlDefinitionContainer_3F__26__3F__3F_ (var_subTypes_53409, var_subAttributes_53477, inArgument_parameter, inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1599)) ; - } - { - routine_displayOil_3F_ (GALGAS_string (" }"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1601)) ; - } - } - } - { - routine_displayOil_3F_ (GALGAS_string (";"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1603)) ; - } - var_val_49953 = GALGAS_boolAttribute::class_func_new (var_oil_5F_desc_50633, var_parameterType_50094.readProperty_location (), var_booleanValue_55469, var_subAttributes_53477 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1605)) ; - } - } - if (kBoolFalse == test_22) { - enumGalgasBool test_30 = kBoolTrue ; - if (kBoolTrue == test_30) { - test_30 = GALGAS_bool (kIsEqual, var_valueType_50439.readProperty_string ().objectCompare (GALGAS_string ("ECUC-INTEGER-PARAM-DEF"))).boolEnum () ; - if (kBoolTrue == test_30) { - GALGAS_bool var_sign_56716 ; - { - routine_arxmlPopSign_26__21_ (var_parameterValue_50817, var_sign_56716, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1614)) ; - } - GALGAS_luint_36__34_ var_integerValue_56740 = GALGAS_luint_36__34_::class_func_new (var_parameterValue_50817.readProperty_string ().getter_decimalUnsignedNumber (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1617)).getter_uint_36__34_ (SOURCE_FILE ("arxml_parser.galgas", 1617)), var_parameterValue_50817.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1616)) ; - { - routine_displayOil_3F_ (GALGAS_string (" = ").add_operation (var_integerValue_56740.readProperty_uint_36__34_ ().getter_string (SOURCE_FILE ("arxml_parser.galgas", 1620)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1620)).add_operation (GALGAS_string (";"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1620)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1620)) ; - } - var_val_49953 = function_checkAndGetIntegerNumber (var_oil_5F_desc_50633, var_type_50168.readProperty_type (), var_integerValue_56740, var_sign_56716, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1622)) ; - } - } - if (kBoolFalse == test_30) { - enumGalgasBool test_31 = kBoolTrue ; - if (kBoolTrue == test_31) { - test_31 = GALGAS_bool (kIsEqual, var_valueType_50439.readProperty_string ().objectCompare (GALGAS_string ("ECUC-FLOAT-PARAM-DEF"))).boolEnum () ; - if (kBoolTrue == test_31) { - GALGAS_bool var_sign_57319 ; - { - routine_arxmlPopSign_26__21_ (var_parameterValue_50817, var_sign_57319, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1628)) ; - } - GALGAS_ldouble var_floatValue_57343 = GALGAS_ldouble::class_func_new (var_parameterValue_50817.readProperty_string ().getter_doubleNumber (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1631)), var_parameterValue_50817.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1630)) ; - { - routine_displayOil_3F_ (GALGAS_string (" = ").add_operation (var_floatValue_57343.readProperty_double ().getter_string (SOURCE_FILE ("arxml_parser.galgas", 1634)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1634)).add_operation (GALGAS_string (";"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1634)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1634)) ; - } - var_val_49953 = function_checkAndGetFloatNumber (var_oil_5F_desc_50633, var_type_50168.readProperty_type (), var_floatValue_57343, var_sign_57319, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1636)) ; - } - } - if (kBoolFalse == test_31) { - enumGalgasBool test_32 = kBoolTrue ; - if (kBoolTrue == test_32) { - test_32 = GALGAS_bool (kIsEqual, var_valueType_50439.readProperty_string ().objectCompare (GALGAS_string ("ECUC-STRING-PARAM-DEF"))).boolEnum () ; - if (kBoolTrue == test_32) { - { - routine_displayOil_3F_ (GALGAS_string (" = \"").add_operation (var_parameterValue_50817.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1642)).add_operation (GALGAS_string ("\";"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1642)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1642)) ; - } - var_val_49953 = GALGAS_stringAttribute::class_func_new (var_oil_5F_desc_50633, var_parameterValue_50817.readProperty_location (), var_parameterValue_50817.readProperty_string () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1644)) ; - } - } - if (kBoolFalse == test_32) { - enumGalgasBool test_33 = kBoolTrue ; - if (kBoolTrue == test_33) { - test_33 = GALGAS_bool (kIsEqual, var_valueType_50439.readProperty_string ().objectCompare (GALGAS_string ("ECUC-REFERENCE-DEF"))).boolEnum () ; - if (kBoolTrue == test_33) { - { - routine_displayOil_3F_ (GALGAS_string (" = ").add_operation (var_parameterValue_50817.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1652)).add_operation (GALGAS_string (";"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1652)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1652)) ; - } - var_val_49953 = GALGAS_objectRefAttribute::class_func_new (var_oil_5F_desc_50633, var_parameterValue_50817.readProperty_location (), var_parameterValue_50817 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1654)) ; - } - } - if (kBoolFalse == test_33) { - enumGalgasBool test_34 = kBoolTrue ; - if (kBoolTrue == test_34) { - test_34 = GALGAS_bool (kIsEqual, var_valueType_50439.readProperty_string ().objectCompare (GALGAS_string ("TPL-IDENTIFIER-DEF"))).boolEnum () ; - if (kBoolTrue == test_34) { - { - routine_displayOil_3F_ (GALGAS_string (" = ").add_operation (var_parameterValue_50817.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1662)).add_operation (GALGAS_string (";"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1662)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1662)) ; - } - var_val_49953 = GALGAS_string_5F_class::class_func_new (var_oil_5F_desc_50633, var_parameterValue_50817.readProperty_location (), var_parameterValue_50817.readProperty_string () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1664)) ; - } - } - if (kBoolFalse == test_34) { - enumGalgasBool test_35 = kBoolTrue ; - if (kBoolTrue == test_35) { - test_35 = GALGAS_bool (kIsEqual, var_valueType_50439.readProperty_string ().objectCompare (GALGAS_string ("ECUC-PARAM-CONF-CONTAINER-DEF"))).boolEnum () ; - if (kBoolTrue == test_35) { - GALGAS_impStructType temp_36 ; - if (var_type_50168.isValid ()) { - if (nullptr != dynamic_cast (var_type_50168.ptr ())) { - temp_36 = (cPtr_impStructType *) var_type_50168.ptr () ; - }else{ - inCompiler->castError ("impStructType", var_type_50168.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1672)) ; - } - } - GALGAS_impStructType var_structType_59236 = temp_36 ; - var_subTypes_53409 = var_structType_59236.readProperty_structAttributes () ; - { - routine_displayOil_3F_ (GALGAS_string (" ").add_operation (var_parameterValue_50817.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1675)).add_operation (GALGAS_string ("\n {\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1675)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1675)) ; - } - { - routine_arxmlDefinitionContainer_3F__26__3F__3F_ (var_subTypes_53409, var_subAttributes_53477, inArgument_parameter, inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1676)) ; - } - { - routine_displayOil_3F_ (GALGAS_string (" };"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1678)) ; - } - var_val_49953 = GALGAS_structAttribute::class_func_new (var_oil_5F_desc_50633, var_parameterValue_50817.readProperty_location (), var_parameterValue_50817, var_subAttributes_53477 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1680)) ; - } - } - if (kBoolFalse == test_35) { - TC_Array fixItArray37 ; - inCompiler->emitSemanticError (var_valueType_50439.readProperty_location (), GALGAS_string ("Undefined valueType ").add_operation (var_valueType_50439.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1688)), fixItArray37 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1688)) ; - var_val_49953.drop () ; // Release error dropped variable - var_typeOk_50142 = GALGAS_bool (false) ; +//--- + return result_allowsAuto ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_attributeAllowsAuto [2] = { + & kTypeDescriptor_GALGAS_impType, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_attributeAllowsAuto (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_impType operand0 = GALGAS_impType::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_attributeAllowsAuto (operand0, + inCompiler + COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_attributeAllowsAuto ("attributeAllowsAuto", + functionWithGenericHeader_attributeAllowsAuto, + & kTypeDescriptor_GALGAS_bool, + 1, + functionArgs_attributeAllowsAuto) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'verifyAllAttributes' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_verifyAllAttributes (const GALGAS_implementation constinArgument_imp, + const GALGAS_objectsMap constinArgument_objects, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + cEnumerator_objectsMap enumerator_6885 (constinArgument_objects, kENUMERATION_UP) ; + while (enumerator_6885.hasCurrentObject ()) { + GALGAS_implementationObject var_impObj_6933 = callExtensionGetter_impObject ((const cPtr_implementation *) constinArgument_imp.ptr (), enumerator_6885.current_lkey (HERE).readProperty_string (), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 242)) ; + cEnumerator_objectKindMap enumerator_7036 (enumerator_6885.current_objectsOfKind (HERE).readProperty_objects (), kENUMERATION_UP) ; + while (enumerator_7036.hasCurrentObject ()) { + cEnumerator_implementationObjectMap enumerator_7085 (var_impObj_6933.readProperty_attributes (), kENUMERATION_UP) ; + while (enumerator_7085.hasCurrentObject ()) { + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = enumerator_7036.current_attributes (HERE).readProperty_objectParams ().getter_hasKey (enumerator_7085.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("semantic_verification.galgas", 246)).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_object_5F_t var_value_7316 ; + enumerator_7036.current_attributes (HERE).readProperty_objectParams ().method_get (enumerator_7085.current_lkey (HERE), var_value_7316, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 250)) ; + if (var_value_7316.isValid ()) { + if (var_value_7316.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_auto) { + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = function_attributeAllowsAuto (enumerator_7085.current_type (HERE), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 254)).operator_not (SOURCE_FILE ("semantic_verification.galgas", 254)).boolEnum () ; + if (kBoolTrue == test_1) { + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (var_value_7316.readProperty_location (), GALGAS_string ("AUTO value is not allowed for the ").add_operation (enumerator_6885.current_lkey (HERE).readProperty_string (), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 255)).add_operation (GALGAS_string (" attribute"), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 255)), fixItArray2 COMMA_SOURCE_FILE ("semantic_verification.galgas", 255)) ; } } } } } } - } - } - } - { - routine_displayOil_3F_ (GALGAS_string (" /* ARXML Type :").add_operation (var_valueType_50439.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1692)).add_operation (GALGAS_string (" */\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1692)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1692)) ; - } - GALGAS_identifierMap var_idfs_60177 = ioArgument_identifiers.readProperty_objectParams () ; - enumGalgasBool test_38 = kBoolTrue ; - if (kBoolTrue == test_38) { - test_38 = var_type_50168.readProperty_multiple ().boolEnum () ; - if (kBoolTrue == test_38) { - enumGalgasBool test_39 = kBoolTrue ; - if (kBoolTrue == test_39) { - test_39 = var_idfs_60177.getter_hasKey (var_parameterType_50094.readProperty_string () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1699)).boolEnum () ; - if (kBoolTrue == test_39) { - GALGAS_object_5F_t var_attributeList_60306 ; - { - var_idfs_60177.setter_del (var_parameterType_50094, var_attributeList_60306, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1703)) ; - } - if (var_attributeList_60306.isValid ()) { - if (var_attributeList_60306.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_multipleAttribute) { - GALGAS_multipleAttribute cast_60509_multiAttribute ((cPtr_multipleAttribute *) var_attributeList_60306.ptr ()) ; - GALGAS_identifierList var_aList_60550 = cast_60509_multiAttribute.readProperty_items () ; - var_aList_60550.addAssign_operation (var_val_49953 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1707)) ; - var_val_49953 = GALGAS_multipleAttribute::class_func_new (function_emptyLString (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1708)), cast_60509_multiAttribute.readProperty_location (), var_aList_60550 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1708)) ; + if (kBoolFalse == test_0) { + enumGalgasBool test_3 = kBoolTrue ; + if (kBoolTrue == test_3) { + test_3 = function_attributeAllowsAuto (enumerator_7085.current_type (HERE), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 260)).operator_not (SOURCE_FILE ("semantic_verification.galgas", 260)).operator_and (enumerator_7085.current_type (HERE).readProperty_multiple ().operator_not (SOURCE_FILE ("semantic_verification.galgas", 260)) COMMA_SOURCE_FILE ("semantic_verification.galgas", 260)).boolEnum () ; + if (kBoolTrue == test_3) { + TC_Array fixItArray4 ; + inCompiler->emitSemanticError (enumerator_7036.current_lkey (HERE).readProperty_location (), GALGAS_string ("In ").add_operation (enumerator_6885.current_lkey (HERE).readProperty_string (), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 261)).add_operation (GALGAS_string (" "), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 261)).add_operation (enumerator_7036.current_lkey (HERE).readProperty_string (), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 261)).add_operation (GALGAS_string (", attribute "), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 261)).add_operation (enumerator_7085.current_lkey (HERE).readProperty_string (), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 261)).add_operation (GALGAS_string (" is not defined and is not AUTO"), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 261)), fixItArray4 COMMA_SOURCE_FILE ("semantic_verification.galgas", 261)) ; } } } - } - if (kBoolFalse == test_39) { - GALGAS_identifierList var_aList_60820 = GALGAS_identifierList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1713)) ; - GALGAS_object_5F_t var_defaultValue_60896 = callExtensionGetter_getDefaultValue ((const cPtr_impType *) var_type_50168.ptr (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1715)) ; - if (var_defaultValue_60896.isValid ()) { - if (var_defaultValue_60896.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_multipleAttribute) { - GALGAS_multipleAttribute cast_61023_multiAttribute ((cPtr_multipleAttribute *) var_defaultValue_60896.ptr ()) ; - var_aList_60820 = cast_61023_multiAttribute.readProperty_items () ; - } - } - var_aList_60820.addAssign_operation (var_val_49953 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1725)) ; - var_val_49953 = GALGAS_multipleAttribute::class_func_new (function_emptyLString (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1727)), var_val_49953.readProperty_location (), var_aList_60820 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1727)) ; - } - enumGalgasBool test_40 = kBoolTrue ; - if (kBoolTrue == test_40) { - test_40 = var_idfs_60177.getter_hasKey (var_parameterType_50094.readProperty_string () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1729)).boolEnum () ; - if (kBoolTrue == test_40) { - GALGAS_object_5F_t var_existingObject_61514 ; - { - var_idfs_60177.setter_del (var_parameterType_50094, var_existingObject_61514, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1733)) ; - } - { - var_val_49953.insulate (HERE) ; - cPtr_object_5F_t * ptr_61592 = (cPtr_object_5F_t *) var_val_49953.ptr () ; - callExtensionSetter_mergeSubAttributes ((cPtr_object_5F_t *) ptr_61592, var_existingObject_61514, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1734)) ; + if (enumerator_7085.current_type (HERE).isValid ()) { + if (enumerator_7085.current_type (HERE).dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impAutoDefaultType) { } } + enumerator_7085.gotoNextObject () ; } + enumerator_7036.gotoNextObject () ; } - } - enumGalgasBool test_41 = kBoolTrue ; - if (kBoolTrue == test_41) { - test_41 = var_typeOk_50142.boolEnum () ; - if (kBoolTrue == test_41) { - { - var_idfs_60177.setter_put (var_parameterType_50094, var_val_49953, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1740)) ; - } - } - } - { - ioArgument_identifiers.setter_setObjectParams (var_idfs_60177 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1742)) ; + enumerator_6885.gotoNextObject () ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'testTypeError??' +//Overriding extension method '@multipleAttribute verifyCrossReferences' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_testTypeError_3F__3F_ (GALGAS_dataType inArgument_type, - GALGAS_lstring inArgument_valueType, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsNotEqual, extensionGetter_arxmlType (inArgument_type, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1753)).objectCompare (inArgument_valueType.readProperty_string ())).boolEnum () ; - if (kBoolTrue == test_0) { - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (inArgument_valueType.readProperty_location (), GALGAS_string ("Expected oil type ").add_operation (extensionGetter_oilType (inArgument_type, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1754)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1754)).add_operation (GALGAS_string ("."), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1754)).add_operation (GALGAS_string (" Found "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1754)).add_operation (inArgument_valueType.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1755)).add_operation (GALGAS_string (".\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1755)).add_operation (GALGAS_string (" Fix : Replace it with "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1755)).add_operation (extensionGetter_arxmlType (inArgument_type, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1756)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1756)), fixItArray1 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1754)) ; - } +void cPtr_multipleAttribute::method_verifyCrossReferences (const GALGAS_objectsMap constinArgument_allObjects, + const GALGAS_impType constinArgument_type, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + cEnumerator_identifierList enumerator_19057 (this->mProperty_items, kENUMERATION_UP) ; + while (enumerator_19057.hasCurrentObject ()) { + callExtensionMethod_verifyCrossReferences ((cPtr_object_5F_t *) enumerator_19057.current_item (HERE).ptr (), constinArgument_allObjects, constinArgument_type, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 617)) ; + enumerator_19057.gotoNextObject () ; } } - - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'oilEquivalentName??!' +//Overriding extension method '@boolAttribute verifyCrossReferences' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_oilEquivalentName_3F__3F__21_ (GALGAS_lstring inArgument_parentPath, - GALGAS_lstring inArgument_currentPath, - GALGAS_lstring & outArgument_outName, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_outName.drop () ; // Release 'out' argument - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsEqual, inArgument_parentPath.readProperty_string ().objectCompare (inArgument_currentPath.readProperty_string ())).boolEnum () ; - if (kBoolTrue == test_0) { - inArgument_parentPath.setter_setString (inArgument_parentPath.readProperty_string ().getter_stringByDeletingLastPathComponent (SOURCE_FILE ("arxml_parser.galgas", 1766)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1766)) ; +void cPtr_boolAttribute::method_verifyCrossReferences (const GALGAS_objectsMap constinArgument_allObjects, + const GALGAS_impType constinArgument_type, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_impBoolType temp_0 ; + if (constinArgument_type.isValid ()) { + if (nullptr != dynamic_cast (constinArgument_type.ptr ())) { + temp_0 = (cPtr_impBoolType *) constinArgument_type.ptr () ; + }else{ + inCompiler->castError ("impBoolType", constinArgument_type.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("semantic_verification.galgas", 625)) ; } } - GALGAS_lstring var_objectKind_62451 = GALGAS_lstring::class_func_new (inArgument_currentPath.readProperty_string ().getter_lastPathComponent (SOURCE_FILE ("arxml_parser.galgas", 1769)), inArgument_currentPath.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1769)) ; - GALGAS_string var_lastParent_62744 = inArgument_parentPath.readProperty_string ().getter_lastPathComponent (SOURCE_FILE ("arxml_parser.galgas", 1774)).getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 1774)) ; + GALGAS_impBoolType var_boolType_19259 = temp_0 ; enumGalgasBool test_1 = kBoolTrue ; if (kBoolTrue == test_1) { - test_1 = GALGAS_bool (kIsEqual, var_lastParent_62744.objectCompare (GALGAS_string ("OSOS"))).boolEnum () ; + test_1 = this->mProperty_value.boolEnum () ; if (kBoolTrue == test_1) { - var_lastParent_62744 = GALGAS_string ("OS") ; - } - } - GALGAS_uint var_lastParentLength_62986 = var_lastParent_62744.getter_count (SOURCE_FILE ("arxml_parser.galgas", 1782)) ; - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = GALGAS_bool (kIsEqual, var_objectKind_62451.readProperty_string ().getter_leftSubString (var_lastParentLength_62986 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1783)).getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 1783)).objectCompare (var_lastParent_62744)).boolEnum () ; - if (kBoolTrue == test_2) { - var_objectKind_62451.setter_setString (var_objectKind_62451.readProperty_string ().getter_subStringFromIndex (var_lastParentLength_62986 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1785)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1785)) ; - var_objectKind_62451.setter_setString (var_objectKind_62451.readProperty_string ().getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 1786)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1786)) ; - outArgument_outName = var_objectKind_62451 ; + callExtensionMethod_verifyCrossReferences ((cPtr_objectAttributes *) this->mProperty_subAttributes.ptr (), constinArgument_allObjects, var_boolType_19259.readProperty_trueSubAttributes (), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 627)) ; } } - if (kBoolFalse == test_2) { - TC_Array fixItArray3 ; - inCompiler->emitSemanticError (var_objectKind_62451.readProperty_location (), GALGAS_string ("An object must be named by its Parent.\n ").add_operation (GALGAS_string ("Ex : If Task object has Os parent, then the DEFINITION-REF must be "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1789)).add_operation (GALGAS_string ("(...)/Os/OsTask.\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1790)).add_operation (GALGAS_string ("Fix : Add \""), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1791)).add_operation (var_lastParent_62744, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1792)).add_operation (GALGAS_string ("\" to the name of your property."), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1792)), fixItArray3 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1789)) ; - outArgument_outName.drop () ; // Release error dropped variable + if (kBoolFalse == test_1) { + callExtensionMethod_verifyCrossReferences ((cPtr_objectAttributes *) this->mProperty_subAttributes.ptr (), constinArgument_allObjects, var_boolType_19259.readProperty_falseSubAttributes (), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 629)) ; } } +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@enumAttribute verifyCrossReferences' +// +//---------------------------------------------------------------------------------------------------------------------- +void cPtr_enumAttribute::method_verifyCrossReferences (const GALGAS_objectsMap constinArgument_allObjects, + const GALGAS_impType constinArgument_type, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_impEnumType temp_0 ; + if (constinArgument_type.isValid ()) { + if (nullptr != dynamic_cast (constinArgument_type.ptr ())) { + temp_0 = (cPtr_impEnumType *) constinArgument_type.ptr () ; + }else{ + inCompiler->castError ("impEnumType", constinArgument_type.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("semantic_verification.galgas", 637)) ; + } + } + GALGAS_impEnumType var_enumType_19619 = temp_0 ; + GALGAS_lstring var_key_19666 = GALGAS_lstring::constructor_new (this->mProperty_value, GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 638)) COMMA_SOURCE_FILE ("semantic_verification.galgas", 638)) ; + GALGAS_implementationObjectMap var_expectedAttributes_19764 ; + var_enumType_19619.readProperty_valuesMap ().method_get (var_key_19666, var_expectedAttributes_19764, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 639)) ; + callExtensionMethod_verifyCrossReferences ((cPtr_objectAttributes *) this->mProperty_subAttributes.ptr (), constinArgument_allObjects, var_expectedAttributes_19764, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 640)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@structAttribute verifyCrossReferences' +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +void cPtr_structAttribute::method_verifyCrossReferences (const GALGAS_objectsMap constinArgument_allObjects, + const GALGAS_impType constinArgument_type, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_impStructType temp_0 ; + if (constinArgument_type.isValid ()) { + if (nullptr != dynamic_cast (constinArgument_type.ptr ())) { + temp_0 = (cPtr_impStructType *) constinArgument_type.ptr () ; + }else{ + inCompiler->castError ("impStructType", constinArgument_type.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("semantic_verification.galgas", 647)) ; + } + } + GALGAS_impStructType var_structType_19990 = temp_0 ; + callExtensionMethod_verifyCrossReferences ((cPtr_objectAttributes *) this->mProperty_subAttributes.ptr (), constinArgument_allObjects, var_structType_19990.readProperty_structAttributes (), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 648)) ; +} +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'arxmlGetDescription?!' +//Overriding extension method '@objectRefAttribute verifyCrossReferences' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_arxmlGetDescription_3F__21_ (GALGAS_arxmlElementValue inArgument_packageElement, - GALGAS_lstring & outArgument_description, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_description.drop () ; // Release 'out' argument - outArgument_description = GALGAS_lstring::class_func_new (GALGAS_string::makeEmptyString (), GALGAS_location::class_func_nowhere (SOURCE_FILE ("arxml_parser.galgas", 1801)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1801)) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), GALGAS_string ("DESC"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1804)).boolEnum () ; - if (kBoolTrue == test_0) { - GALGAS_arxmlElementValue var_desc_63871 ; - callExtensionMethod_getElement ((cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), GALGAS_string ("DESC"), var_desc_63871, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1805)) ; - callExtensionMethod_getAllTextsInSelf ((cPtr_arxmlElementValue *) var_desc_63871.ptr (), GALGAS_string (" "), outArgument_description, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1806)) ; +void cPtr_objectRefAttribute::method_verifyCrossReferences (const GALGAS_objectsMap constinArgument_allObjects, + const GALGAS_impType constinArgument_type, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_refType temp_0 ; + if (constinArgument_type.isValid ()) { + if (nullptr != dynamic_cast (constinArgument_type.ptr ())) { + temp_0 = (cPtr_refType *) constinArgument_type.ptr () ; + }else{ + inCompiler->castError ("refType", constinArgument_type.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("semantic_verification.galgas", 655)) ; } } + GALGAS_refType var_refType_20240 = temp_0 ; + GALGAS_objectKind var_kindMap_20367 ; + constinArgument_allObjects.method_get (var_refType_20240.readProperty_ref (), var_kindMap_20367, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 657)) ; enumGalgasBool test_1 = kBoolTrue ; if (kBoolTrue == test_1) { - test_1 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), GALGAS_string ("INTRODUCTION"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1808)).boolEnum () ; + test_1 = var_kindMap_20367.readProperty_objects ().getter_hasKey (this->mProperty_value.readProperty_string () COMMA_SOURCE_FILE ("semantic_verification.galgas", 658)).operator_not (SOURCE_FILE ("semantic_verification.galgas", 658)).boolEnum () ; if (kBoolTrue == test_1) { - GALGAS_arxmlElementValue var_desc_64056 ; - callExtensionMethod_getElement ((cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), GALGAS_string ("INTRODUCTION"), var_desc_64056, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1809)) ; - callExtensionMethod_getAllTextsInSelf ((cPtr_arxmlElementValue *) var_desc_64056.ptr (), GALGAS_string (" "), outArgument_description, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1810)) ; + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (this->mProperty_value.readProperty_location (), GALGAS_string ("Referenced ").add_operation (var_refType_20240.readProperty_ref ().readProperty_string (), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 659)).add_operation (GALGAS_string (": "), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 659)).add_operation (this->mProperty_value.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 659)).add_operation (GALGAS_string (" does not exist"), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 659)), fixItArray2 COMMA_SOURCE_FILE ("semantic_verification.galgas", 659)) ; } } - outArgument_description.setter_setString (outArgument_description.readProperty_string ().getter_stringByReplacingStringByString (GALGAS_string ("\n"), GALGAS_string (" "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1814)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1814)) ; - outArgument_description.setter_setString (outArgument_description.readProperty_string ().getter_stringByReplacingStringByString (GALGAS_string ("\r"), GALGAS_string (" "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1817)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1817)) ; - outArgument_description.setter_setString (outArgument_description.readProperty_string ().getter_stringByReplacingStringByString (GALGAS_string ("\\"), GALGAS_string ("\\\\"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1820)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1820)) ; - outArgument_description.setter_setString (outArgument_description.readProperty_string ().getter_stringByReplacingStringByString (GALGAS_string ("\""), GALGAS_string ("\\\""), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1823)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1823)) ; } - - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'displayOil?' +//Routine 'verifyAll' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_displayOil_3F_ (GALGAS_string inArgument_string, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (gOption_goil_5F_options_arxmlDisplayOil.readProperty_value ()).boolEnum () ; - if (kBoolTrue == test_0) { - inCompiler->printMessage (inArgument_string COMMA_SOURCE_FILE ("arxml_parser.galgas", 1832)) ; - } +void routine_verifyAll (const GALGAS_implementation constinArgument_imp, + const GALGAS_applicationDefinition constinArgument_application, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + { + routine_verifyAllAttributes (constinArgument_imp, constinArgument_application.readProperty_objects (), inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 681)) ; } + callExtensionMethod_verifyApplication ((cPtr_implementation *) constinArgument_imp.ptr (), constinArgument_application, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 682)) ; + callExtensionMethod_verifyCrossReferences ((cPtr_applicationDefinition *) constinArgument_application.ptr (), constinArgument_imp, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 685)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'arxmlGetMultiplicity??!' +//Function 'emptyApplicationDefinition' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_arxmlGetMultiplicity_3F__3F__21_ (GALGAS_arxmlElementValue inArgument_element, - GALGAS_lstring inArgument_objectName, - GALGAS_lbool & outArgument_multiple, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_multiple.drop () ; // Release 'out' argument - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_element.ptr (), GALGAS_string ("UPPER-MULTIPLICITY-INFINITE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1841)).boolEnum () ; - if (kBoolTrue == test_0) { - GALGAS_lstring var_smultiple_65098 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_element.ptr (), GALGAS_string ("UPPER-MULTIPLICITY-INFINITE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1842)) ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - GALGAS_bool test_2 = GALGAS_bool (kIsEqual, var_smultiple_65098.readProperty_string ().getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 1844)).objectCompare (GALGAS_string ("TRUE"))) ; - if (kBoolTrue != test_2.boolEnum ()) { - test_2 = GALGAS_bool (kIsEqual, var_smultiple_65098.readProperty_string ().objectCompare (GALGAS_string ("1"))) ; - } - test_1 = test_2.boolEnum () ; - if (kBoolTrue == test_1) { - outArgument_multiple = GALGAS_lbool::class_func_new (GALGAS_bool (true), var_smultiple_65098.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1846)) ; - { - routine_displayOil_3F_ (GALGAS_string ("[]"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1847)) ; - } - } - } - if (kBoolFalse == test_1) { - outArgument_multiple = GALGAS_lbool::class_func_new (GALGAS_bool (false), var_smultiple_65098.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1849)) ; - } - } - } - if (kBoolFalse == test_0) { - outArgument_multiple = GALGAS_lbool::class_func_new (GALGAS_bool (false), inArgument_objectName.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1852)) ; - } +GALGAS_applicationDefinition function_emptyApplicationDefinition (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_applicationDefinition result_result ; // Returned variable + result_result = GALGAS_applicationDefinition::constructor_new (function_emptyLString (inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 56)), function_emptyLString (inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 57)), function_emptyLString (inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 58)), function_emptyLString (inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 59)), GALGAS_objectsMap::constructor_emptyMap (SOURCE_FILE ("goil_types_root.galgas", 60)) COMMA_SOURCE_FILE ("goil_types_root.galgas", 55)) ; +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- -// -//Routine 'arxmlPopSign&!' -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- -void routine_arxmlPopSign_26__21_ (GALGAS_lstring & ioArgument_value, - GALGAS_bool & outArgument_sign, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_sign.drop () ; // Release 'out' argument - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsEqual, ioArgument_value.readProperty_string ().getter_characterAtIndex (GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1861)).objectCompare (GALGAS_char (TO_UNICODE (45)))).boolEnum () ; - if (kBoolTrue == test_0) { - outArgument_sign = GALGAS_bool (true) ; - ioArgument_value.setter_setString (ioArgument_value.readProperty_string ().getter_subStringFromIndex (GALGAS_uint (uint32_t (1U)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1863)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1863)) ; - } - } - if (kBoolFalse == test_0) { - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = GALGAS_bool (kIsEqual, ioArgument_value.readProperty_string ().getter_characterAtIndex (GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1864)).objectCompare (GALGAS_char (TO_UNICODE (43)))).boolEnum () ; - if (kBoolTrue == test_1) { - outArgument_sign = GALGAS_bool (false) ; - ioArgument_value.setter_setString (ioArgument_value.readProperty_string ().getter_subStringFromIndex (GALGAS_uint (uint32_t (1U)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1866)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1866)) ; - } - } - if (kBoolFalse == test_1) { - outArgument_sign = GALGAS_bool (false) ; - } - } +static const C_galgas_type_descriptor * functionArgs_emptyApplicationDefinition [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_emptyApplicationDefinition (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_emptyApplicationDefinition (inCompiler COMMA_THERE).getter_object (THERE) ; } +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_emptyApplicationDefinition ("emptyApplicationDefinition", + functionWithGenericHeader_emptyApplicationDefinition, + & kTypeDescriptor_GALGAS_applicationDefinition, + 0, + functionArgs_emptyApplicationDefinition) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'arxmlGetWithAuto?!' +//Function 'osObject' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_arxmlGetWithAuto_3F__21_ (GALGAS_arxmlElementValue inArgument_parameter, - GALGAS_bool & outArgument_withAuto, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_withAuto.drop () ; // Release 'out' argument - outArgument_withAuto = GALGAS_bool (false) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("WITH-AUTO"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1877)).boolEnum () ; - if (kBoolTrue == test_0) { - GALGAS_lstring var_autoString_66006 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("WITH-AUTO"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1878)) ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - GALGAS_bool test_2 = GALGAS_bool (kIsEqual, var_autoString_66006.readProperty_string ().getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 1879)).objectCompare (GALGAS_string ("TRUE"))) ; - if (kBoolTrue != test_2.boolEnum ()) { - test_2 = GALGAS_bool (kIsEqual, var_autoString_66006.readProperty_string ().objectCompare (GALGAS_string ("1"))) ; - } - test_1 = test_2.boolEnum () ; - if (kBoolTrue == test_1) { - outArgument_withAuto = GALGAS_bool (true) ; - { - routine_displayOil_3F_ (GALGAS_string (" WITH_AUTO"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1882)) ; - } - } - } - } - } +GALGAS_objectAttributes function_osObject (const GALGAS_objectsMap & constinArgument_objects, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_objectAttributes result_os ; // Returned variable + GALGAS_objectKind var_objectsForKind_1572 ; + constinArgument_objects.method_get (function_lstringWith (GALGAS_string ("OS"), inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 67)), var_objectsForKind_1572, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 67)) ; + GALGAS_lstringlist var_names_1658 = var_objectsForKind_1572.readProperty_objects ().getter_keyList (SOURCE_FILE ("goil_types_root.galgas", 68)) ; + GALGAS_lstring var_name_1716 ; + var_names_1658.method_first (var_name_1716, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 70)) ; + var_objectsForKind_1572.readProperty_objects ().method_get (var_name_1716, result_os, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 71)) ; +//--- + return result_os ; } -//-------------------------------------------------------------------------------------------------- -// -//Routine 'arxmlGetName?!' -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- -void routine_arxmlGetName_3F__21_ (GALGAS_arxmlElementValue inArgument_parameter, - GALGAS_lstring & outArgument_objectName, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_objectName.drop () ; // Release 'out' argument - outArgument_objectName = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("SHORT-NAME"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1892)) ; - outArgument_objectName.setter_setString (outArgument_objectName.readProperty_string ().getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 1893)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1893)) ; +static const C_galgas_type_descriptor * functionArgs_osObject [2] = { + & kTypeDescriptor_GALGAS_objectsMap, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_osObject (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_objectsMap operand0 = GALGAS_objectsMap::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_osObject (operand0, + inCompiler + COMMA_THERE).getter_object (THERE) ; } +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_osObject ("osObject", + functionWithGenericHeader_osObject, + & kTypeDescriptor_GALGAS_objectAttributes, + 1, + functionArgs_osObject) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'arxmlInsertObjectAttribute&??' +//Function 'objectForKindAndName' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_arxmlInsertObjectAttribute_26__3F__3F_ (GALGAS_implementationObjectMap & ioArgument_objectAttributes, - GALGAS_lstring inArgument_attributeName, - GALGAS_impType inArgument_type, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { +GALGAS_objectAttributes function_objectForKindAndName (const GALGAS_objectsMap & constinArgument_objects, + const GALGAS_string & constinArgument_kind, + const GALGAS_string & constinArgument_name, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_objectAttributes result_object ; // Returned variable enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - test_0 = ioArgument_objectAttributes.getter_hasKey (inArgument_attributeName.readProperty_string () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1901)).boolEnum () ; + test_0 = constinArgument_objects.getter_hasKey (constinArgument_kind COMMA_SOURCE_FILE ("goil_types_root.galgas", 79)).boolEnum () ; if (kBoolTrue == test_0) { - GALGAS_impType var_previousType_66643 ; - ioArgument_objectAttributes.method_get (inArgument_attributeName, var_previousType_66643, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1903)) ; + GALGAS_objectKind var_kindObj_1966 ; + constinArgument_objects.method_get (function_lstringWith (constinArgument_kind, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 81)), var_kindObj_1966, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 81)) ; enumGalgasBool test_1 = kBoolTrue ; if (kBoolTrue == test_1) { - test_1 = var_previousType_66643.readProperty_multiple ().boolEnum () ; + test_1 = var_kindObj_1966.readProperty_objects ().getter_hasKey (constinArgument_name COMMA_SOURCE_FILE ("goil_types_root.galgas", 82)).boolEnum () ; if (kBoolTrue == test_1) { - GALGAS_object_5F_t var_previousDefaultValue_66977 = callExtensionGetter_getDefaultValue ((const cPtr_impType *) var_previousType_66643.ptr (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1909)) ; - GALGAS_object_5F_t var_defaultValue_67051 = callExtensionGetter_getDefaultValue ((const cPtr_impType *) inArgument_type.ptr (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1910)) ; - GALGAS_bool var_oneIsMultiple_67101 = GALGAS_bool (false) ; - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = GALGAS_bool (var_previousDefaultValue_66977.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_multipleAttribute).boolEnum () ; - if (kBoolTrue == test_2) { - var_oneIsMultiple_67101 = GALGAS_bool (true) ; - } - } - if (kBoolFalse == test_2) { - enumGalgasBool test_3 = kBoolTrue ; - if (kBoolTrue == test_3) { - test_3 = GALGAS_bool (var_defaultValue_67051.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_multipleAttribute).boolEnum () ; - if (kBoolTrue == test_3) { - var_oneIsMultiple_67101 = GALGAS_bool (true) ; - } - } - } - enumGalgasBool test_4 = kBoolTrue ; - if (kBoolTrue == test_4) { - test_4 = var_oneIsMultiple_67101.boolEnum () ; - if (kBoolTrue == test_4) { - GALGAS_identifierList var_aList_67512 = GALGAS_identifierList::class_func_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1921)) ; - GALGAS_lstring var_desc_67548 = function_emptyLString (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1922)) ; - GALGAS_location var_location_67588 = GALGAS_location::class_func_nowhere (SOURCE_FILE ("arxml_parser.galgas", 1923)) ; - if (var_previousDefaultValue_66977.isValid ()) { - if (var_previousDefaultValue_66977.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_multipleAttribute) { - GALGAS_multipleAttribute cast_67708_multiAttribute ((cPtr_multipleAttribute *) var_previousDefaultValue_66977.ptr ()) ; - var_aList_67512 = cast_67708_multiAttribute.readProperty_items () ; - var_desc_67548 = cast_67708_multiAttribute.readProperty_oil_5F_desc () ; - var_location_67588 = cast_67708_multiAttribute.readProperty_location () ; - } - } - if (var_defaultValue_67051.isValid ()) { - if (var_defaultValue_67051.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_multipleAttribute) { - GALGAS_multipleAttribute cast_67968_multiAttribute ((cPtr_multipleAttribute *) var_defaultValue_67051.ptr ()) ; - var_aList_67512.plusAssign_operation(cast_67968_multiAttribute.readProperty_items (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1936)) ; - enumGalgasBool test_5 = kBoolTrue ; - if (kBoolTrue == test_5) { - test_5 = GALGAS_bool (kIsEqual, var_desc_67548.readProperty_string ().objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; - if (kBoolTrue == test_5) { - var_desc_67548 = cast_67968_multiAttribute.readProperty_oil_5F_desc () ; - } - } - enumGalgasBool test_6 = kBoolTrue ; - if (kBoolTrue == test_6) { - test_6 = GALGAS_bool (kIsEqual, var_location_67588.objectCompare (GALGAS_location::class_func_nowhere (SOURCE_FILE ("arxml_parser.galgas", 1940)))).boolEnum () ; - if (kBoolTrue == test_6) { - var_location_67588 = cast_67968_multiAttribute.readProperty_location () ; - } - } - } - } - GALGAS_object_5F_t var_newDefault_68305 = GALGAS_multipleAttribute::class_func_new (var_desc_67548, var_location_67588, var_aList_67512 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1946)) ; - { - inArgument_type.insulate (HERE) ; - cPtr_impType * ptr_68413 = (cPtr_impType *) inArgument_type.ptr () ; - callExtensionSetter_setDefValue ((cPtr_impType *) ptr_68413, var_newDefault_68305, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1949)) ; - } - { - GALGAS_impType joker_68491 ; // Joker input parameter - ioArgument_objectAttributes.setter_del (inArgument_attributeName, joker_68491, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1951)) ; - } - { - ioArgument_objectAttributes.setter_put (inArgument_attributeName, inArgument_type, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1952)) ; - } - } - } + var_kindObj_1966.readProperty_objects ().method_get (function_lstringWith (constinArgument_name, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 83)), result_object, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 83)) ; } } - enumGalgasBool test_7 = kBoolTrue ; - if (kBoolTrue == test_7) { - test_7 = function_checkNewTypeWithinPreviousType (inArgument_attributeName, var_previousType_66643, inArgument_type, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1956)).boolEnum () ; - if (kBoolTrue == test_7) { - { - GALGAS_impType joker_68775 ; // Joker input parameter - ioArgument_objectAttributes.setter_del (inArgument_attributeName, joker_68775, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1959)) ; - } - { - ioArgument_objectAttributes.setter_put (inArgument_attributeName, inArgument_type, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1960)) ; - } - } + if (kBoolFalse == test_1) { + result_object = GALGAS_objectAttributes::constructor_new (GALGAS_identifierMap::constructor_emptyMap (SOURCE_FILE ("goil_types_root.galgas", 85)) COMMA_SOURCE_FILE ("goil_types_root.galgas", 85)) ; } } } if (kBoolFalse == test_0) { - { - ioArgument_objectAttributes.setter_put (inArgument_attributeName, inArgument_type, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1963)) ; - } + result_object = GALGAS_objectAttributes::constructor_new (GALGAS_identifierMap::constructor_emptyMap (SOURCE_FILE ("goil_types_root.galgas", 88)) COMMA_SOURCE_FILE ("goil_types_root.galgas", 88)) ; } +//--- + return result_object ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@arxmlElementNode print' -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_arxmlElementNode::method_print (const GALGAS_uint constinArgument_indentation, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string var_indent_3613 = GALGAS_string::class_func_stringWithSequenceOfCharacters (GALGAS_char (TO_UNICODE (32)), constinArgument_indentation COMMA_SOURCE_FILE ("arxml_types.galgas", 172)) ; - inCompiler->printMessage (var_indent_3613 COMMA_SOURCE_FILE ("arxml_types.galgas", 173)) ; - inCompiler->printMessage (GALGAS_string ("NODE \"").add_operation (this->mProperty_name.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_types.galgas", 174)).add_operation (GALGAS_string ("\" "), inCompiler COMMA_SOURCE_FILE ("arxml_types.galgas", 174)) COMMA_SOURCE_FILE ("arxml_types.galgas", 174)) ; - extensionMethod_print (this->mProperty_attributes, constinArgument_indentation, inCompiler COMMA_SOURCE_FILE ("arxml_types.galgas", 175)) ; - inCompiler->printMessage (GALGAS_string ("\n") COMMA_SOURCE_FILE ("arxml_types.galgas", 176)) ; - extensionMethod_print (this->mProperty_enclosedNodes, constinArgument_indentation, inCompiler COMMA_SOURCE_FILE ("arxml_types.galgas", 177)) ; +static const C_galgas_type_descriptor * functionArgs_objectForKindAndName [4] = { + & kTypeDescriptor_GALGAS_objectsMap, + & kTypeDescriptor_GALGAS_string, + & kTypeDescriptor_GALGAS_string, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_objectForKindAndName (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_objectsMap operand0 = GALGAS_objectsMap::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_string operand2 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (2 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_objectForKindAndName (operand0, + operand1, + operand2, + inCompiler + COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_objectForKindAndName ("objectForKindAndName", + functionWithGenericHeader_objectForKindAndName, + & kTypeDescriptor_GALGAS_objectAttributes, + 3, + functionArgs_objectForKindAndName) ; + +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@arxmlElementNode getElementsFromName' +//Routine 'setObjectForKindAndName' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_arxmlElementNode::method_getElementsFromName (const GALGAS_string constinArgument_nodeName, - GALGAS_arxmlElementList & ioArgument_nodeList, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { +void routine_setObjectForKindAndName (GALGAS_objectsMap & ioArgument_objects, + const GALGAS_string constinArgument_kind, + const GALGAS_string constinArgument_name, + const GALGAS_objectAttributes constinArgument_object, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_lstring var_lkind_2431 = function_lstringWith (constinArgument_kind, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 97)) ; + GALGAS_lstring var_lname_2473 = function_lstringWith (constinArgument_name, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 98)) ; + GALGAS_objectKind var_kindObj_2514 = GALGAS_objectKind::constructor_new (GALGAS_objectKindMap::constructor_emptyMap (SOURCE_FILE ("goil_types_root.galgas", 99)) COMMA_SOURCE_FILE ("goil_types_root.galgas", 99)) ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsEqual, constinArgument_nodeName.objectCompare (this->mProperty_name.readProperty_string ())).boolEnum () ; + test_0 = ioArgument_objects.getter_hasKey (constinArgument_kind COMMA_SOURCE_FILE ("goil_types_root.galgas", 100)).boolEnum () ; if (kBoolTrue == test_0) { - const GALGAS_arxmlElementNode temp_1 = this ; - ioArgument_nodeList.addAssign_operation (temp_1 COMMA_SOURCE_FILE ("arxml_types.galgas", 185)) ; + { + ioArgument_objects.setter_del (var_lkind_2431, var_kindObj_2514, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 101)) ; + } } } - extensionMethod_getElementsFromName (this->mProperty_enclosedNodes, constinArgument_nodeName, ioArgument_nodeList, inCompiler COMMA_SOURCE_FILE ("arxml_types.galgas", 188)) ; -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@arxmlElementNode getSubElementsFromName' -// -//-------------------------------------------------------------------------------------------------- - -void cPtr_arxmlElementNode::method_getSubElementsFromName (const GALGAS_string constinArgument_nodeName, - GALGAS_arxmlElementList & ioArgument_nodeList, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - cEnumerator_arxmlNodeList enumerator_4178 (this->mProperty_enclosedNodes, kENUMERATION_UP) ; - while (enumerator_4178.hasCurrentObject ()) { - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (enumerator_4178.current_node (HERE).dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_arxmlElementNode).boolEnum () ; - if (kBoolTrue == test_0) { - GALGAS_arxmlElementNode temp_1 ; - if (enumerator_4178.current_node (HERE).isValid ()) { - if (nullptr != dynamic_cast (enumerator_4178.current_node (HERE).ptr ())) { - temp_1 = (cPtr_arxmlElementNode *) enumerator_4178.current_node (HERE).ptr () ; - }else{ - inCompiler->castError ("arxmlElementNode", enumerator_4178.current_node (HERE).ptr ()->classDescriptor () COMMA_SOURCE_FILE ("arxml_types.galgas", 197)) ; - } - } - GALGAS_arxmlElementNode var_currentElement_4287 = temp_1 ; - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = GALGAS_bool (kIsEqual, var_currentElement_4287.readProperty_name ().readProperty_string ().objectCompare (constinArgument_nodeName)).boolEnum () ; - if (kBoolTrue == test_2) { - ioArgument_nodeList.addAssign_operation (var_currentElement_4287 COMMA_SOURCE_FILE ("arxml_types.galgas", 199)) ; - } - } + GALGAS_objectKindMap var_kindMap_2662 = var_kindObj_2514.readProperty_objects () ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = var_kindMap_2662.getter_hasKey (constinArgument_name COMMA_SOURCE_FILE ("goil_types_root.galgas", 104)).boolEnum () ; + if (kBoolTrue == test_1) { + { + GALGAS_objectAttributes joker_2749 ; // Joker input parameter + var_kindMap_2662.setter_del (var_lname_2473, joker_2749, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 105)) ; } } - enumerator_4178.gotoNextObject () ; + } + { + var_kindMap_2662.setter_put (var_lname_2473, constinArgument_object, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 107)) ; + } + { + var_kindObj_2514.setter_setObjects (var_kindMap_2662 COMMA_SOURCE_FILE ("goil_types_root.galgas", 108)) ; + } + { + ioArgument_objects.setter_put (var_lkind_2431, var_kindObj_2514, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 109)) ; } } -//-------------------------------------------------------------------------------------------------- + + +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@arxmlElementNode getProperty' +//Function 'objectsForKind' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_arxmlElementNode::method_getProperty (const GALGAS_string constinArgument_nodeName, - GALGAS_lstring & ioArgument_value, - GALGAS_bool & ioArgument_found, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { +GALGAS_objectKind function_objectsForKind (const GALGAS_objectsMap & constinArgument_objects, + const GALGAS_string & constinArgument_kind, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_objectKind result_result ; // Returned variable enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsEqual, constinArgument_nodeName.objectCompare (this->mProperty_name.readProperty_string ())).boolEnum () ; + test_0 = constinArgument_objects.getter_hasKey (constinArgument_kind COMMA_SOURCE_FILE ("goil_types_root.galgas", 116)).boolEnum () ; if (kBoolTrue == test_0) { - const GALGAS_arxmlElementNode temp_1 = this ; - callExtensionMethod_getText ((cPtr_arxmlElementNode *) temp_1.ptr (), ioArgument_value, ioArgument_found, inCompiler COMMA_SOURCE_FILE ("arxml_types.galgas", 224)) ; + constinArgument_objects.method_get (function_lstringWith (constinArgument_kind, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 117)), result_result, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 117)) ; } } - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = ioArgument_found.operator_not (SOURCE_FILE ("arxml_types.galgas", 227)).boolEnum () ; - if (kBoolTrue == test_2) { - cEnumerator_arxmlNodeList enumerator_4977 (this->mProperty_enclosedNodes, kENUMERATION_UP) ; - bool bool_3 = ioArgument_found.operator_not (SOURCE_FILE ("arxml_types.galgas", 229)).isValidAndTrue () ; - if (enumerator_4977.hasCurrentObject () && bool_3) { - while (enumerator_4977.hasCurrentObject () && bool_3) { - callExtensionMethod_getProperty ((cPtr_arxmlNode *) enumerator_4977.current_node (HERE).ptr (), constinArgument_nodeName, ioArgument_value, ioArgument_found, inCompiler COMMA_SOURCE_FILE ("arxml_types.galgas", 231)) ; - enumerator_4977.gotoNextObject () ; - if (enumerator_4977.hasCurrentObject ()) { - bool_3 = ioArgument_found.operator_not (SOURCE_FILE ("arxml_types.galgas", 229)).isValidAndTrue () ; - } - } - } - } + if (kBoolFalse == test_0) { + result_result = GALGAS_objectKind::constructor_new (GALGAS_objectKindMap::constructor_emptyMap (SOURCE_FILE ("goil_types_root.galgas", 119)) COMMA_SOURCE_FILE ("goil_types_root.galgas", 119)) ; } +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@arxmlCommentNode print' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_arxmlCommentNode::method_print (const GALGAS_uint constinArgument_indentation, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string var_indent_5999 = GALGAS_string::class_func_stringWithSequenceOfCharacters (GALGAS_char (TO_UNICODE (32)), constinArgument_indentation COMMA_SOURCE_FILE ("arxml_types.galgas", 281)) ; - inCompiler->printMessage (var_indent_5999 COMMA_SOURCE_FILE ("arxml_types.galgas", 282)) ; - inCompiler->printMessage (GALGAS_string ("COMMENT \"").add_operation (this->mProperty_comment.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_types.galgas", 283)).add_operation (GALGAS_string ("\"\n"), inCompiler COMMA_SOURCE_FILE ("arxml_types.galgas", 283)) COMMA_SOURCE_FILE ("arxml_types.galgas", 283)) ; -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@arxmlCommentNode getElementsFromName' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_arxmlCommentNode::method_getElementsFromName (const GALGAS_string /* constinArgument_nodeName */, - GALGAS_arxmlElementList & /* ioArgument_nodeList */, - Compiler * /* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) { -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@arxmlCommentNode getSubElementsFromName' -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_arxmlCommentNode::method_getSubElementsFromName (const GALGAS_string /* constinArgument_nodeName */, - GALGAS_arxmlElementList & /* ioArgument_nodeList */, - Compiler * /* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) { -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@arxmlCommentNode getProperty' -// -//-------------------------------------------------------------------------------------------------- +static const C_galgas_type_descriptor * functionArgs_objectsForKind [3] = { + & kTypeDescriptor_GALGAS_objectsMap, + & kTypeDescriptor_GALGAS_string, + nullptr +} ; -void cPtr_arxmlCommentNode::method_getProperty (const GALGAS_string /* constinArgument_nodeName */, - GALGAS_lstring & /* ioArgument_value */, - GALGAS_bool & /* ioArgument_found */, - Compiler * /* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) { -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@arxmlTextNode print' -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_arxmlTextNode::method_print (const GALGAS_uint constinArgument_indentation, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string var_indent_6756 = GALGAS_string::class_func_stringWithSequenceOfCharacters (GALGAS_char (TO_UNICODE (32)), constinArgument_indentation COMMA_SOURCE_FILE ("arxml_types.galgas", 316)) ; - inCompiler->printMessage (var_indent_6756 COMMA_SOURCE_FILE ("arxml_types.galgas", 317)) ; - inCompiler->printMessage (GALGAS_string ("TEXT \"").add_operation (this->mProperty_text.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_types.galgas", 318)).add_operation (GALGAS_string ("\"\n"), inCompiler COMMA_SOURCE_FILE ("arxml_types.galgas", 318)) COMMA_SOURCE_FILE ("arxml_types.galgas", 318)) ; +static GALGAS_object functionWithGenericHeader_objectsForKind (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_objectsMap operand0 = GALGAS_objectsMap::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_objectsForKind (operand0, + operand1, + inCompiler + COMMA_THERE).getter_object (THERE) ; } -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@arxmlTextNode getElementsFromName' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_arxmlTextNode::method_getElementsFromName (const GALGAS_string /* constinArgument_nodeName */, - GALGAS_arxmlElementList & /* ioArgument_nodeList */, - Compiler * /* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) { -} -//-------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@arxmlTextNode getSubElementsFromName' -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_arxmlTextNode::method_getSubElementsFromName (const GALGAS_string /* constinArgument_nodeName */, - GALGAS_arxmlElementList & /* ioArgument_nodeList */, - Compiler * /* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) { -} -//-------------------------------------------------------------------------------------------------- +C_galgas_function_descriptor functionDescriptor_objectsForKind ("objectsForKind", + functionWithGenericHeader_objectsForKind, + & kTypeDescriptor_GALGAS_objectKind, + 2, + functionArgs_objectsForKind) ; + +//---------------------------------------------------------------------------------------------------------------------- // -//Overriding extension method '@arxmlTextNode getProperty' +//Function 'listInOS' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_arxmlTextNode::method_getProperty (const GALGAS_string /* constinArgument_nodeName */, - GALGAS_lstring & /* ioArgument_value */, - GALGAS_bool & /* ioArgument_found */, - Compiler * /* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) { +GALGAS_identifierList function_listInOS (const GALGAS_objectsMap & constinArgument_objects, + const GALGAS_string & constinArgument_attributeName, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_identifierList result_items ; // Returned variable + GALGAS_object_5F_t var_itemsContainer_3225 ; + GALGAS_objectAttributes var_os_3264 = function_osObject (constinArgument_objects, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 128)) ; + var_os_3264.readProperty_objectParams ().method_get (function_lstringWith (constinArgument_attributeName, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 129)), var_itemsContainer_3225, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 129)) ; + result_items = function_multipleAttributeOrError (var_itemsContainer_3225, constinArgument_attributeName, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 130)) ; +//--- + return result_items ; } -//-------------------------------------------------------------------------------------------------- -// -//Routine 'lstringhere!?' -// -//-------------------------------------------------------------------------------------------------- -void routine_lstringhere_21__3F_ (GALGAS_lstring & outArgument_string, - GALGAS_string inArgument_value, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - outArgument_string.drop () ; // Release 'out' argument - outArgument_string = GALGAS_lstring::class_func_new (inArgument_value, GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("arxmlmetaparser_syntax.galgas", 1148)), inCompiler COMMA_SOURCE_FILE ("arxmlmetaparser_syntax.galgas", 1148)) ; + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_listInOS [3] = { + & kTypeDescriptor_GALGAS_objectsMap, + & kTypeDescriptor_GALGAS_string, + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_listInOS (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_objectsMap operand0 = GALGAS_objectsMap::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_string operand1 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_listInOS (operand0, + operand1, + inCompiler + COMMA_THERE).getter_object (THERE) ; } +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_listInOS ("listInOS", + functionWithGenericHeader_listInOS, + & kTypeDescriptor_GALGAS_identifierList, + 2, + functionArgs_listInOS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'fillLegacy&&' +//Function 'customGtlStringGetter' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_fillLegacy_26__26_ (GALGAS_arxmlMetaClassMap & ioArgument_classMap, - GALGAS_arxmlMetaClassGraph & ioArgument_classGraph, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_stringlist var_sortedInfoList_32029 = ioArgument_classGraph.getter_keyList (SOURCE_FILE ("arxmlmetaparser_syntax.galgas", 1155)) ; - cEnumerator_stringlist enumerator_32083 (var_sortedInfoList_32029, kENUMERATION_UP) ; - while (enumerator_32083.hasCurrentObject ()) { - GALGAS_lstring var_lClassName_32146 ; - { - routine_lstringhere_21__3F_ (var_lClassName_32146, enumerator_32083.current_mValue (HERE), inCompiler COMMA_SOURCE_FILE ("arxmlmetaparser_syntax.galgas", 1158)) ; - } - GALGAS_arxmlMetaClass var_lClass_32190 ; - ioArgument_classMap.method_searchKey (var_lClassName_32146, var_lClass_32190, inCompiler COMMA_SOURCE_FILE ("arxmlmetaparser_syntax.galgas", 1160)) ; - GALGAS_lstringlist var_fromList_32281 = GALGAS_lstringlist::class_func_emptyList (SOURCE_FILE ("arxmlmetaparser_syntax.galgas", 1163)) ; - { - var_fromList_32281.setter_insertAtIndex (var_lClass_32190.readProperty_name (), GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("arxmlmetaparser_syntax.galgas", 1164)) ; - } - GALGAS_stringset var_empty_32363 = GALGAS_stringset::class_func_emptySet (SOURCE_FILE ("arxmlmetaparser_syntax.galgas", 1165)) ; - GALGAS_lstringlist var_successorList_32402 = ioArgument_classGraph.getter_accessibleNodesFrom (var_fromList_32281, var_empty_32363, inCompiler COMMA_SOURCE_FILE ("arxmlmetaparser_syntax.galgas", 1166)) ; - { - var_lClass_32190.insulate (HERE) ; - cPtr_arxmlMetaClass * ptr_32555 = (cPtr_arxmlMetaClass *) var_lClass_32190.ptr () ; - callExtensionSetter_legacyAddParameters ((cPtr_arxmlMetaClass *) ptr_32555, ioArgument_classMap, var_successorList_32402, inCompiler COMMA_SOURCE_FILE ("arxmlmetaparser_syntax.galgas", 1169)) ; +GALGAS_gtlData function_customGtlStringGetter (const GALGAS_lstring & constinArgument_methodName, + const GALGAS_gtlDataList & constinArgument_arguments, + const GALGAS_gtlContext &, + const GALGAS_library &, + const GALGAS_string & constinArgument_value, + const GALGAS_location & constinArgument_where, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_gtlData result_result ; // Returned variable + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsEqual, GALGAS_string ("parseOIL").objectCompare (constinArgument_methodName.readProperty_string ())).boolEnum () ; + if (kBoolTrue == test_0) { + { + routine_argumentsCheck (constinArgument_methodName, function_noArgument (inCompiler COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 11)), constinArgument_arguments, inCompiler COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 11)) ; + } + GALGAS_string var_rootTemplatesDir_343 = function_templates_5F_directory (GALGAS_string::makeEmptyString (), inCompiler COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 12)) ; + GALGAS_implementation var_imp_407 = GALGAS_implementation::constructor_new (GALGAS_implementationMap::constructor_emptyMap (SOURCE_FILE ("goil_gtl_extension.galgas", 13)) COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 13)) ; + GALGAS_applicationDefinition var_app_493 = function_emptyApplicationDefinition (inCompiler COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 14)) ; + GALGAS_lstring var_includeToParse_545 = GALGAS_lstring::constructor_new (var_rootTemplatesDir_343.add_operation (GALGAS_string ("libraries/config.oil"), inCompiler COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 16)), constinArgument_where COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 15)) ; + GALGAS_lstring var_fileToParse_661 = GALGAS_lstring::constructor_new (var_rootTemplatesDir_343.add_operation (GALGAS_string ("libraries/"), inCompiler COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 20)).add_operation (constinArgument_value, inCompiler COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 20)), constinArgument_where COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 19)) ; + cGrammar_goil_5F_file_5F_level_5F_include_5F_without_5F_include::_performSourceFileParsing_ (inCompiler, var_includeToParse_545, var_imp_407, var_app_493 COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 23)) ; + cGrammar_goil_5F_file_5F_level_5F_include_5F_without_5F_include::_performSourceFileParsing_ (inCompiler, var_fileToParse_661, var_imp_407, var_app_493 COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 26)) ; + GALGAS_gtlData var_templateData_957 = callExtensionGetter_templateData ((const cPtr_applicationDefinition *) var_app_493.ptr (), var_imp_407, inCompiler COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 29)) ; + result_result = var_templateData_957 ; } - enumerator_32083.gotoNextObject () ; } + if (kBoolFalse == test_0) { + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (constinArgument_methodName.readProperty_location (), GALGAS_string ("unknown getter '").add_operation (constinArgument_methodName.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 32)).add_operation (GALGAS_string ("' for string target"), inCompiler COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 32)), fixItArray1 COMMA_SOURCE_FILE ("goil_gtl_extension.galgas", 32)) ; + result_result.drop () ; // Release error dropped variable + } +//--- + return result_result ; } -#include "project_header.h" -#include "F_mainForLIBPM.h" -#include "F_Analyze_CLI_Options.h" -#include "C_builtin_CLI_Options.h" -#include "C_galgas_CLI_Options.h" -#include "F_verbose_output.h" -#include "cLexiqueIntrospection.h" -#include "F_DisplayException.h" - -//-------------------------------------------------------------------------------------------------- -// -// print_tool_help_message -// -//-------------------------------------------------------------------------------------------------- - -static void print_tool_help_message (void) { - gCout.appendCString ("Compiled with GALGAS revision NUMERO_REVISION_GALGAS\n") ; -} - -//-------------------------------------------------------------------------------------------------- - -static const char * kSourceFileExtensions [] = { - "oil", - "OIL", - "goilTemplate", - "arxml", - nullptr -} ; - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- -static const char * kSourceFileHelpMessages [] = { - "an '.oil' source file", - "an '.OIL' source file", - "a Goil template file", - "an AUTOSAR arxml configuration file", +static const C_galgas_type_descriptor * functionArgs_customGtlStringGetter [7] = { + & kTypeDescriptor_GALGAS_lstring, + & kTypeDescriptor_GALGAS_gtlDataList, + & kTypeDescriptor_GALGAS_gtlContext, + & kTypeDescriptor_GALGAS_library, + & kTypeDescriptor_GALGAS_string, + & kTypeDescriptor_GALGAS_location, nullptr -} ; - -//-------------------------------------------------------------------------------------------------- - -const char * projectVersionString (void) { - return "3.1.16" ; -} +} ; -//-------------------------------------------------------------------------------------------------- -// -//Routine 'before' -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static void routine_before (Compiler * /* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) { - { - } +static GALGAS_object functionWithGenericHeader_customGtlStringGetter (C_Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + const GALGAS_lstring operand0 = GALGAS_lstring::extractObject (inEffectiveParameterArray.objectAtIndex (0 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_gtlDataList operand1 = GALGAS_gtlDataList::extractObject (inEffectiveParameterArray.objectAtIndex (1 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_gtlContext operand2 = GALGAS_gtlContext::extractObject (inEffectiveParameterArray.objectAtIndex (2 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_library operand3 = GALGAS_library::extractObject (inEffectiveParameterArray.objectAtIndex (3 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_string operand4 = GALGAS_string::extractObject (inEffectiveParameterArray.objectAtIndex (4 COMMA_HERE), + inCompiler + COMMA_THERE) ; + const GALGAS_location operand5 = GALGAS_location::extractObject (inEffectiveParameterArray.objectAtIndex (5 COMMA_HERE), + inCompiler + COMMA_THERE) ; + return function_customGtlStringGetter (operand0, + operand1, + operand2, + operand3, + operand4, + operand5, + inCompiler + COMMA_THERE).getter_object (THERE) ; } +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- -// -//Routine 'after' -// -//-------------------------------------------------------------------------------------------------- - -static void routine_after (Compiler * /* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) { - { - } -} - +C_galgas_function_descriptor functionDescriptor_customGtlStringGetter ("customGtlStringGetter", + functionWithGenericHeader_customGtlStringGetter, + & kTypeDescriptor_GALGAS_gtlData, + 6, + functionArgs_customGtlStringGetter) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'programRule_0' +//Routine 'generate_signed_type' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static void routine_programRule_5F__30_ (const GALGAS_lstring constinArgument_inSourceFile, - Compiler * inCompiler +void routine_generate_5F_signed_5F_type (GALGAS_uint_36__34_ inArgument_count, + GALGAS_string inArgument_err, + GALGAS_string & outArgument_type, + C_Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { - { - routine_checkTemplatesPath (inCompiler COMMA_SOURCE_FILE ("goil_program.galgas", 33)) ; + outArgument_type.drop () ; // Release 'out' argument + GALGAS_uint_36__34_ var_max_5F_s_38__1048 = GALGAS_uint_36__34_ (uint64_t (128ULL)) ; + GALGAS_uint_36__34_ var_max_5F_s_31__36__1079 = GALGAS_uint_36__34_ (uint64_t (32768ULL)) ; + GALGAS_uint_36__34_ var_max_5F_s_33__32__1111 = GALGAS_uint_36__34_ (uint64_t (2147483648ULL)) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsStrictInf, inArgument_count.objectCompare (var_max_5F_s_38__1048)).boolEnum () ; + if (kBoolTrue == test_0) { + outArgument_type = GALGAS_string ("s8") ; + } + } + if (kBoolFalse == test_0) { + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = GALGAS_bool (kIsStrictInf, inArgument_count.objectCompare (var_max_5F_s_31__36__1079)).boolEnum () ; + if (kBoolTrue == test_1) { + outArgument_type = GALGAS_string ("s16") ; + } + } + if (kBoolFalse == test_1) { + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = GALGAS_bool (kIsStrictInf, inArgument_count.objectCompare (var_max_5F_s_33__32__1111)).boolEnum () ; + if (kBoolTrue == test_2) { + outArgument_type = GALGAS_string ("s32") ; + } + } + if (kBoolFalse == test_2) { + outArgument_type = GALGAS_string::makeEmptyString () ; + TC_Array fixItArray3 ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 51)), inArgument_err, fixItArray3 COMMA_SOURCE_FILE ("goil_code_generation.galgas", 51)) ; + } + } } - cGrammar_goil_5F_grammar::_performSourceFileParsing_ (inCompiler, constinArgument_inSourceFile COMMA_SOURCE_FILE ("goil_program.galgas", 34)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'programRule_1' +//Routine 'generate_unsigned_type' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static void routine_programRule_5F__31_ (const GALGAS_lstring constinArgument_inSourceFile, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - { - routine_checkTemplatesPath (inCompiler COMMA_SOURCE_FILE ("goil_program.galgas", 38)) ; +void routine_generate_5F_unsigned_5F_type (GALGAS_uint_36__34_ inArgument_count, + GALGAS_string inArgument_err, + GALGAS_string & outArgument_type, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_type.drop () ; // Release 'out' argument + GALGAS_uint_36__34_ var_max_5F_u_38__1504 = GALGAS_uint_36__34_ (uint64_t (256ULL)) ; + GALGAS_uint_36__34_ var_max_5F_u_31__36__1535 = GALGAS_uint_36__34_ (uint64_t (65536ULL)) ; + GALGAS_uint_36__34_ var_max_5F_u_33__32__1567 = GALGAS_uint_36__34_ (uint64_t (4294967296ULL)) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsStrictInf, inArgument_count.objectCompare (var_max_5F_u_38__1504)).boolEnum () ; + if (kBoolTrue == test_0) { + outArgument_type = GALGAS_string ("u8") ; + } + } + if (kBoolFalse == test_0) { + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = GALGAS_bool (kIsStrictInf, inArgument_count.objectCompare (var_max_5F_u_31__36__1535)).boolEnum () ; + if (kBoolTrue == test_1) { + outArgument_type = GALGAS_string ("u16") ; + } + } + if (kBoolFalse == test_1) { + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = GALGAS_bool (kIsStrictInf, inArgument_count.objectCompare (var_max_5F_u_33__32__1567)).boolEnum () ; + if (kBoolTrue == test_2) { + outArgument_type = GALGAS_string ("u32") ; + } + } + if (kBoolFalse == test_2) { + outArgument_type = GALGAS_string::makeEmptyString () ; + TC_Array fixItArray3 ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 76)), inArgument_err, fixItArray3 COMMA_SOURCE_FILE ("goil_code_generation.galgas", 76)) ; + } + } } - cGrammar_goil_5F_grammar::_performSourceFileParsing_ (inCompiler, constinArgument_inSourceFile COMMA_SOURCE_FILE ("goil_program.galgas", 39)) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'programRule_2' +//Routine 'generate_mask_type' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static void routine_programRule_5F__32_ (const GALGAS_lstring /* constinArgument_inSourceFile */, - Compiler * /* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) { +void routine_generate_5F_mask_5F_type (GALGAS_uint_36__34_ inArgument_count, + GALGAS_string inArgument_err, + GALGAS_string & outArgument_type, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_type.drop () ; // Release 'out' argument + GALGAS_uint_36__34_ var_max_5F_u_38__1954 = GALGAS_uint_36__34_ (uint64_t (8ULL)) ; + GALGAS_uint_36__34_ var_max_5F_u_31__36__1980 = GALGAS_uint_36__34_ (uint64_t (16ULL)) ; + GALGAS_uint_36__34_ var_max_5F_u_33__32__2007 = GALGAS_uint_36__34_ (uint64_t (32ULL)) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsInfOrEqual, inArgument_count.objectCompare (var_max_5F_u_38__1954)).boolEnum () ; + if (kBoolTrue == test_0) { + outArgument_type = GALGAS_string ("u8") ; + } + } + if (kBoolFalse == test_0) { + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = GALGAS_bool (kIsInfOrEqual, inArgument_count.objectCompare (var_max_5F_u_31__36__1980)).boolEnum () ; + if (kBoolTrue == test_1) { + outArgument_type = GALGAS_string ("u16") ; + } + } + if (kBoolFalse == test_1) { + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = GALGAS_bool (kIsInfOrEqual, inArgument_count.objectCompare (var_max_5F_u_33__32__2007)).boolEnum () ; + if (kBoolTrue == test_2) { + outArgument_type = GALGAS_string ("u32") ; + } + } + if (kBoolFalse == test_2) { + outArgument_type = GALGAS_string::makeEmptyString () ; + TC_Array fixItArray3 ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 101)), inArgument_err, fixItArray3 COMMA_SOURCE_FILE ("goil_code_generation.galgas", 101)) ; + } + } + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'programRule_3' +//Overriding extension getter '@goilContext fullPrefix' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static void routine_programRule_5F__33_ (const GALGAS_lstring constinArgument_inSourceFile, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - { - routine_checkTemplatesPath (inCompiler COMMA_SOURCE_FILE ("goil_program.galgas", 48)) ; - } - GALGAS_arxmlNode var_root_1354 ; - var_root_1354.drop () ; - cGrammar_arxml_5F_grammar::_performSourceFileParsing_ (inCompiler, constinArgument_inSourceFile, var_root_1354, GALGAS_bool (true), GALGAS_bool (true) COMMA_SOURCE_FILE ("goil_program.galgas", 49)) ; - callExtensionMethod_print ((cPtr_arxmlNode *) var_root_1354.ptr (), GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("goil_program.galgas", 53)) ; -} - - -//-------------------------------------------------------------------------------------------------- -// -// M A I N F O R L I B P M -// -//-------------------------------------------------------------------------------------------------- - -int mainForLIBPM (int inArgc, const char * inArgv []) { -//--- Analyze Command Line Options - TC_UniqueArray sourceFilesArray ; - F_Analyze_CLI_Options (inArgc, inArgv, - sourceFilesArray, - kSourceFileExtensions, - kSourceFileHelpMessages, - print_tool_help_message) ; -//--- - int returnCode = 0 ; // No error -//--- Set Execution mode - String executionModeOptionErrorMessage ; - setExecutionMode (executionModeOptionErrorMessage) ; - if (executionModeOptionErrorMessage.length () > 0) { - gCout.appendString (executionModeOptionErrorMessage) ; - returnCode = 1 ; - }else{ - //--- Common lexique object - Compiler * commonCompiler = nullptr ; - macroMyNew (commonCompiler, Compiler (nullptr COMMA_HERE)) ; - try{ - routine_before (commonCompiler COMMA_HERE) ; - cLexiqueIntrospection::handleGetKeywordListOption (commonCompiler) ; - const bool verboseOptionOn = verboseOutput () ; - for (int32_t i=0 ; ihere () ; - const GALGAS_lstring sourceFilePath (sfp, location) ; - int r = 0 ; - if (fileExtension == "oil") { - switch (executionMode ()) { - case kExecutionModeNormal : - routine_programRule_5F__30_ (sourceFilePath, commonCompiler COMMA_HERE) ; - break ; - case kExecutionModeLexicalAnalysisOnly : - commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=lexical-only\" option: no grammar in program RULE" COMMA_HERE) ; - break ; - case kExecutionModeSyntaxAnalysisOnly : - commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=syntax-only\" option: no grammar in program RULE" COMMA_HERE) ; - break ; - case kExecutionModeIndexing : - commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=indexing\" option: no grammar in program RULE" COMMA_HERE) ; - break ; - case kExecutionModeLatex : - commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=latex\" option: no grammar in program RULE" COMMA_HERE) ; - break ; - } - }else if (fileExtension == "OIL") { - switch (executionMode ()) { - case kExecutionModeNormal : - routine_programRule_5F__31_ (sourceFilePath, commonCompiler COMMA_HERE) ; - break ; - case kExecutionModeLexicalAnalysisOnly : - commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=lexical-only\" option: no grammar in program RULE" COMMA_HERE) ; - break ; - case kExecutionModeSyntaxAnalysisOnly : - commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=syntax-only\" option: no grammar in program RULE" COMMA_HERE) ; - break ; - case kExecutionModeIndexing : - commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=indexing\" option: no grammar in program RULE" COMMA_HERE) ; - break ; - case kExecutionModeLatex : - commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=latex\" option: no grammar in program RULE" COMMA_HERE) ; - break ; - } - }else if (fileExtension == "goilTemplate") { - switch (executionMode ()) { - case kExecutionModeNormal : - routine_programRule_5F__32_ (sourceFilePath, commonCompiler COMMA_HERE) ; - break ; - case kExecutionModeLexicalAnalysisOnly : - commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=lexical-only\" option: no grammar in program RULE" COMMA_HERE) ; - break ; - case kExecutionModeSyntaxAnalysisOnly : - commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=syntax-only\" option: no grammar in program RULE" COMMA_HERE) ; - break ; - case kExecutionModeIndexing : - commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=indexing\" option: no grammar in program RULE" COMMA_HERE) ; - break ; - case kExecutionModeLatex : - commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=latex\" option: no grammar in program RULE" COMMA_HERE) ; - break ; - } - }else if (fileExtension == "arxml") { - switch (executionMode ()) { - case kExecutionModeNormal : - routine_programRule_5F__33_ (sourceFilePath, commonCompiler COMMA_HERE) ; - break ; - case kExecutionModeLexicalAnalysisOnly : - commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=lexical-only\" option: no grammar in program RULE" COMMA_HERE) ; - break ; - case kExecutionModeSyntaxAnalysisOnly : - commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=syntax-only\" option: no grammar in program RULE" COMMA_HERE) ; - break ; - case kExecutionModeIndexing : - commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=indexing\" option: no grammar in program RULE" COMMA_HERE) ; - break ; - case kExecutionModeLatex : - commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=latex\" option: no grammar in program RULE" COMMA_HERE) ; - break ; - } +GALGAS_lstring cPtr_goilContext::getter_fullPrefix (const GALGAS_gtlData constinArgument_vars, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_lstring result_full ; // Returned variable + GALGAS_string var_stringPrefix_22321 = this->mProperty_prefix.readProperty_string () ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsEqual, GALGAS_string ("compiler").objectCompare (var_stringPrefix_22321)).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_gtlData var_compiler_22438 ; + GALGAS_bool joker_22447 ; // Joker input parameter + callExtensionMethod_structField ((cPtr_gtlData *) constinArgument_vars.ptr (), function_lstring (GALGAS_string ("COMPILER"), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 691)), var_compiler_22438, joker_22447, inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 691)) ; + GALGAS_gtlString temp_1 ; + if (var_compiler_22438.isValid ()) { + if (nullptr != dynamic_cast (var_compiler_22438.ptr ())) { + temp_1 = (cPtr_gtlString *) var_compiler_22438.ptr () ; }else{ - printf ("*** Error: unhandled extension for file '%s' ***\n", sourceFilesArray (i COMMA_HERE).cString ()) ; - r = 1 ; - } - if (r != 0) { - returnCode = r ; + inCompiler->castError ("gtlString", var_compiler_22438.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("goil_code_generation.galgas", 692)) ; } } - //--- Error or warnings ? - if (totalErrorCount () > 0) { - returnCode = 1 ; // Error code - }else if (totalWarningCount () > 0) { - if (gOption_galgas_5F_builtin_5F_options_treat_5F_warnings_5F_as_5F_error.mValue) { - returnCode = 1 ; // Error code - if (verboseOptionOn) { - printf ("** Note: warnings are treated as errors. **\n") ; + var_stringPrefix_22321.plusAssign_operation(GALGAS_string ("/").add_operation (callExtensionGetter_string ((const cPtr_gtlString *) temp_1.ptr (), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 692)), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 692)), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 692)) ; + } + } + if (kBoolFalse == test_0) { + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = GALGAS_bool (kIsEqual, GALGAS_string ("linker").objectCompare (var_stringPrefix_22321)).boolEnum () ; + if (kBoolTrue == test_2) { + GALGAS_gtlData var_linker_22596 ; + GALGAS_bool joker_22603 ; // Joker input parameter + callExtensionMethod_structField ((cPtr_gtlData *) constinArgument_vars.ptr (), function_lstring (GALGAS_string ("LINKER"), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 694)), var_linker_22596, joker_22603, inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 694)) ; + GALGAS_gtlString temp_3 ; + if (var_linker_22596.isValid ()) { + if (nullptr != dynamic_cast (var_linker_22596.ptr ())) { + temp_3 = (cPtr_gtlString *) var_linker_22596.ptr () ; + }else{ + inCompiler->castError ("gtlString", var_linker_22596.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("goil_code_generation.galgas", 695)) ; } } + var_stringPrefix_22321.plusAssign_operation(GALGAS_string ("/").add_operation (callExtensionGetter_string ((const cPtr_gtlString *) temp_3.ptr (), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 695)), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 695)), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 695)) ; } - //--- Epilogue - routine_after (commonCompiler COMMA_HERE) ; - //--- Emit JSON issue file ? - if (gOption_generic_5F_cli_5F_options_emit_5F_issue_5F_json_5F_file.mValue != "") { - commonCompiler->writeIssueJSONFile (gOption_generic_5F_cli_5F_options_emit_5F_issue_5F_json_5F_file.mValue) ; - } - //--- Display error and warnings count - if (verboseOptionOn || (totalWarningCount () > 0) || (totalErrorCount () > 0)) { - String message ; - if (totalWarningCount () == 0) { - message.appendCString ("No warning") ; - }else if (totalWarningCount () == 1) { - message.appendCString ("1 warning") ; - }else{ - message.appendSigned (totalWarningCount ()) ; - message.appendCString (" warnings") ; + } + if (kBoolFalse == test_2) { + enumGalgasBool test_4 = kBoolTrue ; + if (kBoolTrue == test_4) { + test_4 = GALGAS_bool (kIsEqual, GALGAS_string ("assembler").objectCompare (var_stringPrefix_22321)).boolEnum () ; + if (kBoolTrue == test_4) { + GALGAS_gtlData var_assembler_22756 ; + GALGAS_bool joker_22766 ; // Joker input parameter + callExtensionMethod_structField ((cPtr_gtlData *) constinArgument_vars.ptr (), function_lstring (GALGAS_string ("ASSEMBLER"), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 697)), var_assembler_22756, joker_22766, inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 697)) ; + GALGAS_gtlString temp_5 ; + if (var_assembler_22756.isValid ()) { + if (nullptr != dynamic_cast (var_assembler_22756.ptr ())) { + temp_5 = (cPtr_gtlString *) var_assembler_22756.ptr () ; + }else{ + inCompiler->castError ("gtlString", var_assembler_22756.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("goil_code_generation.galgas", 698)) ; + } + } + var_stringPrefix_22321.plusAssign_operation(GALGAS_string ("/").add_operation (callExtensionGetter_string ((const cPtr_gtlString *) temp_5.ptr (), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 698)), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 698)), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 698)) ; } - message.appendCString (", ") ; - if (totalErrorCount () == 0) { - message.appendCString ("no error") ; - }else if (totalErrorCount () == 1) { - message.appendCString ("1 error") ; - }else{ - message.appendSigned (totalErrorCount ()) ; - message.appendCString (" errors") ; + } + if (kBoolFalse == test_4) { + enumGalgasBool test_6 = kBoolTrue ; + if (kBoolTrue == test_6) { + test_6 = GALGAS_bool (kIsEqual, var_stringPrefix_22321.objectCompare (GALGAS_string ("ROOT"))).boolEnum () ; + if (kBoolTrue == test_6) { + var_stringPrefix_22321 = GALGAS_string::makeEmptyString () ; + } } - message.appendCString (".\n") ; - ggs_printMessage (message COMMA_HERE) ; } - }catch (const ::std::exception & e) { - F_default_display_exception (e) ; - returnCode = 1 ; // Error code - }catch (...) { - printf ("**** Unknow exception ****\n") ; - throw ; } - macroDetachSharedObject (commonCompiler) ; } - return returnCode ; + result_full = GALGAS_lstring::constructor_new (var_stringPrefix_22321, this->mProperty_prefix.readProperty_location () COMMA_SOURCE_FILE ("goil_code_generation.galgas", 702)) ; +//--- + return result_full ; } + diff --git a/goil/build/output/all-declarations-10.h b/goil/build/output/all-declarations-10.h index 1214ceda7..9fa1f93af 100644 --- a/goil/build/output/all-declarations-10.h +++ b/goil/build/output/all-declarations-10.h @@ -1,993 +1,1035 @@ #pragma once -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-declarations-9.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'trueFalse' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_string function_trueFalse (const class GALGAS_bool & constinArgument0, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'TrueFalse' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_string function_TrueFalse (const class GALGAS_bool & constinArgument0, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'yesNo' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_string function_yesNo (const class GALGAS_bool & constinArgument0, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'TRUEFALSE' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_string function_TRUEFALSE (const class GALGAS_bool & constinArgument0, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'listOfSize' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_list function_listOfSize (class GALGAS_bigint inArgument0, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'version' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_string function_version (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'majorVersion' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_bigint function_majorVersion (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'minorVersion' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_bigint function_minorVersion (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'revision' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_bigint function_revision (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'currentDir' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_string function_currentDir (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'homeDir' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_string function_homeDir (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'currentDateTime' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_string function_currentDateTime (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'max8bitsUnsignedInt' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_bigint function_max_38_bitsUnsignedInt (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'max8bitsSignedInt' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_bigint function_max_38_bitsSignedInt (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'min8bitsSignedInt' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_bigint function_min_38_bitsSignedInt (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'max16bitsUnsignedInt' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_bigint function_max_31__36_bitsUnsignedInt (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'max16bitsSignedInt' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_bigint function_max_31__36_bitsSignedInt (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'min16bitsSignedInt' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_bigint function_min_31__36_bitsSignedInt (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'max32bitsUnsignedInt' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_bigint function_max_33__32_bitsUnsignedInt (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'max32bitsSignedInt' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_bigint function_max_33__32_bitsSignedInt (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'min32bitsSignedInt' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_bigint function_min_33__32_bitsSignedInt (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'max64bitsUnsignedInt' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_bigint function_max_36__34_bitsUnsignedInt (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'max64bitsSignedInt' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_bigint function_max_36__34_bitsSignedInt (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'min64bitsSignedInt' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_bigint function_min_36__34_bitsSignedInt (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'pi' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_double function_pi (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'underline' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_string function_underline (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'blink' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_string function_blink (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'black' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_string function_black (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'green' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_string function_green (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'yellow' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_string function_yellow (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'blue' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_string function_blue (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'magenta' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_string function_magenta (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'cyan' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_string function_cyan (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'darkred' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_string function_darkred (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'darkgreen' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_string function_darkgreen (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'darkyellow' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_string function_darkyellow (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'darkblue' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_string function_darkblue (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'darkmagenta' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_string function_darkmagenta (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'darkcyan' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_string function_darkcyan (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'white' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_string function_white (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- // //Function 'checkEnums' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_bool function_checkEnums (const class GALGAS_impEnumType & constinArgument0, const class GALGAS_impEnumType & constinArgument1, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'checkRanged' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_bool function_checkRanged (const class GALGAS_impRangedType & constinArgument0, const class GALGAS_impRangedType & constinArgument1, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'floatOrError' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_double function_floatOrError (class GALGAS_object_5F_t inArgument0, class GALGAS_string inArgument1, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'sint32OrError' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_sint function_sint_33__32_OrError (class GALGAS_object_5F_t inArgument0, class GALGAS_string inArgument1, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'sint64OrError' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_sint_36__34_ function_sint_36__34_OrError (class GALGAS_object_5F_t inArgument0, class GALGAS_string inArgument1, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'uint32OrError' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_uint function_uint_33__32_OrError (class GALGAS_object_5F_t inArgument0, class GALGAS_string inArgument1, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'uint64OrError' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_uint_36__34_ function_uint_36__34_OrError (class GALGAS_object_5F_t inArgument0, class GALGAS_string inArgument1, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'stringWithUInt32List' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string function_stringWithUInt_33__32_List (const class GALGAS_uint_33__32_List & constinArgument0, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'stringWithUInt64List' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string function_stringWithUInt_36__34_List (const class GALGAS_uint_36__34_List & constinArgument0, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'stringWithSInt32List' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string function_stringWithSInt_33__32_List (const class GALGAS_sint_33__32_List & constinArgument0, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'stringWithSInt64List' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string function_stringWithSInt_36__34_List (const class GALGAS_sint_36__34_List & constinArgument0, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'stringWithFloatList' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string function_stringWithFloatList (const class GALGAS_floatList & constinArgument0, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'uint32ListWithNumberList' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_uint_33__32_List function_uint_33__32_ListWithNumberList (const class GALGAS_numberList & constinArgument0, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'sint32ListWithNumberList' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_sint_33__32_List function_sint_33__32_ListWithNumberList (const class GALGAS_numberList & constinArgument0, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'uint64ListWithNumberList' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_uint_36__34_List function_uint_36__34_ListWithNumberList (const class GALGAS_numberList & constinArgument0, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'sint64ListWithNumberList' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_sint_36__34_List function_sint_36__34_ListWithNumberList (const class GALGAS_numberList & constinArgument0, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'floatListWithNumberList' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_floatList function_floatListWithNumberList (const class GALGAS_numberList & constinArgument0, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'multiError??' +//Routine 'multiError' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_multiError_3F__3F_ (class GALGAS_locationList inArgument0, - class GALGAS_string inArgument1, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +void routine_multiError (class GALGAS_locationList inArgument0, + class GALGAS_string inArgument1, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'setDefaultsForType?&' +//Routine 'setDefaultsForType' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_setDefaultsForType_3F__26_ (const class GALGAS_implementationObjectMap constinArgument0, - class GALGAS_objectAttributes & ioArgument1, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +void routine_setDefaultsForType (const class GALGAS_implementationObjectMap constinArgument0, + class GALGAS_objectAttributes & ioArgument1, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'boolSubAttributes' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_implementationObjectMap function_boolSubAttributes (const class GALGAS_implementationObject & constinArgument0, const class GALGAS_string & constinArgument1, const class GALGAS_bool & constinArgument2, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'enumSubAttributes' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_implementationObjectMap function_enumSubAttributes (const class GALGAS_implementationObject & constinArgument0, const class GALGAS_string & constinArgument1, const class GALGAS_string & constinArgument2, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'checkFilters?' +//Routine 'checkFilters' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_checkFilters_3F_ (const class GALGAS_implementationObject constinArgument0, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +void routine_checkFilters (const class GALGAS_implementationObject constinArgument0, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'multipleAttributeOrError' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_identifierList function_multipleAttributeOrError (const class GALGAS_object_5F_t & constinArgument0, const class GALGAS_string & constinArgument1, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'boolAttributeOrError' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_bool function_boolAttributeOrError (class GALGAS_object_5F_t inArgument0, class GALGAS_string inArgument1, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'uint32_or_error' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_uint function_uint_33__32__5F_or_5F_error (class GALGAS_object_5F_t inArgument0, class GALGAS_string inArgument1, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'luint64OrError' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_luint_36__34_ function_luint_36__34_OrError (class GALGAS_object_5F_t inArgument0, class GALGAS_string inArgument1, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'stringAttributeOrError' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_lstring function_stringAttributeOrError (const class GALGAS_object_5F_t & constinArgument0, const class GALGAS_string & constinArgument1, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'empty_lstring' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class GALGAS_lstring function_empty_5F_lstring (class Compiler * inCompiler +class GALGAS_lstring function_empty_5F_lstring (class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'void_obj' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class GALGAS_object_5F_t function_void_5F_obj (class Compiler * inCompiler +class GALGAS_object_5F_t function_void_5F_obj (class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'luint64_value' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_luint_36__34_ function_luint_36__34__5F_value (const class GALGAS_uint_36__34__5F_class & constinArgument0, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'oil_dir' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class GALGAS_string function_oil_5F_dir (class Compiler * inCompiler +class GALGAS_string function_oil_5F_dir (class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'add_path_component' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string function_add_5F_path_5F_component (class GALGAS_string inArgument0, class GALGAS_string inArgument1, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'rootTemplatesDirectory' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class GALGAS_string function_rootTemplatesDirectory (class Compiler * inCompiler +class GALGAS_string function_rootTemplatesDirectory (class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'templateFilePath' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string function_templateFilePath (const class GALGAS_string & constinArgument0, const class GALGAS_string & constinArgument1, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'allTemplatePaths' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_stringlist function_allTemplatePaths (const class GALGAS_string & constinArgument0, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Routine 'checkTemplatesPath' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_checkTemplatesPath (class Compiler * inCompiler +void routine_checkTemplatesPath (class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'prefix??!' +//Routine 'prefix' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_prefix_3F__3F__21_ (class GALGAS_prefix_5F_map inArgument0, - class GALGAS_string inArgument1, - class GALGAS_string & outArgument2, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +void routine_prefix (class GALGAS_prefix_5F_map inArgument0, + class GALGAS_string inArgument1, + class GALGAS_string & outArgument2, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'performReplace???&' +//Routine 'performReplace' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_performReplace_3F__3F__3F__26_ (class GALGAS_prefix_5F_map inArgument0, - class GALGAS_string inArgument1, - class GALGAS_string inArgument2, - class GALGAS_string & ioArgument3, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +void routine_performReplace (class GALGAS_prefix_5F_map inArgument0, + class GALGAS_string inArgument1, + class GALGAS_string inArgument2, + class GALGAS_string & ioArgument3, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'doReplace&??' +//Routine 'doReplace' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_doReplace_26__3F__3F_ (class GALGAS_string & ioArgument0, - class GALGAS_string inArgument1, - class GALGAS_string inArgument2, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +void routine_doReplace (class GALGAS_string & ioArgument0, + class GALGAS_string inArgument1, + class GALGAS_string inArgument2, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'do_replace_default&???' +//Routine 'do_replace_default' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_do_5F_replace_5F_default_26__3F__3F__3F_ (class GALGAS_string & ioArgument0, - class GALGAS_string inArgument1, - class GALGAS_string inArgument2, - class GALGAS_string inArgument3, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +void routine_do_5F_replace_5F_default (class GALGAS_string & ioArgument0, + class GALGAS_string inArgument1, + class GALGAS_string inArgument2, + class GALGAS_string inArgument3, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'replace_no_prefix???&' +//Routine 'replace_no_prefix' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_replace_5F_no_5F_prefix_3F__3F__3F__26_ (class GALGAS_prefix_5F_map inArgument0, - class GALGAS_string inArgument1, - class GALGAS_string inArgument2, - class GALGAS_string & ioArgument3, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +void routine_replace_5F_no_5F_prefix (class GALGAS_prefix_5F_map inArgument0, + class GALGAS_string inArgument1, + class GALGAS_string inArgument2, + class GALGAS_string & ioArgument3, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'table_core????&&' +//Routine 'table_core' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_table_5F_core_3F__3F__3F__3F__26__26_ (class GALGAS_string inArgument0, - class GALGAS_string inArgument1, - class GALGAS_string inArgument2, - class GALGAS_stringset inArgument3, - class GALGAS_string & ioArgument4, - class GALGAS_string & ioArgument5, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +void routine_table_5F_core (class GALGAS_string inArgument0, + class GALGAS_string inArgument1, + class GALGAS_string inArgument2, + class GALGAS_stringset inArgument3, + class GALGAS_string & ioArgument4, + class GALGAS_string & ioArgument5, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'add_to_stringset&?' +//Routine 'add_to_stringset' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_add_5F_to_5F_stringset_26__3F_ (class GALGAS_stringset & ioArgument0, - class GALGAS_string inArgument1, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +void routine_add_5F_to_5F_stringset (class GALGAS_stringset & ioArgument0, + class GALGAS_string inArgument1, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'is_in_lstringlist??!!' +//Routine 'is_in_lstringlist' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_is_5F_in_5F_lstringlist_3F__3F__21__21_ (class GALGAS_lstringlist inArgument0, - class GALGAS_lstring inArgument1, - class GALGAS_lstring & outArgument2, - class GALGAS_bool & outArgument3, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +void routine_is_5F_in_5F_lstringlist (class GALGAS_lstringlist inArgument0, + class GALGAS_lstring inArgument1, + class GALGAS_lstring & outArgument2, + class GALGAS_bool & outArgument3, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'isInLstringlist' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_bool function_isInLstringlist (class GALGAS_lstringlist inArgument0, class GALGAS_lstring inArgument1, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'add_lstring_unique&??' +//Routine 'add_lstring_unique' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_add_5F_lstring_5F_unique_26__3F__3F_ (class GALGAS_lstringlist & ioArgument0, - class GALGAS_lstring inArgument1, - class GALGAS_string inArgument2, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +void routine_add_5F_lstring_5F_unique (class GALGAS_lstringlist & ioArgument0, + class GALGAS_lstring inArgument1, + class GALGAS_string inArgument2, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'set_lstring_if_empty&??' +//Routine 'set_lstring_if_empty' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_set_5F_lstring_5F_if_5F_empty_26__3F__3F_ (class GALGAS_lstring & ioArgument0, - class GALGAS_lstring inArgument1, - class GALGAS_string inArgument2, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +void routine_set_5F_lstring_5F_if_5F_empty (class GALGAS_lstring & ioArgument0, + class GALGAS_lstring inArgument1, + class GALGAS_string inArgument2, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'add_makefile_flag_if_not_empty&??' +//Routine 'add_makefile_flag_if_not_empty' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_add_5F_makefile_5F_flag_5F_if_5F_not_5F_empty_26__3F__3F_ (class GALGAS_string & ioArgument0, - class GALGAS_string inArgument1, - class GALGAS_string inArgument2, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +void routine_add_5F_makefile_5F_flag_5F_if_5F_not_5F_empty (class GALGAS_string & ioArgument0, + class GALGAS_string inArgument1, + class GALGAS_string inArgument2, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'stripString' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_string function_stripString (class GALGAS_string inArgument0, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'errorNoFileFound???' +//Routine 'errorNoFileFound' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_errorNoFileFound_3F__3F__3F_ (const class GALGAS_stringlist constinArgument0, - const class GALGAS_string constinArgument1, - const class GALGAS_lstring constinArgument2, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +void routine_errorNoFileFound (const class GALGAS_stringlist constinArgument0, + const class GALGAS_string constinArgument1, + const class GALGAS_lstring constinArgument2, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'attributeAllowsAuto' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_bool function_attributeAllowsAuto (const class GALGAS_impType & constinArgument0, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'verifyAllAttributes??' +//Routine 'verifyAllAttributes' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_verifyAllAttributes_3F__3F_ (const class GALGAS_implementation constinArgument0, - const class GALGAS_objectsMap constinArgument1, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +void routine_verifyAllAttributes (const class GALGAS_implementation constinArgument0, + const class GALGAS_objectsMap constinArgument1, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'osObject' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_objectAttributes function_osObject (const class GALGAS_objectsMap & constinArgument0, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'objectForKindAndName' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_objectAttributes function_objectForKindAndName (const class GALGAS_objectsMap & constinArgument0, const class GALGAS_string & constinArgument1, const class GALGAS_string & constinArgument2, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'setObjectForKindAndName&???' +//Routine 'setObjectForKindAndName' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_setObjectForKindAndName_26__3F__3F__3F_ (class GALGAS_objectsMap & ioArgument0, - const class GALGAS_string constinArgument1, - const class GALGAS_string constinArgument2, - const class GALGAS_objectAttributes constinArgument3, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +void routine_setObjectForKindAndName (class GALGAS_objectsMap & ioArgument0, + const class GALGAS_string constinArgument1, + const class GALGAS_string constinArgument2, + const class GALGAS_objectAttributes constinArgument3, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'objectsForKind' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_objectKind function_objectsForKind (const class GALGAS_objectsMap & constinArgument0, const class GALGAS_string & constinArgument1, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // //Function 'listInOS' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- class GALGAS_identifierList function_listInOS (const class GALGAS_objectsMap & constinArgument0, const class GALGAS_string & constinArgument1, - class Compiler * inCompiler + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- -// -//Routine 'generate_signed_type??!' -// -//-------------------------------------------------------------------------------------------------- - -void routine_generate_5F_signed_5F_type_3F__3F__21_ (class GALGAS_uint_36__34_ inArgument0, - class GALGAS_string inArgument1, - class GALGAS_string & outArgument2, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//-------------------------------------------------------------------------------------------------- -// -//Routine 'generate_unsigned_type??!' -// -//-------------------------------------------------------------------------------------------------- - -void routine_generate_5F_unsigned_5F_type_3F__3F__21_ (class GALGAS_uint_36__34_ inArgument0, - class GALGAS_string inArgument1, - class GALGAS_string & outArgument2, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//-------------------------------------------------------------------------------------------------- -// -//Routine 'generate_mask_type??!' -// -//-------------------------------------------------------------------------------------------------- - -void routine_generate_5F_mask_5F_type_3F__3F__21_ (class GALGAS_uint_36__34_ inArgument0, - class GALGAS_string inArgument1, - class GALGAS_string & outArgument2, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//-------------------------------------------------------------------------------------------------- -// -//Function 'emptyGoilContext' -// -//-------------------------------------------------------------------------------------------------- - -class GALGAS_goilContext function_emptyGoilContext (class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'nodeToClassRes??!' +//Routine 'generate_signed_type' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_nodeToClassRes_3F__3F__21_ (class GALGAS_arxmlElementNode inArgument0, - class GALGAS_arxmlMetaClassMap inArgument1, - class GALGAS_arxmlElementValue & outArgument2, - class Compiler * inCompiler +void routine_generate_5F_signed_5F_type (class GALGAS_uint_36__34_ inArgument0, + class GALGAS_string inArgument1, + class GALGAS_string & outArgument2, + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- -// -//Routine 'arxmlDefinitionPackage&&??' -// -//-------------------------------------------------------------------------------------------------- - -void routine_arxmlDefinitionPackage_26__26__3F__3F_ (class GALGAS_implementation & ioArgument0, - class GALGAS_applicationDefinition & ioArgument1, - class GALGAS_arxmlElementValue inArgument2, - class GALGAS_lstring inArgument3, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//-------------------------------------------------------------------------------------------------- -// -//Routine 'arxmlImplementationPackage&??' -// -//-------------------------------------------------------------------------------------------------- - -void routine_arxmlImplementationPackage_26__3F__3F_ (class GALGAS_implementation & ioArgument0, - class GALGAS_arxmlElementValue inArgument1, - class GALGAS_lstring inArgument2, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//-------------------------------------------------------------------------------------------------- -// -//Routine 'arxmlImplementationRoot&??' -// -//-------------------------------------------------------------------------------------------------- - -void routine_arxmlImplementationRoot_26__3F__3F_ (class GALGAS_implementation & ioArgument0, - class GALGAS_arxmlElementValue inArgument1, - class GALGAS_lstring inArgument2, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//-------------------------------------------------------------------------------------------------- -// -//Routine 'arxmlGetDescription?!' -// -//-------------------------------------------------------------------------------------------------- - -void routine_arxmlGetDescription_3F__21_ (class GALGAS_arxmlElementValue inArgument0, - class GALGAS_lstring & outArgument1, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'arxmlImplementationObject&??' +//Routine 'generate_unsigned_type' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_arxmlImplementationObject_26__3F__3F_ (class GALGAS_implementation & ioArgument0, - class GALGAS_arxmlElementValue inArgument1, - class GALGAS_lstring inArgument2, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//-------------------------------------------------------------------------------------------------- -// -//Routine 'arxmlGetMultiplicity??!' -// -//-------------------------------------------------------------------------------------------------- - -void routine_arxmlGetMultiplicity_3F__3F__21_ (class GALGAS_arxmlElementValue inArgument0, - class GALGAS_lstring inArgument1, - class GALGAS_lbool & outArgument2, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//-------------------------------------------------------------------------------------------------- -// -//Routine 'arxmlImplementationContainer&??' -// -//-------------------------------------------------------------------------------------------------- - -void routine_arxmlImplementationContainer_26__3F__3F_ (class GALGAS_implementationObjectMap & ioArgument0, - class GALGAS_arxmlElementValue inArgument1, - class GALGAS_lstring inArgument2, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//-------------------------------------------------------------------------------------------------- -// -//Routine 'arxmlImplementationContainerBoolean!!???' -// -//-------------------------------------------------------------------------------------------------- - -void routine_arxmlImplementationContainerBoolean_21__21__3F__3F__3F_ (class GALGAS_lstring & outArgument0, - class GALGAS_impType & outArgument1, - const class GALGAS_dataType constinArgument2, - class GALGAS_arxmlElementValue inArgument3, - class GALGAS_lstring inArgument4, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//-------------------------------------------------------------------------------------------------- -// -//Routine 'arxmlImplementationContainerEnumeration!!???' -// -//-------------------------------------------------------------------------------------------------- - -void routine_arxmlImplementationContainerEnumeration_21__21__3F__3F__3F_ (class GALGAS_lstring & outArgument0, - class GALGAS_impType & outArgument1, - const class GALGAS_dataType constinArgument2, - class GALGAS_arxmlElementValue inArgument3, - class GALGAS_lstring inArgument4, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//-------------------------------------------------------------------------------------------------- -// -//Routine 'arxmlImplementationContainerIdentifier!!???' -// -//-------------------------------------------------------------------------------------------------- - -void routine_arxmlImplementationContainerIdentifier_21__21__3F__3F__3F_ (class GALGAS_lstring & outArgument0, - class GALGAS_impType & outArgument1, - const class GALGAS_dataType constinArgument2, - class GALGAS_arxmlElementValue inArgument3, - class GALGAS_lstring inArgument4, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//-------------------------------------------------------------------------------------------------- -// -//Routine 'arxmlImplementationContainerNumber!!???' -// -//-------------------------------------------------------------------------------------------------- - -void routine_arxmlImplementationContainerNumber_21__21__3F__3F__3F_ (class GALGAS_lstring & outArgument0, - class GALGAS_impType & outArgument1, - const class GALGAS_dataType constinArgument2, - class GALGAS_arxmlElementValue inArgument3, - class GALGAS_lstring inArgument4, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//-------------------------------------------------------------------------------------------------- -// -//Routine 'arxmlImplementationContainerReference!!???' -// -//-------------------------------------------------------------------------------------------------- - -void routine_arxmlImplementationContainerReference_21__21__3F__3F__3F_ (class GALGAS_lstring & outArgument0, - class GALGAS_impType & outArgument1, - const class GALGAS_dataType constinArgument2, - class GALGAS_arxmlElementValue inArgument3, - class GALGAS_lstring inArgument4, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//-------------------------------------------------------------------------------------------------- -// -//Routine 'arxmlImplementationContainerString!!???' -// -//-------------------------------------------------------------------------------------------------- - -void routine_arxmlImplementationContainerString_21__21__3F__3F__3F_ (class GALGAS_lstring & outArgument0, - class GALGAS_impType & outArgument1, - const class GALGAS_dataType constinArgument2, - class GALGAS_arxmlElementValue inArgument3, - class GALGAS_lstring inArgument4, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//-------------------------------------------------------------------------------------------------- -// -//Routine 'arxmlImplementationContainerStructure!!???' -// -//-------------------------------------------------------------------------------------------------- - -void routine_arxmlImplementationContainerStructure_21__21__3F__3F__3F_ (class GALGAS_lstring & outArgument0, - class GALGAS_impType & outArgument1, - const class GALGAS_dataType constinArgument2, - class GALGAS_arxmlElementValue inArgument3, - class GALGAS_lstring inArgument4, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//-------------------------------------------------------------------------------------------------- -// -//Routine 'arxmlInsertObjectAttribute&??' -// -//-------------------------------------------------------------------------------------------------- - -void routine_arxmlInsertObjectAttribute_26__3F__3F_ (class GALGAS_implementationObjectMap & ioArgument0, - class GALGAS_lstring inArgument1, - class GALGAS_impType inArgument2, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//-------------------------------------------------------------------------------------------------- -// -//Routine 'arxmlGetName?!' -// -//-------------------------------------------------------------------------------------------------- - -void routine_arxmlGetName_3F__21_ (class GALGAS_arxmlElementValue inArgument0, - class GALGAS_lstring & outArgument1, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +void routine_generate_5F_unsigned_5F_type (class GALGAS_uint_36__34_ inArgument0, + class GALGAS_string inArgument1, + class GALGAS_string & outArgument2, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Routine 'arxmlGetWithAuto?!' +//Routine 'generate_mask_type' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void routine_arxmlGetWithAuto_3F__21_ (class GALGAS_arxmlElementValue inArgument0, - class GALGAS_bool & outArgument1, - class Compiler * inCompiler +void routine_generate_5F_mask_5F_type (class GALGAS_uint_36__34_ inArgument0, + class GALGAS_string inArgument1, + class GALGAS_string & outArgument2, + class C_Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- -// -//Routine 'arxmlPopSign&!' -// -//-------------------------------------------------------------------------------------------------- - -void routine_arxmlPopSign_26__21_ (class GALGAS_lstring & ioArgument0, - class GALGAS_bool & outArgument1, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//-------------------------------------------------------------------------------------------------- -// -//Routine 'arxmlDefinitionRoot&&??' -// -//-------------------------------------------------------------------------------------------------- - -void routine_arxmlDefinitionRoot_26__26__3F__3F_ (class GALGAS_implementation & ioArgument0, - class GALGAS_applicationDefinition & ioArgument1, - class GALGAS_arxmlElementValue inArgument2, - class GALGAS_lstring inArgument3, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//-------------------------------------------------------------------------------------------------- -// -//Routine 'arxmlDefinitionObject&&??' -// -//-------------------------------------------------------------------------------------------------- - -void routine_arxmlDefinitionObject_26__26__3F__3F_ (class GALGAS_implementation & ioArgument0, - class GALGAS_objectsMap & ioArgument1, - class GALGAS_arxmlElementValue inArgument2, - class GALGAS_lstring inArgument3, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//-------------------------------------------------------------------------------------------------- -// -//Routine 'arxmlDefinitionContainer?&??' -// -//-------------------------------------------------------------------------------------------------- - -void routine_arxmlDefinitionContainer_3F__26__3F__3F_ (const class GALGAS_implementationObjectMap constinArgument0, - class GALGAS_objectAttributes & ioArgument1, - class GALGAS_arxmlElementValue inArgument2, - class GALGAS_lstring inArgument3, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//-------------------------------------------------------------------------------------------------- -// -//Routine 'oilEquivalentName??!' -// -//-------------------------------------------------------------------------------------------------- - -void routine_oilEquivalentName_3F__3F__21_ (class GALGAS_lstring inArgument0, - class GALGAS_lstring inArgument1, - class GALGAS_lstring & outArgument2, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//-------------------------------------------------------------------------------------------------- -// -//Routine 'arxmlDefinitionParameter?&??' -// -//-------------------------------------------------------------------------------------------------- - -void routine_arxmlDefinitionParameter_3F__26__3F__3F_ (const class GALGAS_implementationObjectMap constinArgument0, - class GALGAS_objectAttributes & ioArgument1, - class GALGAS_arxmlElementValue inArgument2, - class GALGAS_lstring inArgument3, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - -//-------------------------------------------------------------------------------------------------- -// -//Routine 'testTypeError??' -// -//-------------------------------------------------------------------------------------------------- - -void routine_testTypeError_3F__3F_ (class GALGAS_dataType inArgument0, - class GALGAS_lstring inArgument1, - class Compiler * inCompiler - COMMA_LOCATION_ARGS) ; - diff --git a/goil/build/output/all-declarations-11.cpp b/goil/build/output/all-declarations-11.cpp new file mode 100644 index 000000000..2eeec2099 --- /dev/null +++ b/goil/build/output/all-declarations-11.cpp @@ -0,0 +1,2959 @@ +#include "galgas2/C_Compiler.h" +#include "galgas2/C_galgas_io.h" +#include "galgas2/C_galgas_CLI_Options.h" +#include "utilities/C_PrologueEpilogue.h" + +//---------------------------------------------------------------------------------------------------------------------- + +#include "all-declarations-11.h" + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'emptyGoilContext' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_goilContext function_emptyGoilContext (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_goilContext result_context ; // Returned variable + result_context = GALGAS_goilContext::constructor_new (function_emptylstring (inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 710)), GALGAS_string::makeEmptyString (), GALGAS_string::makeEmptyString (), GALGAS_string::makeEmptyString (), GALGAS_string (".gtl"), GALGAS_stringlist::constructor_emptyList (SOURCE_FILE ("goil_code_generation.galgas", 715)), GALGAS_gtlDataList::constructor_emptyList (SOURCE_FILE ("goil_code_generation.galgas", 716)), GALGAS_bool (true), function_defaultDebugSettings (inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 718)) COMMA_SOURCE_FILE ("goil_code_generation.galgas", 709)) ; +//--- + return result_context ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// Function introspection +//---------------------------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_emptyGoilContext [1] = { + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static GALGAS_object functionWithGenericHeader_emptyGoilContext (C_Compiler * inCompiler, + const cObjectArray & /* inEffectiveParameterArray */, + const GALGAS_location & /* inErrorLocation */ + COMMA_LOCATION_ARGS) { + return function_emptyGoilContext (inCompiler COMMA_THERE).getter_object (THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_emptyGoilContext ("emptyGoilContext", + functionWithGenericHeader_emptyGoilContext, + & kTypeDescriptor_GALGAS_goilContext, + 0, + functionArgs_emptyGoilContext) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'generate_all' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_generate_5F_all (GALGAS_gtlData inArgument_cfg, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string var_temp_5F_dir_23447 = function_templates_5F_directory (GALGAS_string ("code"), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 735)) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsNotEqual, var_temp_5F_dir_23447.objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_string var_target_23531 = GALGAS_string (gOption_goil_5F_options_target_5F_platform.readProperty_value ()) ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = GALGAS_bool (kIsNotEqual, var_target_23531.objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; + if (kBoolTrue == test_1) { + GALGAS_gtlContext var_context_23634 = function_emptyGoilContext (inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 741)) ; + { + var_context_23634.setter_setTemplateDirectory (function_templates_5F_directory (GALGAS_string::makeEmptyString (), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 743)) COMMA_SOURCE_FILE ("goil_code_generation.galgas", 742)) ; + } + { + var_context_23634.setter_setUserTemplateDirectory (GALGAS_string::constructor_stringWithSourceFilePath (inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 746)).getter_stringByDeletingLastPathComponent (SOURCE_FILE ("goil_code_generation.galgas", 746)).add_operation (GALGAS_string ("/templates"), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 746)) COMMA_SOURCE_FILE ("goil_code_generation.galgas", 745)) ; + } + { + var_context_23634.setter_setTemplateExtension (GALGAS_string ("goilTemplate") COMMA_SOURCE_FILE ("goil_code_generation.galgas", 749)) ; + } + { + var_context_23634.insulate (HERE) ; + cPtr_gtlContext * ptr_24018 = (cPtr_gtlContext *) var_context_23634.ptr () ; + callExtensionSetter_addModulePath ((cPtr_gtlContext *) ptr_24018, function_templates_5F_directory (GALGAS_string::makeEmptyString (), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 753)), GALGAS_string ("lib"), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 752)) ; + } + { + var_context_23634.setter_setPath (GALGAS_string (gOption_goil_5F_options_target_5F_platform.readProperty_value ()) COMMA_SOURCE_FILE ("goil_code_generation.galgas", 756)) ; + } + GALGAS_string var_goilLog_24251 = function_invokeGTL (GALGAS_gtlString::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 762)), function_lstring (GALGAS_string ("root template filename"), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 763)), GALGAS_string (gOption_goil_5F_options_root.readProperty_value ()) COMMA_SOURCE_FILE ("goil_code_generation.galgas", 761)), var_context_23634, inArgument_cfg, inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 760)) ; + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = GALGAS_bool (gOption_goil_5F_options_generate_5F_log.readProperty_value ()).boolEnum () ; + if (kBoolTrue == test_2) { + var_goilLog_24251.method_writeToFile (GALGAS_string ("goil.log"), inCompiler COMMA_SOURCE_FILE ("goil_code_generation.galgas", 771)) ; + } + } + } + } + if (kBoolFalse == test_1) { + inCompiler->printMessage (GALGAS_string ("No target platform given, compiling aborted\n") COMMA_SOURCE_FILE ("goil_code_generation.galgas", 775)) ; + } + } + } + if (kBoolFalse == test_0) { + inCompiler->printMessage (GALGAS_string ("No template directory defined, compiling aborted\n") COMMA_SOURCE_FILE ("goil_code_generation.galgas", 778)) ; + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'getAutosarVersion' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_getAutosarVersion (GALGAS_arxmlNode inArgument_rootNode, + GALGAS_lstring & outArgument_iAutosarVersion, + GALGAS_lstring & outArgument_iAutosarDescription, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_iAutosarVersion.drop () ; // Release 'out' argument + outArgument_iAutosarDescription.drop () ; // Release 'out' argument + GALGAS_lstring var_autosarVersion_7851 = function_lstringWith (GALGAS_string::makeEmptyString (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 273)) ; + GALGAS_lstring var_autosarDescription_7896 = function_lstringWith (GALGAS_string::makeEmptyString (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 274)) ; + GALGAS_arxmlElementList var_autosarNodes_8021 = GALGAS_arxmlElementList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 277)) ; + callExtensionMethod_getSubElementsFromName ((cPtr_arxmlNode *) inArgument_rootNode.ptr (), GALGAS_string ("AUTOSAR"), var_autosarNodes_8021, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 278)) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsEqual, var_autosarNodes_8021.getter_count (SOURCE_FILE ("arxml_parser.galgas", 279)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + if (kBoolTrue == test_0) { + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 280)), GALGAS_string ("[TPS_GST_00077] : Missing root AUTOSAR node."), fixItArray1 COMMA_SOURCE_FILE ("arxml_parser.galgas", 280)) ; + } + } + GALGAS_arxmlElementList var_adminDataNodes_8238 = GALGAS_arxmlElementList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 283)) ; + extensionMethod_getSubElementsFromName (var_autosarNodes_8021, GALGAS_string ("ADMIN-DATA"), var_adminDataNodes_8238, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 284)) ; + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = GALGAS_bool (kIsEqual, var_adminDataNodes_8238.getter_count (SOURCE_FILE ("arxml_parser.galgas", 285)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + if (kBoolTrue == test_2) { + TC_Array fixItArray3 ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 286)), GALGAS_string ("[TPS_ECUC_06004] : Missing AUTOSAR's ADMIN-DATA node."), fixItArray3 COMMA_SOURCE_FILE ("arxml_parser.galgas", 286)) ; + } + } + GALGAS_arxmlElementList var_revisions_8477 = GALGAS_arxmlElementList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 289)) ; + extensionMethod_getElementsFromName (var_adminDataNodes_8238, GALGAS_string ("DOC-REVISION"), var_revisions_8477, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 290)) ; + enumGalgasBool test_4 = kBoolTrue ; + if (kBoolTrue == test_4) { + test_4 = GALGAS_bool (kIsEqual, var_adminDataNodes_8238.getter_count (SOURCE_FILE ("arxml_parser.galgas", 291)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + if (kBoolTrue == test_4) { + TC_Array fixItArray5 ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 292)), GALGAS_string ("Missing AUTOSAR'S ADMIN-DATA's DOC-REVISION NODE"), fixItArray5 COMMA_SOURCE_FILE ("arxml_parser.galgas", 292)) ; + } + } + GALGAS_bool var_version_5F_found_8690 = GALGAS_bool (false) ; + GALGAS_bool var_issued_5F_by_5F_found_8720 = GALGAS_bool (false) ; + GALGAS_lstring var_issued_5F_by_8755 = function_lstringWith (GALGAS_string::makeEmptyString (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 297)) ; + cEnumerator_arxmlElementList enumerator_8810 (var_revisions_8477, kENUMERATION_UP) ; + bool bool_6 = var_version_5F_found_8690.operator_not (SOURCE_FILE ("arxml_parser.galgas", 300)).isValidAndTrue () ; + if (enumerator_8810.hasCurrentObject () && bool_6) { + while (enumerator_8810.hasCurrentObject () && bool_6) { + var_issued_5F_by_5F_found_8720 = GALGAS_bool (false) ; + callExtensionMethod_getProperty ((cPtr_arxmlElementNode *) enumerator_8810.current_node (HERE).ptr (), GALGAS_string ("ISSUED-BY"), var_issued_5F_by_8755, var_issued_5F_by_5F_found_8720, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 302)) ; + enumGalgasBool test_7 = kBoolTrue ; + if (kBoolTrue == test_7) { + GALGAS_bool test_8 = var_issued_5F_by_5F_found_8720 ; + if (kBoolTrue == test_8.boolEnum ()) { + test_8 = GALGAS_bool (kIsEqual, var_issued_5F_by_8755.readProperty_string ().objectCompare (GALGAS_string ("AUTOSAR"))) ; + } + test_7 = test_8.boolEnum () ; + if (kBoolTrue == test_7) { + GALGAS_bool var_description_5F_found_9033 = GALGAS_bool (false) ; + callExtensionMethod_getProperty ((cPtr_arxmlElementNode *) enumerator_8810.current_node (HERE).ptr (), GALGAS_string ("REVISION-LABEL"), var_autosarVersion_7851, var_version_5F_found_8690, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 305)) ; + callExtensionMethod_getProperty ((cPtr_arxmlElementNode *) enumerator_8810.current_node (HERE).ptr (), GALGAS_string ("DATE"), var_autosarDescription_7896, var_description_5F_found_9033, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 306)) ; + } + } + enumerator_8810.gotoNextObject () ; + if (enumerator_8810.hasCurrentObject ()) { + bool_6 = var_version_5F_found_8690.operator_not (SOURCE_FILE ("arxml_parser.galgas", 300)).isValidAndTrue () ; + } + } + } + outArgument_iAutosarVersion = var_autosarVersion_7851 ; + outArgument_iAutosarDescription = var_autosarDescription_7896 ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'includeConfigs' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_includeConfigs (GALGAS_implementation & ioArgument_imp, + GALGAS_applicationDefinition & ioArgument_application, + GALGAS_string & ioArgument_fileIncludeList, + GALGAS_lstring inArgument_version, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string var_config_5F_file_5F_name_9573 = GALGAS_string (gOption_goil_5F_options_config.readProperty_value ()) ; + GALGAS_stringlist var_configFiles_9647 = function_allTemplateFilePaths (GALGAS_string ("config"), var_config_5F_file_5F_name_9573.add_operation (GALGAS_string (".oil"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 325)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 324)) ; + cEnumerator_stringlist enumerator_9906 (var_configFiles_9647, kENUMERATION_DOWN) ; + while (enumerator_9906.hasCurrentObject ()) { + cGrammar_goil_5F_file_5F_level_5F_include::_performSourceFileParsing_ (inCompiler, function_lstringWith (enumerator_9906.current_mValue (HERE), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 330)), ioArgument_imp, ioArgument_application, ioArgument_fileIncludeList, GALGAS_bool (false) COMMA_SOURCE_FILE ("arxml_parser.galgas", 330)) ; + enumerator_9906.gotoNextObject () ; + } + GALGAS_stringlist var_configVersionFiles_10217 = function_allTemplateFilePaths (GALGAS_string ("config"), var_config_5F_file_5F_name_9573.add_operation (inArgument_version.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 337)).add_operation (GALGAS_string (".oil"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 337)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 336)) ; + cEnumerator_stringlist enumerator_10369 (var_configVersionFiles_10217, kENUMERATION_DOWN) ; + while (enumerator_10369.hasCurrentObject ()) { + cGrammar_goil_5F_file_5F_level_5F_include::_performSourceFileParsing_ (inCompiler, function_lstringWith (enumerator_10369.current_mValue (HERE), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 340)), ioArgument_imp, ioArgument_application, ioArgument_fileIncludeList, GALGAS_bool (false) COMMA_SOURCE_FILE ("arxml_parser.galgas", 340)) ; + enumerator_10369.gotoNextObject () ; + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'nodeToClass' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_nodeToClass (GALGAS_arxmlNode inArgument_rootNode, + GALGAS_arxmlMetaClassMap & ioArgument_classMap, + GALGAS_arxmlElementValue & outArgument_rootValue, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_rootValue.drop () ; // Release 'out' argument + GALGAS_arxmlElementList var_autosarNodes_10738 = GALGAS_arxmlElementList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 351)) ; + callExtensionMethod_getSubElementsFromName ((cPtr_arxmlNode *) inArgument_rootNode.ptr (), GALGAS_string ("AUTOSAR"), var_autosarNodes_10738, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 352)) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsEqual, var_autosarNodes_10738.getter_count (SOURCE_FILE ("arxml_parser.galgas", 353)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + if (kBoolTrue == test_0) { + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 354)), GALGAS_string ("[TPS_GST_00077] : Missing root AUTOSAR node."), fixItArray1 COMMA_SOURCE_FILE ("arxml_parser.galgas", 354)) ; + } + } + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = GALGAS_bool (kIsStrictSup, var_autosarNodes_10738.getter_count (SOURCE_FILE ("arxml_parser.galgas", 356)).objectCompare (GALGAS_uint (uint32_t (1U)))).boolEnum () ; + if (kBoolTrue == test_2) { + TC_Array fixItArray3 ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 357)), GALGAS_string ("[TPS_GST_00077] : Too many AUTOSAR nodes."), fixItArray3 COMMA_SOURCE_FILE ("arxml_parser.galgas", 357)) ; + } + } + GALGAS_arxmlElementNode var_autosarNode_11098 ; + var_autosarNodes_10738.method_first (var_autosarNode_11098, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 362)) ; + { + routine_nodeToClassRes (var_autosarNode_11098, ioArgument_classMap, outArgument_rootValue, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 363)) ; + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'nodeToClassRes' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_nodeToClassRes (GALGAS_arxmlElementNode inArgument_currentElement, + GALGAS_arxmlMetaClassMap inArgument_classMap, + GALGAS_arxmlElementValue & outArgument_elementValue, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_elementValue.drop () ; // Release 'out' argument + GALGAS_arxmlMetaClass var_currentClass_11372 ; + inArgument_classMap.method_searchKey (inArgument_currentElement.readProperty_name (), var_currentClass_11372, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 373)) ; + GALGAS_bool var_textFound_11481 = GALGAS_bool (false) ; + GALGAS_lstring var_text_11510 = GALGAS_lstring::constructor_new (GALGAS_string::makeEmptyString (), GALGAS_location::constructor_nowhere (SOURCE_FILE ("arxml_parser.galgas", 377)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 377)) ; + callExtensionMethod_getText ((cPtr_arxmlElementNode *) inArgument_currentElement.ptr (), var_text_11510, var_textFound_11481, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 378)) ; + GALGAS_lstring var_type_11628 = var_currentClass_11372.readProperty_name () ; + outArgument_elementValue = GALGAS_arxmlElementValue::constructor_new (var_type_11628, var_text_11510, GALGAS_arxmlElementValueMap::constructor_emptyMap (SOURCE_FILE ("arxml_parser.galgas", 385)), inArgument_currentElement.readProperty_attributes () COMMA_SOURCE_FILE ("arxml_parser.galgas", 382)) ; + GALGAS_arxmlElementList var_subElements_12034 ; + callExtensionMethod_getSubElements ((cPtr_arxmlElementNode *) inArgument_currentElement.ptr (), var_subElements_12034, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 390)) ; + cEnumerator_arxmlElementList enumerator_12072 (var_subElements_12034, kENUMERATION_UP) ; + while (enumerator_12072.hasCurrentObject ()) { + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = callExtensionGetter_hasElement ((const cPtr_arxmlMetaClass *) var_currentClass_11372.ptr (), enumerator_12072.current_node (HERE).readProperty_name ().readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 392)).operator_not (SOURCE_FILE ("arxml_parser.galgas", 392)).boolEnum () ; + if (kBoolTrue == test_0) { + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (enumerator_12072.current_node (HERE).readProperty_name ().readProperty_location (), GALGAS_string ("The element ").add_operation (enumerator_12072.current_node (HERE).readProperty_name ().readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 393)).add_operation (GALGAS_string (" does not belong to the "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 393)).add_operation (inArgument_currentElement.readProperty_name ().readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 394)).add_operation (GALGAS_string (" element.\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 395)).add_operation (GALGAS_string ("Possible elements are :\n "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 395)).add_operation (extensionGetter_string (var_currentClass_11372.readProperty_lElementLegacy (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 396)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 396)), fixItArray1 COMMA_SOURCE_FILE ("arxml_parser.galgas", 393)) ; + } + } + enumerator_12072.gotoNextObject () ; + } + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = GALGAS_bool (kIsNotEqual, inArgument_currentElement.readProperty_name ().readProperty_string ().objectCompare (GALGAS_string ("AUTOSAR"))).boolEnum () ; + if (kBoolTrue == test_2) { + cEnumerator_arxmlAttributeMap enumerator_12603 (inArgument_currentElement.readProperty_attributes (), kENUMERATION_UP) ; + while (enumerator_12603.hasCurrentObject ()) { + enumGalgasBool test_3 = kBoolTrue ; + if (kBoolTrue == test_3) { + test_3 = callExtensionGetter_hasAttribute ((const cPtr_arxmlMetaClass *) var_currentClass_11372.ptr (), enumerator_12603.current_lkey (HERE).readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 404)).operator_not (SOURCE_FILE ("arxml_parser.galgas", 404)).boolEnum () ; + if (kBoolTrue == test_3) { + TC_Array fixItArray4 ; + inCompiler->emitSemanticError (enumerator_12603.current_lkey (HERE).readProperty_location (), GALGAS_string ("The attribute ").add_operation (enumerator_12603.current_lkey (HERE).readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 405)).add_operation (GALGAS_string (" does not belong to the "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 405)).add_operation (inArgument_currentElement.readProperty_name ().readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 405)).add_operation (GALGAS_string (" element.\nPossible "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 406)).add_operation (GALGAS_string ("attributes are :\n "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 406)).add_operation (extensionGetter_string (var_currentClass_11372.readProperty_lAttributeLegacy (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 407)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 407)), fixItArray4 COMMA_SOURCE_FILE ("arxml_parser.galgas", 405)) ; + } + } + enumerator_12603.gotoNextObject () ; + } + } + } + cEnumerator_arxmlMetaElementList enumerator_13044 (var_currentClass_11372.readProperty_lElementLegacy (), kENUMERATION_UP) ; + while (enumerator_13044.hasCurrentObject ()) { + GALGAS_arxmlElementList var_subElements_13112 = GALGAS_arxmlElementList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 414)) ; + callExtensionMethod_getSubElementsFromName ((cPtr_arxmlElementNode *) inArgument_currentElement.ptr (), enumerator_13044.current_lElement (HERE).readProperty_name ().readProperty_string (), var_subElements_13112, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 416)) ; + GALGAS_uint var_minOccurs_13331 = GALGAS_uint (uint32_t (1U)) ; + GALGAS_uint var_maxOccurs_13355 = GALGAS_uint (uint32_t (1U)) ; + enumGalgasBool test_5 = kBoolTrue ; + if (kBoolTrue == test_5) { + GALGAS_bool test_6 = GALGAS_bool (kIsNotEqual, enumerator_13044.current_lElement (HERE).readProperty_minOccurs ().readProperty_string ().objectCompare (GALGAS_string::makeEmptyString ())) ; + if (kBoolTrue == test_6.boolEnum ()) { + test_6 = enumerator_13044.current_lElement (HERE).readProperty_minOccurs ().readProperty_string ().getter_isDecimalUnsignedNumber (SOURCE_FILE ("arxml_parser.galgas", 424)) ; + } + test_5 = test_6.boolEnum () ; + if (kBoolTrue == test_5) { + var_minOccurs_13331 = enumerator_13044.current_lElement (HERE).readProperty_minOccurs ().readProperty_string ().getter_decimalUnsignedNumber (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 425)) ; + } + } + enumGalgasBool test_7 = kBoolTrue ; + if (kBoolTrue == test_7) { + test_7 = GALGAS_bool (kIsStrictInf, var_subElements_13112.getter_count (SOURCE_FILE ("arxml_parser.galgas", 428)).objectCompare (var_minOccurs_13331)).boolEnum () ; + if (kBoolTrue == test_7) { + TC_Array fixItArray8 ; + inCompiler->emitSemanticError (inArgument_currentElement.readProperty_name ().readProperty_location (), GALGAS_string ("Missing element ").add_operation (enumerator_13044.current_lElement (HERE).readProperty_name ().readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 429)).add_operation (GALGAS_string (". Minimum : "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 429)).add_operation (var_minOccurs_13331.getter_string (SOURCE_FILE ("arxml_parser.galgas", 430)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 430)).add_operation (GALGAS_string ("."), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 430)).add_operation (GALGAS_string (" Found "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 430)).add_operation (var_subElements_13112.getter_count (SOURCE_FILE ("arxml_parser.galgas", 431)).getter_string (SOURCE_FILE ("arxml_parser.galgas", 431)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 431)), fixItArray8 COMMA_SOURCE_FILE ("arxml_parser.galgas", 429)) ; + } + } + enumGalgasBool test_9 = kBoolTrue ; + if (kBoolTrue == test_9) { + GALGAS_bool test_10 = GALGAS_bool (kIsNotEqual, enumerator_13044.current_lElement (HERE).readProperty_maxOccurs ().readProperty_string ().objectCompare (GALGAS_string ("unbounded"))) ; + if (kBoolTrue == test_10.boolEnum ()) { + test_10 = GALGAS_bool (kIsNotEqual, enumerator_13044.current_lElement (HERE).readProperty_maxOccurs ().readProperty_string ().objectCompare (GALGAS_string::makeEmptyString ())) ; + } + test_9 = test_10.boolEnum () ; + if (kBoolTrue == test_9) { + enumGalgasBool test_11 = kBoolTrue ; + if (kBoolTrue == test_11) { + GALGAS_bool test_12 = GALGAS_bool (kIsNotEqual, enumerator_13044.current_lElement (HERE).readProperty_maxOccurs ().readProperty_string ().objectCompare (GALGAS_string::makeEmptyString ())) ; + if (kBoolTrue == test_12.boolEnum ()) { + test_12 = enumerator_13044.current_lElement (HERE).readProperty_maxOccurs ().readProperty_string ().getter_isDecimalUnsignedNumber (SOURCE_FILE ("arxml_parser.galgas", 439)) ; + } + test_11 = test_12.boolEnum () ; + if (kBoolTrue == test_11) { + var_maxOccurs_13355 = enumerator_13044.current_lElement (HERE).readProperty_maxOccurs ().readProperty_string ().getter_decimalUnsignedNumber (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 440)) ; + } + } + enumGalgasBool test_13 = kBoolTrue ; + if (kBoolTrue == test_13) { + test_13 = GALGAS_bool (kIsStrictSup, var_subElements_13112.getter_count (SOURCE_FILE ("arxml_parser.galgas", 443)).objectCompare (var_maxOccurs_13355)).boolEnum () ; + if (kBoolTrue == test_13) { + TC_Array fixItArray14 ; + inCompiler->emitSemanticError (inArgument_currentElement.readProperty_name ().readProperty_location (), GALGAS_string ("Too many node ").add_operation (enumerator_13044.current_lElement (HERE).readProperty_name ().readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 444)).add_operation (GALGAS_string (". Minimum : "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 444)).add_operation (var_minOccurs_13331.getter_string (SOURCE_FILE ("arxml_parser.galgas", 445)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 445)).add_operation (GALGAS_string (" ; Maximum : "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 445)).add_operation (var_maxOccurs_13355.getter_string (SOURCE_FILE ("arxml_parser.galgas", 445)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 445)).add_operation (GALGAS_string (". Found "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 445)).add_operation (var_subElements_13112.getter_count (SOURCE_FILE ("arxml_parser.galgas", 446)).getter_string (SOURCE_FILE ("arxml_parser.galgas", 446)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 446)), fixItArray14 COMMA_SOURCE_FILE ("arxml_parser.galgas", 444)) ; + } + } + } + } + cEnumerator_arxmlElementList enumerator_14632 (var_subElements_13112, kENUMERATION_UP) ; + while (enumerator_14632.hasCurrentObject ()) { + GALGAS_arxmlElementValue var_subElementValue_14691 ; + { + routine_nodeToClassRes (enumerator_14632.current_node (HERE), inArgument_classMap, var_subElementValue_14691, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 453)) ; + } + { + outArgument_elementValue.insulate (HERE) ; + cPtr_arxmlElementValue * ptr_14777 = (cPtr_arxmlElementValue *) outArgument_elementValue.ptr () ; + callExtensionSetter_insertElement ((cPtr_arxmlElementValue *) ptr_14777, enumerator_14632.current_node (HERE).readProperty_name (), var_subElementValue_14691, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 454)) ; + } + enumerator_14632.gotoNextObject () ; + } + enumerator_13044.gotoNextObject () ; + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'addText' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_addText (GALGAS_arxmlNodeList & ioArgument_nodes, + const GALGAS_bool constinArgument_doNotCondenseWhiteSpaces, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string var_s_14956 = GALGAS_string::constructor_retrieveAndResetTemplateString (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 463)) ; + GALGAS_string var_trimmedString_15006 = var_s_14956.getter_stringByTrimmingWhiteSpaces (SOURCE_FILE ("arxml_parser.galgas", 464)) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsStrictSup, var_trimmedString_15006.getter_count (SOURCE_FILE ("arxml_parser.galgas", 465)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_lstring var_ls_15108 ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = constinArgument_doNotCondenseWhiteSpaces.boolEnum () ; + if (kBoolTrue == test_1) { + var_ls_15108 = GALGAS_lstring::constructor_new (var_s_14956, GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 468)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 468)) ; + } + } + if (kBoolFalse == test_1) { + var_ls_15108 = GALGAS_lstring::constructor_new (var_trimmedString_15006, GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 470)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 470)) ; + } + ioArgument_nodes.addAssign_operation (GALGAS_arxmlTextNode::constructor_new (var_ls_15108 COMMA_SOURCE_FILE ("arxml_parser.galgas", 473)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 473)) ; + } + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'convertToOil' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_convertToOil (GALGAS_implementation & ioArgument_imp, + GALGAS_applicationDefinition & ioArgument_application, + GALGAS_arxmlElementValue inArgument_rootValue, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_lstring var_emptyPath_15418 = GALGAS_lstring::constructor_new (GALGAS_string::makeEmptyString (), GALGAS_location::constructor_nowhere (SOURCE_FILE ("arxml_parser.galgas", 482)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 482)) ; + GALGAS_arxmlElementValueList var_packages_15505 = GALGAS_arxmlElementValueList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 485)) ; + GALGAS_stringlist var_packagesPath_15533 = GALGAS_stringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 486)) ; + var_packagesPath_15533.addAssign_operation (GALGAS_string ("AR-PACKAGES") COMMA_SOURCE_FILE ("arxml_parser.galgas", 487)) ; + var_packagesPath_15533.addAssign_operation (GALGAS_string ("AR-PACKAGE") COMMA_SOURCE_FILE ("arxml_parser.galgas", 488)) ; + callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_rootValue.ptr (), var_packagesPath_15533, var_packages_15505, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 489)) ; + cEnumerator_arxmlElementValueList enumerator_15722 (var_packages_15505, kENUMERATION_UP) ; + while (enumerator_15722.hasCurrentObject ()) { + { + routine_arxmlImplementationPackage (ioArgument_imp, enumerator_15722.current_value (HERE), var_emptyPath_15418, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 493)) ; + } + enumerator_15722.gotoNextObject () ; + } + cEnumerator_arxmlElementValueList enumerator_15856 (var_packages_15505, kENUMERATION_UP) ; + while (enumerator_15856.hasCurrentObject ()) { + { + routine_arxmlDefinitionPackage (ioArgument_imp, ioArgument_application, enumerator_15856.current_value (HERE), var_emptyPath_15418, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 498)) ; + } + enumerator_15856.gotoNextObject () ; + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlImplementationPackage' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlImplementationPackage (GALGAS_implementation & ioArgument_imp, + GALGAS_arxmlElementValue inArgument_packageElement, + GALGAS_lstring inArgument_parentPath, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_lstring var_packageName_16229 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), GALGAS_string ("SHORT-NAME"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 512)) ; + GALGAS_lstring var_currentPath_16342 = GALGAS_lstring::constructor_new (inArgument_parentPath.readProperty_string ().add_operation (GALGAS_string ("/"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 515)).add_operation (var_packageName_16229.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 515)), var_packageName_16229.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 515)) ; + GALGAS_arxmlElementValueList var_definitions_16572 = GALGAS_arxmlElementValueList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 519)) ; + GALGAS_stringlist var_definitionPath_16603 = GALGAS_stringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 520)) ; + var_definitionPath_16603.addAssign_operation (GALGAS_string ("ELEMENTS") COMMA_SOURCE_FILE ("arxml_parser.galgas", 521)) ; + var_definitionPath_16603.addAssign_operation (GALGAS_string ("ECUC-MODULE-DEF") COMMA_SOURCE_FILE ("arxml_parser.galgas", 522)) ; + callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), var_definitionPath_16603, var_definitions_16572, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 523)) ; + cEnumerator_arxmlElementValueList enumerator_16786 (var_definitions_16572, kENUMERATION_UP) ; + while (enumerator_16786.hasCurrentObject ()) { + { + routine_arxmlImplementationRoot (ioArgument_imp, enumerator_16786.current_value (HERE), var_currentPath_16342, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 525)) ; + } + enumerator_16786.gotoNextObject () ; + } + GALGAS_arxmlElementValueList var_packages_16962 = GALGAS_arxmlElementValueList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 529)) ; + GALGAS_stringlist var_packagesPath_16990 = GALGAS_stringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 530)) ; + var_packagesPath_16990.addAssign_operation (GALGAS_string ("AR-PACKAGES") COMMA_SOURCE_FILE ("arxml_parser.galgas", 531)) ; + var_packagesPath_16990.addAssign_operation (GALGAS_string ("AR-PACKAGE") COMMA_SOURCE_FILE ("arxml_parser.galgas", 532)) ; + callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), var_packagesPath_16990, var_packages_16962, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 533)) ; + cEnumerator_arxmlElementValueList enumerator_17160 (var_packages_16962, kENUMERATION_UP) ; + while (enumerator_17160.hasCurrentObject ()) { + { + routine_arxmlImplementationPackage (ioArgument_imp, enumerator_17160.current_value (HERE), var_currentPath_16342, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 535)) ; + } + enumerator_17160.gotoNextObject () ; + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlImplementationRoot' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlImplementationRoot (GALGAS_implementation & ioArgument_implementation, + GALGAS_arxmlElementValue inArgument_packageElement, + GALGAS_lstring inArgument_parentPath, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_lstring var_objectName_17422 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), GALGAS_string ("SHORT-NAME"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 545)) ; + { + routine_displayOil (GALGAS_string ("\nIMPLEMENTATION ").add_operation (var_objectName_17422.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 546)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 546)) ; + } + GALGAS_lstring var_currentPath_17581 = GALGAS_lstring::constructor_new (inArgument_parentPath.readProperty_string ().add_operation (GALGAS_string ("/"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 549)).add_operation (var_objectName_17422.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 549)), inArgument_parentPath.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 549)) ; + GALGAS_lstring var_oil_5F_desc_17787 ; + { + routine_arxmlGetDescription (inArgument_packageElement, var_oil_5F_desc_17787, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 553)) ; + } + GALGAS_arxmlElementValueList var_subDefs_17850 = GALGAS_arxmlElementValueList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 556)) ; + GALGAS_stringlist var_subDefsPath_17877 = GALGAS_stringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 557)) ; + var_subDefsPath_17877.addAssign_operation (GALGAS_string ("CONTAINERS") COMMA_SOURCE_FILE ("arxml_parser.galgas", 558)) ; + var_subDefsPath_17877.addAssign_operation (GALGAS_string ("ECUC-PARAM-CONF-CONTAINER-DEF") COMMA_SOURCE_FILE ("arxml_parser.galgas", 559)) ; + callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), var_subDefsPath_17877, var_subDefs_17850, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 560)) ; + { + routine_displayOil (GALGAS_string ("\n{\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 562)) ; + } + cEnumerator_arxmlElementValueList enumerator_18121 (var_subDefs_17850, kENUMERATION_UP) ; + while (enumerator_18121.hasCurrentObject ()) { + { + routine_arxmlImplementationObject (ioArgument_implementation, enumerator_18121.current_value (HERE), var_currentPath_17581, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 566)) ; + } + enumerator_18121.gotoNextObject () ; + } + { + routine_displayOil (GALGAS_string ("}; /* END IMPLEMENTATION ").add_operation (var_objectName_17422.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 569)).add_operation (GALGAS_string (" : \""), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 569)).add_operation (var_oil_5F_desc_17787.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 570)).add_operation (GALGAS_string ("\" */\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 570)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 569)) ; + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlImplementationObject' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlImplementationObject (GALGAS_implementation & ioArgument_implementation, + GALGAS_arxmlElementValue inArgument_packageElement, + GALGAS_lstring inArgument_parentPath, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_implementationMap var_imp_18497 = ioArgument_implementation.readProperty_imp () ; + GALGAS_implementationObjectMap var_objectAttributes_18551 = GALGAS_implementationObjectMap::constructor_emptyMap (SOURCE_FILE ("arxml_parser.galgas", 579)) ; + GALGAS_lstring var_objectName_18713 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), GALGAS_string ("SHORT-NAME"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 583)) ; + GALGAS_lstring var_currentPath_18824 = GALGAS_lstring::constructor_new (inArgument_parentPath.readProperty_string ().add_operation (GALGAS_string ("/"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 586)).add_operation (var_objectName_18713.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 586)), inArgument_parentPath.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 586)) ; + GALGAS_lstring var_objectKind_19073 = var_objectName_18713 ; + var_objectKind_19073.setter_setString (var_objectName_18713.readProperty_string ().getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 591)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 591)) ; + { + routine_displayOil (GALGAS_string (" ").add_operation (var_objectKind_19073.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 593)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 593)) ; + } + GALGAS_lbool var_multiple_19297 ; + { + routine_arxmlGetMultiplicity (inArgument_packageElement, var_objectName_18713, var_multiple_19297, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 596)) ; + } + { + routine_displayOil (GALGAS_string ("\n {\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 597)) ; + } + GALGAS_lstring var_oil_5F_desc_19416 ; + { + routine_arxmlGetDescription (inArgument_packageElement, var_oil_5F_desc_19416, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 600)) ; + } + { + routine_arxmlImplementationContainer (var_objectAttributes_18551, inArgument_packageElement, var_currentPath_18824, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 603)) ; + } + { + routine_displayOil (GALGAS_string (" }; /* \"").add_operation (var_oil_5F_desc_19416.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 607)).add_operation (GALGAS_string ("\"*/\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 607)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 607)) ; + } + GALGAS_implementationObject var_newObject_19721 = GALGAS_implementationObject::constructor_new (var_multiple_19297, var_objectAttributes_18551 COMMA_SOURCE_FILE ("arxml_parser.galgas", 611)) ; + GALGAS_implementationObject var_object_19894 ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = callExtensionGetter_hasKey ((const cPtr_implementation *) ioArgument_implementation.ptr (), var_objectName_18713.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 616)).boolEnum () ; + if (kBoolTrue == test_0) { + { + var_imp_18497.setter_del (var_objectName_18713, var_object_19894, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 617)) ; + } + var_object_19894 = callExtensionGetter_mergeImplementationObjectWith ((const cPtr_implementationObject *) var_object_19894.ptr (), var_newObject_19721, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 618)) ; + } + } + if (kBoolFalse == test_0) { + var_object_19894 = var_newObject_19721 ; + } + { + var_imp_18497.setter_put (var_objectName_18713, var_object_19894, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 624)) ; + } + { + ioArgument_implementation.setter_setImp (var_imp_18497 COMMA_SOURCE_FILE ("arxml_parser.galgas", 625)) ; + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlImplementationContainer' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlImplementationContainer (GALGAS_implementationObjectMap & ioArgument_objectAttributes, + GALGAS_arxmlElementValue inArgument_currentElement, + GALGAS_lstring inArgument_parentPath, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_arxmlElementValueList var_intParameters_20546 = GALGAS_arxmlElementValueList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 636)) ; + GALGAS_stringlist var_intParametersPath_20579 = GALGAS_stringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 637)) ; + var_intParametersPath_20579.addAssign_operation (GALGAS_string ("PARAMETERS") COMMA_SOURCE_FILE ("arxml_parser.galgas", 638)) ; + var_intParametersPath_20579.addAssign_operation (GALGAS_string ("ECUC-INTEGER-PARAM-DEF") COMMA_SOURCE_FILE ("arxml_parser.galgas", 639)) ; + callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), var_intParametersPath_20579, var_intParameters_20546, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 640)) ; + cEnumerator_arxmlElementValueList enumerator_20786 (var_intParameters_20546, kENUMERATION_UP) ; + while (enumerator_20786.hasCurrentObject ()) { + GALGAS_lstring var_attributeName_20834 ; + GALGAS_impType var_type_20865 ; + { + routine_arxmlImplementationContainerNumber (var_attributeName_20834, var_type_20865, GALGAS_dataType::constructor_uint_36__34_Number (SOURCE_FILE ("arxml_parser.galgas", 647)), enumerator_20786.current_value (HERE), inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 645)) ; + } + { + routine_arxmlInsertObjectAttribute (ioArgument_objectAttributes, var_attributeName_20834, var_type_20865, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 650)) ; + } + enumerator_20786.gotoNextObject () ; + } + GALGAS_arxmlElementValueList var_floatParameters_21418 = GALGAS_arxmlElementValueList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 656)) ; + GALGAS_stringlist var_floatParametersPath_21453 = GALGAS_stringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 657)) ; + var_floatParametersPath_21453.addAssign_operation (GALGAS_string ("PARAMETERS") COMMA_SOURCE_FILE ("arxml_parser.galgas", 658)) ; + var_floatParametersPath_21453.addAssign_operation (GALGAS_string ("ECUC-FLOAT-PARAM-DEF") COMMA_SOURCE_FILE ("arxml_parser.galgas", 659)) ; + callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), var_floatParametersPath_21453, var_floatParameters_21418, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 660)) ; + cEnumerator_arxmlElementValueList enumerator_21668 (var_floatParameters_21418, kENUMERATION_UP) ; + while (enumerator_21668.hasCurrentObject ()) { + GALGAS_lstring var_attributeName_21718 ; + GALGAS_impType var_type_21749 ; + { + routine_arxmlImplementationContainerNumber (var_attributeName_21718, var_type_21749, GALGAS_dataType::constructor_floatNumber (SOURCE_FILE ("arxml_parser.galgas", 667)), enumerator_21668.current_value (HERE), inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 665)) ; + } + { + routine_arxmlInsertObjectAttribute (ioArgument_objectAttributes, var_attributeName_21718, var_type_21749, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 670)) ; + } + enumerator_21668.gotoNextObject () ; + } + GALGAS_arxmlElementValueList var_stringParameters_22289 = GALGAS_arxmlElementValueList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 676)) ; + GALGAS_stringlist var_stringParametersPath_22325 = GALGAS_stringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 677)) ; + var_stringParametersPath_22325.addAssign_operation (GALGAS_string ("PARAMETERS") COMMA_SOURCE_FILE ("arxml_parser.galgas", 678)) ; + var_stringParametersPath_22325.addAssign_operation (GALGAS_string ("ECUC-STRING-PARAM-DEF") COMMA_SOURCE_FILE ("arxml_parser.galgas", 679)) ; + callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), var_stringParametersPath_22325, var_stringParameters_22289, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 680)) ; + cEnumerator_arxmlElementValueList enumerator_22546 (var_stringParameters_22289, kENUMERATION_UP) ; + while (enumerator_22546.hasCurrentObject ()) { + GALGAS_lstring var_attributeName_22597 ; + GALGAS_impType var_type_22628 ; + { + routine_arxmlImplementationContainerString (var_attributeName_22597, var_type_22628, GALGAS_dataType::constructor_string (SOURCE_FILE ("arxml_parser.galgas", 687)), enumerator_22546.current_value (HERE), inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 685)) ; + } + { + routine_arxmlInsertObjectAttribute (ioArgument_objectAttributes, var_attributeName_22597, var_type_22628, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 690)) ; + } + enumerator_22546.gotoNextObject () ; + } + GALGAS_arxmlElementValueList var_booleanParameters_23164 = GALGAS_arxmlElementValueList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 696)) ; + GALGAS_stringlist var_booleanParametersPath_23201 = GALGAS_stringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 697)) ; + var_booleanParametersPath_23201.addAssign_operation (GALGAS_string ("PARAMETERS") COMMA_SOURCE_FILE ("arxml_parser.galgas", 698)) ; + var_booleanParametersPath_23201.addAssign_operation (GALGAS_string ("ECUC-BOOLEAN-PARAM-DEF") COMMA_SOURCE_FILE ("arxml_parser.galgas", 699)) ; + callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), var_booleanParametersPath_23201, var_booleanParameters_23164, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 700)) ; + cEnumerator_arxmlElementValueList enumerator_23428 (var_booleanParameters_23164, kENUMERATION_UP) ; + while (enumerator_23428.hasCurrentObject ()) { + GALGAS_lstring var_attributeName_23480 ; + GALGAS_impType var_type_23511 ; + { + routine_arxmlImplementationContainerBoolean (var_attributeName_23480, var_type_23511, GALGAS_dataType::constructor_boolean (SOURCE_FILE ("arxml_parser.galgas", 707)), enumerator_23428.current_value (HERE), inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 705)) ; + } + { + routine_arxmlInsertObjectAttribute (ioArgument_objectAttributes, var_attributeName_23480, var_type_23511, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 710)) ; + } + enumerator_23428.gotoNextObject () ; + } + GALGAS_arxmlElementValueList var_enumParameters_24050 = GALGAS_arxmlElementValueList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 716)) ; + GALGAS_stringlist var_enumParametersPath_24084 = GALGAS_stringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 717)) ; + var_enumParametersPath_24084.addAssign_operation (GALGAS_string ("PARAMETERS") COMMA_SOURCE_FILE ("arxml_parser.galgas", 718)) ; + var_enumParametersPath_24084.addAssign_operation (GALGAS_string ("ECUC-ENUMERATION-PARAM-DEF") COMMA_SOURCE_FILE ("arxml_parser.galgas", 719)) ; + callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), var_enumParametersPath_24084, var_enumParameters_24050, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 720)) ; + cEnumerator_arxmlElementValueList enumerator_24300 (var_enumParameters_24050, kENUMERATION_UP) ; + while (enumerator_24300.hasCurrentObject ()) { + GALGAS_lstring var_attributeName_24349 ; + GALGAS_impType var_type_24380 ; + { + routine_arxmlImplementationContainerEnumeration (var_attributeName_24349, var_type_24380, GALGAS_dataType::constructor_enumeration (SOURCE_FILE ("arxml_parser.galgas", 727)), enumerator_24300.current_value (HERE), inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 725)) ; + } + { + routine_arxmlInsertObjectAttribute (ioArgument_objectAttributes, var_attributeName_24349, var_type_24380, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 730)) ; + } + enumerator_24300.gotoNextObject () ; + } + GALGAS_arxmlElementValueList var_structParameters_24945 = GALGAS_arxmlElementValueList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 736)) ; + GALGAS_stringlist var_structParametersPath_24981 = GALGAS_stringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 737)) ; + var_structParametersPath_24981.addAssign_operation (GALGAS_string ("SUB-CONTAINERS") COMMA_SOURCE_FILE ("arxml_parser.galgas", 738)) ; + var_structParametersPath_24981.addAssign_operation (GALGAS_string ("ECUC-PARAM-CONF-CONTAINER-DEF") COMMA_SOURCE_FILE ("arxml_parser.galgas", 739)) ; + callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), var_structParametersPath_24981, var_structParameters_24945, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 740)) ; + cEnumerator_arxmlElementValueList enumerator_25214 (var_structParameters_24945, kENUMERATION_UP) ; + while (enumerator_25214.hasCurrentObject ()) { + GALGAS_lstring var_attributeName_25265 ; + GALGAS_impType var_type_25296 ; + { + routine_arxmlImplementationContainerStructure (var_attributeName_25265, var_type_25296, GALGAS_dataType::constructor_structType (SOURCE_FILE ("arxml_parser.galgas", 747)), enumerator_25214.current_value (HERE), inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 745)) ; + } + { + routine_arxmlInsertObjectAttribute (ioArgument_objectAttributes, var_attributeName_25265, var_type_25296, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 750)) ; + } + enumerator_25214.gotoNextObject () ; + } + GALGAS_arxmlElementValueList var_identParameters_25854 = GALGAS_arxmlElementValueList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 756)) ; + GALGAS_stringlist var_identParametersPath_25889 = GALGAS_stringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 757)) ; + var_identParametersPath_25889.addAssign_operation (GALGAS_string ("REFERENCES") COMMA_SOURCE_FILE ("arxml_parser.galgas", 758)) ; + var_identParametersPath_25889.addAssign_operation (GALGAS_string ("TPL-IDENTIFIER-DEF") COMMA_SOURCE_FILE ("arxml_parser.galgas", 759)) ; + callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), var_identParametersPath_25889, var_identParameters_25854, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 760)) ; + cEnumerator_arxmlElementValueList enumerator_26102 (var_identParameters_25854, kENUMERATION_UP) ; + while (enumerator_26102.hasCurrentObject ()) { + GALGAS_lstring var_attributeName_26152 ; + GALGAS_impType var_type_26183 ; + { + routine_arxmlImplementationContainerIdentifier (var_attributeName_26152, var_type_26183, GALGAS_dataType::constructor_identifier (SOURCE_FILE ("arxml_parser.galgas", 767)), enumerator_26102.current_value (HERE), inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 765)) ; + } + { + routine_arxmlInsertObjectAttribute (ioArgument_objectAttributes, var_attributeName_26152, var_type_26183, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 770)) ; + } + enumerator_26102.gotoNextObject () ; + } + GALGAS_arxmlElementValueList var_refParameters_26745 = GALGAS_arxmlElementValueList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 776)) ; + GALGAS_stringlist var_refParametersPath_26778 = GALGAS_stringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 777)) ; + var_refParametersPath_26778.addAssign_operation (GALGAS_string ("REFERENCES") COMMA_SOURCE_FILE ("arxml_parser.galgas", 778)) ; + var_refParametersPath_26778.addAssign_operation (GALGAS_string ("ECUC-REFERENCE-DEF") COMMA_SOURCE_FILE ("arxml_parser.galgas", 779)) ; + callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), var_refParametersPath_26778, var_refParameters_26745, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 780)) ; + cEnumerator_arxmlElementValueList enumerator_26981 (var_refParameters_26745, kENUMERATION_UP) ; + while (enumerator_26981.hasCurrentObject ()) { + GALGAS_lstring var_attributeName_27029 ; + GALGAS_impType var_type_27060 ; + { + routine_arxmlImplementationContainerReference (var_attributeName_27029, var_type_27060, GALGAS_dataType::constructor_objectType (SOURCE_FILE ("arxml_parser.galgas", 787)), enumerator_26981.current_value (HERE), inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 785)) ; + } + { + routine_arxmlInsertObjectAttribute (ioArgument_objectAttributes, var_attributeName_27029, var_type_27060, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 790)) ; + } + enumerator_26981.gotoNextObject () ; + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlImplementationContainerNumber' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlImplementationContainerNumber (GALGAS_lstring & outArgument_objectName, + GALGAS_impType & outArgument_options, + const GALGAS_dataType constinArgument_iType, + GALGAS_arxmlElementValue inArgument_parameter, + GALGAS_lstring /* inArgument_parentPath */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_objectName.drop () ; // Release 'out' argument + outArgument_options.drop () ; // Release 'out' argument + GALGAS_dataType var_type_27685 = constinArgument_iType ; + { + routine_arxmlGetName (inArgument_parameter, outArgument_objectName, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 806)) ; + } + GALGAS_lbool var_multiple_27839 ; + { + routine_arxmlGetMultiplicity (inArgument_parameter, outArgument_objectName, var_multiple_27839, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 809)) ; + } + GALGAS_bool var_withAuto_27905 ; + { + routine_arxmlGetWithAuto (inArgument_parameter, var_withAuto_27905, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 812)) ; + } + GALGAS_lstring var_oil_5F_desc_27994 ; + { + routine_arxmlGetDescription (inArgument_parameter, var_oil_5F_desc_27994, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 815)) ; + } + GALGAS_attributeRange var_range_28151 ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + GALGAS_bool test_1 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("MIN"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 821)) ; + if (kBoolTrue == test_1.boolEnum ()) { + test_1 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("MAX"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 821)) ; + } + test_0 = test_1.boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_lstring var_min_28243 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("MIN"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 822)) ; + GALGAS_lstring var_max_28300 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("MAX"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 823)) ; + GALGAS_string var_minSignString_28356 = GALGAS_string::makeEmptyString () ; + GALGAS_string var_maxSignString_28387 = GALGAS_string::makeEmptyString () ; + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = GALGAS_bool (kIsEqual, var_max_28300.readProperty_string ().getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 827)).objectCompare (GALGAS_string ("INF"))).boolEnum () ; + if (kBoolTrue == test_2) { + var_max_28300.setter_setString (GALGAS_sint_36__34_::constructor_max (SOURCE_FILE ("arxml_parser.galgas", 828)).getter_string (SOURCE_FILE ("arxml_parser.galgas", 828)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 828)) ; + } + } + GALGAS_bool var_minSign_28542 ; + { + routine_arxmlPopSign (var_min_28243, var_minSign_28542, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 831)) ; + } + GALGAS_bool var_maxSign_28585 ; + { + routine_arxmlPopSign (var_max_28300, var_maxSign_28585, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 832)) ; + } + enumGalgasBool test_3 = kBoolTrue ; + if (kBoolTrue == test_3) { + test_3 = var_minSign_28542.boolEnum () ; + if (kBoolTrue == test_3) { + var_minSignString_28356 = GALGAS_string ("-") ; + var_type_27685 = GALGAS_dataType::constructor_sint_36__34_Number (SOURCE_FILE ("arxml_parser.galgas", 837)) ; + } + } + enumGalgasBool test_4 = kBoolTrue ; + if (kBoolTrue == test_4) { + test_4 = var_maxSign_28585.boolEnum () ; + if (kBoolTrue == test_4) { + var_maxSignString_28387 = GALGAS_string ("-") ; + var_type_27685 = GALGAS_dataType::constructor_sint_36__34_Number (SOURCE_FILE ("arxml_parser.galgas", 841)) ; + } + } + { + routine_displayOil (GALGAS_string (" ").add_operation (extensionGetter_oilType (var_type_27685, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 843)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 843)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 843)) ; + } + { + routine_displayOil (GALGAS_string (" ").add_operation (outArgument_objectName.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 844)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 844)) ; + } + GALGAS_object_5F_t var_start_28934 ; + GALGAS_object_5F_t var_stop_28958 ; + enumGalgasBool test_5 = kBoolTrue ; + if (kBoolTrue == test_5) { + GALGAS_bool test_6 = GALGAS_bool (kIsEqual, var_type_27685.objectCompare (GALGAS_dataType::constructor_uint_36__34_Number (SOURCE_FILE ("arxml_parser.galgas", 849)))) ; + if (kBoolTrue != test_6.boolEnum ()) { + test_6 = GALGAS_bool (kIsEqual, var_type_27685.objectCompare (GALGAS_dataType::constructor_sint_36__34_Number (SOURCE_FILE ("arxml_parser.galgas", 849)))) ; + } + test_5 = test_6.boolEnum () ; + if (kBoolTrue == test_5) { + GALGAS_luint_36__34_ var_minVal_29060 = GALGAS_luint_36__34_::constructor_new (var_min_28243.readProperty_string ().getter_decimalUnsigned_36__34_Number (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 851)), var_min_28243.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 850)) ; + GALGAS_luint_36__34_ var_maxVal_29242 = GALGAS_luint_36__34_::constructor_new (var_max_28300.readProperty_string ().getter_decimalUnsigned_36__34_Number (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 855)), var_max_28300.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 854)) ; + { + routine_displayOil (GALGAS_string ("[").add_operation (var_minSignString_28356, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 858)).add_operation (var_minVal_29060.readProperty_uint_36__34_ ().getter_string (SOURCE_FILE ("arxml_parser.galgas", 858)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 858)).add_operation (GALGAS_string (" .. "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 858)).add_operation (var_maxSignString_28387, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 859)).add_operation (var_maxVal_29242.readProperty_uint_36__34_ ().getter_string (SOURCE_FILE ("arxml_parser.galgas", 859)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 859)).add_operation (GALGAS_string ("]"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 859)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 858)) ; + } + var_start_28934 = function_checkAndGetIntegerNumber (function_emptyLString (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 860)), var_type_27685, var_minVal_29060, var_minSign_28542, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 860)) ; + var_stop_28958 = function_checkAndGetIntegerNumber (function_emptyLString (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 861)), var_type_27685, var_maxVal_29242, var_maxSign_28585, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 861)) ; + } + } + if (kBoolFalse == test_5) { + enumGalgasBool test_7 = kBoolTrue ; + if (kBoolTrue == test_7) { + test_7 = GALGAS_bool (kIsEqual, var_type_27685.objectCompare (GALGAS_dataType::constructor_floatNumber (SOURCE_FILE ("arxml_parser.galgas", 862)))).boolEnum () ; + if (kBoolTrue == test_7) { + GALGAS_ldouble var_minVal_29748 = GALGAS_ldouble::constructor_new (var_min_28243.readProperty_string ().getter_doubleNumber (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 864)), var_min_28243.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 863)) ; + GALGAS_ldouble var_maxVal_29919 = GALGAS_ldouble::constructor_new (var_max_28300.readProperty_string ().getter_doubleNumber (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 868)), var_max_28300.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 867)) ; + { + routine_displayOil (GALGAS_string ("[").add_operation (var_minVal_29748.readProperty_double ().getter_string (SOURCE_FILE ("arxml_parser.galgas", 871)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 871)).add_operation (GALGAS_string (" .. "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 871)).add_operation (var_maxVal_29919.readProperty_double ().getter_string (SOURCE_FILE ("arxml_parser.galgas", 871)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 871)).add_operation (GALGAS_string ("]"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 871)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 871)) ; + } + var_start_28934 = function_checkAndGetFloatNumber (function_emptyLString (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 872)), var_type_27685, var_minVal_29748, var_minSign_28542, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 872)) ; + var_stop_28958 = function_checkAndGetFloatNumber (function_emptyLString (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 873)), var_type_27685, var_maxVal_29919, var_maxSign_28585, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 873)) ; + } + } + if (kBoolFalse == test_7) { + TC_Array fixItArray8 ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 875)), GALGAS_string ("Internal error"), fixItArray8 COMMA_SOURCE_FILE ("arxml_parser.galgas", 875)) ; + var_start_28934.drop () ; // Release error dropped variable + var_stop_28958.drop () ; // Release error dropped variable + } + } + var_range_28151 = function_buildRange (var_type_27685, var_start_28934, var_stop_28958, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 877)) ; + } + } + if (kBoolFalse == test_0) { + { + routine_displayOil (GALGAS_string (" ").add_operation (extensionGetter_oilType (var_type_27685, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 879)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 879)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 879)) ; + } + { + routine_displayOil (GALGAS_string (" ").add_operation (outArgument_objectName.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 880)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 880)) ; + } + var_range_28151 = GALGAS_noRange::constructor_new (outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 881)) ; + } + GALGAS_object_5F_t var_defaultValue_30590 ; + enumGalgasBool test_9 = kBoolTrue ; + if (kBoolTrue == test_9) { + test_9 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("DEFAULT-VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 886)).boolEnum () ; + if (kBoolTrue == test_9) { + GALGAS_lstring var_value_30666 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("DEFAULT-VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 887)) ; + GALGAS_bool var_sign_30788 ; + { + routine_arxmlPopSign (var_value_30666, var_sign_30788, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 890)) ; + } + enumGalgasBool test_10 = kBoolTrue ; + if (kBoolTrue == test_10) { + GALGAS_bool test_11 = GALGAS_bool (kIsEqual, var_type_27685.objectCompare (GALGAS_dataType::constructor_uint_36__34_Number (SOURCE_FILE ("arxml_parser.galgas", 893)))) ; + if (kBoolTrue != test_11.boolEnum ()) { + test_11 = GALGAS_bool (kIsEqual, var_type_27685.objectCompare (GALGAS_dataType::constructor_sint_36__34_Number (SOURCE_FILE ("arxml_parser.galgas", 893)))) ; + } + test_10 = test_11.boolEnum () ; + if (kBoolTrue == test_10) { + GALGAS_luint_36__34_ var_integerValue_30962 = GALGAS_luint_36__34_::constructor_new (var_value_30666.readProperty_string ().getter_decimalUnsignedNumber (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 895)).getter_uint_36__34_ (SOURCE_FILE ("arxml_parser.galgas", 895)), var_value_30666.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 894)) ; + { + routine_displayOil (GALGAS_string (" = ").add_operation (var_integerValue_30962.readProperty_uint_36__34_ ().getter_string (SOURCE_FILE ("arxml_parser.galgas", 897)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 897)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 897)) ; + } + var_defaultValue_30590 = function_checkAndGetIntegerNumber (var_oil_5F_desc_27994, var_type_27685, var_integerValue_30962, var_sign_30788, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 898)) ; + } + } + if (kBoolFalse == test_10) { + enumGalgasBool test_12 = kBoolTrue ; + if (kBoolTrue == test_12) { + test_12 = GALGAS_bool (kIsEqual, var_type_27685.objectCompare (GALGAS_dataType::constructor_floatNumber (SOURCE_FILE ("arxml_parser.galgas", 902)))).boolEnum () ; + if (kBoolTrue == test_12) { + GALGAS_ldouble var_floatValue_31443 = GALGAS_ldouble::constructor_new (var_value_30666.readProperty_string ().getter_doubleNumber (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 904)), var_value_30666.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 903)) ; + { + routine_displayOil (GALGAS_string (" = ").add_operation (var_floatValue_31443.readProperty_double ().getter_string (SOURCE_FILE ("arxml_parser.galgas", 906)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 906)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 906)) ; + } + var_defaultValue_30590 = function_checkAndGetFloatNumber (var_oil_5F_desc_27994, var_type_27685, var_floatValue_31443, var_sign_30788, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 907)) ; + } + } + if (kBoolFalse == test_12) { + TC_Array fixItArray13 ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 912)), GALGAS_string ("Internal error"), fixItArray13 COMMA_SOURCE_FILE ("arxml_parser.galgas", 912)) ; + var_defaultValue_30590.drop () ; // Release error dropped variable + } + } + } + } + if (kBoolFalse == test_9) { + enumGalgasBool test_14 = kBoolTrue ; + if (kBoolTrue == test_14) { + test_14 = var_withAuto_27905.boolEnum () ; + if (kBoolTrue == test_14) { + var_defaultValue_30590 = GALGAS_auto::constructor_new (var_oil_5F_desc_27994, outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 915)) ; + } + } + if (kBoolFalse == test_14) { + var_defaultValue_30590 = GALGAS_void::constructor_new (var_oil_5F_desc_27994, outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 917)) ; + } + } + { + routine_displayOil (GALGAS_string (": \"").add_operation (var_oil_5F_desc_27994.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 919)).add_operation (GALGAS_string ("\";\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 919)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 919)) ; + } + GALGAS_locationList temp_15 = GALGAS_locationList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 922)) ; + temp_15.addAssign_operation (outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 922)) ; + GALGAS_lstringlist temp_16 = GALGAS_lstringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 926)) ; + temp_16.addAssign_operation (var_oil_5F_desc_27994 COMMA_SOURCE_FILE ("arxml_parser.galgas", 926)) ; + outArgument_options = GALGAS_impRangedType::constructor_new (temp_15, var_type_27685, outArgument_objectName, var_multiple_27839.readProperty_bool (), temp_16, var_withAuto_27905, var_defaultValue_30590, var_range_28151 COMMA_SOURCE_FILE ("arxml_parser.galgas", 922)) ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlImplementationContainerString' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlImplementationContainerString (GALGAS_lstring & outArgument_objectName, + GALGAS_impType & outArgument_options, + const GALGAS_dataType constinArgument_type, + GALGAS_arxmlElementValue inArgument_parameter, + GALGAS_lstring /* inArgument_parentPath */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_objectName.drop () ; // Release 'out' argument + outArgument_options.drop () ; // Release 'out' argument + { + routine_displayOil (GALGAS_string (" ").add_operation (extensionGetter_oilType (constinArgument_type, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 939)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 939)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 939)) ; + } + { + routine_arxmlGetName (inArgument_parameter, outArgument_objectName, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 942)) ; + } + { + routine_displayOil (GALGAS_string (" ").add_operation (outArgument_objectName.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 943)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 943)) ; + } + GALGAS_lbool var_multiple_32874 ; + { + routine_arxmlGetMultiplicity (inArgument_parameter, outArgument_objectName, var_multiple_32874, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 946)) ; + } + GALGAS_bool var_withAuto_32940 ; + { + routine_arxmlGetWithAuto (inArgument_parameter, var_withAuto_32940, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 949)) ; + } + GALGAS_lstring var_oil_5F_desc_33029 ; + { + routine_arxmlGetDescription (inArgument_parameter, var_oil_5F_desc_33029, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 952)) ; + } + GALGAS_object_5F_t var_defaultValue_33075 ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("DEFAULT-VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 957)).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_lstring var_value_33155 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("DEFAULT-VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 958)) ; + { + routine_displayOil (GALGAS_string (" = \"").add_operation (var_value_33155.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 959)).add_operation (GALGAS_string ("\""), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 959)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 959)) ; + } + var_defaultValue_33075 = GALGAS_stringAttribute::constructor_new (var_oil_5F_desc_33029, var_value_33155.readProperty_location (), var_value_33155.readProperty_string () COMMA_SOURCE_FILE ("arxml_parser.galgas", 960)) ; + } + } + if (kBoolFalse == test_0) { + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = var_withAuto_32940.boolEnum () ; + if (kBoolTrue == test_1) { + var_defaultValue_33075 = GALGAS_auto::constructor_new (var_oil_5F_desc_33029, outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 966)) ; + } + } + if (kBoolFalse == test_1) { + var_defaultValue_33075 = GALGAS_void::constructor_new (var_oil_5F_desc_33029, outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 968)) ; + } + } + { + routine_displayOil (GALGAS_string (": \"").add_operation (var_oil_5F_desc_33029.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 970)).add_operation (GALGAS_string ("\";\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 970)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 970)) ; + } + GALGAS_locationList temp_2 = GALGAS_locationList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 974)) ; + temp_2.addAssign_operation (outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 974)) ; + GALGAS_lstringlist temp_3 = GALGAS_lstringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 978)) ; + temp_3.addAssign_operation (var_oil_5F_desc_33029 COMMA_SOURCE_FILE ("arxml_parser.galgas", 978)) ; + outArgument_options = GALGAS_impAutoDefaultType::constructor_new (temp_2, constinArgument_type, outArgument_objectName, var_multiple_32874.readProperty_bool (), temp_3, var_withAuto_32940, var_defaultValue_33075 COMMA_SOURCE_FILE ("arxml_parser.galgas", 973)) ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlImplementationContainerBoolean' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlImplementationContainerBoolean (GALGAS_lstring & outArgument_objectName, + GALGAS_impType & outArgument_options, + const GALGAS_dataType constinArgument_type, + GALGAS_arxmlElementValue inArgument_parameter, + GALGAS_lstring inArgument_parentPath, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_objectName.drop () ; // Release 'out' argument + outArgument_options.drop () ; // Release 'out' argument + { + routine_displayOil (GALGAS_string (" ").add_operation (extensionGetter_oilType (constinArgument_type, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 991)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 991)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 991)) ; + } + { + routine_arxmlGetName (inArgument_parameter, outArgument_objectName, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 994)) ; + } + { + routine_displayOil (GALGAS_string (" ").add_operation (outArgument_objectName.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 995)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 995)) ; + } + GALGAS_bool var_withAuto_34510 ; + { + routine_arxmlGetWithAuto (inArgument_parameter, var_withAuto_34510, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 998)) ; + } + GALGAS_lbool var_multiple_34604 ; + { + routine_arxmlGetMultiplicity (inArgument_parameter, outArgument_objectName, var_multiple_34604, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1001)) ; + } + GALGAS_lstring var_oil_5F_desc_34693 ; + { + routine_arxmlGetDescription (inArgument_parameter, var_oil_5F_desc_34693, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1004)) ; + } + GALGAS_object_5F_t var_defaultValue_34738 ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("DEFAULT-VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1008)).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_lstring var_value_34818 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("DEFAULT-VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1009)) ; + GALGAS_bool var_booleanValue_34888 ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + GALGAS_bool test_2 = GALGAS_bool (kIsEqual, var_value_34818.readProperty_string ().getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 1011)).objectCompare (GALGAS_string ("TRUE"))) ; + if (kBoolTrue != test_2.boolEnum ()) { + test_2 = GALGAS_bool (kIsEqual, var_value_34818.readProperty_string ().objectCompare (GALGAS_string ("1"))) ; + } + test_1 = test_2.boolEnum () ; + if (kBoolTrue == test_1) { + var_booleanValue_34888 = GALGAS_bool (true) ; + } + } + if (kBoolFalse == test_1) { + enumGalgasBool test_3 = kBoolTrue ; + if (kBoolTrue == test_3) { + GALGAS_bool test_4 = GALGAS_bool (kIsEqual, var_value_34818.readProperty_string ().getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 1014)).objectCompare (GALGAS_string ("FALSE"))) ; + if (kBoolTrue != test_4.boolEnum ()) { + test_4 = GALGAS_bool (kIsEqual, var_value_34818.readProperty_string ().objectCompare (GALGAS_string ("0"))) ; + } + test_3 = test_4.boolEnum () ; + if (kBoolTrue == test_3) { + var_booleanValue_34888 = GALGAS_bool (false) ; + } + } + if (kBoolFalse == test_3) { + var_booleanValue_34888 = GALGAS_bool (false) ; + TC_Array fixItArray5 ; + inCompiler->emitSemanticError (var_value_34818.readProperty_location (), GALGAS_string ("A Boolean must be 'true', 'false', '0' or '1'"), fixItArray5 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1019)) ; + } + } + { + routine_displayOil (GALGAS_string (" = ").add_operation (var_booleanValue_34888.getter_cString (SOURCE_FILE ("arxml_parser.galgas", 1021)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1021)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1021)) ; + } + var_defaultValue_34738 = GALGAS_boolAttribute::constructor_new (var_oil_5F_desc_34693, var_value_34818.readProperty_location (), var_booleanValue_34888, GALGAS_objectAttributes::constructor_new (GALGAS_identifierMap::constructor_emptyMap (SOURCE_FILE ("arxml_parser.galgas", 1028)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1026)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1022)) ; + } + } + if (kBoolFalse == test_0) { + enumGalgasBool test_6 = kBoolTrue ; + if (kBoolTrue == test_6) { + test_6 = var_withAuto_34510.boolEnum () ; + if (kBoolTrue == test_6) { + var_defaultValue_34738 = GALGAS_auto::constructor_new (var_oil_5F_desc_34693, outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1032)) ; + } + } + if (kBoolFalse == test_6) { + var_defaultValue_34738 = GALGAS_void::constructor_new (var_oil_5F_desc_34693, outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1034)) ; + } + } + GALGAS_implementationObjectMap var_structAttributes_36004 = GALGAS_implementationObjectMap::constructor_emptyMap (SOURCE_FILE ("arxml_parser.galgas", 1040)) ; + enumGalgasBool test_7 = kBoolTrue ; + if (kBoolTrue == test_7) { + test_7 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("SUB-CONTAINERS"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1041)).boolEnum () ; + if (kBoolTrue == test_7) { + { + routine_displayOil (GALGAS_string ("\n {\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1042)) ; + } + { + routine_arxmlImplementationContainer (var_structAttributes_36004, inArgument_parameter, inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1043)) ; + } + { + routine_displayOil (GALGAS_string ("\n } : \"").add_operation (var_oil_5F_desc_34693.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1044)).add_operation (GALGAS_string ("\";\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1044)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1044)) ; + } + } + } + if (kBoolFalse == test_7) { + { + routine_displayOil (GALGAS_string (" : \"").add_operation (var_oil_5F_desc_34693.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1046)).add_operation (GALGAS_string ("\";\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1046)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1046)) ; + } + } + GALGAS_locationList temp_8 = GALGAS_locationList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1051)) ; + temp_8.addAssign_operation (outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1051)) ; + GALGAS_lstringlist temp_9 = GALGAS_lstringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1055)) ; + temp_9.addAssign_operation (var_oil_5F_desc_34693 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1055)) ; + outArgument_options = GALGAS_impBoolType::constructor_new (temp_8, constinArgument_type, outArgument_objectName, var_multiple_34604.readProperty_bool (), temp_9, var_withAuto_34510, var_defaultValue_34738, var_structAttributes_36004, var_structAttributes_36004 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1050)) ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlImplementationContainerEnumeration' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlImplementationContainerEnumeration (GALGAS_lstring & outArgument_objectName, + GALGAS_impType & outArgument_options, + const GALGAS_dataType constinArgument_type, + GALGAS_arxmlElementValue inArgument_parameter, + GALGAS_lstring /* inArgument_parentPath */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_objectName.drop () ; // Release 'out' argument + outArgument_options.drop () ; // Release 'out' argument + { + routine_displayOil (GALGAS_string (" ").add_operation (extensionGetter_oilType (constinArgument_type, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1070)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1070)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1070)) ; + } + { + routine_arxmlGetName (inArgument_parameter, outArgument_objectName, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1073)) ; + } + { + routine_displayOil (GALGAS_string (" ").add_operation (outArgument_objectName.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1074)).add_operation (GALGAS_string ("["), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1074)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1074)) ; + } + GALGAS_bool var_withAuto_37173 ; + { + routine_arxmlGetWithAuto (inArgument_parameter, var_withAuto_37173, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1077)) ; + } + GALGAS_lbool var_multiple_37267 ; + { + routine_arxmlGetMultiplicity (inArgument_parameter, outArgument_objectName, var_multiple_37267, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1080)) ; + } + GALGAS_lstring var_oil_5F_desc_37356 ; + { + routine_arxmlGetDescription (inArgument_parameter, var_oil_5F_desc_37356, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1083)) ; + } + GALGAS_enumValues var_enumValues_37446 = GALGAS_enumValues::constructor_emptyMap (SOURCE_FILE ("arxml_parser.galgas", 1087)) ; + GALGAS_arxmlElementValueList var_enumElementValues_37507 = GALGAS_arxmlElementValueList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1088)) ; + GALGAS_stringlist var_enumElementValuesPath_37544 = GALGAS_stringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1089)) ; + var_enumElementValuesPath_37544.addAssign_operation (GALGAS_string ("LITERALS") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1090)) ; + var_enumElementValuesPath_37544.addAssign_operation (GALGAS_string ("ECUC-ENUMERATION-LITERAL-DEF") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1091)) ; + callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_parameter.ptr (), var_enumElementValuesPath_37544, var_enumElementValues_37507, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1092)) ; + cEnumerator_arxmlElementValueList enumerator_37770 (var_enumElementValues_37507, kENUMERATION_UP) ; + while (enumerator_37770.hasCurrentObject ()) { + GALGAS_lstring var_enumValueName_37822 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) enumerator_37770.current_value (HERE).ptr (), GALGAS_string ("SHORT-NAME"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1094)) ; + { + var_enumValues_37446.setter_put (var_enumValueName_37822, GALGAS_implementationObjectMap::constructor_emptyMap (SOURCE_FILE ("arxml_parser.galgas", 1095)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1095)) ; + } + { + routine_displayOil (var_enumValueName_37822.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1096)) ; + } + if (enumerator_37770.hasNextObject ()) { + { + routine_displayOil (GALGAS_string (", "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1098)) ; + } + } + enumerator_37770.gotoNextObject () ; + } + { + routine_displayOil (GALGAS_string ("]"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1100)) ; + } + GALGAS_object_5F_t var_defaultValue_38090 ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("DEFAULT-VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1104)).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_lstring var_value_38170 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("DEFAULT-VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1105)) ; + { + routine_displayOil (GALGAS_string (" = ").add_operation (var_value_38170.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1106)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1106)) ; + } + var_defaultValue_38090 = GALGAS_enumAttribute::constructor_new (var_oil_5F_desc_37356, var_value_38170.readProperty_location (), var_value_38170.readProperty_string (), GALGAS_objectAttributes::constructor_new (GALGAS_identifierMap::constructor_emptyMap (SOURCE_FILE ("arxml_parser.galgas", 1113)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1111)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1107)) ; + } + } + if (kBoolFalse == test_0) { + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = var_withAuto_37173.boolEnum () ; + if (kBoolTrue == test_1) { + var_defaultValue_38090 = GALGAS_auto::constructor_new (var_oil_5F_desc_37356, outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1117)) ; + } + } + if (kBoolFalse == test_1) { + var_defaultValue_38090 = GALGAS_void::constructor_new (var_oil_5F_desc_37356, outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1119)) ; + } + } + { + routine_displayOil (GALGAS_string ("\n : \"").add_operation (var_oil_5F_desc_37356.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1122)).add_operation (GALGAS_string ("\";\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1122)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1122)) ; + } + GALGAS_locationList temp_2 = GALGAS_locationList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1126)) ; + temp_2.addAssign_operation (outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1126)) ; + GALGAS_lstringlist temp_3 = GALGAS_lstringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1130)) ; + temp_3.addAssign_operation (var_oil_5F_desc_37356 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1130)) ; + outArgument_options = GALGAS_impEnumType::constructor_new (temp_2, constinArgument_type, outArgument_objectName, var_multiple_37267.readProperty_bool (), temp_3, var_withAuto_37173, var_defaultValue_38090, var_enumValues_37446 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1125)) ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlImplementationContainerStructure' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlImplementationContainerStructure (GALGAS_lstring & outArgument_objectName, + GALGAS_impType & outArgument_options, + const GALGAS_dataType constinArgument_type, + GALGAS_arxmlElementValue inArgument_parameter, + GALGAS_lstring inArgument_parentPath, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_objectName.drop () ; // Release 'out' argument + outArgument_options.drop () ; // Release 'out' argument + { + routine_displayOil (GALGAS_string (" ").add_operation (extensionGetter_oilType (constinArgument_type, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1145)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1145)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1145)) ; + } + { + routine_arxmlGetName (inArgument_parameter, outArgument_objectName, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1148)) ; + } + { + routine_displayOil (GALGAS_string (" ").add_operation (outArgument_objectName.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1149)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1149)) ; + } + GALGAS_lbool var_multiple_39724 ; + { + routine_arxmlGetMultiplicity (inArgument_parameter, outArgument_objectName, var_multiple_39724, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1152)) ; + } + GALGAS_lstring var_oil_5F_desc_39813 ; + { + routine_arxmlGetDescription (inArgument_parameter, var_oil_5F_desc_39813, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1155)) ; + } + { + routine_displayOil (GALGAS_string ("\n {\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1157)) ; + } + GALGAS_implementationObjectMap var_structAttributes_39880 = GALGAS_implementationObjectMap::constructor_emptyMap (SOURCE_FILE ("arxml_parser.galgas", 1160)) ; + { + routine_arxmlImplementationContainer (var_structAttributes_39880, inArgument_parameter, inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1161)) ; + } + { + routine_displayOil (GALGAS_string ("\n } : \"").add_operation (var_oil_5F_desc_39813.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1163)).add_operation (GALGAS_string ("\";\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1163)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1163)) ; + } + GALGAS_locationList temp_0 = GALGAS_locationList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1167)) ; + temp_0.addAssign_operation (outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1167)) ; + GALGAS_lstringlist temp_1 = GALGAS_lstringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1171)) ; + temp_1.addAssign_operation (var_oil_5F_desc_39813 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1171)) ; + outArgument_options = GALGAS_impStructType::constructor_new (temp_0, constinArgument_type, outArgument_objectName, var_multiple_39724.readProperty_bool (), temp_1, var_structAttributes_39880 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1166)) ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlImplementationContainerIdentifier' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlImplementationContainerIdentifier (GALGAS_lstring & outArgument_objectName, + GALGAS_impType & outArgument_options, + const GALGAS_dataType constinArgument_type, + GALGAS_arxmlElementValue inArgument_parameter, + GALGAS_lstring /* inArgument_parentPath */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_objectName.drop () ; // Release 'out' argument + outArgument_options.drop () ; // Release 'out' argument + { + routine_displayOil (GALGAS_string (" ").add_operation (extensionGetter_oilType (constinArgument_type, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1183)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1183)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1183)) ; + } + { + routine_arxmlGetName (inArgument_parameter, outArgument_objectName, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1186)) ; + } + { + routine_displayOil (GALGAS_string (" ").add_operation (outArgument_objectName.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1187)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1187)) ; + } + GALGAS_lbool var_multiple_40815 ; + { + routine_arxmlGetMultiplicity (inArgument_parameter, outArgument_objectName, var_multiple_40815, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1190)) ; + } + GALGAS_bool var_withAuto_40881 ; + { + routine_arxmlGetWithAuto (inArgument_parameter, var_withAuto_40881, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1193)) ; + } + GALGAS_lstring var_oil_5F_desc_40970 ; + { + routine_arxmlGetDescription (inArgument_parameter, var_oil_5F_desc_40970, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1196)) ; + } + GALGAS_object_5F_t var_defaultValue_41015 ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("DEFAULT-VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1200)).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_lstring var_value_41095 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("DEFAULT-VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1201)) ; + { + routine_displayOil (GALGAS_string (" = ").add_operation (var_value_41095.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1202)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1202)) ; + } + var_defaultValue_41015 = GALGAS_stringAttribute::constructor_new (var_oil_5F_desc_40970, var_value_41095.readProperty_location (), var_value_41095.readProperty_string () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1203)) ; + } + } + if (kBoolFalse == test_0) { + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = var_withAuto_40881.boolEnum () ; + if (kBoolTrue == test_1) { + var_defaultValue_41015 = GALGAS_auto::constructor_new (var_oil_5F_desc_40970, outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1209)) ; + } + } + if (kBoolFalse == test_1) { + var_defaultValue_41015 = GALGAS_void::constructor_new (var_oil_5F_desc_40970, outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1211)) ; + } + } + { + routine_displayOil (GALGAS_string (": \"").add_operation (var_oil_5F_desc_40970.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1213)).add_operation (GALGAS_string ("\";\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1213)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1213)) ; + } + GALGAS_locationList temp_2 = GALGAS_locationList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1217)) ; + temp_2.addAssign_operation (outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1217)) ; + GALGAS_lstringlist temp_3 = GALGAS_lstringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1221)) ; + temp_3.addAssign_operation (var_oil_5F_desc_40970 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1221)) ; + outArgument_options = GALGAS_impAutoDefaultType::constructor_new (temp_2, constinArgument_type, outArgument_objectName, var_multiple_40815.readProperty_bool (), temp_3, var_withAuto_40881, var_defaultValue_41015 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1216)) ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlImplementationContainerReference' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlImplementationContainerReference (GALGAS_lstring & outArgument_objectName, + GALGAS_impType & outArgument_options, + const GALGAS_dataType constinArgument_type, + GALGAS_arxmlElementValue inArgument_parameter, + GALGAS_lstring /* inArgument_parentPath */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_objectName.drop () ; // Release 'out' argument + outArgument_options.drop () ; // Release 'out' argument + GALGAS_lstring var_objectType_42284 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("DESTINATION-REF"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1235)) ; + var_objectType_42284.setter_setString (var_objectType_42284.readProperty_string ().getter_lastPathComponent (SOURCE_FILE ("arxml_parser.galgas", 1237)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1237)) ; + { + routine_displayOil (GALGAS_string (" ").add_operation (var_objectType_42284.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1238)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1238)) ; + } + { + routine_arxmlGetName (inArgument_parameter, outArgument_objectName, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1241)) ; + } + { + routine_displayOil (GALGAS_string (" ").add_operation (outArgument_objectName.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1242)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1242)) ; + } + GALGAS_lbool var_multiple_42708 ; + { + routine_arxmlGetMultiplicity (inArgument_parameter, outArgument_objectName, var_multiple_42708, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1245)) ; + } + GALGAS_lstring var_oil_5F_desc_42797 ; + { + routine_arxmlGetDescription (inArgument_parameter, var_oil_5F_desc_42797, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1248)) ; + } + { + routine_displayOil (GALGAS_string (": \"").add_operation (var_oil_5F_desc_42797.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1250)).add_operation (GALGAS_string ("\";\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1250)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1250)) ; + } + GALGAS_locationList temp_0 = GALGAS_locationList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1254)) ; + temp_0.addAssign_operation (outArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1254)) ; + GALGAS_lstringlist temp_1 = GALGAS_lstringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1258)) ; + temp_1.addAssign_operation (var_oil_5F_desc_42797 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1258)) ; + outArgument_options = GALGAS_refType::constructor_new (temp_0, constinArgument_type, outArgument_objectName, var_multiple_42708.readProperty_bool (), temp_1, var_objectType_42284 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1253)) ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlDefinitionPackage' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlDefinitionPackage (GALGAS_implementation & ioArgument_imp, + GALGAS_applicationDefinition & ioArgument_application, + GALGAS_arxmlElementValue inArgument_packageElement, + GALGAS_lstring inArgument_parentPath, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_lstring var_packageName_43450 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), GALGAS_string ("SHORT-NAME"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1274)) ; + GALGAS_lstring var_currentPath_43563 = GALGAS_lstring::constructor_new (inArgument_parentPath.readProperty_string ().add_operation (GALGAS_string ("/"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1277)).add_operation (var_packageName_43450.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1277)), var_packageName_43450.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1277)) ; + GALGAS_arxmlElementValueList var_definitions_43790 = GALGAS_arxmlElementValueList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1281)) ; + GALGAS_stringlist var_definitionPath_43821 = GALGAS_stringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1282)) ; + var_definitionPath_43821.addAssign_operation (GALGAS_string ("ELEMENTS") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1283)) ; + var_definitionPath_43821.addAssign_operation (GALGAS_string ("ECUC-MODULE-CONFIGURATION-VALUES") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1284)) ; + callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), var_definitionPath_43821, var_definitions_43790, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1285)) ; + cEnumerator_arxmlElementValueList enumerator_44021 (var_definitions_43790, kENUMERATION_UP) ; + while (enumerator_44021.hasCurrentObject ()) { + { + routine_arxmlDefinitionRoot (ioArgument_imp, ioArgument_application, enumerator_44021.current_value (HERE), var_currentPath_43563, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1287)) ; + } + enumerator_44021.gotoNextObject () ; + } + GALGAS_arxmlElementValueList var_packages_44207 = GALGAS_arxmlElementValueList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1291)) ; + GALGAS_stringlist var_packagesPath_44235 = GALGAS_stringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1292)) ; + var_packagesPath_44235.addAssign_operation (GALGAS_string ("AR-PACKAGES") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1293)) ; + var_packagesPath_44235.addAssign_operation (GALGAS_string ("AR-PACKAGE") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1294)) ; + callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), var_packagesPath_44235, var_packages_44207, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1295)) ; + cEnumerator_arxmlElementValueList enumerator_44405 (var_packages_44207, kENUMERATION_UP) ; + while (enumerator_44405.hasCurrentObject ()) { + { + routine_arxmlDefinitionPackage (ioArgument_imp, ioArgument_application, enumerator_44405.current_value (HERE), var_currentPath_43563, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1297)) ; + } + enumerator_44405.gotoNextObject () ; + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlDefinitionRoot' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlDefinitionRoot (GALGAS_implementation & ioArgument_imp, + GALGAS_applicationDefinition & ioArgument_application, + GALGAS_arxmlElementValue inArgument_packageElement, + GALGAS_lstring /* inArgument_parentPath */, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_lstring var_cpuName_44697 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), GALGAS_string ("SHORT-NAME"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1308)) ; + GALGAS_lstring var_currentPath_44807 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), GALGAS_string ("DEFINITION-REF"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1311)) ; + GALGAS_objectsMap var_objects_44926 = ioArgument_application.readProperty_objects () ; + GALGAS_lstring var_oil_5F_desc_45042 ; + { + routine_arxmlGetDescription (inArgument_packageElement, var_oil_5F_desc_45042, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1317)) ; + } + GALGAS_arxmlElementValueList var_subDefs_45105 = GALGAS_arxmlElementValueList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1320)) ; + GALGAS_stringlist var_subDefsPath_45132 = GALGAS_stringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1321)) ; + var_subDefsPath_45132.addAssign_operation (GALGAS_string ("CONTAINERS") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1322)) ; + var_subDefsPath_45132.addAssign_operation (GALGAS_string ("ECUC-CONTAINER-VALUE") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1323)) ; + callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), var_subDefsPath_45132, var_subDefs_45105, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1324)) ; + { + routine_displayOil (GALGAS_string ("\nCPU ").add_operation (var_cpuName_44697.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1326)).add_operation (GALGAS_string ("\n{\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1326)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1326)) ; + } + cEnumerator_arxmlElementValueList enumerator_45352 (var_subDefs_45105, kENUMERATION_UP) ; + while (enumerator_45352.hasCurrentObject ()) { + { + routine_arxmlDefinitionObject (ioArgument_imp, var_objects_44926, enumerator_45352.current_value (HERE), var_currentPath_44807, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1329)) ; + } + enumerator_45352.gotoNextObject () ; + } + { + ioArgument_application.setter_setName (var_cpuName_44697 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1333)) ; + } + { + ioArgument_application.setter_setObjects (var_objects_44926 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1334)) ; + } + { + routine_displayOil (GALGAS_string ("}; /* END CPU ").add_operation (var_cpuName_44697.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1336)).add_operation (GALGAS_string (" : \""), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1336)).add_operation (var_oil_5F_desc_45042.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1337)).add_operation (GALGAS_string ("\" */\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1337)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1336)) ; + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlDefinitionObject' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlDefinitionObject (GALGAS_implementation & ioArgument_imp, + GALGAS_objectsMap & ioArgument_objects, + GALGAS_arxmlElementValue inArgument_currentElement, + GALGAS_lstring inArgument_parentPath, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_lstring var_currentPath_45842 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), GALGAS_string ("DEFINITION-REF"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1347)) ; + GALGAS_lstring var_objectKind_45969 ; + { + routine_oilEquivalentName (inArgument_parentPath, var_currentPath_45842, var_objectKind_45969, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1348)) ; + } + GALGAS_implementationObject var_impObjOfKind_46032 = callExtensionGetter_impObject ((const cPtr_implementation *) ioArgument_imp.ptr (), var_objectKind_45969.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1351)) ; + GALGAS_objectKind var_objectsForKind_46098 = GALGAS_objectKind::constructor_new (GALGAS_objectKindMap::constructor_emptyMap (SOURCE_FILE ("arxml_parser.galgas", 1352)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1352)) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = ioArgument_objects.getter_hasKey (var_objectKind_45969.readProperty_string () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1353)).boolEnum () ; + if (kBoolTrue == test_0) { + { + ioArgument_objects.setter_del (var_objectKind_45969, var_objectsForKind_46098, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1354)) ; + } + } + } + GALGAS_lstring var_objectName_46295 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), GALGAS_string ("SHORT-NAME"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1358)) ; + GALGAS_objectAttributes var_object_46411 = function_emptyObject (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1361)) ; + GALGAS_objectKindMap var_objectsKind_46451 = var_objectsForKind_46098.readProperty_objects () ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = GALGAS_bool (kIsEqual, var_impObjOfKind_46032.readProperty_multiple ().readProperty_bool ().objectCompare (GALGAS_bool (false))).boolEnum () ; + if (kBoolTrue == test_1) { + var_objectName_46295 = var_objectKind_45969 ; + } + } + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = var_objectsKind_46451.getter_hasKey (var_objectName_46295.readProperty_string () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1371)).boolEnum () ; + if (kBoolTrue == test_2) { + { + var_objectsKind_46451.setter_del (var_objectName_46295, var_object_46411, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1372)) ; + } + } + } + GALGAS_lstring var_oil_5F_desc_47020 ; + { + routine_arxmlGetDescription (inArgument_currentElement, var_oil_5F_desc_47020, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1376)) ; + } + { + routine_displayOil (GALGAS_string (" ").add_operation (var_objectKind_45969.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1378)).add_operation (GALGAS_string (" "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1378)).add_operation (var_objectName_46295.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1378)).add_operation (GALGAS_string ("\n {\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1378)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1378)) ; + } + { + routine_arxmlDefinitionContainer (var_impObjOfKind_46032.readProperty_attributes (), var_object_46411, inArgument_currentElement, var_currentPath_45842, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1381)) ; + } + { + routine_displayOil (GALGAS_string (" } : \"").add_operation (var_oil_5F_desc_47020.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1386)).add_operation (GALGAS_string ("\";\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1386)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1386)) ; + } + GALGAS_identifierMap var_attributes_47413 = var_object_46411.readProperty_objectParams () ; + enumGalgasBool test_3 = kBoolTrue ; + if (kBoolTrue == test_3) { + test_3 = var_attributes_47413.getter_hasKey (GALGAS_string ("NAME") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1390)).operator_not (SOURCE_FILE ("arxml_parser.galgas", 1390)).boolEnum () ; + if (kBoolTrue == test_3) { + { + var_attributes_47413.setter_put (GALGAS_lstring::constructor_new (GALGAS_string ("NAME"), var_objectName_46295.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1391)), GALGAS_stringAttribute::constructor_new (var_oil_5F_desc_47020, var_objectName_46295.readProperty_location (), var_objectName_46295.readProperty_string () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1392)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1391)) ; + } + { + var_object_46411.setter_setObjectParams (var_attributes_47413 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1395)) ; + } + } + } + { + var_objectsKind_46451.setter_put (var_objectName_46295, var_object_46411, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1397)) ; + } + { + var_objectsForKind_46098.setter_setObjects (var_objectsKind_46451 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1398)) ; + } + { + ioArgument_objects.setter_put (var_objectKind_45969, var_objectsForKind_46098, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1399)) ; + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlDefinitionContainer' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlDefinitionContainer (const GALGAS_implementationObjectMap constinArgument_types, + GALGAS_objectAttributes & ioArgument_identifiers, + GALGAS_arxmlElementValue inArgument_currentElement, + GALGAS_lstring inArgument_currentPath, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_arxmlElementValueList var_textParameters_48205 = GALGAS_arxmlElementValueList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1409)) ; + GALGAS_stringlist var_textParametersPath_48239 = GALGAS_stringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1410)) ; + var_textParametersPath_48239.addAssign_operation (GALGAS_string ("PARAMETER-VALUES") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1411)) ; + var_textParametersPath_48239.addAssign_operation (GALGAS_string ("ECUC-TEXTUAL-PARAM-VALUE") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1412)) ; + callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), var_textParametersPath_48239, var_textParameters_48205, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1413)) ; + GALGAS_arxmlElementValueList var_numParameters_48524 = GALGAS_arxmlElementValueList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1416)) ; + GALGAS_stringlist var_numParametersPath_48557 = GALGAS_stringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1417)) ; + var_numParametersPath_48557.addAssign_operation (GALGAS_string ("PARAMETER-VALUES") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1418)) ; + var_numParametersPath_48557.addAssign_operation (GALGAS_string ("ECUC-NUMERICAL-PARAM-VALUE") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1419)) ; + callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), var_numParametersPath_48557, var_numParameters_48524, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1420)) ; + GALGAS_arxmlElementValueList var_refParameters_48810 = GALGAS_arxmlElementValueList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1423)) ; + GALGAS_stringlist var_refParametersPath_48843 = GALGAS_stringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1424)) ; + var_refParametersPath_48843.addAssign_operation (GALGAS_string ("REFERENCE-VALUES") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1425)) ; + var_refParametersPath_48843.addAssign_operation (GALGAS_string ("ECUC-REFERENCE-VALUE") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1426)) ; + callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), var_refParametersPath_48843, var_refParameters_48810, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1427)) ; + GALGAS_arxmlElementValueList var_structParameters_49090 = GALGAS_arxmlElementValueList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1430)) ; + GALGAS_stringlist var_structParametersPath_49126 = GALGAS_stringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1431)) ; + var_structParametersPath_49126.addAssign_operation (GALGAS_string ("SUB-CONTAINERS") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1432)) ; + var_structParametersPath_49126.addAssign_operation (GALGAS_string ("ECUC-CONTAINER-VALUE") COMMA_SOURCE_FILE ("arxml_parser.galgas", 1433)) ; + callExtensionMethod_getElementsByPath ((cPtr_arxmlElementValue *) inArgument_currentElement.ptr (), var_structParametersPath_49126, var_structParameters_49090, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1434)) ; + GALGAS_arxmlElementValueList var_allParameters_49380 = var_numParameters_48524.add_operation (var_textParameters_48205, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1437)).add_operation (var_refParameters_48810, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1438)).add_operation (var_structParameters_49090, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1439)) ; + cEnumerator_arxmlElementValueList enumerator_49644 (var_allParameters_49380, kENUMERATION_UP) ; + while (enumerator_49644.hasCurrentObject ()) { + { + routine_arxmlDefinitionParameter (constinArgument_types, ioArgument_identifiers, enumerator_49644.current_value (HERE), inArgument_currentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1444)) ; + } + enumerator_49644.gotoNextObject () ; + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlDefinitionParameter' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlDefinitionParameter (const GALGAS_implementationObjectMap constinArgument_types, + GALGAS_objectAttributes & ioArgument_identifiers, + GALGAS_arxmlElementValue inArgument_parameter, + GALGAS_lstring inArgument_parentPath, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_object_5F_t var_val_49953 ; + GALGAS_lstring var_parameterPath_49972 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("DEFINITION-REF"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1456)) ; + GALGAS_lstring var_parameterType_50094 ; + { + routine_oilEquivalentName (inArgument_parentPath, var_parameterPath_49972, var_parameterType_50094, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1457)) ; + } + GALGAS_bool var_typeOk_50142 = GALGAS_bool (false) ; + GALGAS_locationList temp_0 = GALGAS_locationList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1461)) ; + temp_0.addAssign_operation (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1461)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1461)) ; + GALGAS_impType var_type_50168 = GALGAS_impVoid::constructor_new (temp_0, GALGAS_dataType::constructor_void (SOURCE_FILE ("arxml_parser.galgas", 1463)), function_emptyLString (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1463)), GALGAS_bool (false), GALGAS_lstringlist::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1465)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1461)) ; + GALGAS_lstring var_valueType_50439 = callExtensionGetter_getAttributeValueFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("DEFINITION-REF"), GALGAS_string ("DEST"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1467)) ; + GALGAS_lstring var_oil_5F_desc_50633 = GALGAS_lstring::constructor_new (GALGAS_string::makeEmptyString (), GALGAS_location::constructor_nowhere (SOURCE_FILE ("arxml_parser.galgas", 1472)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1472)) ; + GALGAS_bool var_isAuto_50791 = GALGAS_bool (false) ; + GALGAS_lstring var_parameterValue_50817 ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1479)).boolEnum () ; + if (kBoolTrue == test_1) { + var_parameterValue_50817 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1483)) ; + } + } + if (kBoolFalse == test_1) { + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("VALUE-REF"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1484)).boolEnum () ; + if (kBoolTrue == test_2) { + var_parameterValue_50817 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("VALUE-REF"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1488)) ; + var_parameterValue_50817.setter_setString (var_parameterValue_50817.readProperty_string ().getter_lastPathComponent (SOURCE_FILE ("arxml_parser.galgas", 1490)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1490)) ; + enumGalgasBool test_3 = kBoolTrue ; + if (kBoolTrue == test_3) { + test_3 = GALGAS_bool (kIsEqual, var_parameterType_50094.readProperty_string ().getter_rightSubString (GALGAS_uint (uint32_t (3U)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1492)).objectCompare (GALGAS_string ("REF"))).boolEnum () ; + if (kBoolTrue == test_3) { + var_parameterType_50094.setter_setString (var_parameterType_50094.readProperty_string ().getter_leftSubString (var_parameterType_50094.readProperty_string ().getter_count (SOURCE_FILE ("arxml_parser.galgas", 1494)).substract_operation (GALGAS_uint (uint32_t (3U)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1494)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1493)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1493)) ; + } + } + if (kBoolFalse == test_3) { + enumGalgasBool test_4 = kBoolTrue ; + if (kBoolTrue == test_4) { + test_4 = GALGAS_bool (kIsEqual, var_parameterType_50094.readProperty_string ().getter_rightSubString (GALGAS_uint (uint32_t (4U)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1495)).objectCompare (GALGAS_string ("REFS"))).boolEnum () ; + if (kBoolTrue == test_4) { + var_parameterType_50094.setter_setString (var_parameterType_50094.readProperty_string ().getter_leftSubString (var_parameterType_50094.readProperty_string ().getter_count (SOURCE_FILE ("arxml_parser.galgas", 1497)).substract_operation (GALGAS_uint (uint32_t (4U)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1497)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1496)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1496)) ; + } + } + if (kBoolFalse == test_4) { + TC_Array fixItArray5 ; + inCompiler->emitSemanticError (var_parameterType_50094.readProperty_location (), GALGAS_string ("An object reference must end with REF or REFS"), fixItArray5 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1499)) ; + } + } + } + } + if (kBoolFalse == test_2) { + enumGalgasBool test_6 = kBoolTrue ; + if (kBoolTrue == test_6) { + GALGAS_bool test_7 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("PARAMETER-VALUES"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1501)) ; + if (kBoolTrue != test_7.boolEnum ()) { + test_7 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("REFERENCE-VALUES"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1502)) ; + } + test_6 = test_7.boolEnum () ; + if (kBoolTrue == test_6) { + var_parameterValue_50817 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("SHORT-NAME"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1506)) ; + } + } + if (kBoolFalse == test_6) { + enumGalgasBool test_8 = kBoolTrue ; + if (kBoolTrue == test_8) { + test_8 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("IS-AUTO-VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1507)).boolEnum () ; + if (kBoolTrue == test_8) { + var_parameterValue_50817 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("IS-AUTO-VALUE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1511)) ; + enumGalgasBool test_9 = kBoolTrue ; + if (kBoolTrue == test_9) { + GALGAS_bool test_10 = GALGAS_bool (kIsEqual, var_parameterValue_50817.readProperty_string ().getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 1512)).objectCompare (GALGAS_string ("TRUE"))) ; + if (kBoolTrue != test_10.boolEnum ()) { + test_10 = GALGAS_bool (kIsEqual, var_parameterValue_50817.readProperty_string ().objectCompare (GALGAS_string ("1"))) ; + } + test_9 = test_10.boolEnum () ; + if (kBoolTrue == test_9) { + var_isAuto_50791 = GALGAS_bool (true) ; + } + } + } + } + if (kBoolFalse == test_8) { + TC_Array fixItArray11 ; + inCompiler->emitSemanticError (var_parameterType_50094.readProperty_location (), GALGAS_string ("No value has been found."), fixItArray11 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1517)) ; + var_parameterValue_50817.drop () ; // Release error dropped variable + } + } + } + } + enumGalgasBool test_12 = kBoolTrue ; + if (kBoolTrue == test_12) { + test_12 = constinArgument_types.getter_hasKey (var_parameterType_50094.readProperty_string () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1521)).boolEnum () ; + if (kBoolTrue == test_12) { + constinArgument_types.method_get (var_parameterType_50094, var_type_50168, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1522)) ; + var_typeOk_50142 = GALGAS_bool (true) ; + { + routine_testTypeError (var_type_50168.readProperty_type (), var_valueType_50439, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1525)) ; + } + } + } + if (kBoolFalse == test_12) { + TC_Array fixItArray13 ; + inCompiler->emitSemanticError (var_parameterType_50094.readProperty_location (), var_parameterType_50094.readProperty_string ().add_operation (GALGAS_string (" is not declared in the "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1527)).add_operation (GALGAS_string ("IMPLEMENTATION."), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1527)), fixItArray13 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1527)) ; + } + { + routine_displayOil (GALGAS_string (" ").add_operation (var_parameterType_50094.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1531)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1531)) ; + } + GALGAS_implementationObjectMap var_subTypes_53409 = GALGAS_implementationObjectMap::constructor_emptyMap (SOURCE_FILE ("arxml_parser.galgas", 1533)) ; + GALGAS_objectAttributes var_subAttributes_53477 = function_emptyObject (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1534)) ; + enumGalgasBool test_14 = kBoolTrue ; + if (kBoolTrue == test_14) { + test_14 = var_isAuto_50791.boolEnum () ; + if (kBoolTrue == test_14) { + { + routine_displayOil (GALGAS_string (" = AUTO;"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1543)) ; + } + enumGalgasBool test_15 = kBoolTrue ; + if (kBoolTrue == test_15) { + test_15 = callExtensionGetter_autoAllowed ((const cPtr_impType *) var_type_50168.ptr (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1544)).boolEnum () ; + if (kBoolTrue == test_15) { + var_val_49953 = GALGAS_auto::constructor_new (var_oil_5F_desc_50633, var_parameterValue_50817.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1545)) ; + } + } + if (kBoolFalse == test_15) { + TC_Array fixItArray16 ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1547)), GALGAS_string ("AUTO is not allowed"), fixItArray16 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1547)) ; + var_val_49953.drop () ; // Release error dropped variable + } + } + } + if (kBoolFalse == test_14) { + enumGalgasBool test_17 = kBoolTrue ; + if (kBoolTrue == test_17) { + test_17 = GALGAS_bool (kIsEqual, var_valueType_50439.readProperty_string ().objectCompare (GALGAS_string ("ECUC-ENUMERATION-PARAM-DEF"))).boolEnum () ; + if (kBoolTrue == test_17) { + GALGAS_impEnumType temp_18 ; + if (var_type_50168.isValid ()) { + if (nullptr != dynamic_cast (var_type_50168.ptr ())) { + temp_18 = (cPtr_impEnumType *) var_type_50168.ptr () ; + }else{ + inCompiler->castError ("impEnumType", var_type_50168.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1554)) ; + } + } + GALGAS_impEnumType var_enumType_54289 = temp_18 ; + enumGalgasBool test_19 = kBoolTrue ; + if (kBoolTrue == test_19) { + test_19 = var_enumType_54289.readProperty_valuesMap ().getter_hasKey (var_parameterValue_50817.readProperty_string () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1555)).boolEnum () ; + if (kBoolTrue == test_19) { + var_enumType_54289.readProperty_valuesMap ().method_get (var_parameterValue_50817, var_subTypes_53409, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1556)) ; + } + } + if (kBoolFalse == test_19) { + TC_Array fixItArray20 ; + inCompiler->emitSemanticError (var_parameterValue_50817.readProperty_location (), var_parameterValue_50817.readProperty_string ().add_operation (GALGAS_string (" ENUM value "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1558)).add_operation (GALGAS_string ("for "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1558)).add_operation (var_parameterType_50094.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1559)).add_operation (GALGAS_string (" undeclared.\nOne of the following"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1559)).add_operation (GALGAS_string ("values are expected :\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1559)).add_operation (function_valueList (var_enumType_54289.readProperty_valuesMap (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1560)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1560)), fixItArray20 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1558)) ; + } + { + routine_displayOil (GALGAS_string (" = ").add_operation (var_parameterValue_50817.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1563)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1563)) ; + } + enumGalgasBool test_21 = kBoolTrue ; + if (kBoolTrue == test_21) { + test_21 = GALGAS_bool (kIsNotEqual, var_subTypes_53409.getter_count (SOURCE_FILE ("arxml_parser.galgas", 1564)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + if (kBoolTrue == test_21) { + { + routine_displayOil (GALGAS_string ("\n {\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1565)) ; + } + { + routine_arxmlDefinitionContainer (var_subTypes_53409, var_subAttributes_53477, inArgument_parameter, inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1566)) ; + } + { + routine_displayOil (GALGAS_string (" }"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1568)) ; + } + } + } + { + routine_displayOil (GALGAS_string (";"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1570)) ; + } + var_val_49953 = GALGAS_enumAttribute::constructor_new (var_oil_5F_desc_50633, var_parameterValue_50817.readProperty_location (), var_parameterValue_50817.readProperty_string (), var_subAttributes_53477 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1572)) ; + } + } + if (kBoolFalse == test_17) { + enumGalgasBool test_22 = kBoolTrue ; + if (kBoolTrue == test_22) { + test_22 = GALGAS_bool (kIsEqual, var_valueType_50439.readProperty_string ().objectCompare (GALGAS_string ("ECUC-BOOLEAN-PARAM-DEF"))).boolEnum () ; + if (kBoolTrue == test_22) { + GALGAS_impBoolType temp_23 ; + if (var_type_50168.isValid ()) { + if (nullptr != dynamic_cast (var_type_50168.ptr ())) { + temp_23 = (cPtr_impBoolType *) var_type_50168.ptr () ; + }else{ + inCompiler->castError ("impBoolType", var_type_50168.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1581)) ; + } + } + GALGAS_impBoolType var_boolType_55423 = temp_23 ; + GALGAS_bool var_booleanValue_55469 ; + enumGalgasBool test_24 = kBoolTrue ; + if (kBoolTrue == test_24) { + GALGAS_bool test_25 = GALGAS_bool (kIsEqual, var_parameterValue_50817.readProperty_string ().getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 1583)).objectCompare (GALGAS_string ("TRUE"))) ; + if (kBoolTrue != test_25.boolEnum ()) { + test_25 = GALGAS_bool (kIsEqual, var_parameterValue_50817.readProperty_string ().objectCompare (GALGAS_string ("1"))) ; + } + test_24 = test_25.boolEnum () ; + if (kBoolTrue == test_24) { + var_subTypes_53409 = var_boolType_55423.readProperty_trueSubAttributes () ; + var_booleanValue_55469 = GALGAS_bool (true) ; + } + } + if (kBoolFalse == test_24) { + enumGalgasBool test_26 = kBoolTrue ; + if (kBoolTrue == test_26) { + GALGAS_bool test_27 = GALGAS_bool (kIsEqual, var_parameterValue_50817.readProperty_string ().getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 1587)).objectCompare (GALGAS_string ("FALSE"))) ; + if (kBoolTrue != test_27.boolEnum ()) { + test_27 = GALGAS_bool (kIsEqual, var_parameterValue_50817.readProperty_string ().objectCompare (GALGAS_string ("0"))) ; + } + test_26 = test_27.boolEnum () ; + if (kBoolTrue == test_26) { + var_subTypes_53409 = var_boolType_55423.readProperty_falseSubAttributes () ; + var_booleanValue_55469 = GALGAS_bool (false) ; + } + } + if (kBoolFalse == test_26) { + var_booleanValue_55469 = GALGAS_bool (false) ; + TC_Array fixItArray28 ; + inCompiler->emitSemanticError (var_parameterValue_50817.readProperty_location (), GALGAS_string ("A Boolean must be 'true', 'false', '0' or '1'"), fixItArray28 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1593)) ; + } + } + { + routine_displayOil (GALGAS_string (" = ").add_operation (var_booleanValue_55469.getter_cString (SOURCE_FILE ("arxml_parser.galgas", 1596)).getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 1596)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1596)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1596)) ; + } + enumGalgasBool test_29 = kBoolTrue ; + if (kBoolTrue == test_29) { + test_29 = GALGAS_bool (kIsNotEqual, var_subTypes_53409.getter_count (SOURCE_FILE ("arxml_parser.galgas", 1597)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + if (kBoolTrue == test_29) { + { + routine_displayOil (GALGAS_string ("\n {\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1598)) ; + } + { + routine_arxmlDefinitionContainer (var_subTypes_53409, var_subAttributes_53477, inArgument_parameter, inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1599)) ; + } + { + routine_displayOil (GALGAS_string (" }"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1601)) ; + } + } + } + { + routine_displayOil (GALGAS_string (";"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1603)) ; + } + var_val_49953 = GALGAS_boolAttribute::constructor_new (var_oil_5F_desc_50633, var_parameterType_50094.readProperty_location (), var_booleanValue_55469, var_subAttributes_53477 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1605)) ; + } + } + if (kBoolFalse == test_22) { + enumGalgasBool test_30 = kBoolTrue ; + if (kBoolTrue == test_30) { + test_30 = GALGAS_bool (kIsEqual, var_valueType_50439.readProperty_string ().objectCompare (GALGAS_string ("ECUC-INTEGER-PARAM-DEF"))).boolEnum () ; + if (kBoolTrue == test_30) { + GALGAS_bool var_sign_56716 ; + { + routine_arxmlPopSign (var_parameterValue_50817, var_sign_56716, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1614)) ; + } + GALGAS_luint_36__34_ var_integerValue_56740 = GALGAS_luint_36__34_::constructor_new (var_parameterValue_50817.readProperty_string ().getter_decimalUnsignedNumber (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1617)).getter_uint_36__34_ (SOURCE_FILE ("arxml_parser.galgas", 1617)), var_parameterValue_50817.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1616)) ; + { + routine_displayOil (GALGAS_string (" = ").add_operation (var_integerValue_56740.readProperty_uint_36__34_ ().getter_string (SOURCE_FILE ("arxml_parser.galgas", 1620)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1620)).add_operation (GALGAS_string (";"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1620)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1620)) ; + } + var_val_49953 = function_checkAndGetIntegerNumber (var_oil_5F_desc_50633, var_type_50168.readProperty_type (), var_integerValue_56740, var_sign_56716, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1622)) ; + } + } + if (kBoolFalse == test_30) { + enumGalgasBool test_31 = kBoolTrue ; + if (kBoolTrue == test_31) { + test_31 = GALGAS_bool (kIsEqual, var_valueType_50439.readProperty_string ().objectCompare (GALGAS_string ("ECUC-FLOAT-PARAM-DEF"))).boolEnum () ; + if (kBoolTrue == test_31) { + GALGAS_bool var_sign_57319 ; + { + routine_arxmlPopSign (var_parameterValue_50817, var_sign_57319, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1628)) ; + } + GALGAS_ldouble var_floatValue_57343 = GALGAS_ldouble::constructor_new (var_parameterValue_50817.readProperty_string ().getter_doubleNumber (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1631)), var_parameterValue_50817.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1630)) ; + { + routine_displayOil (GALGAS_string (" = ").add_operation (var_floatValue_57343.readProperty_double ().getter_string (SOURCE_FILE ("arxml_parser.galgas", 1634)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1634)).add_operation (GALGAS_string (";"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1634)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1634)) ; + } + var_val_49953 = function_checkAndGetFloatNumber (var_oil_5F_desc_50633, var_type_50168.readProperty_type (), var_floatValue_57343, var_sign_57319, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1636)) ; + } + } + if (kBoolFalse == test_31) { + enumGalgasBool test_32 = kBoolTrue ; + if (kBoolTrue == test_32) { + test_32 = GALGAS_bool (kIsEqual, var_valueType_50439.readProperty_string ().objectCompare (GALGAS_string ("ECUC-STRING-PARAM-DEF"))).boolEnum () ; + if (kBoolTrue == test_32) { + { + routine_displayOil (GALGAS_string (" = \"").add_operation (var_parameterValue_50817.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1642)).add_operation (GALGAS_string ("\";"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1642)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1642)) ; + } + var_val_49953 = GALGAS_stringAttribute::constructor_new (var_oil_5F_desc_50633, var_parameterValue_50817.readProperty_location (), var_parameterValue_50817.readProperty_string () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1644)) ; + } + } + if (kBoolFalse == test_32) { + enumGalgasBool test_33 = kBoolTrue ; + if (kBoolTrue == test_33) { + test_33 = GALGAS_bool (kIsEqual, var_valueType_50439.readProperty_string ().objectCompare (GALGAS_string ("ECUC-REFERENCE-DEF"))).boolEnum () ; + if (kBoolTrue == test_33) { + { + routine_displayOil (GALGAS_string (" = ").add_operation (var_parameterValue_50817.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1652)).add_operation (GALGAS_string (";"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1652)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1652)) ; + } + var_val_49953 = GALGAS_objectRefAttribute::constructor_new (var_oil_5F_desc_50633, var_parameterValue_50817.readProperty_location (), var_parameterValue_50817 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1654)) ; + } + } + if (kBoolFalse == test_33) { + enumGalgasBool test_34 = kBoolTrue ; + if (kBoolTrue == test_34) { + test_34 = GALGAS_bool (kIsEqual, var_valueType_50439.readProperty_string ().objectCompare (GALGAS_string ("TPL-IDENTIFIER-DEF"))).boolEnum () ; + if (kBoolTrue == test_34) { + { + routine_displayOil (GALGAS_string (" = ").add_operation (var_parameterValue_50817.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1662)).add_operation (GALGAS_string (";"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1662)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1662)) ; + } + var_val_49953 = GALGAS_string_5F_class::constructor_new (var_oil_5F_desc_50633, var_parameterValue_50817.readProperty_location (), var_parameterValue_50817.readProperty_string () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1664)) ; + } + } + if (kBoolFalse == test_34) { + enumGalgasBool test_35 = kBoolTrue ; + if (kBoolTrue == test_35) { + test_35 = GALGAS_bool (kIsEqual, var_valueType_50439.readProperty_string ().objectCompare (GALGAS_string ("ECUC-PARAM-CONF-CONTAINER-DEF"))).boolEnum () ; + if (kBoolTrue == test_35) { + GALGAS_impStructType temp_36 ; + if (var_type_50168.isValid ()) { + if (nullptr != dynamic_cast (var_type_50168.ptr ())) { + temp_36 = (cPtr_impStructType *) var_type_50168.ptr () ; + }else{ + inCompiler->castError ("impStructType", var_type_50168.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1672)) ; + } + } + GALGAS_impStructType var_structType_59236 = temp_36 ; + var_subTypes_53409 = var_structType_59236.readProperty_structAttributes () ; + { + routine_displayOil (GALGAS_string (" ").add_operation (var_parameterValue_50817.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1675)).add_operation (GALGAS_string ("\n {\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1675)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1675)) ; + } + { + routine_arxmlDefinitionContainer (var_subTypes_53409, var_subAttributes_53477, inArgument_parameter, inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1676)) ; + } + { + routine_displayOil (GALGAS_string (" };"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1678)) ; + } + var_val_49953 = GALGAS_structAttribute::constructor_new (var_oil_5F_desc_50633, var_parameterValue_50817.readProperty_location (), var_parameterValue_50817, var_subAttributes_53477 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1680)) ; + } + } + if (kBoolFalse == test_35) { + TC_Array fixItArray37 ; + inCompiler->emitSemanticError (var_valueType_50439.readProperty_location (), GALGAS_string ("Undefined valueType ").add_operation (var_valueType_50439.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1688)), fixItArray37 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1688)) ; + var_val_49953.drop () ; // Release error dropped variable + var_typeOk_50142 = GALGAS_bool (false) ; + } + } + } + } + } + } + } + } + } + { + routine_displayOil (GALGAS_string (" /* ARXML Type :").add_operation (var_valueType_50439.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1692)).add_operation (GALGAS_string (" */\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1692)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1692)) ; + } + GALGAS_identifierMap var_idfs_60177 = ioArgument_identifiers.readProperty_objectParams () ; + enumGalgasBool test_38 = kBoolTrue ; + if (kBoolTrue == test_38) { + test_38 = var_type_50168.readProperty_multiple ().boolEnum () ; + if (kBoolTrue == test_38) { + enumGalgasBool test_39 = kBoolTrue ; + if (kBoolTrue == test_39) { + test_39 = var_idfs_60177.getter_hasKey (var_parameterType_50094.readProperty_string () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1699)).boolEnum () ; + if (kBoolTrue == test_39) { + GALGAS_object_5F_t var_attributeList_60306 ; + { + var_idfs_60177.setter_del (var_parameterType_50094, var_attributeList_60306, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1703)) ; + } + if (var_attributeList_60306.isValid ()) { + if (var_attributeList_60306.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_multipleAttribute) { + GALGAS_multipleAttribute cast_60509_multiAttribute ((cPtr_multipleAttribute *) var_attributeList_60306.ptr ()) ; + GALGAS_identifierList var_aList_60550 = cast_60509_multiAttribute.readProperty_items () ; + var_aList_60550.addAssign_operation (var_val_49953 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1707)) ; + var_val_49953 = GALGAS_multipleAttribute::constructor_new (function_emptyLString (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1708)), cast_60509_multiAttribute.readProperty_location (), var_aList_60550 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1708)) ; + } + } + } + } + if (kBoolFalse == test_39) { + GALGAS_identifierList var_aList_60820 = GALGAS_identifierList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1713)) ; + GALGAS_object_5F_t var_defaultValue_60896 = callExtensionGetter_getDefaultValue ((const cPtr_impType *) var_type_50168.ptr (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1715)) ; + if (var_defaultValue_60896.isValid ()) { + if (var_defaultValue_60896.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_multipleAttribute) { + GALGAS_multipleAttribute cast_61023_multiAttribute ((cPtr_multipleAttribute *) var_defaultValue_60896.ptr ()) ; + var_aList_60820 = cast_61023_multiAttribute.readProperty_items () ; + } + } + var_aList_60820.addAssign_operation (var_val_49953 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1725)) ; + var_val_49953 = GALGAS_multipleAttribute::constructor_new (function_emptyLString (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1727)), var_val_49953.readProperty_location (), var_aList_60820 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1727)) ; + } + enumGalgasBool test_40 = kBoolTrue ; + if (kBoolTrue == test_40) { + test_40 = var_idfs_60177.getter_hasKey (var_parameterType_50094.readProperty_string () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1729)).boolEnum () ; + if (kBoolTrue == test_40) { + GALGAS_object_5F_t var_existingObject_61514 ; + { + var_idfs_60177.setter_del (var_parameterType_50094, var_existingObject_61514, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1733)) ; + } + { + var_val_49953.insulate (HERE) ; + cPtr_object_5F_t * ptr_61592 = (cPtr_object_5F_t *) var_val_49953.ptr () ; + callExtensionSetter_mergeSubAttributes ((cPtr_object_5F_t *) ptr_61592, var_existingObject_61514, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1734)) ; + } + } + } + } + } + enumGalgasBool test_41 = kBoolTrue ; + if (kBoolTrue == test_41) { + test_41 = var_typeOk_50142.boolEnum () ; + if (kBoolTrue == test_41) { + { + var_idfs_60177.setter_put (var_parameterType_50094, var_val_49953, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1740)) ; + } + } + } + { + ioArgument_identifiers.setter_setObjectParams (var_idfs_60177 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1742)) ; + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'testTypeError' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_testTypeError (GALGAS_dataType inArgument_type, + GALGAS_lstring inArgument_valueType, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsNotEqual, extensionGetter_arxmlType (inArgument_type, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1753)).objectCompare (inArgument_valueType.readProperty_string ())).boolEnum () ; + if (kBoolTrue == test_0) { + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (inArgument_valueType.readProperty_location (), GALGAS_string ("Expected oil type ").add_operation (extensionGetter_oilType (inArgument_type, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1754)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1754)).add_operation (GALGAS_string ("."), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1754)).add_operation (GALGAS_string (" Found "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1754)).add_operation (inArgument_valueType.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1755)).add_operation (GALGAS_string (".\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1755)).add_operation (GALGAS_string (" Fix : Replace it with "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1755)).add_operation (extensionGetter_arxmlType (inArgument_type, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1756)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1756)), fixItArray1 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1754)) ; + } + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'oilEquivalentName' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_oilEquivalentName (GALGAS_lstring inArgument_parentPath, + GALGAS_lstring inArgument_currentPath, + GALGAS_lstring & outArgument_outName, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_outName.drop () ; // Release 'out' argument + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsEqual, inArgument_parentPath.readProperty_string ().objectCompare (inArgument_currentPath.readProperty_string ())).boolEnum () ; + if (kBoolTrue == test_0) { + inArgument_parentPath.setter_setString (inArgument_parentPath.readProperty_string ().getter_stringByDeletingLastPathComponent (SOURCE_FILE ("arxml_parser.galgas", 1766)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1766)) ; + } + } + GALGAS_lstring var_objectKind_62451 = GALGAS_lstring::constructor_new (inArgument_currentPath.readProperty_string ().getter_lastPathComponent (SOURCE_FILE ("arxml_parser.galgas", 1769)), inArgument_currentPath.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1769)) ; + GALGAS_string var_lastParent_62744 = inArgument_parentPath.readProperty_string ().getter_lastPathComponent (SOURCE_FILE ("arxml_parser.galgas", 1774)).getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 1774)) ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = GALGAS_bool (kIsEqual, var_lastParent_62744.objectCompare (GALGAS_string ("OSOS"))).boolEnum () ; + if (kBoolTrue == test_1) { + var_lastParent_62744 = GALGAS_string ("OS") ; + } + } + GALGAS_uint var_lastParentLength_62986 = var_lastParent_62744.getter_count (SOURCE_FILE ("arxml_parser.galgas", 1782)) ; + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = GALGAS_bool (kIsEqual, var_objectKind_62451.readProperty_string ().getter_leftSubString (var_lastParentLength_62986 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1783)).getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 1783)).objectCompare (var_lastParent_62744)).boolEnum () ; + if (kBoolTrue == test_2) { + var_objectKind_62451.setter_setString (var_objectKind_62451.readProperty_string ().getter_subStringFromIndex (var_lastParentLength_62986 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1785)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1785)) ; + var_objectKind_62451.setter_setString (var_objectKind_62451.readProperty_string ().getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 1786)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1786)) ; + outArgument_outName = var_objectKind_62451 ; + } + } + if (kBoolFalse == test_2) { + TC_Array fixItArray3 ; + inCompiler->emitSemanticError (var_objectKind_62451.readProperty_location (), GALGAS_string ("An object must be named by its Parent.\n ").add_operation (GALGAS_string ("Ex : If Task object has Os parent, then the DEFINITION-REF must be "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1789)).add_operation (GALGAS_string ("(...)/Os/OsTask.\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1790)).add_operation (GALGAS_string ("Fix : Add \""), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1791)).add_operation (var_lastParent_62744, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1792)).add_operation (GALGAS_string ("\" to the name of your property."), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1792)), fixItArray3 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1789)) ; + outArgument_outName.drop () ; // Release error dropped variable + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlGetDescription' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlGetDescription (GALGAS_arxmlElementValue inArgument_packageElement, + GALGAS_lstring & outArgument_description, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_description.drop () ; // Release 'out' argument + outArgument_description = GALGAS_lstring::constructor_new (GALGAS_string::makeEmptyString (), GALGAS_location::constructor_nowhere (SOURCE_FILE ("arxml_parser.galgas", 1801)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1801)) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), GALGAS_string ("DESC"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1804)).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_arxmlElementValue var_desc_63871 ; + callExtensionMethod_getElement ((cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), GALGAS_string ("DESC"), var_desc_63871, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1805)) ; + callExtensionMethod_getAllTextsInSelf ((cPtr_arxmlElementValue *) var_desc_63871.ptr (), GALGAS_string (" "), outArgument_description, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1806)) ; + } + } + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), GALGAS_string ("INTRODUCTION"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1808)).boolEnum () ; + if (kBoolTrue == test_1) { + GALGAS_arxmlElementValue var_desc_64056 ; + callExtensionMethod_getElement ((cPtr_arxmlElementValue *) inArgument_packageElement.ptr (), GALGAS_string ("INTRODUCTION"), var_desc_64056, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1809)) ; + callExtensionMethod_getAllTextsInSelf ((cPtr_arxmlElementValue *) var_desc_64056.ptr (), GALGAS_string (" "), outArgument_description, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1810)) ; + } + } + outArgument_description.setter_setString (outArgument_description.readProperty_string ().getter_stringByReplacingStringByString (GALGAS_string ("\n"), GALGAS_string (" "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1814)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1814)) ; + outArgument_description.setter_setString (outArgument_description.readProperty_string ().getter_stringByReplacingStringByString (GALGAS_string ("\r"), GALGAS_string (" "), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1817)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1817)) ; + outArgument_description.setter_setString (outArgument_description.readProperty_string ().getter_stringByReplacingStringByString (GALGAS_string ("\\"), GALGAS_string ("\\\\"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1820)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1820)) ; + outArgument_description.setter_setString (outArgument_description.readProperty_string ().getter_stringByReplacingStringByString (GALGAS_string ("\""), GALGAS_string ("\\\""), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1823)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1823)) ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'displayOil' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_displayOil (GALGAS_string inArgument_string, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (gOption_goil_5F_options_arxmlDisplayOil.readProperty_value ()).boolEnum () ; + if (kBoolTrue == test_0) { + inCompiler->printMessage (inArgument_string COMMA_SOURCE_FILE ("arxml_parser.galgas", 1832)) ; + } + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlGetMultiplicity' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlGetMultiplicity (GALGAS_arxmlElementValue inArgument_element, + GALGAS_lstring inArgument_objectName, + GALGAS_lbool & outArgument_multiple, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_multiple.drop () ; // Release 'out' argument + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_element.ptr (), GALGAS_string ("UPPER-MULTIPLICITY-INFINITE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1841)).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_lstring var_smultiple_65098 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_element.ptr (), GALGAS_string ("UPPER-MULTIPLICITY-INFINITE"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1842)) ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + GALGAS_bool test_2 = GALGAS_bool (kIsEqual, var_smultiple_65098.readProperty_string ().getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 1844)).objectCompare (GALGAS_string ("TRUE"))) ; + if (kBoolTrue != test_2.boolEnum ()) { + test_2 = GALGAS_bool (kIsEqual, var_smultiple_65098.readProperty_string ().objectCompare (GALGAS_string ("1"))) ; + } + test_1 = test_2.boolEnum () ; + if (kBoolTrue == test_1) { + outArgument_multiple = GALGAS_lbool::constructor_new (GALGAS_bool (true), var_smultiple_65098.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1846)) ; + { + routine_displayOil (GALGAS_string ("[]"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1847)) ; + } + } + } + if (kBoolFalse == test_1) { + outArgument_multiple = GALGAS_lbool::constructor_new (GALGAS_bool (false), var_smultiple_65098.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1849)) ; + } + } + } + if (kBoolFalse == test_0) { + outArgument_multiple = GALGAS_lbool::constructor_new (GALGAS_bool (false), inArgument_objectName.readProperty_location () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1852)) ; + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlPopSign' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlPopSign (GALGAS_lstring & ioArgument_value, + GALGAS_bool & outArgument_sign, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_sign.drop () ; // Release 'out' argument + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsEqual, ioArgument_value.readProperty_string ().getter_characterAtIndex (GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1861)).objectCompare (GALGAS_char (TO_UNICODE (45)))).boolEnum () ; + if (kBoolTrue == test_0) { + outArgument_sign = GALGAS_bool (true) ; + ioArgument_value.setter_setString (ioArgument_value.readProperty_string ().getter_subStringFromIndex (GALGAS_uint (uint32_t (1U)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1863)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1863)) ; + } + } + if (kBoolFalse == test_0) { + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = GALGAS_bool (kIsEqual, ioArgument_value.readProperty_string ().getter_characterAtIndex (GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1864)).objectCompare (GALGAS_char (TO_UNICODE (43)))).boolEnum () ; + if (kBoolTrue == test_1) { + outArgument_sign = GALGAS_bool (false) ; + ioArgument_value.setter_setString (ioArgument_value.readProperty_string ().getter_subStringFromIndex (GALGAS_uint (uint32_t (1U)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1866)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1866)) ; + } + } + if (kBoolFalse == test_1) { + outArgument_sign = GALGAS_bool (false) ; + } + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlGetWithAuto' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlGetWithAuto (GALGAS_arxmlElementValue inArgument_parameter, + GALGAS_bool & outArgument_withAuto, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_withAuto.drop () ; // Release 'out' argument + outArgument_withAuto = GALGAS_bool (false) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = callExtensionGetter_hasElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("WITH-AUTO"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1877)).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_lstring var_autoString_66006 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("WITH-AUTO"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1878)) ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + GALGAS_bool test_2 = GALGAS_bool (kIsEqual, var_autoString_66006.readProperty_string ().getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 1879)).objectCompare (GALGAS_string ("TRUE"))) ; + if (kBoolTrue != test_2.boolEnum ()) { + test_2 = GALGAS_bool (kIsEqual, var_autoString_66006.readProperty_string ().objectCompare (GALGAS_string ("1"))) ; + } + test_1 = test_2.boolEnum () ; + if (kBoolTrue == test_1) { + outArgument_withAuto = GALGAS_bool (true) ; + { + routine_displayOil (GALGAS_string (" WITH_AUTO"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1882)) ; + } + } + } + } + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlGetName' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlGetName (GALGAS_arxmlElementValue inArgument_parameter, + GALGAS_lstring & outArgument_objectName, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_objectName.drop () ; // Release 'out' argument + outArgument_objectName = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("SHORT-NAME"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1892)) ; + outArgument_objectName.setter_setString (outArgument_objectName.readProperty_string ().getter_uppercaseString (SOURCE_FILE ("arxml_parser.galgas", 1893)) COMMA_SOURCE_FILE ("arxml_parser.galgas", 1893)) ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlInsertObjectAttribute' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlInsertObjectAttribute (GALGAS_implementationObjectMap & ioArgument_objectAttributes, + GALGAS_lstring inArgument_attributeName, + GALGAS_impType inArgument_type, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = ioArgument_objectAttributes.getter_hasKey (inArgument_attributeName.readProperty_string () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1901)).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_impType var_previousType_66643 ; + ioArgument_objectAttributes.method_get (inArgument_attributeName, var_previousType_66643, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1903)) ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = var_previousType_66643.readProperty_multiple ().boolEnum () ; + if (kBoolTrue == test_1) { + GALGAS_object_5F_t var_previousDefaultValue_66977 = callExtensionGetter_getDefaultValue ((const cPtr_impType *) var_previousType_66643.ptr (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1909)) ; + GALGAS_object_5F_t var_defaultValue_67051 = callExtensionGetter_getDefaultValue ((const cPtr_impType *) inArgument_type.ptr (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1910)) ; + GALGAS_bool var_oneIsMultiple_67101 = GALGAS_bool (false) ; + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = GALGAS_bool (var_previousDefaultValue_66977.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_multipleAttribute).boolEnum () ; + if (kBoolTrue == test_2) { + var_oneIsMultiple_67101 = GALGAS_bool (true) ; + } + } + if (kBoolFalse == test_2) { + enumGalgasBool test_3 = kBoolTrue ; + if (kBoolTrue == test_3) { + test_3 = GALGAS_bool (var_defaultValue_67051.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_multipleAttribute).boolEnum () ; + if (kBoolTrue == test_3) { + var_oneIsMultiple_67101 = GALGAS_bool (true) ; + } + } + } + enumGalgasBool test_4 = kBoolTrue ; + if (kBoolTrue == test_4) { + test_4 = var_oneIsMultiple_67101.boolEnum () ; + if (kBoolTrue == test_4) { + GALGAS_identifierList var_aList_67512 = GALGAS_identifierList::constructor_emptyList (SOURCE_FILE ("arxml_parser.galgas", 1921)) ; + GALGAS_lstring var_desc_67548 = function_emptyLString (inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1922)) ; + GALGAS_location var_location_67588 = GALGAS_location::constructor_nowhere (SOURCE_FILE ("arxml_parser.galgas", 1923)) ; + if (var_previousDefaultValue_66977.isValid ()) { + if (var_previousDefaultValue_66977.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_multipleAttribute) { + GALGAS_multipleAttribute cast_67708_multiAttribute ((cPtr_multipleAttribute *) var_previousDefaultValue_66977.ptr ()) ; + var_aList_67512 = cast_67708_multiAttribute.readProperty_items () ; + var_desc_67548 = cast_67708_multiAttribute.readProperty_oil_5F_desc () ; + var_location_67588 = cast_67708_multiAttribute.readProperty_location () ; + } + } + if (var_defaultValue_67051.isValid ()) { + if (var_defaultValue_67051.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_multipleAttribute) { + GALGAS_multipleAttribute cast_67968_multiAttribute ((cPtr_multipleAttribute *) var_defaultValue_67051.ptr ()) ; + var_aList_67512.plusAssign_operation(cast_67968_multiAttribute.readProperty_items (), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1936)) ; + enumGalgasBool test_5 = kBoolTrue ; + if (kBoolTrue == test_5) { + test_5 = GALGAS_bool (kIsEqual, var_desc_67548.readProperty_string ().objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; + if (kBoolTrue == test_5) { + var_desc_67548 = cast_67968_multiAttribute.readProperty_oil_5F_desc () ; + } + } + enumGalgasBool test_6 = kBoolTrue ; + if (kBoolTrue == test_6) { + test_6 = GALGAS_bool (kIsEqual, var_location_67588.objectCompare (GALGAS_location::constructor_nowhere (SOURCE_FILE ("arxml_parser.galgas", 1940)))).boolEnum () ; + if (kBoolTrue == test_6) { + var_location_67588 = cast_67968_multiAttribute.readProperty_location () ; + } + } + } + } + GALGAS_object_5F_t var_newDefault_68305 = GALGAS_multipleAttribute::constructor_new (var_desc_67548, var_location_67588, var_aList_67512 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1946)) ; + { + inArgument_type.insulate (HERE) ; + cPtr_impType * ptr_68413 = (cPtr_impType *) inArgument_type.ptr () ; + callExtensionSetter_setDefValue ((cPtr_impType *) ptr_68413, var_newDefault_68305, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1949)) ; + } + { + GALGAS_impType joker_68491 ; // Joker input parameter + ioArgument_objectAttributes.setter_del (inArgument_attributeName, joker_68491, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1951)) ; + } + { + ioArgument_objectAttributes.setter_put (inArgument_attributeName, inArgument_type, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1952)) ; + } + } + } + } + } + enumGalgasBool test_7 = kBoolTrue ; + if (kBoolTrue == test_7) { + test_7 = function_checkNewTypeWithinPreviousType (inArgument_attributeName, var_previousType_66643, inArgument_type, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1956)).boolEnum () ; + if (kBoolTrue == test_7) { + { + GALGAS_impType joker_68775 ; // Joker input parameter + ioArgument_objectAttributes.setter_del (inArgument_attributeName, joker_68775, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1959)) ; + } + { + ioArgument_objectAttributes.setter_put (inArgument_attributeName, inArgument_type, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1960)) ; + } + } + } + } + } + if (kBoolFalse == test_0) { + { + ioArgument_objectAttributes.setter_put (inArgument_attributeName, inArgument_type, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1963)) ; + } + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@arxmlElementNode print' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_arxmlElementNode::method_print (const GALGAS_uint constinArgument_indentation, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string var_indent_3613 = GALGAS_string::constructor_stringWithSequenceOfCharacters (GALGAS_char (TO_UNICODE (32)), constinArgument_indentation COMMA_SOURCE_FILE ("arxml_types.galgas", 172)) ; + inCompiler->printMessage (var_indent_3613 COMMA_SOURCE_FILE ("arxml_types.galgas", 173)) ; + inCompiler->printMessage (GALGAS_string ("NODE \"").add_operation (this->mProperty_name.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_types.galgas", 174)).add_operation (GALGAS_string ("\" "), inCompiler COMMA_SOURCE_FILE ("arxml_types.galgas", 174)) COMMA_SOURCE_FILE ("arxml_types.galgas", 174)) ; + extensionMethod_print (this->mProperty_attributes, constinArgument_indentation, inCompiler COMMA_SOURCE_FILE ("arxml_types.galgas", 175)) ; + inCompiler->printMessage (GALGAS_string ("\n") COMMA_SOURCE_FILE ("arxml_types.galgas", 176)) ; + extensionMethod_print (this->mProperty_enclosedNodes, constinArgument_indentation, inCompiler COMMA_SOURCE_FILE ("arxml_types.galgas", 177)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@arxmlElementNode getElementsFromName' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_arxmlElementNode::method_getElementsFromName (const GALGAS_string constinArgument_nodeName, + GALGAS_arxmlElementList & ioArgument_nodeList, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsEqual, constinArgument_nodeName.objectCompare (this->mProperty_name.readProperty_string ())).boolEnum () ; + if (kBoolTrue == test_0) { + const GALGAS_arxmlElementNode temp_1 = this ; + ioArgument_nodeList.addAssign_operation (temp_1 COMMA_SOURCE_FILE ("arxml_types.galgas", 185)) ; + } + } + extensionMethod_getElementsFromName (this->mProperty_enclosedNodes, constinArgument_nodeName, ioArgument_nodeList, inCompiler COMMA_SOURCE_FILE ("arxml_types.galgas", 188)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@arxmlElementNode getSubElementsFromName' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_arxmlElementNode::method_getSubElementsFromName (const GALGAS_string constinArgument_nodeName, + GALGAS_arxmlElementList & ioArgument_nodeList, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + cEnumerator_arxmlNodeList enumerator_4178 (this->mProperty_enclosedNodes, kENUMERATION_UP) ; + while (enumerator_4178.hasCurrentObject ()) { + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (enumerator_4178.current_node (HERE).dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_arxmlElementNode).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_arxmlElementNode temp_1 ; + if (enumerator_4178.current_node (HERE).isValid ()) { + if (nullptr != dynamic_cast (enumerator_4178.current_node (HERE).ptr ())) { + temp_1 = (cPtr_arxmlElementNode *) enumerator_4178.current_node (HERE).ptr () ; + }else{ + inCompiler->castError ("arxmlElementNode", enumerator_4178.current_node (HERE).ptr ()->classDescriptor () COMMA_SOURCE_FILE ("arxml_types.galgas", 197)) ; + } + } + GALGAS_arxmlElementNode var_currentElement_4287 = temp_1 ; + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = GALGAS_bool (kIsEqual, var_currentElement_4287.readProperty_name ().readProperty_string ().objectCompare (constinArgument_nodeName)).boolEnum () ; + if (kBoolTrue == test_2) { + ioArgument_nodeList.addAssign_operation (var_currentElement_4287 COMMA_SOURCE_FILE ("arxml_types.galgas", 199)) ; + } + } + } + } + enumerator_4178.gotoNextObject () ; + } +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@arxmlElementNode getProperty' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_arxmlElementNode::method_getProperty (const GALGAS_string constinArgument_nodeName, + GALGAS_lstring & ioArgument_value, + GALGAS_bool & ioArgument_found, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = GALGAS_bool (kIsEqual, constinArgument_nodeName.objectCompare (this->mProperty_name.readProperty_string ())).boolEnum () ; + if (kBoolTrue == test_0) { + const GALGAS_arxmlElementNode temp_1 = this ; + callExtensionMethod_getText ((cPtr_arxmlElementNode *) temp_1.ptr (), ioArgument_value, ioArgument_found, inCompiler COMMA_SOURCE_FILE ("arxml_types.galgas", 224)) ; + } + } + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = ioArgument_found.operator_not (SOURCE_FILE ("arxml_types.galgas", 227)).boolEnum () ; + if (kBoolTrue == test_2) { + cEnumerator_arxmlNodeList enumerator_4977 (this->mProperty_enclosedNodes, kENUMERATION_UP) ; + bool bool_3 = ioArgument_found.operator_not (SOURCE_FILE ("arxml_types.galgas", 229)).isValidAndTrue () ; + if (enumerator_4977.hasCurrentObject () && bool_3) { + while (enumerator_4977.hasCurrentObject () && bool_3) { + callExtensionMethod_getProperty ((cPtr_arxmlNode *) enumerator_4977.current_node (HERE).ptr (), constinArgument_nodeName, ioArgument_value, ioArgument_found, inCompiler COMMA_SOURCE_FILE ("arxml_types.galgas", 231)) ; + enumerator_4977.gotoNextObject () ; + if (enumerator_4977.hasCurrentObject ()) { + bool_3 = ioArgument_found.operator_not (SOURCE_FILE ("arxml_types.galgas", 229)).isValidAndTrue () ; + } + } + } + } + } +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@arxmlCommentNode print' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_arxmlCommentNode::method_print (const GALGAS_uint constinArgument_indentation, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string var_indent_5999 = GALGAS_string::constructor_stringWithSequenceOfCharacters (GALGAS_char (TO_UNICODE (32)), constinArgument_indentation COMMA_SOURCE_FILE ("arxml_types.galgas", 281)) ; + inCompiler->printMessage (var_indent_5999 COMMA_SOURCE_FILE ("arxml_types.galgas", 282)) ; + inCompiler->printMessage (GALGAS_string ("COMMENT \"").add_operation (this->mProperty_comment.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_types.galgas", 283)).add_operation (GALGAS_string ("\"\n"), inCompiler COMMA_SOURCE_FILE ("arxml_types.galgas", 283)) COMMA_SOURCE_FILE ("arxml_types.galgas", 283)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@arxmlCommentNode getElementsFromName' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_arxmlCommentNode::method_getElementsFromName (const GALGAS_string /* constinArgument_nodeName */, + GALGAS_arxmlElementList & /* ioArgument_nodeList */, + C_Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) { +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@arxmlCommentNode getSubElementsFromName' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_arxmlCommentNode::method_getSubElementsFromName (const GALGAS_string /* constinArgument_nodeName */, + GALGAS_arxmlElementList & /* ioArgument_nodeList */, + C_Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) { +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@arxmlCommentNode getProperty' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_arxmlCommentNode::method_getProperty (const GALGAS_string /* constinArgument_nodeName */, + GALGAS_lstring & /* ioArgument_value */, + GALGAS_bool & /* ioArgument_found */, + C_Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) { +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@arxmlTextNode print' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_arxmlTextNode::method_print (const GALGAS_uint constinArgument_indentation, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string var_indent_6756 = GALGAS_string::constructor_stringWithSequenceOfCharacters (GALGAS_char (TO_UNICODE (32)), constinArgument_indentation COMMA_SOURCE_FILE ("arxml_types.galgas", 316)) ; + inCompiler->printMessage (var_indent_6756 COMMA_SOURCE_FILE ("arxml_types.galgas", 317)) ; + inCompiler->printMessage (GALGAS_string ("TEXT \"").add_operation (this->mProperty_text.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("arxml_types.galgas", 318)).add_operation (GALGAS_string ("\"\n"), inCompiler COMMA_SOURCE_FILE ("arxml_types.galgas", 318)) COMMA_SOURCE_FILE ("arxml_types.galgas", 318)) ; +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@arxmlTextNode getElementsFromName' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_arxmlTextNode::method_getElementsFromName (const GALGAS_string /* constinArgument_nodeName */, + GALGAS_arxmlElementList & /* ioArgument_nodeList */, + C_Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) { +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@arxmlTextNode getSubElementsFromName' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_arxmlTextNode::method_getSubElementsFromName (const GALGAS_string /* constinArgument_nodeName */, + GALGAS_arxmlElementList & /* ioArgument_nodeList */, + C_Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) { +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@arxmlTextNode getProperty' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_arxmlTextNode::method_getProperty (const GALGAS_string /* constinArgument_nodeName */, + GALGAS_lstring & /* ioArgument_value */, + GALGAS_bool & /* ioArgument_found */, + C_Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) { +} +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'lstringhere' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_lstringhere (GALGAS_lstring & outArgument_string, + GALGAS_string inArgument_value, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + outArgument_string.drop () ; // Release 'out' argument + outArgument_string = GALGAS_lstring::constructor_new (inArgument_value, GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("arxmlmetaparser_syntax.galgas", 1148)) COMMA_SOURCE_FILE ("arxmlmetaparser_syntax.galgas", 1148)) ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'fillLegacy' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_fillLegacy (GALGAS_arxmlMetaClassMap & ioArgument_classMap, + GALGAS_arxmlMetaClassGraph & ioArgument_classGraph, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_stringlist var_sortedInfoList_32029 = ioArgument_classGraph.getter_keyList (SOURCE_FILE ("arxmlmetaparser_syntax.galgas", 1155)) ; + cEnumerator_stringlist enumerator_32083 (var_sortedInfoList_32029, kENUMERATION_UP) ; + while (enumerator_32083.hasCurrentObject ()) { + GALGAS_lstring var_lClassName_32146 ; + { + routine_lstringhere (var_lClassName_32146, enumerator_32083.current_mValue (HERE), inCompiler COMMA_SOURCE_FILE ("arxmlmetaparser_syntax.galgas", 1158)) ; + } + GALGAS_arxmlMetaClass var_lClass_32190 ; + ioArgument_classMap.method_searchKey (var_lClassName_32146, var_lClass_32190, inCompiler COMMA_SOURCE_FILE ("arxmlmetaparser_syntax.galgas", 1160)) ; + GALGAS_lstringlist var_fromList_32281 = GALGAS_lstringlist::constructor_emptyList (SOURCE_FILE ("arxmlmetaparser_syntax.galgas", 1163)) ; + { + var_fromList_32281.setter_insertAtIndex (var_lClass_32190.readProperty_name (), GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("arxmlmetaparser_syntax.galgas", 1164)) ; + } + GALGAS_stringset var_empty_32363 = GALGAS_stringset::constructor_emptySet (SOURCE_FILE ("arxmlmetaparser_syntax.galgas", 1165)) ; + GALGAS_lstringlist var_successorList_32402 = ioArgument_classGraph.getter_accessibleNodesFrom (var_fromList_32281, var_empty_32363, inCompiler COMMA_SOURCE_FILE ("arxmlmetaparser_syntax.galgas", 1166)) ; + { + var_lClass_32190.insulate (HERE) ; + cPtr_arxmlMetaClass * ptr_32555 = (cPtr_arxmlMetaClass *) var_lClass_32190.ptr () ; + callExtensionSetter_legacyAddParameters ((cPtr_arxmlMetaClass *) ptr_32555, ioArgument_classMap, var_successorList_32402, inCompiler COMMA_SOURCE_FILE ("arxmlmetaparser_syntax.galgas", 1169)) ; + } + enumerator_32083.gotoNextObject () ; + } +} + + +#include "project_header.h" +#include "command_line_interface/F_mainForLIBPM.h" +#include "command_line_interface/F_Analyze_CLI_Options.h" +#include "command_line_interface/C_builtin_CLI_Options.h" +#include "galgas2/C_galgas_CLI_Options.h" +#include "galgas2/F_verbose_output.h" +#include "galgas2/cLexiqueIntrospection.h" +#include "utilities/F_DisplayException.h" + +//---------------------------------------------------------------------------------------------------------------------- +// +// print_tool_help_message +// +//---------------------------------------------------------------------------------------------------------------------- + +static void print_tool_help_message (void) { + co << "Compiled with GALGAS revision NUMERO_REVISION_GALGAS\n" ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +static const char * kSourceFileExtensions [] = { + "oil", + "OIL", + "goilTemplate", + "arxml", + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +static const char * kSourceFileHelpMessages [] = { + "an '.oil' source file", + "an '.OIL' source file", + "a Goil template file", + "an AUTOSAR arxml configuration file", + nullptr +} ; + +//---------------------------------------------------------------------------------------------------------------------- + +const char * projectVersionString (void) { + return "3.1.16" ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'before' +// +//---------------------------------------------------------------------------------------------------------------------- + +static void routine_before (C_Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) { + { + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'after' +// +//---------------------------------------------------------------------------------------------------------------------- + +static void routine_after (C_Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) { + { + } +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'programRule_0' +// +//---------------------------------------------------------------------------------------------------------------------- + +static void routine_programRule_5F__30_ (const GALGAS_lstring constinArgument_inSourceFile, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + { + routine_checkTemplatesPath (inCompiler COMMA_SOURCE_FILE ("goil_program.galgas", 33)) ; + } + cGrammar_goil_5F_grammar::_performSourceFileParsing_ (inCompiler, constinArgument_inSourceFile COMMA_SOURCE_FILE ("goil_program.galgas", 34)) ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'programRule_1' +// +//---------------------------------------------------------------------------------------------------------------------- + +static void routine_programRule_5F__31_ (const GALGAS_lstring constinArgument_inSourceFile, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + { + routine_checkTemplatesPath (inCompiler COMMA_SOURCE_FILE ("goil_program.galgas", 38)) ; + } + cGrammar_goil_5F_grammar::_performSourceFileParsing_ (inCompiler, constinArgument_inSourceFile COMMA_SOURCE_FILE ("goil_program.galgas", 39)) ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'programRule_2' +// +//---------------------------------------------------------------------------------------------------------------------- + +static void routine_programRule_5F__32_ (const GALGAS_lstring /* constinArgument_inSourceFile */, + C_Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) { +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'programRule_3' +// +//---------------------------------------------------------------------------------------------------------------------- + +static void routine_programRule_5F__33_ (const GALGAS_lstring constinArgument_inSourceFile, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + { + routine_checkTemplatesPath (inCompiler COMMA_SOURCE_FILE ("goil_program.galgas", 48)) ; + } + GALGAS_arxmlNode var_root_1354 ; + var_root_1354.drop () ; + cGrammar_arxml_5F_grammar::_performSourceFileParsing_ (inCompiler, constinArgument_inSourceFile, var_root_1354, GALGAS_bool (true), GALGAS_bool (true) COMMA_SOURCE_FILE ("goil_program.galgas", 49)) ; + callExtensionMethod_print ((cPtr_arxmlNode *) var_root_1354.ptr (), GALGAS_uint (uint32_t (0U)), inCompiler COMMA_SOURCE_FILE ("goil_program.galgas", 53)) ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +// M A I N F O R L I B P M +// +//---------------------------------------------------------------------------------------------------------------------- + +int mainForLIBPM (int inArgc, const char * inArgv []) { +//--- Analyze Command Line Options + TC_UniqueArray sourceFilesArray ; + F_Analyze_CLI_Options (inArgc, inArgv, + sourceFilesArray, + kSourceFileExtensions, + kSourceFileHelpMessages, + print_tool_help_message) ; +//--- + int returnCode = 0 ; // No error +//--- Set Execution mode + C_String executionModeOptionErrorMessage ; + setExecutionMode (executionModeOptionErrorMessage) ; + if (executionModeOptionErrorMessage.length () > 0) { + co << executionModeOptionErrorMessage ; + returnCode = 1 ; + }else{ + //--- Common lexique object + C_Compiler * commonCompiler = nullptr ; + macroMyNew (commonCompiler, C_Compiler (nullptr COMMA_HERE)) ; + try{ + routine_before (commonCompiler COMMA_HERE) ; + cLexiqueIntrospection::handleGetKeywordListOption (commonCompiler) ; + const bool verboseOptionOn = verboseOutput () ; + for (int32_t i=0 ; ihere () ; + const GALGAS_lstring sourceFilePath (sfp, location) ; + int r = 0 ; + if (fileExtension == "oil") { + switch (executionMode ()) { + case kExecutionModeNormal : + routine_programRule_5F__30_ (sourceFilePath, commonCompiler COMMA_HERE) ; + break ; + case kExecutionModeLexicalAnalysisOnly : + commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=lexical-only\" option: no grammar in program RULE" COMMA_HERE) ; + break ; + case kExecutionModeSyntaxAnalysisOnly : + commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=syntax-only\" option: no grammar in program RULE" COMMA_HERE) ; + break ; + case kExecutionModeIndexing : + commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=indexing\" option: no grammar in program RULE" COMMA_HERE) ; + break ; + case kExecutionModeLatex : + commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=latex\" option: no grammar in program RULE" COMMA_HERE) ; + break ; + } + }else if (fileExtension == "OIL") { + switch (executionMode ()) { + case kExecutionModeNormal : + routine_programRule_5F__31_ (sourceFilePath, commonCompiler COMMA_HERE) ; + break ; + case kExecutionModeLexicalAnalysisOnly : + commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=lexical-only\" option: no grammar in program RULE" COMMA_HERE) ; + break ; + case kExecutionModeSyntaxAnalysisOnly : + commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=syntax-only\" option: no grammar in program RULE" COMMA_HERE) ; + break ; + case kExecutionModeIndexing : + commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=indexing\" option: no grammar in program RULE" COMMA_HERE) ; + break ; + case kExecutionModeLatex : + commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=latex\" option: no grammar in program RULE" COMMA_HERE) ; + break ; + } + }else if (fileExtension == "goilTemplate") { + switch (executionMode ()) { + case kExecutionModeNormal : + routine_programRule_5F__32_ (sourceFilePath, commonCompiler COMMA_HERE) ; + break ; + case kExecutionModeLexicalAnalysisOnly : + commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=lexical-only\" option: no grammar in program RULE" COMMA_HERE) ; + break ; + case kExecutionModeSyntaxAnalysisOnly : + commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=syntax-only\" option: no grammar in program RULE" COMMA_HERE) ; + break ; + case kExecutionModeIndexing : + commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=indexing\" option: no grammar in program RULE" COMMA_HERE) ; + break ; + case kExecutionModeLatex : + commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=latex\" option: no grammar in program RULE" COMMA_HERE) ; + break ; + } + }else if (fileExtension == "arxml") { + switch (executionMode ()) { + case kExecutionModeNormal : + routine_programRule_5F__33_ (sourceFilePath, commonCompiler COMMA_HERE) ; + break ; + case kExecutionModeLexicalAnalysisOnly : + commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=lexical-only\" option: no grammar in program RULE" COMMA_HERE) ; + break ; + case kExecutionModeSyntaxAnalysisOnly : + commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=syntax-only\" option: no grammar in program RULE" COMMA_HERE) ; + break ; + case kExecutionModeIndexing : + commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=indexing\" option: no grammar in program RULE" COMMA_HERE) ; + break ; + case kExecutionModeLatex : + commonCompiler->onTheFlyRunTimeError ("Cannot handle \"--mode=latex\" option: no grammar in program RULE" COMMA_HERE) ; + break ; + } + }else{ + printf ("*** Error: unhandled extension for file '%s' ***\n", sourceFilesArray (i COMMA_HERE).cString (HERE)) ; + r = 1 ; + } + if (r != 0) { + returnCode = r ; + } + } + //--- Error or warnings ? + if (totalErrorCount () > 0) { + returnCode = 1 ; // Error code + }else if (totalWarningCount () > 0) { + if (gOption_galgas_5F_builtin_5F_options_treat_5F_warnings_5F_as_5F_error.mValue) { + returnCode = 1 ; // Error code + if (verboseOptionOn) { + printf ("** Note: warnings are treated as errors. **\n") ; + } + } + } + //--- Epilogue + routine_after (commonCompiler COMMA_HERE) ; + //--- Emit JSON issue file ? + if (gOption_generic_5F_cli_5F_options_emit_5F_issue_5F_json_5F_file.mValue != "") { + commonCompiler->writeIssueJSONFile (gOption_generic_5F_cli_5F_options_emit_5F_issue_5F_json_5F_file.mValue) ; + } + //--- Display error and warnings count + if (verboseOptionOn || (totalWarningCount () > 0) || (totalErrorCount () > 0)) { + C_String message ; + if (totalWarningCount () == 0) { + message << "No warning" ; + }else if (totalWarningCount () == 1) { + message << "1 warning" ; + }else{ + message << cStringWithSigned (totalWarningCount ()) << " warnings" ; + } + message << ", " ; + if (totalErrorCount () == 0) { + message << "no error" ; + }else if (totalErrorCount () == 1) { + message << "1 error" ; + }else{ + message << cStringWithSigned (totalErrorCount ()) << " errors" ; + } + message << ".\n" ; + ggs_printMessage (message COMMA_HERE) ; + } + }catch (const ::std::exception & e) { + F_default_display_exception (e) ; + returnCode = 1 ; // Error code + }catch (...) { + printf ("**** Unknow exception ****\n") ; + throw ; + } + macroDetachSharedObject (commonCompiler) ; + } + return returnCode ; +} + diff --git a/goil/build/output/all-declarations-11.h b/goil/build/output/all-declarations-11.h new file mode 100644 index 000000000..c33911a78 --- /dev/null +++ b/goil/build/output/all-declarations-11.h @@ -0,0 +1,343 @@ +#pragma once + +//---------------------------------------------------------------------------------------------------------------------- + +#include "all-predefined-types.h" + +//---------------------------------------------------------------------------------------------------------------------- + +#include "all-declarations-10.h" + +//---------------------------------------------------------------------------------------------------------------------- +// +//Function 'emptyGoilContext' +// +//---------------------------------------------------------------------------------------------------------------------- + +class GALGAS_goilContext function_emptyGoilContext (class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'nodeToClassRes' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_nodeToClassRes (class GALGAS_arxmlElementNode inArgument0, + class GALGAS_arxmlMetaClassMap inArgument1, + class GALGAS_arxmlElementValue & outArgument2, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlDefinitionPackage' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlDefinitionPackage (class GALGAS_implementation & ioArgument0, + class GALGAS_applicationDefinition & ioArgument1, + class GALGAS_arxmlElementValue inArgument2, + class GALGAS_lstring inArgument3, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlImplementationPackage' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlImplementationPackage (class GALGAS_implementation & ioArgument0, + class GALGAS_arxmlElementValue inArgument1, + class GALGAS_lstring inArgument2, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlImplementationRoot' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlImplementationRoot (class GALGAS_implementation & ioArgument0, + class GALGAS_arxmlElementValue inArgument1, + class GALGAS_lstring inArgument2, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlGetDescription' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlGetDescription (class GALGAS_arxmlElementValue inArgument0, + class GALGAS_lstring & outArgument1, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlImplementationObject' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlImplementationObject (class GALGAS_implementation & ioArgument0, + class GALGAS_arxmlElementValue inArgument1, + class GALGAS_lstring inArgument2, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlGetMultiplicity' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlGetMultiplicity (class GALGAS_arxmlElementValue inArgument0, + class GALGAS_lstring inArgument1, + class GALGAS_lbool & outArgument2, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlImplementationContainer' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlImplementationContainer (class GALGAS_implementationObjectMap & ioArgument0, + class GALGAS_arxmlElementValue inArgument1, + class GALGAS_lstring inArgument2, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlImplementationContainerBoolean' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlImplementationContainerBoolean (class GALGAS_lstring & outArgument0, + class GALGAS_impType & outArgument1, + const class GALGAS_dataType constinArgument2, + class GALGAS_arxmlElementValue inArgument3, + class GALGAS_lstring inArgument4, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlImplementationContainerEnumeration' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlImplementationContainerEnumeration (class GALGAS_lstring & outArgument0, + class GALGAS_impType & outArgument1, + const class GALGAS_dataType constinArgument2, + class GALGAS_arxmlElementValue inArgument3, + class GALGAS_lstring inArgument4, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlImplementationContainerIdentifier' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlImplementationContainerIdentifier (class GALGAS_lstring & outArgument0, + class GALGAS_impType & outArgument1, + const class GALGAS_dataType constinArgument2, + class GALGAS_arxmlElementValue inArgument3, + class GALGAS_lstring inArgument4, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlImplementationContainerNumber' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlImplementationContainerNumber (class GALGAS_lstring & outArgument0, + class GALGAS_impType & outArgument1, + const class GALGAS_dataType constinArgument2, + class GALGAS_arxmlElementValue inArgument3, + class GALGAS_lstring inArgument4, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlImplementationContainerReference' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlImplementationContainerReference (class GALGAS_lstring & outArgument0, + class GALGAS_impType & outArgument1, + const class GALGAS_dataType constinArgument2, + class GALGAS_arxmlElementValue inArgument3, + class GALGAS_lstring inArgument4, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlImplementationContainerString' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlImplementationContainerString (class GALGAS_lstring & outArgument0, + class GALGAS_impType & outArgument1, + const class GALGAS_dataType constinArgument2, + class GALGAS_arxmlElementValue inArgument3, + class GALGAS_lstring inArgument4, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlImplementationContainerStructure' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlImplementationContainerStructure (class GALGAS_lstring & outArgument0, + class GALGAS_impType & outArgument1, + const class GALGAS_dataType constinArgument2, + class GALGAS_arxmlElementValue inArgument3, + class GALGAS_lstring inArgument4, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlInsertObjectAttribute' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlInsertObjectAttribute (class GALGAS_implementationObjectMap & ioArgument0, + class GALGAS_lstring inArgument1, + class GALGAS_impType inArgument2, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlGetName' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlGetName (class GALGAS_arxmlElementValue inArgument0, + class GALGAS_lstring & outArgument1, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlGetWithAuto' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlGetWithAuto (class GALGAS_arxmlElementValue inArgument0, + class GALGAS_bool & outArgument1, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlPopSign' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlPopSign (class GALGAS_lstring & ioArgument0, + class GALGAS_bool & outArgument1, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlDefinitionRoot' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlDefinitionRoot (class GALGAS_implementation & ioArgument0, + class GALGAS_applicationDefinition & ioArgument1, + class GALGAS_arxmlElementValue inArgument2, + class GALGAS_lstring inArgument3, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlDefinitionObject' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlDefinitionObject (class GALGAS_implementation & ioArgument0, + class GALGAS_objectsMap & ioArgument1, + class GALGAS_arxmlElementValue inArgument2, + class GALGAS_lstring inArgument3, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlDefinitionContainer' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlDefinitionContainer (const class GALGAS_implementationObjectMap constinArgument0, + class GALGAS_objectAttributes & ioArgument1, + class GALGAS_arxmlElementValue inArgument2, + class GALGAS_lstring inArgument3, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'oilEquivalentName' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_oilEquivalentName (class GALGAS_lstring inArgument0, + class GALGAS_lstring inArgument1, + class GALGAS_lstring & outArgument2, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlDefinitionParameter' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_arxmlDefinitionParameter (const class GALGAS_implementationObjectMap constinArgument0, + class GALGAS_objectAttributes & ioArgument1, + class GALGAS_arxmlElementValue inArgument2, + class GALGAS_lstring inArgument3, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'testTypeError' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_testTypeError (class GALGAS_dataType inArgument0, + class GALGAS_lstring inArgument1, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + +//---------------------------------------------------------------------------------------------------------------------- +// +//Routine 'print' +// +//---------------------------------------------------------------------------------------------------------------------- + +void routine_print (const class GALGAS_string constinArgument0, + class C_Compiler * inCompiler + COMMA_LOCATION_ARGS) ; + diff --git a/goil/build/output/all-declarations-2.cpp b/goil/build/output/all-declarations-2.cpp index a1c067717..3a0dc5e72 100644 --- a/goil/build/output/all-declarations-2.cpp +++ b/goil/build/output/all-declarations-2.cpp @@ -1,20 +1,20 @@ -#include "Compiler.h" -#include "C_galgas_io.h" -#include "C_galgas_CLI_Options.h" -#include "PrologueEpilogue.h" +#include "galgas2/C_Compiler.h" +#include "galgas2/C_galgas_io.h" +#include "galgas2/C_galgas_CLI_Options.h" +#include "utilities/C_PrologueEpilogue.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- #include "all-declarations-2.h" -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -typeComparisonResult cPtr_floatAttributeMinMax::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { +typeComparisonResult cPtr_uint_36__34_AttributeMinMax::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; - const cPtr_floatAttributeMinMax * p = (const cPtr_floatAttributeMinMax *) inOperandPtr ; - macroValidSharedObject (p, cPtr_floatAttributeMinMax) ; + const cPtr_uint_36__34_AttributeMinMax * p = (const cPtr_uint_36__34_AttributeMinMax *) inOperandPtr ; + macroValidSharedObject (p, cPtr_uint_36__34_AttributeMinMax) ; if (kOperandEqual == result) { result = mProperty_location.objectCompare (p->mProperty_location) ; } @@ -27,10 +27,10 @@ typeComparisonResult cPtr_floatAttributeMinMax::dynamicObjectCompare (const acPt return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -typeComparisonResult GALGAS_floatAttributeMinMax::objectCompare (const GALGAS_floatAttributeMinMax & inOperand) const { +typeComparisonResult GALGAS_uint_36__34_AttributeMinMax::objectCompare (const GALGAS_uint_36__34_AttributeMinMax & inOperand) const { typeComparisonResult result = kOperandNotValid ; if (isValid () && inOperand.isValid ()) { const int32_t mySlot = mObjectPtr->classDescriptor ()->mSlotID ; @@ -46,1375 +46,1418 @@ typeComparisonResult GALGAS_floatAttributeMinMax::objectCompare (const GALGAS_fl return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_floatAttributeMinMax::GALGAS_floatAttributeMinMax (void) : +GALGAS_uint_36__34_AttributeMinMax::GALGAS_uint_36__34_AttributeMinMax (void) : GALGAS_attributeRange () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_floatAttributeMinMax::GALGAS_floatAttributeMinMax (const cPtr_floatAttributeMinMax * inSourcePtr) : +GALGAS_uint_36__34_AttributeMinMax GALGAS_uint_36__34_AttributeMinMax::constructor_default (LOCATION_ARGS) { + return GALGAS_uint_36__34_AttributeMinMax::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_uint_36__34_::constructor_default (HERE), + GALGAS_uint_36__34_::constructor_default (HERE) + COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_uint_36__34_AttributeMinMax::GALGAS_uint_36__34_AttributeMinMax (const cPtr_uint_36__34_AttributeMinMax * inSourcePtr) : GALGAS_attributeRange (inSourcePtr) { - macroNullOrValidSharedObject (inSourcePtr, cPtr_floatAttributeMinMax) ; + macroNullOrValidSharedObject (inSourcePtr, cPtr_uint_36__34_AttributeMinMax) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_floatAttributeMinMax GALGAS_floatAttributeMinMax::class_func_new (const GALGAS_location & inAttribute_location, - const GALGAS_double & inAttribute_min, - const GALGAS_double & inAttribute_max - COMMA_LOCATION_ARGS) { - GALGAS_floatAttributeMinMax result ; +GALGAS_uint_36__34_AttributeMinMax GALGAS_uint_36__34_AttributeMinMax::constructor_new (const GALGAS_location & inAttribute_location, + const GALGAS_uint_36__34_ & inAttribute_min, + const GALGAS_uint_36__34_ & inAttribute_max + COMMA_LOCATION_ARGS) { + GALGAS_uint_36__34_AttributeMinMax result ; if (inAttribute_location.isValid () && inAttribute_min.isValid () && inAttribute_max.isValid ()) { - macroMyNew (result.mObjectPtr, cPtr_floatAttributeMinMax (inAttribute_location, inAttribute_min, inAttribute_max COMMA_THERE)) ; + macroMyNew (result.mObjectPtr, cPtr_uint_36__34_AttributeMinMax (inAttribute_location, inAttribute_min, inAttribute_max COMMA_THERE)) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_double GALGAS_floatAttributeMinMax::readProperty_min (void) const { +GALGAS_uint_36__34_ GALGAS_uint_36__34_AttributeMinMax::readProperty_min (void) const { if (nullptr == mObjectPtr) { - return GALGAS_double () ; + return GALGAS_uint_36__34_ () ; }else{ - const cPtr_floatAttributeMinMax * p = (const cPtr_floatAttributeMinMax *) mObjectPtr ; - macroValidSharedObject (p, cPtr_floatAttributeMinMax) ; + const cPtr_uint_36__34_AttributeMinMax * p = (const cPtr_uint_36__34_AttributeMinMax *) mObjectPtr ; + macroValidSharedObject (p, cPtr_uint_36__34_AttributeMinMax) ; return p->mProperty_min ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_double cPtr_floatAttributeMinMax::getter_min (UNUSED_LOCATION_ARGS) const { +GALGAS_uint_36__34_ cPtr_uint_36__34_AttributeMinMax::getter_min (UNUSED_LOCATION_ARGS) const { return mProperty_min ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_double GALGAS_floatAttributeMinMax::readProperty_max (void) const { +GALGAS_uint_36__34_ GALGAS_uint_36__34_AttributeMinMax::readProperty_max (void) const { if (nullptr == mObjectPtr) { - return GALGAS_double () ; + return GALGAS_uint_36__34_ () ; }else{ - const cPtr_floatAttributeMinMax * p = (const cPtr_floatAttributeMinMax *) mObjectPtr ; - macroValidSharedObject (p, cPtr_floatAttributeMinMax) ; + const cPtr_uint_36__34_AttributeMinMax * p = (const cPtr_uint_36__34_AttributeMinMax *) mObjectPtr ; + macroValidSharedObject (p, cPtr_uint_36__34_AttributeMinMax) ; return p->mProperty_max ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_double cPtr_floatAttributeMinMax::getter_max (UNUSED_LOCATION_ARGS) const { +GALGAS_uint_36__34_ cPtr_uint_36__34_AttributeMinMax::getter_max (UNUSED_LOCATION_ARGS) const { return mProperty_max ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_floatAttributeMinMax::setter_setMin (GALGAS_double inValue - COMMA_LOCATION_ARGS) { +void GALGAS_uint_36__34_AttributeMinMax::setter_setMin (GALGAS_uint_36__34_ inValue + COMMA_LOCATION_ARGS) { if (nullptr != mObjectPtr) { insulate (THERE) ; - cPtr_floatAttributeMinMax * p = (cPtr_floatAttributeMinMax *) mObjectPtr ; - macroValidSharedObject (p, cPtr_floatAttributeMinMax) ; + cPtr_uint_36__34_AttributeMinMax * p = (cPtr_uint_36__34_AttributeMinMax *) mObjectPtr ; + macroValidSharedObject (p, cPtr_uint_36__34_AttributeMinMax) ; p->mProperty_min = inValue ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_floatAttributeMinMax::setter_setMin (GALGAS_double inValue - COMMA_UNUSED_LOCATION_ARGS) { +void cPtr_uint_36__34_AttributeMinMax::setter_setMin (GALGAS_uint_36__34_ inValue + COMMA_UNUSED_LOCATION_ARGS) { mProperty_min = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_floatAttributeMinMax::setter_setMax (GALGAS_double inValue - COMMA_LOCATION_ARGS) { +void GALGAS_uint_36__34_AttributeMinMax::setter_setMax (GALGAS_uint_36__34_ inValue + COMMA_LOCATION_ARGS) { if (nullptr != mObjectPtr) { insulate (THERE) ; - cPtr_floatAttributeMinMax * p = (cPtr_floatAttributeMinMax *) mObjectPtr ; - macroValidSharedObject (p, cPtr_floatAttributeMinMax) ; + cPtr_uint_36__34_AttributeMinMax * p = (cPtr_uint_36__34_AttributeMinMax *) mObjectPtr ; + macroValidSharedObject (p, cPtr_uint_36__34_AttributeMinMax) ; p->mProperty_max = inValue ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_floatAttributeMinMax::setter_setMax (GALGAS_double inValue - COMMA_UNUSED_LOCATION_ARGS) { +void cPtr_uint_36__34_AttributeMinMax::setter_setMax (GALGAS_uint_36__34_ inValue + COMMA_UNUSED_LOCATION_ARGS) { mProperty_max = inValue ; } -//-------------------------------------------------------------------------------------------------- -//Pointer class for @floatAttributeMinMax class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +//Pointer class for @uint64AttributeMinMax class +//---------------------------------------------------------------------------------------------------------------------- -cPtr_floatAttributeMinMax::cPtr_floatAttributeMinMax (const GALGAS_location & in_location, - const GALGAS_double & in_min, - const GALGAS_double & in_max - COMMA_LOCATION_ARGS) : +cPtr_uint_36__34_AttributeMinMax::cPtr_uint_36__34_AttributeMinMax (const GALGAS_location & in_location, + const GALGAS_uint_36__34_ & in_min, + const GALGAS_uint_36__34_ & in_max + COMMA_LOCATION_ARGS) : cPtr_attributeRange (in_location COMMA_THERE), mProperty_min (in_min), mProperty_max (in_max) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * cPtr_floatAttributeMinMax::classDescriptor (void) const { - return & kTypeDescriptor_GALGAS_floatAttributeMinMax ; +const C_galgas_type_descriptor * cPtr_uint_36__34_AttributeMinMax::classDescriptor (void) const { + return & kTypeDescriptor_GALGAS_uint_36__34_AttributeMinMax ; } -void cPtr_floatAttributeMinMax::description (String & ioString, - const int32_t inIndentation) const { - ioString.appendCString ("[@floatAttributeMinMax:") ; +void cPtr_uint_36__34_AttributeMinMax::description (C_String & ioString, + const int32_t inIndentation) const { + ioString << "[@uint64AttributeMinMax:" ; mProperty_location.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_min.description (ioString, inIndentation+1) ; - ioString.appendCString (", ") ; + ioString << ", " ; mProperty_max.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -acPtr_class * cPtr_floatAttributeMinMax::duplicate (LOCATION_ARGS) const { +acPtr_class * cPtr_uint_36__34_AttributeMinMax::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; - macroMyNew (ptr, cPtr_floatAttributeMinMax (mProperty_location, mProperty_min, mProperty_max COMMA_THERE)) ; + macroMyNew (ptr, cPtr_uint_36__34_AttributeMinMax (mProperty_location, mProperty_min, mProperty_max COMMA_THERE)) ; return ptr ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// @floatAttributeMinMax generic code implementation +// @uint64AttributeMinMax generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_floatAttributeMinMax ("floatAttributeMinMax", - & kTypeDescriptor_GALGAS_attributeRange) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_uint_36__34_AttributeMinMax ("uint64AttributeMinMax", + & kTypeDescriptor_GALGAS_attributeRange) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_floatAttributeMinMax::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_floatAttributeMinMax ; +const C_galgas_type_descriptor * GALGAS_uint_36__34_AttributeMinMax::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_uint_36__34_AttributeMinMax ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_floatAttributeMinMax::clonedObject (void) const { +AC_GALGAS_root * GALGAS_uint_36__34_AttributeMinMax::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; if (isValid ()) { - macroMyNew (result, GALGAS_floatAttributeMinMax (*this)) ; + macroMyNew (result, GALGAS_uint_36__34_AttributeMinMax (*this)) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_floatAttributeMinMax GALGAS_floatAttributeMinMax::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_floatAttributeMinMax result ; - const GALGAS_floatAttributeMinMax * p = (const GALGAS_floatAttributeMinMax *) inObject.embeddedObject () ; +GALGAS_uint_36__34_AttributeMinMax GALGAS_uint_36__34_AttributeMinMax::extractObject (const GALGAS_object & inObject, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_uint_36__34_AttributeMinMax result ; + const GALGAS_uint_36__34_AttributeMinMax * p = (const GALGAS_uint_36__34_AttributeMinMax *) inObject.embeddedObject () ; if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { + if (nullptr != dynamic_cast (p)) { result = *p ; }else{ - inCompiler->castError ("floatAttributeMinMax", p->dynamicTypeDescriptor () COMMA_THERE) ; + inCompiler->castError ("uint64AttributeMinMax", p->dynamicTypeDescriptor () COMMA_THERE) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- -// -//Class for element of '@locationList' list -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// Object comparison +//---------------------------------------------------------------------------------------------------------------------- -class cCollectionElement_locationList : public cCollectionElement { - public: GALGAS_locationList_2D_element mObject ; +typeComparisonResult cPtr_sint_33__32_AttributeMinMax::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { + typeComparisonResult result = kOperandEqual ; + const cPtr_sint_33__32_AttributeMinMax * p = (const cPtr_sint_33__32_AttributeMinMax *) inOperandPtr ; + macroValidSharedObject (p, cPtr_sint_33__32_AttributeMinMax) ; + if (kOperandEqual == result) { + result = mProperty_location.objectCompare (p->mProperty_location) ; + } + if (kOperandEqual == result) { + result = mProperty_min.objectCompare (p->mProperty_min) ; + } + if (kOperandEqual == result) { + result = mProperty_max.objectCompare (p->mProperty_max) ; + } + return result ; +} -//--- Class functions - public: cCollectionElement_locationList (const GALGAS_location & in_location - COMMA_LOCATION_ARGS) ; - public: cCollectionElement_locationList (const GALGAS_locationList_2D_element & inElement COMMA_LOCATION_ARGS) ; +//---------------------------------------------------------------------------------------------------------------------- -//--- Virtual method for comparing elements - public: virtual typeComparisonResult compare (const cCollectionElement * inOperand) const ; -//--- Virtual method that checks that all attributes are valid - public: virtual bool isValid (void) const ; +typeComparisonResult GALGAS_sint_33__32_AttributeMinMax::objectCompare (const GALGAS_sint_33__32_AttributeMinMax & inOperand) const { + typeComparisonResult result = kOperandNotValid ; + if (isValid () && inOperand.isValid ()) { + const int32_t mySlot = mObjectPtr->classDescriptor ()->mSlotID ; + const int32_t operandSlot = inOperand.mObjectPtr->classDescriptor ()->mSlotID ; + if (mySlot < operandSlot) { + result = kFirstOperandLowerThanSecond ; + }else if (mySlot > operandSlot) { + result = kFirstOperandGreaterThanSecond ; + }else{ + result = mObjectPtr->dynamicObjectCompare (inOperand.mObjectPtr) ; + } + } + return result ; +} -//--- Virtual method that returns a copy of current object - public: virtual cCollectionElement * copy (void) ; +//---------------------------------------------------------------------------------------------------------------------- -//--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; -} ; +GALGAS_sint_33__32_AttributeMinMax::GALGAS_sint_33__32_AttributeMinMax (void) : +GALGAS_attributeRange () { +} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cCollectionElement_locationList::cCollectionElement_locationList (const GALGAS_location & in_location - COMMA_LOCATION_ARGS) : -cCollectionElement (THERE), -mObject (in_location) { +GALGAS_sint_33__32_AttributeMinMax GALGAS_sint_33__32_AttributeMinMax::constructor_default (LOCATION_ARGS) { + return GALGAS_sint_33__32_AttributeMinMax::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_sint::constructor_default (HERE), + GALGAS_sint::constructor_default (HERE) + COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cCollectionElement_locationList::cCollectionElement_locationList (const GALGAS_locationList_2D_element & inElement COMMA_LOCATION_ARGS) : -cCollectionElement (THERE), -mObject (inElement.mProperty_location) { +GALGAS_sint_33__32_AttributeMinMax::GALGAS_sint_33__32_AttributeMinMax (const cPtr_sint_33__32_AttributeMinMax * inSourcePtr) : +GALGAS_attributeRange (inSourcePtr) { + macroNullOrValidSharedObject (inSourcePtr, cPtr_sint_33__32_AttributeMinMax) ; } +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- - -bool cCollectionElement_locationList::isValid (void) const { - return true ; +GALGAS_sint_33__32_AttributeMinMax GALGAS_sint_33__32_AttributeMinMax::constructor_new (const GALGAS_location & inAttribute_location, + const GALGAS_sint & inAttribute_min, + const GALGAS_sint & inAttribute_max + COMMA_LOCATION_ARGS) { + GALGAS_sint_33__32_AttributeMinMax result ; + if (inAttribute_location.isValid () && inAttribute_min.isValid () && inAttribute_max.isValid ()) { + macroMyNew (result.mObjectPtr, cPtr_sint_33__32_AttributeMinMax (inAttribute_location, inAttribute_min, inAttribute_max COMMA_THERE)) ; + } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cCollectionElement * cCollectionElement_locationList::copy (void) { - cCollectionElement * result = nullptr ; - macroMyNew (result, cCollectionElement_locationList (mObject.mProperty_location COMMA_HERE)) ; - return result ; +GALGAS_sint GALGAS_sint_33__32_AttributeMinMax::readProperty_min (void) const { + if (nullptr == mObjectPtr) { + return GALGAS_sint () ; + }else{ + const cPtr_sint_33__32_AttributeMinMax * p = (const cPtr_sint_33__32_AttributeMinMax *) mObjectPtr ; + macroValidSharedObject (p, cPtr_sint_33__32_AttributeMinMax) ; + return p->mProperty_min ; + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cCollectionElement_locationList::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("location" ":") ; - mObject.mProperty_location.description (ioString, inIndentation) ; +GALGAS_sint cPtr_sint_33__32_AttributeMinMax::getter_min (UNUSED_LOCATION_ARGS) const { + return mProperty_min ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -typeComparisonResult cCollectionElement_locationList::compare (const cCollectionElement * inOperand) const { - cCollectionElement_locationList * operand = (cCollectionElement_locationList *) inOperand ; - macroValidSharedObject (operand, cCollectionElement_locationList) ; - return mObject.objectCompare (operand->mObject) ; +GALGAS_sint GALGAS_sint_33__32_AttributeMinMax::readProperty_max (void) const { + if (nullptr == mObjectPtr) { + return GALGAS_sint () ; + }else{ + const cPtr_sint_33__32_AttributeMinMax * p = (const cPtr_sint_33__32_AttributeMinMax *) mObjectPtr ; + macroValidSharedObject (p, cPtr_sint_33__32_AttributeMinMax) ; + return p->mProperty_max ; + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_locationList::GALGAS_locationList (void) : -AC_GALGAS_list () { +GALGAS_sint cPtr_sint_33__32_AttributeMinMax::getter_max (UNUSED_LOCATION_ARGS) const { + return mProperty_max ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_locationList::GALGAS_locationList (const capCollectionElementArray & inSharedArray) : -AC_GALGAS_list (inSharedArray) { +void GALGAS_sint_33__32_AttributeMinMax::setter_setMin (GALGAS_sint inValue + COMMA_LOCATION_ARGS) { + if (nullptr != mObjectPtr) { + insulate (THERE) ; + cPtr_sint_33__32_AttributeMinMax * p = (cPtr_sint_33__32_AttributeMinMax *) mObjectPtr ; + macroValidSharedObject (p, cPtr_sint_33__32_AttributeMinMax) ; + p->mProperty_min = inValue ; + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_locationList GALGAS_locationList::class_func_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_locationList (capCollectionElementArray ()) ; +void cPtr_sint_33__32_AttributeMinMax::setter_setMin (GALGAS_sint inValue + COMMA_UNUSED_LOCATION_ARGS) { + mProperty_min = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_locationList GALGAS_locationList::class_func_listWithValue (const GALGAS_location & inOperand0 - COMMA_LOCATION_ARGS) { - GALGAS_locationList result ; - if (inOperand0.isValid ()) { - result = GALGAS_locationList (capCollectionElementArray ()) ; - capCollectionElement attributes ; - GALGAS_locationList::makeAttributesFromObjects (attributes, inOperand0 COMMA_THERE) ; - result.appendObject (attributes) ; +void GALGAS_sint_33__32_AttributeMinMax::setter_setMax (GALGAS_sint inValue + COMMA_LOCATION_ARGS) { + if (nullptr != mObjectPtr) { + insulate (THERE) ; + cPtr_sint_33__32_AttributeMinMax * p = (cPtr_sint_33__32_AttributeMinMax *) mObjectPtr ; + macroValidSharedObject (p, cPtr_sint_33__32_AttributeMinMax) ; + p->mProperty_max = inValue ; } - return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_locationList::makeAttributesFromObjects (capCollectionElement & outAttributes, - const GALGAS_location & in_location - COMMA_LOCATION_ARGS) { - cCollectionElement_locationList * p = nullptr ; - macroMyNew (p, cCollectionElement_locationList (in_location COMMA_THERE)) ; - outAttributes.setPointer (p) ; - macroDetachSharedObject (p) ; +void cPtr_sint_33__32_AttributeMinMax::setter_setMax (GALGAS_sint inValue + COMMA_UNUSED_LOCATION_ARGS) { + mProperty_max = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +//Pointer class for @sint32AttributeMinMax class +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_locationList::addAssign_operation (const GALGAS_location & inOperand0 - COMMA_LOCATION_ARGS) { - if (isValid ()) { - cCollectionElement * p = nullptr ; - macroMyNew (p, cCollectionElement_locationList (inOperand0 COMMA_THERE)) ; - capCollectionElement attributes ; - attributes.setPointer (p) ; - macroDetachSharedObject (p) ; - appendObject (attributes) ; - } +cPtr_sint_33__32_AttributeMinMax::cPtr_sint_33__32_AttributeMinMax (const GALGAS_location & in_location, + const GALGAS_sint & in_min, + const GALGAS_sint & in_max + COMMA_LOCATION_ARGS) : +cPtr_attributeRange (in_location COMMA_THERE), +mProperty_min (in_min), +mProperty_max (in_max) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_locationList::setter_append (const GALGAS_location inOperand0, - Compiler * /* inCompiler */ - COMMA_LOCATION_ARGS) { - if (isValid ()) { - cCollectionElement * p = nullptr ; - macroMyNew (p, cCollectionElement_locationList (inOperand0 COMMA_THERE)) ; - capCollectionElement attributes ; - attributes.setPointer (p) ; - macroDetachSharedObject (p) ; - appendObject (attributes) ; - } +const C_galgas_type_descriptor * cPtr_sint_33__32_AttributeMinMax::classDescriptor (void) const { + return & kTypeDescriptor_GALGAS_sint_33__32_AttributeMinMax ; } -//-------------------------------------------------------------------------------------------------- +void cPtr_sint_33__32_AttributeMinMax::description (C_String & ioString, + const int32_t inIndentation) const { + ioString << "[@sint32AttributeMinMax:" ; + mProperty_location.description (ioString, inIndentation+1) ; + ioString << ", " ; + mProperty_min.description (ioString, inIndentation+1) ; + ioString << ", " ; + mProperty_max.description (ioString, inIndentation+1) ; + ioString << "]" ; +} -void GALGAS_locationList::setter_insertAtIndex (const GALGAS_location inOperand0, - const GALGAS_uint inInsertionIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - if (isValid ()) { - if (inInsertionIndex.isValid () && inOperand0.isValid ()) { - cCollectionElement * p = nullptr ; - macroMyNew (p, cCollectionElement_locationList (inOperand0 COMMA_THERE)) ; - capCollectionElement attributes ; - attributes.setPointer (p) ; - macroDetachSharedObject (p) ; - insertObjectAtIndex (attributes, inInsertionIndex.uintValue (), inCompiler COMMA_THERE) ; - }else{ - drop () ; - } - } +//---------------------------------------------------------------------------------------------------------------------- + +acPtr_class * cPtr_sint_33__32_AttributeMinMax::duplicate (LOCATION_ARGS) const { + acPtr_class * ptr = nullptr ; + macroMyNew (ptr, cPtr_sint_33__32_AttributeMinMax (mProperty_location, mProperty_min, mProperty_max COMMA_THERE)) ; + return ptr ; } -//-------------------------------------------------------------------------------------------------- -void GALGAS_locationList::setter_removeAtIndex (GALGAS_location & outOperand0, - const GALGAS_uint inRemoveIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - if (isValid ()) { - if (inRemoveIndex.isValid ()) { - capCollectionElement attributes ; - removeObjectAtIndex (attributes, inRemoveIndex.uintValue (), inCompiler COMMA_THERE) ; - cCollectionElement_locationList * p = (cCollectionElement_locationList *) attributes.ptr () ; - if (nullptr == p) { - outOperand0.drop () ; - drop () ; - }else{ - macroValidSharedObject (p, cCollectionElement_locationList) ; - outOperand0 = p->mObject.mProperty_location ; - } - }else{ - outOperand0.drop () ; - drop () ; - } - }else{ - outOperand0.drop () ; - } +//---------------------------------------------------------------------------------------------------------------------- +// +// @sint32AttributeMinMax generic code implementation +// +//---------------------------------------------------------------------------------------------------------------------- + +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_sint_33__32_AttributeMinMax ("sint32AttributeMinMax", + & kTypeDescriptor_GALGAS_attributeRange) ; + +//---------------------------------------------------------------------------------------------------------------------- + +const C_galgas_type_descriptor * GALGAS_sint_33__32_AttributeMinMax::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_sint_33__32_AttributeMinMax ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_locationList::setter_popFirst (GALGAS_location & outOperand0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - capCollectionElement attributes ; - removeFirstObject (attributes, inCompiler COMMA_THERE) ; - cCollectionElement_locationList * p = (cCollectionElement_locationList *) attributes.ptr () ; - if (nullptr == p) { - outOperand0.drop () ; - }else{ - macroValidSharedObject (p, cCollectionElement_locationList) ; - outOperand0 = p->mObject.mProperty_location ; +AC_GALGAS_root * GALGAS_sint_33__32_AttributeMinMax::clonedObject (void) const { + AC_GALGAS_root * result = nullptr ; + if (isValid ()) { + macroMyNew (result, GALGAS_sint_33__32_AttributeMinMax (*this)) ; } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_locationList::setter_popLast (GALGAS_location & outOperand0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - capCollectionElement attributes ; - removeLastObject (attributes, inCompiler COMMA_THERE) ; - cCollectionElement_locationList * p = (cCollectionElement_locationList *) attributes.ptr () ; - if (nullptr == p) { - outOperand0.drop () ; - }else{ - macroValidSharedObject (p, cCollectionElement_locationList) ; - outOperand0 = p->mObject.mProperty_location ; +GALGAS_sint_33__32_AttributeMinMax GALGAS_sint_33__32_AttributeMinMax::extractObject (const GALGAS_object & inObject, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_sint_33__32_AttributeMinMax result ; + const GALGAS_sint_33__32_AttributeMinMax * p = (const GALGAS_sint_33__32_AttributeMinMax *) inObject.embeddedObject () ; + if (nullptr != p) { + if (nullptr != dynamic_cast (p)) { + result = *p ; + }else{ + inCompiler->castError ("sint32AttributeMinMax", p->dynamicTypeDescriptor () COMMA_THERE) ; + } } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// Object comparison +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_locationList::method_first (GALGAS_location & outOperand0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - capCollectionElement attributes ; - readFirst (attributes, inCompiler COMMA_THERE) ; - cCollectionElement_locationList * p = (cCollectionElement_locationList *) attributes.ptr () ; - if (nullptr == p) { - outOperand0.drop () ; - }else{ - macroValidSharedObject (p, cCollectionElement_locationList) ; - outOperand0 = p->mObject.mProperty_location ; +typeComparisonResult cPtr_sint_36__34_AttributeMinMax::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { + typeComparisonResult result = kOperandEqual ; + const cPtr_sint_36__34_AttributeMinMax * p = (const cPtr_sint_36__34_AttributeMinMax *) inOperandPtr ; + macroValidSharedObject (p, cPtr_sint_36__34_AttributeMinMax) ; + if (kOperandEqual == result) { + result = mProperty_location.objectCompare (p->mProperty_location) ; } -} - -//-------------------------------------------------------------------------------------------------- - -void GALGAS_locationList::method_last (GALGAS_location & outOperand0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - capCollectionElement attributes ; - readLast (attributes, inCompiler COMMA_THERE) ; - cCollectionElement_locationList * p = (cCollectionElement_locationList *) attributes.ptr () ; - if (nullptr == p) { - outOperand0.drop () ; - }else{ - macroValidSharedObject (p, cCollectionElement_locationList) ; - outOperand0 = p->mObject.mProperty_location ; + if (kOperandEqual == result) { + result = mProperty_min.objectCompare (p->mProperty_min) ; + } + if (kOperandEqual == result) { + result = mProperty_max.objectCompare (p->mProperty_max) ; } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_locationList GALGAS_locationList::add_operation (const GALGAS_locationList & inOperand, - Compiler * /* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_locationList result ; + +typeComparisonResult GALGAS_sint_36__34_AttributeMinMax::objectCompare (const GALGAS_sint_36__34_AttributeMinMax & inOperand) const { + typeComparisonResult result = kOperandNotValid ; if (isValid () && inOperand.isValid ()) { - result = *this ; - result.appendList (inOperand) ; + const int32_t mySlot = mObjectPtr->classDescriptor ()->mSlotID ; + const int32_t operandSlot = inOperand.mObjectPtr->classDescriptor ()->mSlotID ; + if (mySlot < operandSlot) { + result = kFirstOperandLowerThanSecond ; + }else if (mySlot > operandSlot) { + result = kFirstOperandGreaterThanSecond ; + }else{ + result = mObjectPtr->dynamicObjectCompare (inOperand.mObjectPtr) ; + } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_locationList GALGAS_locationList::getter_subListWithRange (const GALGAS_range & inRange, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_locationList result = GALGAS_locationList::class_func_emptyList (THERE) ; - subListWithRange (result, inRange, inCompiler COMMA_THERE) ; - return result ; +GALGAS_sint_36__34_AttributeMinMax::GALGAS_sint_36__34_AttributeMinMax (void) : +GALGAS_attributeRange () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_locationList GALGAS_locationList::getter_subListFromIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_locationList result = GALGAS_locationList::class_func_emptyList (THERE) ; - subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; - return result ; +GALGAS_sint_36__34_AttributeMinMax GALGAS_sint_36__34_AttributeMinMax::constructor_default (LOCATION_ARGS) { + return GALGAS_sint_36__34_AttributeMinMax::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_sint_36__34_::constructor_default (HERE), + GALGAS_sint_36__34_::constructor_default (HERE) + COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_locationList GALGAS_locationList::getter_subListToIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_locationList result = GALGAS_locationList::class_func_emptyList (THERE) ; - subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; +GALGAS_sint_36__34_AttributeMinMax::GALGAS_sint_36__34_AttributeMinMax (const cPtr_sint_36__34_AttributeMinMax * inSourcePtr) : +GALGAS_attributeRange (inSourcePtr) { + macroNullOrValidSharedObject (inSourcePtr, cPtr_sint_36__34_AttributeMinMax) ; +} +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_sint_36__34_AttributeMinMax GALGAS_sint_36__34_AttributeMinMax::constructor_new (const GALGAS_location & inAttribute_location, + const GALGAS_sint_36__34_ & inAttribute_min, + const GALGAS_sint_36__34_ & inAttribute_max + COMMA_LOCATION_ARGS) { + GALGAS_sint_36__34_AttributeMinMax result ; + if (inAttribute_location.isValid () && inAttribute_min.isValid () && inAttribute_max.isValid ()) { + macroMyNew (result.mObjectPtr, cPtr_sint_36__34_AttributeMinMax (inAttribute_location, inAttribute_min, inAttribute_max COMMA_THERE)) ; + } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_locationList::plusAssign_operation (const GALGAS_locationList inOperand, - Compiler * /* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) { - appendList (inOperand) ; +GALGAS_sint_36__34_ GALGAS_sint_36__34_AttributeMinMax::readProperty_min (void) const { + if (nullptr == mObjectPtr) { + return GALGAS_sint_36__34_ () ; + }else{ + const cPtr_sint_36__34_AttributeMinMax * p = (const cPtr_sint_36__34_AttributeMinMax *) mObjectPtr ; + macroValidSharedObject (p, cPtr_sint_36__34_AttributeMinMax) ; + return p->mProperty_min ; + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_locationList::setter_setLocationAtIndex (GALGAS_location inOperand, - GALGAS_uint inIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cCollectionElement_locationList * p = (cCollectionElement_locationList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; - if (nullptr != p) { - macroValidSharedObject (p, cCollectionElement_locationList) ; - macroUniqueSharedObject (p) ; - p->mObject.mProperty_location = inOperand ; +GALGAS_sint_36__34_ cPtr_sint_36__34_AttributeMinMax::getter_min (UNUSED_LOCATION_ARGS) const { + return mProperty_min ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_sint_36__34_ GALGAS_sint_36__34_AttributeMinMax::readProperty_max (void) const { + if (nullptr == mObjectPtr) { + return GALGAS_sint_36__34_ () ; + }else{ + const cPtr_sint_36__34_AttributeMinMax * p = (const cPtr_sint_36__34_AttributeMinMax *) mObjectPtr ; + macroValidSharedObject (p, cPtr_sint_36__34_AttributeMinMax) ; + return p->mProperty_max ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_location GALGAS_locationList::getter_locationAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; - cCollectionElement_locationList * p = (cCollectionElement_locationList *) attributes.ptr () ; - GALGAS_location result ; - if (nullptr != p) { - macroValidSharedObject (p, cCollectionElement_locationList) ; - result = p->mObject.mProperty_location ; +GALGAS_sint_36__34_ cPtr_sint_36__34_AttributeMinMax::getter_max (UNUSED_LOCATION_ARGS) const { + return mProperty_max ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void GALGAS_sint_36__34_AttributeMinMax::setter_setMin (GALGAS_sint_36__34_ inValue + COMMA_LOCATION_ARGS) { + if (nullptr != mObjectPtr) { + insulate (THERE) ; + cPtr_sint_36__34_AttributeMinMax * p = (cPtr_sint_36__34_AttributeMinMax *) mObjectPtr ; + macroValidSharedObject (p, cPtr_sint_36__34_AttributeMinMax) ; + p->mProperty_min = inValue ; } - return result ; } +//---------------------------------------------------------------------------------------------------------------------- +void cPtr_sint_36__34_AttributeMinMax::setter_setMin (GALGAS_sint_36__34_ inValue + COMMA_UNUSED_LOCATION_ARGS) { + mProperty_min = inValue ; +} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cEnumerator_locationList::cEnumerator_locationList (const GALGAS_locationList & inEnumeratedObject, - const typeEnumerationOrder inOrder) : -cGenericAbstractEnumerator (inOrder) { - inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; +void GALGAS_sint_36__34_AttributeMinMax::setter_setMax (GALGAS_sint_36__34_ inValue + COMMA_LOCATION_ARGS) { + if (nullptr != mObjectPtr) { + insulate (THERE) ; + cPtr_sint_36__34_AttributeMinMax * p = (cPtr_sint_36__34_AttributeMinMax *) mObjectPtr ; + macroValidSharedObject (p, cPtr_sint_36__34_AttributeMinMax) ; + p->mProperty_max = inValue ; + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_locationList_2D_element cEnumerator_locationList::current (LOCATION_ARGS) const { - const cCollectionElement_locationList * p = (const cCollectionElement_locationList *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cCollectionElement_locationList) ; - return p->mObject ; +void cPtr_sint_36__34_AttributeMinMax::setter_setMax (GALGAS_sint_36__34_ inValue + COMMA_UNUSED_LOCATION_ARGS) { + mProperty_max = inValue ; } +//---------------------------------------------------------------------------------------------------------------------- +//Pointer class for @sint64AttributeMinMax class +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +cPtr_sint_36__34_AttributeMinMax::cPtr_sint_36__34_AttributeMinMax (const GALGAS_location & in_location, + const GALGAS_sint_36__34_ & in_min, + const GALGAS_sint_36__34_ & in_max + COMMA_LOCATION_ARGS) : +cPtr_attributeRange (in_location COMMA_THERE), +mProperty_min (in_min), +mProperty_max (in_max) { +} -GALGAS_location cEnumerator_locationList::current_location (LOCATION_ARGS) const { - const cCollectionElement_locationList * p = (const cCollectionElement_locationList *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cCollectionElement_locationList) ; - return p->mObject.mProperty_location ; +//---------------------------------------------------------------------------------------------------------------------- + +const C_galgas_type_descriptor * cPtr_sint_36__34_AttributeMinMax::classDescriptor (void) const { + return & kTypeDescriptor_GALGAS_sint_36__34_AttributeMinMax ; +} + +void cPtr_sint_36__34_AttributeMinMax::description (C_String & ioString, + const int32_t inIndentation) const { + ioString << "[@sint64AttributeMinMax:" ; + mProperty_location.description (ioString, inIndentation+1) ; + ioString << ", " ; + mProperty_min.description (ioString, inIndentation+1) ; + ioString << ", " ; + mProperty_max.description (ioString, inIndentation+1) ; + ioString << "]" ; } +//---------------------------------------------------------------------------------------------------------------------- +acPtr_class * cPtr_sint_36__34_AttributeMinMax::duplicate (LOCATION_ARGS) const { + acPtr_class * ptr = nullptr ; + macroMyNew (ptr, cPtr_sint_36__34_AttributeMinMax (mProperty_location, mProperty_min, mProperty_max COMMA_THERE)) ; + return ptr ; +} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// @locationList generic code implementation +// @sint64AttributeMinMax generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_locationList ("locationList", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_sint_36__34_AttributeMinMax ("sint64AttributeMinMax", + & kTypeDescriptor_GALGAS_attributeRange) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_locationList::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_locationList ; +const C_galgas_type_descriptor * GALGAS_sint_36__34_AttributeMinMax::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_sint_36__34_AttributeMinMax ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_locationList::clonedObject (void) const { +AC_GALGAS_root * GALGAS_sint_36__34_AttributeMinMax::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; if (isValid ()) { - macroMyNew (result, GALGAS_locationList (*this)) ; + macroMyNew (result, GALGAS_sint_36__34_AttributeMinMax (*this)) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_locationList GALGAS_locationList::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_locationList result ; - const GALGAS_locationList * p = (const GALGAS_locationList *) inObject.embeddedObject () ; +GALGAS_sint_36__34_AttributeMinMax GALGAS_sint_36__34_AttributeMinMax::extractObject (const GALGAS_object & inObject, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_sint_36__34_AttributeMinMax result ; + const GALGAS_sint_36__34_AttributeMinMax * p = (const GALGAS_sint_36__34_AttributeMinMax *) inObject.embeddedObject () ; if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { + if (nullptr != dynamic_cast (p)) { result = *p ; }else{ - inCompiler->castError ("locationList", p->dynamicTypeDescriptor () COMMA_THERE) ; + inCompiler->castError ("sint64AttributeMinMax", p->dynamicTypeDescriptor () COMMA_THERE) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// Object comparison +//---------------------------------------------------------------------------------------------------------------------- -cMapElement_implementationObjectMap::cMapElement_implementationObjectMap (const GALGAS_lstring & inKey, - const GALGAS_impType & in_type - COMMA_LOCATION_ARGS) : -cMapElement (inKey COMMA_THERE), -mProperty_type (in_type) { +typeComparisonResult cPtr_floatAttributeMinMax::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { + typeComparisonResult result = kOperandEqual ; + const cPtr_floatAttributeMinMax * p = (const cPtr_floatAttributeMinMax *) inOperandPtr ; + macroValidSharedObject (p, cPtr_floatAttributeMinMax) ; + if (kOperandEqual == result) { + result = mProperty_location.objectCompare (p->mProperty_location) ; + } + if (kOperandEqual == result) { + result = mProperty_min.objectCompare (p->mProperty_min) ; + } + if (kOperandEqual == result) { + result = mProperty_max.objectCompare (p->mProperty_max) ; + } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool cMapElement_implementationObjectMap::isValid (void) const { - return mProperty_lkey.isValid () ; + +typeComparisonResult GALGAS_floatAttributeMinMax::objectCompare (const GALGAS_floatAttributeMinMax & inOperand) const { + typeComparisonResult result = kOperandNotValid ; + if (isValid () && inOperand.isValid ()) { + const int32_t mySlot = mObjectPtr->classDescriptor ()->mSlotID ; + const int32_t operandSlot = inOperand.mObjectPtr->classDescriptor ()->mSlotID ; + if (mySlot < operandSlot) { + result = kFirstOperandLowerThanSecond ; + }else if (mySlot > operandSlot) { + result = kFirstOperandGreaterThanSecond ; + }else{ + result = mObjectPtr->dynamicObjectCompare (inOperand.mObjectPtr) ; + } + } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement * cMapElement_implementationObjectMap::copy (void) { - cMapElement * result = nullptr ; - macroMyNew (result, cMapElement_implementationObjectMap (mProperty_lkey, mProperty_type COMMA_HERE)) ; - return result ; +GALGAS_floatAttributeMinMax::GALGAS_floatAttributeMinMax (void) : +GALGAS_attributeRange () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cMapElement_implementationObjectMap::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("type" ":") ; - mProperty_type.description (ioString, inIndentation) ; +GALGAS_floatAttributeMinMax GALGAS_floatAttributeMinMax::constructor_default (LOCATION_ARGS) { + return GALGAS_floatAttributeMinMax::constructor_new (GALGAS_location::constructor_nowhere (HERE), + GALGAS_double::constructor_default (HERE), + GALGAS_double::constructor_default (HERE) + COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -typeComparisonResult cMapElement_implementationObjectMap::compare (const cCollectionElement * inOperand) const { - cMapElement_implementationObjectMap * operand = (cMapElement_implementationObjectMap *) inOperand ; - typeComparisonResult result = mProperty_lkey.objectCompare (operand->mProperty_lkey) ; - if (kOperandEqual == result) { - result = mProperty_type.objectCompare (operand->mProperty_type) ; +GALGAS_floatAttributeMinMax::GALGAS_floatAttributeMinMax (const cPtr_floatAttributeMinMax * inSourcePtr) : +GALGAS_attributeRange (inSourcePtr) { + macroNullOrValidSharedObject (inSourcePtr, cPtr_floatAttributeMinMax) ; +} +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_floatAttributeMinMax GALGAS_floatAttributeMinMax::constructor_new (const GALGAS_location & inAttribute_location, + const GALGAS_double & inAttribute_min, + const GALGAS_double & inAttribute_max + COMMA_LOCATION_ARGS) { + GALGAS_floatAttributeMinMax result ; + if (inAttribute_location.isValid () && inAttribute_min.isValid () && inAttribute_max.isValid ()) { + macroMyNew (result.mObjectPtr, cPtr_floatAttributeMinMax (inAttribute_location, inAttribute_min, inAttribute_max COMMA_THERE)) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementationObjectMap::GALGAS_implementationObjectMap (void) : -AC_GALGAS_map () { +GALGAS_double GALGAS_floatAttributeMinMax::readProperty_min (void) const { + if (nullptr == mObjectPtr) { + return GALGAS_double () ; + }else{ + const cPtr_floatAttributeMinMax * p = (const cPtr_floatAttributeMinMax *) mObjectPtr ; + macroValidSharedObject (p, cPtr_floatAttributeMinMax) ; + return p->mProperty_min ; + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementationObjectMap::GALGAS_implementationObjectMap (const GALGAS_implementationObjectMap & inSource) : -AC_GALGAS_map (inSource) { +GALGAS_double cPtr_floatAttributeMinMax::getter_min (UNUSED_LOCATION_ARGS) const { + return mProperty_min ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementationObjectMap & GALGAS_implementationObjectMap::operator = (const GALGAS_implementationObjectMap & inSource) { - * ((AC_GALGAS_map *) this) = inSource ; - return * this ; +GALGAS_double GALGAS_floatAttributeMinMax::readProperty_max (void) const { + if (nullptr == mObjectPtr) { + return GALGAS_double () ; + }else{ + const cPtr_floatAttributeMinMax * p = (const cPtr_floatAttributeMinMax *) mObjectPtr ; + macroValidSharedObject (p, cPtr_floatAttributeMinMax) ; + return p->mProperty_max ; + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementationObjectMap GALGAS_implementationObjectMap::class_func_emptyMap (LOCATION_ARGS) { - GALGAS_implementationObjectMap result ; - result.makeNewEmptyMap (THERE) ; - return result ; +GALGAS_double cPtr_floatAttributeMinMax::getter_max (UNUSED_LOCATION_ARGS) const { + return mProperty_max ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementationObjectMap GALGAS_implementationObjectMap::class_func_mapWithMapToOverride (const GALGAS_implementationObjectMap & inMapToOverride - COMMA_LOCATION_ARGS) { - GALGAS_implementationObjectMap result ; - result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_implementationObjectMap GALGAS_implementationObjectMap::getter_overriddenMap (Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_implementationObjectMap result ; - getOverridenMap (result, inCompiler COMMA_THERE) ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -void GALGAS_implementationObjectMap::addAssign_operation (const GALGAS_lstring & inKey, - const GALGAS_impType & inArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cMapElement_implementationObjectMap * p = nullptr ; - macroMyNew (p, cMapElement_implementationObjectMap (inKey, inArgument0 COMMA_HERE)) ; - capCollectionElement attributes ; - attributes.setPointer (p) ; - macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "@implementationObjectMap insert error: '%K' already in map" ; - const char * kShadowErrorMessage = "" ; - performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_implementationObjectMap GALGAS_implementationObjectMap::add_operation (const GALGAS_implementationObjectMap & inOperand, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_implementationObjectMap result = *this ; - cEnumerator_implementationObjectMap enumerator (inOperand, kENUMERATION_UP) ; - while (enumerator.hasCurrentObject ()) { - result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_type (HERE), inCompiler COMMA_THERE) ; - enumerator.gotoNextObject () ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -void GALGAS_implementationObjectMap::setter_put (GALGAS_lstring inKey, - GALGAS_impType inArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cMapElement_implementationObjectMap * p = nullptr ; - macroMyNew (p, cMapElement_implementationObjectMap (inKey, inArgument0 COMMA_HERE)) ; - capCollectionElement attributes ; - attributes.setPointer (p) ; - macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "%K is duplicated in %L" ; - const char * kShadowErrorMessage = "" ; - performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; -} - -//-------------------------------------------------------------------------------------------------- - -const char * kSearchErrorMessage_implementationObjectMap_get = "%K does not exists" ; - -//-------------------------------------------------------------------------------------------------- - -void GALGAS_implementationObjectMap::method_get (GALGAS_lstring inKey, - GALGAS_impType & outArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - const cMapElement_implementationObjectMap * p = (const cMapElement_implementationObjectMap *) performSearch (inKey, - inCompiler, - kSearchErrorMessage_implementationObjectMap_get - COMMA_THERE) ; - if (nullptr == p) { - outArgument0.drop () ; - }else{ - macroValidSharedObject (p, cMapElement_implementationObjectMap) ; - outArgument0 = p->mProperty_type ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void GALGAS_implementationObjectMap::setter_del (GALGAS_lstring inKey, - GALGAS_impType & outArgument0, - Compiler * inCompiler +void GALGAS_floatAttributeMinMax::setter_setMin (GALGAS_double inValue COMMA_LOCATION_ARGS) { - const char * kRemoveErrorMessage = "%K does not exists" ; - capCollectionElement attributes ; - performRemove (inKey, attributes, inCompiler, kRemoveErrorMessage COMMA_THERE) ; - cMapElement_implementationObjectMap * p = (cMapElement_implementationObjectMap *) attributes.ptr () ; - if (nullptr == p) { - outArgument0.drop () ; - }else{ - macroValidSharedObject (p, cMapElement_implementationObjectMap) ; - outArgument0 = p->mProperty_type ; + if (nullptr != mObjectPtr) { + insulate (THERE) ; + cPtr_floatAttributeMinMax * p = (cPtr_floatAttributeMinMax *) mObjectPtr ; + macroValidSharedObject (p, cPtr_floatAttributeMinMax) ; + p->mProperty_min = inValue ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_impType GALGAS_implementationObjectMap::getter_typeForKey (const GALGAS_string & inKey, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; - const cMapElement_implementationObjectMap * p = (const cMapElement_implementationObjectMap *) attributes ; - GALGAS_impType result ; - if (nullptr != p) { - macroValidSharedObject (p, cMapElement_implementationObjectMap) ; - result = p->mProperty_type ; - } - return result ; +void cPtr_floatAttributeMinMax::setter_setMin (GALGAS_double inValue + COMMA_UNUSED_LOCATION_ARGS) { + mProperty_min = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_implementationObjectMap::setter_setTypeForKey (GALGAS_impType inAttributeValue, - GALGAS_string inKey, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; - cMapElement_implementationObjectMap * p = (cMapElement_implementationObjectMap *) attributes ; - if (nullptr != p) { - macroValidSharedObject (p, cMapElement_implementationObjectMap) ; - p->mProperty_type = inAttributeValue ; +void GALGAS_floatAttributeMinMax::setter_setMax (GALGAS_double inValue + COMMA_LOCATION_ARGS) { + if (nullptr != mObjectPtr) { + insulate (THERE) ; + cPtr_floatAttributeMinMax * p = (cPtr_floatAttributeMinMax *) mObjectPtr ; + macroValidSharedObject (p, cPtr_floatAttributeMinMax) ; + p->mProperty_max = inValue ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement_implementationObjectMap * GALGAS_implementationObjectMap::readWriteAccessForWithInstruction (Compiler * inCompiler, - const GALGAS_string & inKey - COMMA_LOCATION_ARGS) { - cMapElement_implementationObjectMap * result = (cMapElement_implementationObjectMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; - macroNullOrValidSharedObject (result, cMapElement_implementationObjectMap) ; - return result ; +void cPtr_floatAttributeMinMax::setter_setMax (GALGAS_double inValue + COMMA_UNUSED_LOCATION_ARGS) { + mProperty_max = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +//Pointer class for @floatAttributeMinMax class +//---------------------------------------------------------------------------------------------------------------------- -cEnumerator_implementationObjectMap::cEnumerator_implementationObjectMap (const GALGAS_implementationObjectMap & inEnumeratedObject, - const typeEnumerationOrder inOrder) : -cGenericAbstractEnumerator (inOrder) { - inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; +cPtr_floatAttributeMinMax::cPtr_floatAttributeMinMax (const GALGAS_location & in_location, + const GALGAS_double & in_min, + const GALGAS_double & in_max + COMMA_LOCATION_ARGS) : +cPtr_attributeRange (in_location COMMA_THERE), +mProperty_min (in_min), +mProperty_max (in_max) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementationObjectMap_2D_element cEnumerator_implementationObjectMap::current (LOCATION_ARGS) const { - const cMapElement_implementationObjectMap * p = (const cMapElement_implementationObjectMap *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement_implementationObjectMap) ; - return GALGAS_implementationObjectMap_2D_element (p->mProperty_lkey, p->mProperty_type) ; +const C_galgas_type_descriptor * cPtr_floatAttributeMinMax::classDescriptor (void) const { + return & kTypeDescriptor_GALGAS_floatAttributeMinMax ; } -//-------------------------------------------------------------------------------------------------- - -GALGAS_lstring cEnumerator_implementationObjectMap::current_lkey (LOCATION_ARGS) const { - const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement) ; - return p->mProperty_lkey ; +void cPtr_floatAttributeMinMax::description (C_String & ioString, + const int32_t inIndentation) const { + ioString << "[@floatAttributeMinMax:" ; + mProperty_location.description (ioString, inIndentation+1) ; + ioString << ", " ; + mProperty_min.description (ioString, inIndentation+1) ; + ioString << ", " ; + mProperty_max.description (ioString, inIndentation+1) ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_impType cEnumerator_implementationObjectMap::current_type (LOCATION_ARGS) const { - const cMapElement_implementationObjectMap * p = (const cMapElement_implementationObjectMap *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement_implementationObjectMap) ; - return p->mProperty_type ; +acPtr_class * cPtr_floatAttributeMinMax::duplicate (LOCATION_ARGS) const { + acPtr_class * ptr = nullptr ; + macroMyNew (ptr, cPtr_floatAttributeMinMax (mProperty_location, mProperty_min, mProperty_max COMMA_THERE)) ; + return ptr ; } -//-------------------------------------------------------------------------------------------------- - -bool GALGAS_implementationObjectMap::optional_searchKey (const GALGAS_string & inKey, - GALGAS_impType & outArgument0) const { - const cMapElement_implementationObjectMap * p = (const cMapElement_implementationObjectMap *) searchForKey (inKey) ; - const bool result = nullptr != p ; - if (result) { - macroValidSharedObject (p, cMapElement_implementationObjectMap) ; - outArgument0 = p->mProperty_type ; - }else{ - outArgument0.drop () ; - } - return result ; -} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// @implementationObjectMap generic code implementation +// @floatAttributeMinMax generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_implementationObjectMap ("implementationObjectMap", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_floatAttributeMinMax ("floatAttributeMinMax", + & kTypeDescriptor_GALGAS_attributeRange) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_implementationObjectMap::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_implementationObjectMap ; +const C_galgas_type_descriptor * GALGAS_floatAttributeMinMax::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_floatAttributeMinMax ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_implementationObjectMap::clonedObject (void) const { +AC_GALGAS_root * GALGAS_floatAttributeMinMax::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; if (isValid ()) { - macroMyNew (result, GALGAS_implementationObjectMap (*this)) ; + macroMyNew (result, GALGAS_floatAttributeMinMax (*this)) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementationObjectMap GALGAS_implementationObjectMap::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_implementationObjectMap result ; - const GALGAS_implementationObjectMap * p = (const GALGAS_implementationObjectMap *) inObject.embeddedObject () ; +GALGAS_floatAttributeMinMax GALGAS_floatAttributeMinMax::extractObject (const GALGAS_object & inObject, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_floatAttributeMinMax result ; + const GALGAS_floatAttributeMinMax * p = (const GALGAS_floatAttributeMinMax *) inObject.embeddedObject () ; if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { + if (nullptr != dynamic_cast (p)) { result = *p ; }else{ - inCompiler->castError ("implementationObjectMap", p->dynamicTypeDescriptor () COMMA_THERE) ; + inCompiler->castError ("floatAttributeMinMax", p->dynamicTypeDescriptor () COMMA_THERE) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- - -cMapElement_enumValues::cMapElement_enumValues (const GALGAS_lstring & inKey, - const GALGAS_implementationObjectMap & in_subAttributes - COMMA_LOCATION_ARGS) : -cMapElement (inKey COMMA_THERE), -mProperty_subAttributes (in_subAttributes) { -} +//---------------------------------------------------------------------------------------------------------------------- +// +//Class for element of '@locationList' list +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +class cCollectionElement_locationList : public cCollectionElement { + public: GALGAS_locationList_2D_element mObject ; -bool cMapElement_enumValues::isValid (void) const { - return mProperty_lkey.isValid () ; -} +//--- Constructors + public: cCollectionElement_locationList (const GALGAS_location & in_location + COMMA_LOCATION_ARGS) ; + public: cCollectionElement_locationList (const GALGAS_locationList_2D_element & inElement COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//--- Virtual method for comparing elements + public: virtual typeComparisonResult compare (const cCollectionElement * inOperand) const ; -cMapElement * cMapElement_enumValues::copy (void) { - cMapElement * result = nullptr ; - macroMyNew (result, cMapElement_enumValues (mProperty_lkey, mProperty_subAttributes COMMA_HERE)) ; - return result ; -} +//--- Virtual method that checks that all attributes are valid + public: virtual bool isValid (void) const ; -//-------------------------------------------------------------------------------------------------- +//--- Virtual method that returns a copy of current object + public: virtual cCollectionElement * copy (void) ; -void cMapElement_enumValues::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("subAttributes" ":") ; - mProperty_subAttributes.description (ioString, inIndentation) ; -} +//--- Description + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; +} ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -typeComparisonResult cMapElement_enumValues::compare (const cCollectionElement * inOperand) const { - cMapElement_enumValues * operand = (cMapElement_enumValues *) inOperand ; - typeComparisonResult result = mProperty_lkey.objectCompare (operand->mProperty_lkey) ; - if (kOperandEqual == result) { - result = mProperty_subAttributes.objectCompare (operand->mProperty_subAttributes) ; - } - return result ; +cCollectionElement_locationList::cCollectionElement_locationList (const GALGAS_location & in_location + COMMA_LOCATION_ARGS) : +cCollectionElement (THERE), +mObject (in_location) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_enumValues::GALGAS_enumValues (void) : -AC_GALGAS_map () { +cCollectionElement_locationList::cCollectionElement_locationList (const GALGAS_locationList_2D_element & inElement COMMA_LOCATION_ARGS) : +cCollectionElement (THERE), +mObject (inElement.mProperty_location) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_enumValues::GALGAS_enumValues (const GALGAS_enumValues & inSource) : -AC_GALGAS_map (inSource) { +bool cCollectionElement_locationList::isValid (void) const { + return true ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_enumValues & GALGAS_enumValues::operator = (const GALGAS_enumValues & inSource) { - * ((AC_GALGAS_map *) this) = inSource ; - return * this ; +cCollectionElement * cCollectionElement_locationList::copy (void) { + cCollectionElement * result = nullptr ; + macroMyNew (result, cCollectionElement_locationList (mObject.mProperty_location COMMA_HERE)) ; + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_enumValues GALGAS_enumValues::class_func_emptyMap (LOCATION_ARGS) { - GALGAS_enumValues result ; - result.makeNewEmptyMap (THERE) ; - return result ; +void cCollectionElement_locationList::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "location" ":" ; + mObject.mProperty_location.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_enumValues GALGAS_enumValues::class_func_mapWithMapToOverride (const GALGAS_enumValues & inMapToOverride - COMMA_LOCATION_ARGS) { - GALGAS_enumValues result ; - result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; - return result ; +typeComparisonResult cCollectionElement_locationList::compare (const cCollectionElement * inOperand) const { + cCollectionElement_locationList * operand = (cCollectionElement_locationList *) inOperand ; + macroValidSharedObject (operand, cCollectionElement_locationList) ; + return mObject.objectCompare (operand->mObject) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_enumValues GALGAS_enumValues::getter_overriddenMap (Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_enumValues result ; - getOverridenMap (result, inCompiler COMMA_THERE) ; - return result ; +GALGAS_locationList::GALGAS_locationList (void) : +AC_GALGAS_list () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_enumValues::addAssign_operation (const GALGAS_lstring & inKey, - const GALGAS_implementationObjectMap & inArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cMapElement_enumValues * p = nullptr ; - macroMyNew (p, cMapElement_enumValues (inKey, inArgument0 COMMA_HERE)) ; - capCollectionElement attributes ; - attributes.setPointer (p) ; - macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "@enumValues insert error: '%K' already in map" ; - const char * kShadowErrorMessage = "" ; - performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; +GALGAS_locationList::GALGAS_locationList (const capCollectionElementArray & inSharedArray) : +AC_GALGAS_list (inSharedArray) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_enumValues GALGAS_enumValues::add_operation (const GALGAS_enumValues & inOperand, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_enumValues result = *this ; - cEnumerator_enumValues enumerator (inOperand, kENUMERATION_UP) ; - while (enumerator.hasCurrentObject ()) { - result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_subAttributes (HERE), inCompiler COMMA_THERE) ; - enumerator.gotoNextObject () ; +GALGAS_locationList GALGAS_locationList::constructor_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_locationList (capCollectionElementArray ()) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_locationList GALGAS_locationList::constructor_listWithValue (const GALGAS_location & inOperand0 + COMMA_LOCATION_ARGS) { + GALGAS_locationList result ; + if (inOperand0.isValid ()) { + result = GALGAS_locationList (capCollectionElementArray ()) ; + capCollectionElement attributes ; + GALGAS_locationList::makeAttributesFromObjects (attributes, inOperand0 COMMA_THERE) ; + result.appendObject (attributes) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_enumValues::setter_put (GALGAS_lstring inKey, - GALGAS_implementationObjectMap inArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cMapElement_enumValues * p = nullptr ; - macroMyNew (p, cMapElement_enumValues (inKey, inArgument0 COMMA_HERE)) ; - capCollectionElement attributes ; - attributes.setPointer (p) ; +void GALGAS_locationList::makeAttributesFromObjects (capCollectionElement & outAttributes, + const GALGAS_location & in_location + COMMA_LOCATION_ARGS) { + cCollectionElement_locationList * p = nullptr ; + macroMyNew (p, cCollectionElement_locationList (in_location COMMA_THERE)) ; + outAttributes.setPointer (p) ; macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "%K is duplicated in %L" ; - const char * kShadowErrorMessage = "" ; - performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- - -const char * kSearchErrorMessage_enumValues_get = "%K does not exists" ; - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_enumValues::method_get (GALGAS_lstring inKey, - GALGAS_implementationObjectMap & outArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - const cMapElement_enumValues * p = (const cMapElement_enumValues *) performSearch (inKey, - inCompiler, - kSearchErrorMessage_enumValues_get - COMMA_THERE) ; - if (nullptr == p) { - outArgument0.drop () ; - }else{ - macroValidSharedObject (p, cMapElement_enumValues) ; - outArgument0 = p->mProperty_subAttributes ; +void GALGAS_locationList::addAssign_operation (const GALGAS_location & inOperand0 + COMMA_LOCATION_ARGS) { + if (isValid ()) { + cCollectionElement * p = nullptr ; + macroMyNew (p, cCollectionElement_locationList (inOperand0 COMMA_THERE)) ; + capCollectionElement attributes ; + attributes.setPointer (p) ; + macroDetachSharedObject (p) ; + appendObject (attributes) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_enumValues::setter_del (GALGAS_lstring inKey, - GALGAS_implementationObjectMap & outArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - const char * kRemoveErrorMessage = "%K does not exists" ; - capCollectionElement attributes ; - performRemove (inKey, attributes, inCompiler, kRemoveErrorMessage COMMA_THERE) ; - cMapElement_enumValues * p = (cMapElement_enumValues *) attributes.ptr () ; - if (nullptr == p) { - outArgument0.drop () ; - }else{ - macroValidSharedObject (p, cMapElement_enumValues) ; - outArgument0 = p->mProperty_subAttributes ; +void GALGAS_locationList::setter_append (const GALGAS_location inOperand0, + C_Compiler * /* inCompiler */ + COMMA_LOCATION_ARGS) { + if (isValid ()) { + cCollectionElement * p = nullptr ; + macroMyNew (p, cCollectionElement_locationList (inOperand0 COMMA_THERE)) ; + capCollectionElement attributes ; + attributes.setPointer (p) ; + macroDetachSharedObject (p) ; + appendObject (attributes) ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementationObjectMap GALGAS_enumValues::getter_subAttributesForKey (const GALGAS_string & inKey, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; - const cMapElement_enumValues * p = (const cMapElement_enumValues *) attributes ; - GALGAS_implementationObjectMap result ; - if (nullptr != p) { - macroValidSharedObject (p, cMapElement_enumValues) ; - result = p->mProperty_subAttributes ; +void GALGAS_locationList::setter_insertAtIndex (const GALGAS_location inOperand0, + const GALGAS_uint inInsertionIndex, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (isValid ()) { + if (inInsertionIndex.isValid () && inOperand0.isValid ()) { + cCollectionElement * p = nullptr ; + macroMyNew (p, cCollectionElement_locationList (inOperand0 COMMA_THERE)) ; + capCollectionElement attributes ; + attributes.setPointer (p) ; + macroDetachSharedObject (p) ; + insertObjectAtIndex (attributes, inInsertionIndex.uintValue (), inCompiler COMMA_THERE) ; + }else{ + drop () ; + } } - return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_enumValues::setter_setSubAttributesForKey (GALGAS_implementationObjectMap inAttributeValue, - GALGAS_string inKey, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; - cMapElement_enumValues * p = (cMapElement_enumValues *) attributes ; - if (nullptr != p) { - macroValidSharedObject (p, cMapElement_enumValues) ; - p->mProperty_subAttributes = inAttributeValue ; +void GALGAS_locationList::setter_removeAtIndex (GALGAS_location & outOperand0, + const GALGAS_uint inRemoveIndex, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (isValid ()) { + if (inRemoveIndex.isValid ()) { + capCollectionElement attributes ; + removeObjectAtIndex (attributes, inRemoveIndex.uintValue (), inCompiler COMMA_THERE) ; + cCollectionElement_locationList * p = (cCollectionElement_locationList *) attributes.ptr () ; + if (nullptr == p) { + outOperand0.drop () ; + drop () ; + }else{ + macroValidSharedObject (p, cCollectionElement_locationList) ; + outOperand0 = p->mObject.mProperty_location ; + } + }else{ + outOperand0.drop () ; + drop () ; + } + }else{ + outOperand0.drop () ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement_enumValues * GALGAS_enumValues::readWriteAccessForWithInstruction (Compiler * inCompiler, - const GALGAS_string & inKey - COMMA_LOCATION_ARGS) { - cMapElement_enumValues * result = (cMapElement_enumValues *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; - macroNullOrValidSharedObject (result, cMapElement_enumValues) ; - return result ; +void GALGAS_locationList::setter_popFirst (GALGAS_location & outOperand0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + capCollectionElement attributes ; + removeFirstObject (attributes, inCompiler COMMA_THERE) ; + cCollectionElement_locationList * p = (cCollectionElement_locationList *) attributes.ptr () ; + if (nullptr == p) { + outOperand0.drop () ; + }else{ + macroValidSharedObject (p, cCollectionElement_locationList) ; + outOperand0 = p->mObject.mProperty_location ; + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cEnumerator_enumValues::cEnumerator_enumValues (const GALGAS_enumValues & inEnumeratedObject, - const typeEnumerationOrder inOrder) : -cGenericAbstractEnumerator (inOrder) { - inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; +void GALGAS_locationList::setter_popLast (GALGAS_location & outOperand0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + capCollectionElement attributes ; + removeLastObject (attributes, inCompiler COMMA_THERE) ; + cCollectionElement_locationList * p = (cCollectionElement_locationList *) attributes.ptr () ; + if (nullptr == p) { + outOperand0.drop () ; + }else{ + macroValidSharedObject (p, cCollectionElement_locationList) ; + outOperand0 = p->mObject.mProperty_location ; + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_enumValues_2D_element cEnumerator_enumValues::current (LOCATION_ARGS) const { - const cMapElement_enumValues * p = (const cMapElement_enumValues *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement_enumValues) ; - return GALGAS_enumValues_2D_element (p->mProperty_lkey, p->mProperty_subAttributes) ; +void GALGAS_locationList::method_first (GALGAS_location & outOperand0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + capCollectionElement attributes ; + readFirst (attributes, inCompiler COMMA_THERE) ; + cCollectionElement_locationList * p = (cCollectionElement_locationList *) attributes.ptr () ; + if (nullptr == p) { + outOperand0.drop () ; + }else{ + macroValidSharedObject (p, cCollectionElement_locationList) ; + outOperand0 = p->mObject.mProperty_location ; + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring cEnumerator_enumValues::current_lkey (LOCATION_ARGS) const { - const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement) ; - return p->mProperty_lkey ; +void GALGAS_locationList::method_last (GALGAS_location & outOperand0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + capCollectionElement attributes ; + readLast (attributes, inCompiler COMMA_THERE) ; + cCollectionElement_locationList * p = (cCollectionElement_locationList *) attributes.ptr () ; + if (nullptr == p) { + outOperand0.drop () ; + }else{ + macroValidSharedObject (p, cCollectionElement_locationList) ; + outOperand0 = p->mObject.mProperty_location ; + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementationObjectMap cEnumerator_enumValues::current_subAttributes (LOCATION_ARGS) const { - const cMapElement_enumValues * p = (const cMapElement_enumValues *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement_enumValues) ; - return p->mProperty_subAttributes ; +GALGAS_locationList GALGAS_locationList::add_operation (const GALGAS_locationList & inOperand, + C_Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_locationList result ; + if (isValid () && inOperand.isValid ()) { + result = *this ; + result.appendList (inOperand) ; + } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool GALGAS_enumValues::optional_searchKey (const GALGAS_string & inKey, - GALGAS_implementationObjectMap & outArgument0) const { - const cMapElement_enumValues * p = (const cMapElement_enumValues *) searchForKey (inKey) ; - const bool result = nullptr != p ; - if (result) { - macroValidSharedObject (p, cMapElement_enumValues) ; - outArgument0 = p->mProperty_subAttributes ; - }else{ - outArgument0.drop () ; - } +GALGAS_locationList GALGAS_locationList::getter_subListWithRange (const GALGAS_range & inRange, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_locationList result = GALGAS_locationList::constructor_emptyList (THERE) ; + subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- -// -// @enumValues generic code implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_enumValues ("enumValues", - nullptr) ; +GALGAS_locationList GALGAS_locationList::getter_subListFromIndex (const GALGAS_uint & inIndex, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_locationList result = GALGAS_locationList::constructor_emptyList (THERE) ; + subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; + return result ; +} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_enumValues::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_enumValues ; +GALGAS_locationList GALGAS_locationList::getter_subListToIndex (const GALGAS_uint & inIndex, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_locationList result = GALGAS_locationList::constructor_emptyList (THERE) ; + subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_enumValues::clonedObject (void) const { - AC_GALGAS_root * result = nullptr ; - if (isValid ()) { - macroMyNew (result, GALGAS_enumValues (*this)) ; +void GALGAS_locationList::plusAssign_operation (const GALGAS_locationList inOperand, + C_Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) { + appendList (inOperand) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void GALGAS_locationList::setter_setLocationAtIndex (GALGAS_location inOperand, + GALGAS_uint inIndex, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cCollectionElement_locationList * p = (cCollectionElement_locationList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; + if (nullptr != p) { + macroValidSharedObject (p, cCollectionElement_locationList) ; + macroUniqueSharedObject (p) ; + p->mObject.mProperty_location = inOperand ; } - return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_enumValues GALGAS_enumValues::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_enumValues result ; - const GALGAS_enumValues * p = (const GALGAS_enumValues *) inObject.embeddedObject () ; +GALGAS_location GALGAS_locationList::getter_locationAtIndex (const GALGAS_uint & inIndex, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; + cCollectionElement_locationList * p = (cCollectionElement_locationList *) attributes.ptr () ; + GALGAS_location result ; if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { - result = *p ; - }else{ - inCompiler->castError ("enumValues", p->dynamicTypeDescriptor () COMMA_THERE) ; - } + macroValidSharedObject (p, cCollectionElement_locationList) ; + result = p->mObject.mProperty_location ; } return result ; } -//-------------------------------------------------------------------------------------------------- + + +//---------------------------------------------------------------------------------------------------------------------- + +cEnumerator_locationList::cEnumerator_locationList (const GALGAS_locationList & inEnumeratedObject, + const typeEnumerationOrder inOrder) : +cGenericAbstractEnumerator (inOrder) { + inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_locationList_2D_element cEnumerator_locationList::current (LOCATION_ARGS) const { + const cCollectionElement_locationList * p = (const cCollectionElement_locationList *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cCollectionElement_locationList) ; + return p->mObject ; +} + + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_location cEnumerator_locationList::current_location (LOCATION_ARGS) const { + const cCollectionElement_locationList * p = (const cCollectionElement_locationList *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cCollectionElement_locationList) ; + return p->mObject.mProperty_location ; +} + + + + +//---------------------------------------------------------------------------------------------------------------------- // -//Extension Getter '@enumValues mergeWithEnum' +// @locationList generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_enumValues extensionGetter_mergeWithEnum (const GALGAS_enumValues & inObject, - const GALGAS_enumValues & constinArgument_enumToMerge, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_enumValues result_mergedEnum ; // Returned variable - result_mergedEnum = GALGAS_enumValues::class_func_emptyMap (SOURCE_FILE ("implementation_types.galgas", 734)) ; - const GALGAS_enumValues temp_0 = inObject ; - cEnumerator_enumValues enumerator_20480 (temp_0, kENUMERATION_UP) ; - while (enumerator_20480.hasCurrentObject ()) { - GALGAS_implementationObjectMap var_attributes_20523 = enumerator_20480.current_subAttributes (HERE) ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = constinArgument_enumToMerge.getter_hasKey (enumerator_20480.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("implementation_types.galgas", 737)).boolEnum () ; - if (kBoolTrue == test_1) { - GALGAS_implementationObjectMap var_attributesToMerge_20657 ; - constinArgument_enumToMerge.method_get (enumerator_20480.current_lkey (HERE), var_attributesToMerge_20657, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 738)) ; - var_attributes_20523 = extensionGetter_mergeImplementationObjectAttributesWith (enumerator_20480.current_subAttributes (HERE), var_attributesToMerge_20657, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 739)) ; - } - } - { - result_mergedEnum.setter_put (enumerator_20480.current_lkey (HERE), var_attributes_20523, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 741)) ; - } - enumerator_20480.gotoNextObject () ; - } - cEnumerator_enumValues enumerator_20831 (constinArgument_enumToMerge, kENUMERATION_UP) ; - while (enumerator_20831.hasCurrentObject ()) { - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - const GALGAS_enumValues temp_3 = inObject ; - test_2 = temp_3.getter_hasKey (enumerator_20831.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("implementation_types.galgas", 744)).operator_not (SOURCE_FILE ("implementation_types.galgas", 744)).boolEnum () ; - if (kBoolTrue == test_2) { - { - result_mergedEnum.setter_put (enumerator_20831.current_lkey (HERE), enumerator_20831.current_subAttributes (HERE), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 745)) ; - } - } - } - enumerator_20831.gotoNextObject () ; - } -//--- - return result_mergedEnum ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_locationList ("locationList", + nullptr) ; + +//---------------------------------------------------------------------------------------------------------------------- + +const C_galgas_type_descriptor * GALGAS_locationList::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_locationList ; } +//---------------------------------------------------------------------------------------------------------------------- +AC_GALGAS_root * GALGAS_locationList::clonedObject (void) const { + AC_GALGAS_root * result = nullptr ; + if (isValid ()) { + macroMyNew (result, GALGAS_locationList (*this)) ; + } + return result ; +} +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +GALGAS_locationList GALGAS_locationList::extractObject (const GALGAS_object & inObject, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_locationList result ; + const GALGAS_locationList * p = (const GALGAS_locationList *) inObject.embeddedObject () ; + if (nullptr != p) { + if (nullptr != dynamic_cast (p)) { + result = *p ; + }else{ + inCompiler->castError ("locationList", p->dynamicTypeDescriptor () COMMA_THERE) ; + } + } + return result ; +} -cMapElement_implementationMap::cMapElement_implementationMap (const GALGAS_lstring & inKey, - const GALGAS_implementationObject & in_obj - COMMA_LOCATION_ARGS) : +//---------------------------------------------------------------------------------------------------------------------- + +cMapElement_implementationObjectMap::cMapElement_implementationObjectMap (const GALGAS_lstring & inKey, + const GALGAS_impType & in_type + COMMA_LOCATION_ARGS) : cMapElement (inKey COMMA_THERE), -mProperty_obj (in_obj) { +mProperty_type (in_type) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool cMapElement_implementationMap::isValid (void) const { +bool cMapElement_implementationObjectMap::isValid (void) const { return mProperty_lkey.isValid () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement * cMapElement_implementationMap::copy (void) { +cMapElement * cMapElement_implementationObjectMap::copy (void) { cMapElement * result = nullptr ; - macroMyNew (result, cMapElement_implementationMap (mProperty_lkey, mProperty_obj COMMA_HERE)) ; + macroMyNew (result, cMapElement_implementationObjectMap (mProperty_lkey, mProperty_type COMMA_HERE)) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cMapElement_implementationMap::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("obj" ":") ; - mProperty_obj.description (ioString, inIndentation) ; +void cMapElement_implementationObjectMap::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "type" ":" ; + mProperty_type.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -typeComparisonResult cMapElement_implementationMap::compare (const cCollectionElement * inOperand) const { - cMapElement_implementationMap * operand = (cMapElement_implementationMap *) inOperand ; +typeComparisonResult cMapElement_implementationObjectMap::compare (const cCollectionElement * inOperand) const { + cMapElement_implementationObjectMap * operand = (cMapElement_implementationObjectMap *) inOperand ; typeComparisonResult result = mProperty_lkey.objectCompare (operand->mProperty_lkey) ; if (kOperandEqual == result) { - result = mProperty_obj.objectCompare (operand->mProperty_obj) ; + result = mProperty_type.objectCompare (operand->mProperty_type) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementationMap::GALGAS_implementationMap (void) : -AC_GALGAS_map () { +GALGAS_implementationObjectMap::GALGAS_implementationObjectMap (void) : +AC_GALGAS_map (true) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementationMap::GALGAS_implementationMap (const GALGAS_implementationMap & inSource) : +GALGAS_implementationObjectMap::GALGAS_implementationObjectMap (const GALGAS_implementationObjectMap & inSource) : AC_GALGAS_map (inSource) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementationMap & GALGAS_implementationMap::operator = (const GALGAS_implementationMap & inSource) { +GALGAS_implementationObjectMap & GALGAS_implementationObjectMap::operator = (const GALGAS_implementationObjectMap & inSource) { * ((AC_GALGAS_map *) this) = inSource ; return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementationMap GALGAS_implementationMap::class_func_emptyMap (LOCATION_ARGS) { - GALGAS_implementationMap result ; +GALGAS_implementationObjectMap GALGAS_implementationObjectMap::constructor_emptyMap (LOCATION_ARGS) { + GALGAS_implementationObjectMap result ; result.makeNewEmptyMap (THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementationMap GALGAS_implementationMap::class_func_mapWithMapToOverride (const GALGAS_implementationMap & inMapToOverride - COMMA_LOCATION_ARGS) { - GALGAS_implementationMap result ; +GALGAS_implementationObjectMap GALGAS_implementationObjectMap::constructor_mapWithMapToOverride (const GALGAS_implementationObjectMap & inMapToOverride + COMMA_LOCATION_ARGS) { + GALGAS_implementationObjectMap result ; result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementationMap GALGAS_implementationMap::getter_overriddenMap (Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_implementationMap result ; +GALGAS_implementationObjectMap GALGAS_implementationObjectMap::getter_overriddenMap (C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_implementationObjectMap result ; getOverridenMap (result, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_implementationMap::addAssign_operation (const GALGAS_lstring & inKey, - const GALGAS_implementationObject & inArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cMapElement_implementationMap * p = nullptr ; - macroMyNew (p, cMapElement_implementationMap (inKey, inArgument0 COMMA_HERE)) ; +void GALGAS_implementationObjectMap::addAssign_operation (const GALGAS_lstring & inKey, + const GALGAS_impType & inArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cMapElement_implementationObjectMap * p = nullptr ; + macroMyNew (p, cMapElement_implementationObjectMap (inKey, inArgument0 COMMA_HERE)) ; capCollectionElement attributes ; attributes.setPointer (p) ; macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "@implementationMap insert error: '%K' already in map" ; + const char * kInsertErrorMessage = "@implementationObjectMap insert error: '%K' already in map" ; const char * kShadowErrorMessage = "" ; performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementationMap GALGAS_implementationMap::add_operation (const GALGAS_implementationMap & inOperand, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_implementationMap result = *this ; - cEnumerator_implementationMap enumerator (inOperand, kENUMERATION_UP) ; +GALGAS_implementationObjectMap GALGAS_implementationObjectMap::add_operation (const GALGAS_implementationObjectMap & inOperand, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_implementationObjectMap result = *this ; + cEnumerator_implementationObjectMap enumerator (inOperand, kENUMERATION_UP) ; while (enumerator.hasCurrentObject ()) { - result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_obj (HERE), inCompiler COMMA_THERE) ; + result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_type (HERE), inCompiler COMMA_THERE) ; enumerator.gotoNextObject () ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_implementationMap::setter_put (GALGAS_lstring inKey, - GALGAS_implementationObject inArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cMapElement_implementationMap * p = nullptr ; - macroMyNew (p, cMapElement_implementationMap (inKey, inArgument0 COMMA_HERE)) ; +void GALGAS_implementationObjectMap::setter_put (GALGAS_lstring inKey, + GALGAS_impType inArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cMapElement_implementationObjectMap * p = nullptr ; + macroMyNew (p, cMapElement_implementationObjectMap (inKey, inArgument0 COMMA_HERE)) ; capCollectionElement attributes ; attributes.setPointer (p) ; macroDetachSharedObject (p) ; @@ -1423,3870 +1466,3847 @@ void GALGAS_implementationMap::setter_put (GALGAS_lstring inKey, performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const char * kSearchErrorMessage_implementationMap_get = "%K does not exists" ; +const char * kSearchErrorMessage_implementationObjectMap_get = "%K does not exists" ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_implementationMap::method_get (GALGAS_lstring inKey, - GALGAS_implementationObject & outArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - const cMapElement_implementationMap * p = (const cMapElement_implementationMap *) performSearch (inKey, - inCompiler, - kSearchErrorMessage_implementationMap_get - COMMA_THERE) ; +void GALGAS_implementationObjectMap::method_get (GALGAS_lstring inKey, + GALGAS_impType & outArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + const cMapElement_implementationObjectMap * p = (const cMapElement_implementationObjectMap *) performSearch (inKey, + inCompiler, + kSearchErrorMessage_implementationObjectMap_get + COMMA_THERE) ; if (nullptr == p) { outArgument0.drop () ; }else{ - macroValidSharedObject (p, cMapElement_implementationMap) ; - outArgument0 = p->mProperty_obj ; + macroValidSharedObject (p, cMapElement_implementationObjectMap) ; + outArgument0 = p->mProperty_type ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_implementationMap::setter_del (GALGAS_lstring inKey, - GALGAS_implementationObject & outArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { +void GALGAS_implementationObjectMap::setter_del (GALGAS_lstring inKey, + GALGAS_impType & outArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { const char * kRemoveErrorMessage = "%K does not exists" ; capCollectionElement attributes ; performRemove (inKey, attributes, inCompiler, kRemoveErrorMessage COMMA_THERE) ; - cMapElement_implementationMap * p = (cMapElement_implementationMap *) attributes.ptr () ; + cMapElement_implementationObjectMap * p = (cMapElement_implementationObjectMap *) attributes.ptr () ; if (nullptr == p) { outArgument0.drop () ; }else{ - macroValidSharedObject (p, cMapElement_implementationMap) ; - outArgument0 = p->mProperty_obj ; + macroValidSharedObject (p, cMapElement_implementationObjectMap) ; + outArgument0 = p->mProperty_type ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementationObject GALGAS_implementationMap::getter_objForKey (const GALGAS_string & inKey, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { +GALGAS_impType GALGAS_implementationObjectMap::getter_typeForKey (const GALGAS_string & inKey, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; - const cMapElement_implementationMap * p = (const cMapElement_implementationMap *) attributes ; - GALGAS_implementationObject result ; + const cMapElement_implementationObjectMap * p = (const cMapElement_implementationObjectMap *) attributes ; + GALGAS_impType result ; if (nullptr != p) { - macroValidSharedObject (p, cMapElement_implementationMap) ; - result = p->mProperty_obj ; + macroValidSharedObject (p, cMapElement_implementationObjectMap) ; + result = p->mProperty_type ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_implementationMap::setter_setObjForKey (GALGAS_implementationObject inAttributeValue, - GALGAS_string inKey, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { +void GALGAS_implementationObjectMap::setter_setTypeForKey (GALGAS_impType inAttributeValue, + GALGAS_string inKey, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; - cMapElement_implementationMap * p = (cMapElement_implementationMap *) attributes ; + cMapElement_implementationObjectMap * p = (cMapElement_implementationObjectMap *) attributes ; if (nullptr != p) { - macroValidSharedObject (p, cMapElement_implementationMap) ; - p->mProperty_obj = inAttributeValue ; + macroValidSharedObject (p, cMapElement_implementationObjectMap) ; + p->mProperty_type = inAttributeValue ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement_implementationMap * GALGAS_implementationMap::readWriteAccessForWithInstruction (Compiler * inCompiler, - const GALGAS_string & inKey - COMMA_LOCATION_ARGS) { - cMapElement_implementationMap * result = (cMapElement_implementationMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; - macroNullOrValidSharedObject (result, cMapElement_implementationMap) ; - return result ; +cMapElement_implementationObjectMap * GALGAS_implementationObjectMap::readWriteAccessForWithInstruction (C_Compiler * inCompiler, + const GALGAS_string & inKey + COMMA_LOCATION_ARGS) { + cMapElement_implementationObjectMap * result = (cMapElement_implementationObjectMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; + macroNullOrValidSharedObject (result, cMapElement_implementationObjectMap) ; + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cEnumerator_implementationMap::cEnumerator_implementationMap (const GALGAS_implementationMap & inEnumeratedObject, - const typeEnumerationOrder inOrder) : +cEnumerator_implementationObjectMap::cEnumerator_implementationObjectMap (const GALGAS_implementationObjectMap & inEnumeratedObject, + const typeEnumerationOrder inOrder) : cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementationMap_2D_element cEnumerator_implementationMap::current (LOCATION_ARGS) const { - const cMapElement_implementationMap * p = (const cMapElement_implementationMap *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement_implementationMap) ; - return GALGAS_implementationMap_2D_element (p->mProperty_lkey, p->mProperty_obj) ; +GALGAS_implementationObjectMap_2D_element cEnumerator_implementationObjectMap::current (LOCATION_ARGS) const { + const cMapElement_implementationObjectMap * p = (const cMapElement_implementationObjectMap *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement_implementationObjectMap) ; + return GALGAS_implementationObjectMap_2D_element (p->mProperty_lkey, p->mProperty_type) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring cEnumerator_implementationMap::current_lkey (LOCATION_ARGS) const { +GALGAS_lstring cEnumerator_implementationObjectMap::current_lkey (LOCATION_ARGS) const { const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; macroValidSharedObject (p, cMapElement) ; return p->mProperty_lkey ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementationObject cEnumerator_implementationMap::current_obj (LOCATION_ARGS) const { - const cMapElement_implementationMap * p = (const cMapElement_implementationMap *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement_implementationMap) ; - return p->mProperty_obj ; +GALGAS_impType cEnumerator_implementationObjectMap::current_type (LOCATION_ARGS) const { + const cMapElement_implementationObjectMap * p = (const cMapElement_implementationObjectMap *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement_implementationObjectMap) ; + return p->mProperty_type ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool GALGAS_implementationMap::optional_searchKey (const GALGAS_string & inKey, - GALGAS_implementationObject & outArgument0) const { - const cMapElement_implementationMap * p = (const cMapElement_implementationMap *) searchForKey (inKey) ; +bool GALGAS_implementationObjectMap::optional_searchKey (const GALGAS_string & inKey, + GALGAS_impType & outArgument0) const { + const cMapElement_implementationObjectMap * p = (const cMapElement_implementationObjectMap *) searchForKey (inKey) ; const bool result = nullptr != p ; if (result) { - macroValidSharedObject (p, cMapElement_implementationMap) ; - outArgument0 = p->mProperty_obj ; + macroValidSharedObject (p, cMapElement_implementationObjectMap) ; + outArgument0 = p->mProperty_type ; }else{ outArgument0.drop () ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// @implementationMap generic code implementation +// @implementationObjectMap generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_implementationMap ("implementationMap", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_implementationObjectMap ("implementationObjectMap", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_implementationMap::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_implementationMap ; +const C_galgas_type_descriptor * GALGAS_implementationObjectMap::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_implementationObjectMap ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_implementationMap::clonedObject (void) const { +AC_GALGAS_root * GALGAS_implementationObjectMap::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; if (isValid ()) { - macroMyNew (result, GALGAS_implementationMap (*this)) ; + macroMyNew (result, GALGAS_implementationObjectMap (*this)) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementationMap GALGAS_implementationMap::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_implementationMap result ; - const GALGAS_implementationMap * p = (const GALGAS_implementationMap *) inObject.embeddedObject () ; +GALGAS_implementationObjectMap GALGAS_implementationObjectMap::extractObject (const GALGAS_object & inObject, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_implementationObjectMap result ; + const GALGAS_implementationObjectMap * p = (const GALGAS_implementationObjectMap *) inObject.embeddedObject () ; if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { + if (nullptr != dynamic_cast (p)) { result = *p ; }else{ - inCompiler->castError ("implementationMap", p->dynamicTypeDescriptor () COMMA_THERE) ; + inCompiler->castError ("implementationObjectMap", p->dynamicTypeDescriptor () COMMA_THERE) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- -// Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -typeComparisonResult cPtr_implementation::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { - typeComparisonResult result = kOperandEqual ; - const cPtr_implementation * p = (const cPtr_implementation *) inOperandPtr ; - macroValidSharedObject (p, cPtr_implementation) ; - if (kOperandEqual == result) { - result = mProperty_imp.objectCompare (p->mProperty_imp) ; - } - return result ; +cMapElement_enumValues::cMapElement_enumValues (const GALGAS_lstring & inKey, + const GALGAS_implementationObjectMap & in_subAttributes + COMMA_LOCATION_ARGS) : +cMapElement (inKey COMMA_THERE), +mProperty_subAttributes (in_subAttributes) { } -//-------------------------------------------------------------------------------------------------- - +//---------------------------------------------------------------------------------------------------------------------- -typeComparisonResult GALGAS_implementation::objectCompare (const GALGAS_implementation & inOperand) const { - typeComparisonResult result = kOperandNotValid ; - if (isValid () && inOperand.isValid ()) { - const int32_t mySlot = mObjectPtr->classDescriptor ()->mSlotID ; - const int32_t operandSlot = inOperand.mObjectPtr->classDescriptor ()->mSlotID ; - if (mySlot < operandSlot) { - result = kFirstOperandLowerThanSecond ; - }else if (mySlot > operandSlot) { - result = kFirstOperandGreaterThanSecond ; - }else{ - result = mObjectPtr->dynamicObjectCompare (inOperand.mObjectPtr) ; - } - } - return result ; +bool cMapElement_enumValues::isValid (void) const { + return mProperty_lkey.isValid () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementation::GALGAS_implementation (void) : -AC_GALGAS_value_class () { +cMapElement * cMapElement_enumValues::copy (void) { + cMapElement * result = nullptr ; + macroMyNew (result, cMapElement_enumValues (mProperty_lkey, mProperty_subAttributes COMMA_HERE)) ; + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementation::GALGAS_implementation (const cPtr_implementation * inSourcePtr) : -AC_GALGAS_value_class (inSourcePtr) { - macroNullOrValidSharedObject (inSourcePtr, cPtr_implementation) ; +void cMapElement_enumValues::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "subAttributes" ":" ; + mProperty_subAttributes.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- -GALGAS_implementation GALGAS_implementation::class_func_new (const GALGAS_implementationMap & inAttribute_imp - COMMA_LOCATION_ARGS) { - GALGAS_implementation result ; - if (inAttribute_imp.isValid ()) { - macroMyNew (result.mObjectPtr, cPtr_implementation (inAttribute_imp COMMA_THERE)) ; +//---------------------------------------------------------------------------------------------------------------------- + +typeComparisonResult cMapElement_enumValues::compare (const cCollectionElement * inOperand) const { + cMapElement_enumValues * operand = (cMapElement_enumValues *) inOperand ; + typeComparisonResult result = mProperty_lkey.objectCompare (operand->mProperty_lkey) ; + if (kOperandEqual == result) { + result = mProperty_subAttributes.objectCompare (operand->mProperty_subAttributes) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementationMap GALGAS_implementation::readProperty_imp (void) const { - if (nullptr == mObjectPtr) { - return GALGAS_implementationMap () ; - }else{ - const cPtr_implementation * p = (const cPtr_implementation *) mObjectPtr ; - macroValidSharedObject (p, cPtr_implementation) ; - return p->mProperty_imp ; - } +GALGAS_enumValues::GALGAS_enumValues (void) : +AC_GALGAS_map (true) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementationMap cPtr_implementation::getter_imp (UNUSED_LOCATION_ARGS) const { - return mProperty_imp ; +GALGAS_enumValues::GALGAS_enumValues (const GALGAS_enumValues & inSource) : +AC_GALGAS_map (inSource) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_implementation::setter_setImp (GALGAS_implementationMap inValue - COMMA_LOCATION_ARGS) { - if (nullptr != mObjectPtr) { - insulate (THERE) ; - cPtr_implementation * p = (cPtr_implementation *) mObjectPtr ; - macroValidSharedObject (p, cPtr_implementation) ; - p->mProperty_imp = inValue ; - } +GALGAS_enumValues & GALGAS_enumValues::operator = (const GALGAS_enumValues & inSource) { + * ((AC_GALGAS_map *) this) = inSource ; + return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_implementation::setter_setImp (GALGAS_implementationMap inValue - COMMA_UNUSED_LOCATION_ARGS) { - mProperty_imp = inValue ; +GALGAS_enumValues GALGAS_enumValues::constructor_emptyMap (LOCATION_ARGS) { + GALGAS_enumValues result ; + result.makeNewEmptyMap (THERE) ; + return result ; } -//-------------------------------------------------------------------------------------------------- -//Pointer class for @implementation class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cPtr_implementation::cPtr_implementation (const GALGAS_implementationMap & in_imp - COMMA_LOCATION_ARGS) : -acPtr_class (THERE), -mProperty_imp (in_imp) { +GALGAS_enumValues GALGAS_enumValues::constructor_mapWithMapToOverride (const GALGAS_enumValues & inMapToOverride + COMMA_LOCATION_ARGS) { + GALGAS_enumValues result ; + result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * cPtr_implementation::classDescriptor (void) const { - return & kTypeDescriptor_GALGAS_implementation ; +GALGAS_enumValues GALGAS_enumValues::getter_overriddenMap (C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_enumValues result ; + getOverridenMap (result, inCompiler COMMA_THERE) ; + return result ; } -void cPtr_implementation::description (String & ioString, - const int32_t inIndentation) const { - ioString.appendCString ("[@implementation:") ; - mProperty_imp.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; +//---------------------------------------------------------------------------------------------------------------------- + +void GALGAS_enumValues::addAssign_operation (const GALGAS_lstring & inKey, + const GALGAS_implementationObjectMap & inArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cMapElement_enumValues * p = nullptr ; + macroMyNew (p, cMapElement_enumValues (inKey, inArgument0 COMMA_HERE)) ; + capCollectionElement attributes ; + attributes.setPointer (p) ; + macroDetachSharedObject (p) ; + const char * kInsertErrorMessage = "@enumValues insert error: '%K' already in map" ; + const char * kShadowErrorMessage = "" ; + performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -acPtr_class * cPtr_implementation::duplicate (LOCATION_ARGS) const { - acPtr_class * ptr = nullptr ; - macroMyNew (ptr, cPtr_implementation (mProperty_imp COMMA_THERE)) ; - return ptr ; +GALGAS_enumValues GALGAS_enumValues::add_operation (const GALGAS_enumValues & inOperand, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_enumValues result = *this ; + cEnumerator_enumValues enumerator (inOperand, kENUMERATION_UP) ; + while (enumerator.hasCurrentObject ()) { + result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_subAttributes (HERE), inCompiler COMMA_THERE) ; + enumerator.gotoNextObject () ; + } + return result ; } +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- -// -// @implementation generic code implementation -// -//-------------------------------------------------------------------------------------------------- +void GALGAS_enumValues::setter_put (GALGAS_lstring inKey, + GALGAS_implementationObjectMap inArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cMapElement_enumValues * p = nullptr ; + macroMyNew (p, cMapElement_enumValues (inKey, inArgument0 COMMA_HERE)) ; + capCollectionElement attributes ; + attributes.setPointer (p) ; + macroDetachSharedObject (p) ; + const char * kInsertErrorMessage = "%K is duplicated in %L" ; + const char * kShadowErrorMessage = "" ; + performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; +} -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_implementation ("implementation", - nullptr) ; +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +const char * kSearchErrorMessage_enumValues_get = "%K does not exists" ; -const C_galgas_type_descriptor * GALGAS_implementation::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_implementation ; +//---------------------------------------------------------------------------------------------------------------------- + +void GALGAS_enumValues::method_get (GALGAS_lstring inKey, + GALGAS_implementationObjectMap & outArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + const cMapElement_enumValues * p = (const cMapElement_enumValues *) performSearch (inKey, + inCompiler, + kSearchErrorMessage_enumValues_get + COMMA_THERE) ; + if (nullptr == p) { + outArgument0.drop () ; + }else{ + macroValidSharedObject (p, cMapElement_enumValues) ; + outArgument0 = p->mProperty_subAttributes ; + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_implementation::clonedObject (void) const { - AC_GALGAS_root * result = nullptr ; - if (isValid ()) { - macroMyNew (result, GALGAS_implementation (*this)) ; +void GALGAS_enumValues::setter_del (GALGAS_lstring inKey, + GALGAS_implementationObjectMap & outArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + const char * kRemoveErrorMessage = "%K does not exists" ; + capCollectionElement attributes ; + performRemove (inKey, attributes, inCompiler, kRemoveErrorMessage COMMA_THERE) ; + cMapElement_enumValues * p = (cMapElement_enumValues *) attributes.ptr () ; + if (nullptr == p) { + outArgument0.drop () ; + }else{ + macroValidSharedObject (p, cMapElement_enumValues) ; + outArgument0 = p->mProperty_subAttributes ; } - return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementation GALGAS_implementation::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_implementation result ; - const GALGAS_implementation * p = (const GALGAS_implementation *) inObject.embeddedObject () ; +GALGAS_implementationObjectMap GALGAS_enumValues::getter_subAttributesForKey (const GALGAS_string & inKey, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; + const cMapElement_enumValues * p = (const cMapElement_enumValues *) attributes ; + GALGAS_implementationObjectMap result ; if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { - result = *p ; - }else{ - inCompiler->castError ("implementation", p->dynamicTypeDescriptor () COMMA_THERE) ; - } + macroValidSharedObject (p, cMapElement_enumValues) ; + result = p->mProperty_subAttributes ; } return result ; } -//-------------------------------------------------------------------------------------------------- -// -//Extension getter '@implementation hasKey' -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_bool cPtr_implementation::getter_hasKey (const GALGAS_string constinArgument_key, - Compiler */* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_bool result_result ; // Returned variable - result_result = this->mProperty_imp.getter_hasKey (constinArgument_key COMMA_SOURCE_FILE ("implementation_types.galgas", 803)) ; -//--- - return result_result ; +void GALGAS_enumValues::setter_setSubAttributesForKey (GALGAS_implementationObjectMap inAttributeValue, + GALGAS_string inKey, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; + cMapElement_enumValues * p = (cMapElement_enumValues *) attributes ; + if (nullptr != p) { + macroValidSharedObject (p, cMapElement_enumValues) ; + p->mProperty_subAttributes = inAttributeValue ; + } } +//---------------------------------------------------------------------------------------------------------------------- - -//-------------------------------------------------------------------------------------------------- - -GALGAS_bool callExtensionGetter_hasKey (const cPtr_implementation * inObject, - const GALGAS_string in_key, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_bool result ; - if (nullptr != inObject) { - result = inObject->getter_hasKey (in_key, inCompiler COMMA_THERE) ; - } +cMapElement_enumValues * GALGAS_enumValues::readWriteAccessForWithInstruction (C_Compiler * inCompiler, + const GALGAS_string & inKey + COMMA_LOCATION_ARGS) { + cMapElement_enumValues * result = (cMapElement_enumValues *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; + macroNullOrValidSharedObject (result, cMapElement_enumValues) ; return result ; } -//-------------------------------------------------------------------------------------------------- -// -//Extension getter '@implementation hasLKey' -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_bool cPtr_implementation::getter_hasLKey (const GALGAS_lstring constinArgument_key, - Compiler */* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_bool result_result ; // Returned variable - result_result = this->mProperty_imp.getter_hasKey (constinArgument_key.readProperty_string () COMMA_SOURCE_FILE ("implementation_types.galgas", 809)) ; -//--- - return result_result ; +cEnumerator_enumValues::cEnumerator_enumValues (const GALGAS_enumValues & inEnumeratedObject, + const typeEnumerationOrder inOrder) : +cGenericAbstractEnumerator (inOrder) { + inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } +//---------------------------------------------------------------------------------------------------------------------- - -//-------------------------------------------------------------------------------------------------- - -GALGAS_bool callExtensionGetter_hasLKey (const cPtr_implementation * inObject, - const GALGAS_lstring in_key, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_bool result ; - if (nullptr != inObject) { - result = inObject->getter_hasLKey (in_key, inCompiler COMMA_THERE) ; - } - return result ; +GALGAS_enumValues_2D_element cEnumerator_enumValues::current (LOCATION_ARGS) const { + const cMapElement_enumValues * p = (const cMapElement_enumValues *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement_enumValues) ; + return GALGAS_enumValues_2D_element (p->mProperty_lkey, p->mProperty_subAttributes) ; } -//-------------------------------------------------------------------------------------------------- -// -//Extension getter '@implementation impObject' -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementationObject cPtr_implementation::getter_impObject (const GALGAS_string constinArgument_objKind, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_implementationObject result_obj ; // Returned variable - result_obj = GALGAS_implementationObject::class_func_new (GALGAS_lbool::class_func_new (GALGAS_bool (false), GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 815)), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 815)), GALGAS_implementationObjectMap::class_func_emptyMap (SOURCE_FILE ("implementation_types.galgas", 815)) COMMA_SOURCE_FILE ("implementation_types.galgas", 815)) ; - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = this->mProperty_imp.getter_hasKey (constinArgument_objKind COMMA_SOURCE_FILE ("implementation_types.galgas", 816)).boolEnum () ; - if (kBoolTrue == test_0) { - this->mProperty_imp.method_get (function_lstringWith (constinArgument_objKind, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 817)), result_obj, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 817)) ; - } - } -//--- - return result_obj ; +GALGAS_lstring cEnumerator_enumValues::current_lkey (LOCATION_ARGS) const { + const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement) ; + return p->mProperty_lkey ; } +//---------------------------------------------------------------------------------------------------------------------- +GALGAS_implementationObjectMap cEnumerator_enumValues::current_subAttributes (LOCATION_ARGS) const { + const cMapElement_enumValues * p = (const cMapElement_enumValues *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement_enumValues) ; + return p->mProperty_subAttributes ; +} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementationObject callExtensionGetter_impObject (const cPtr_implementation * inObject, - const GALGAS_string in_objKind, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_implementationObject result ; - if (nullptr != inObject) { - result = inObject->getter_impObject (in_objKind, inCompiler COMMA_THERE) ; +bool GALGAS_enumValues::optional_searchKey (const GALGAS_string & inKey, + GALGAS_implementationObjectMap & outArgument0) const { + const cMapElement_enumValues * p = (const cMapElement_enumValues *) searchForKey (inKey) ; + const bool result = nullptr != p ; + if (result) { + macroValidSharedObject (p, cMapElement_enumValues) ; + outArgument0 = p->mProperty_subAttributes ; + }else{ + outArgument0.drop () ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -//Extension method '@implementation checkTypeForKind' +// @enumValues generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_implementation::method_checkTypeForKind (const GALGAS_string constinArgument_objKind, - const GALGAS_string constinArgument_attributeName, - const GALGAS_dataType constinArgument_expectedType, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - const GALGAS_implementation temp_0 = this ; - GALGAS_implementationObject var_obj_22831 = callExtensionGetter_impObject ((const cPtr_implementation *) temp_0.ptr (), constinArgument_objKind, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 825)) ; - { - routine_checkTypeForAttribute_3F__3F__3F_ (var_obj_22831.readProperty_attributes (), constinArgument_attributeName, constinArgument_expectedType, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 826)) ; - } -} +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_enumValues ("enumValues", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void callExtensionMethod_checkTypeForKind (cPtr_implementation * inObject, - const GALGAS_string constin_objKind, - const GALGAS_string constin_attributeName, - const GALGAS_dataType constin_expectedType, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - if (nullptr != inObject) { - macroValidSharedObject (inObject, cPtr_implementation) ; - inObject->method_checkTypeForKind (constin_objKind, constin_attributeName, constin_expectedType, inCompiler COMMA_THERE) ; - } +const C_galgas_type_descriptor * GALGAS_enumValues::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_enumValues ; } -//-------------------------------------------------------------------------------------------------- -// -//Extension method '@implementation checkObjectReferences' -// -//-------------------------------------------------------------------------------------------------- -void cPtr_implementation::method_checkObjectReferences (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - cEnumerator_implementationMap enumerator_22993 (this->mProperty_imp, kENUMERATION_UP) ; - while (enumerator_22993.hasCurrentObject ()) { - cEnumerator_implementationObjectMap enumerator_23015 (enumerator_22993.current_obj (HERE).readProperty_attributes (), kENUMERATION_UP) ; - while (enumerator_23015.hasCurrentObject ()) { - const GALGAS_implementation temp_0 = this ; - callExtensionMethod_checkAttributeReferences ((cPtr_impType *) enumerator_23015.current_type (HERE).ptr (), temp_0, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 832)) ; - enumerator_23015.gotoNextObject () ; - } - enumerator_22993.gotoNextObject () ; +//---------------------------------------------------------------------------------------------------------------------- + +AC_GALGAS_root * GALGAS_enumValues::clonedObject (void) const { + AC_GALGAS_root * result = nullptr ; + if (isValid ()) { + macroMyNew (result, GALGAS_enumValues (*this)) ; } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void callExtensionMethod_checkObjectReferences (cPtr_implementation * inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - if (nullptr != inObject) { - macroValidSharedObject (inObject, cPtr_implementation) ; - inObject->method_checkObjectReferences (inCompiler COMMA_THERE) ; +GALGAS_enumValues GALGAS_enumValues::extractObject (const GALGAS_object & inObject, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_enumValues result ; + const GALGAS_enumValues * p = (const GALGAS_enumValues *) inObject.embeddedObject () ; + if (nullptr != p) { + if (nullptr != dynamic_cast (p)) { + result = *p ; + }else{ + inCompiler->castError ("enumValues", p->dynamicTypeDescriptor () COMMA_THERE) ; + } } + return result ; } -//-------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------------------- // -//Extension Getter '@implementationObjectMap mergeImplementationObjectAttributesWith' +//Extension Getter '@enumValues mergeWithEnum' // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_implementationObjectMap extensionGetter_mergeImplementationObjectAttributesWith (const GALGAS_implementationObjectMap & inObject, - const GALGAS_implementationObjectMap & constinArgument_attributesToMerge, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_implementationObjectMap result_mergedAttributes ; // Returned variable - result_mergedAttributes = GALGAS_implementationObjectMap::class_func_emptyMap (SOURCE_FILE ("implementation_types.galgas", 1054)) ; - const GALGAS_implementationObjectMap temp_0 = inObject ; - cEnumerator_implementationObjectMap enumerator_30611 (temp_0, kENUMERATION_UP) ; - while (enumerator_30611.hasCurrentObject ()) { - GALGAS_impType var_merged_30638 = enumerator_30611.current_type (HERE) ; +GALGAS_enumValues extensionGetter_mergeWithEnum (const GALGAS_enumValues & inObject, + const GALGAS_enumValues & constinArgument_enumToMerge, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_enumValues result_mergedEnum ; // Returned variable + result_mergedEnum = GALGAS_enumValues::constructor_emptyMap (SOURCE_FILE ("implementation_types.galgas", 734)) ; + const GALGAS_enumValues temp_0 = inObject ; + cEnumerator_enumValues enumerator_20480 (temp_0, kENUMERATION_UP) ; + while (enumerator_20480.hasCurrentObject ()) { + GALGAS_implementationObjectMap var_attributes_20523 = enumerator_20480.current_subAttributes (HERE) ; enumGalgasBool test_1 = kBoolTrue ; if (kBoolTrue == test_1) { - test_1 = constinArgument_attributesToMerge.getter_hasKey (enumerator_30611.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("implementation_types.galgas", 1057)).boolEnum () ; + test_1 = constinArgument_enumToMerge.getter_hasKey (enumerator_20480.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("implementation_types.galgas", 737)).boolEnum () ; if (kBoolTrue == test_1) { - GALGAS_impType var_typeToMerge_30755 ; - constinArgument_attributesToMerge.method_get (enumerator_30611.current_lkey (HERE), var_typeToMerge_30755, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1058)) ; - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = GALGAS_bool (kIsEqual, enumerator_30611.current_type (HERE).getter_dynamicType (SOURCE_FILE ("implementation_types.galgas", 1059)).objectCompare (var_typeToMerge_30755.getter_dynamicType (SOURCE_FILE ("implementation_types.galgas", 1059)))).boolEnum () ; - if (kBoolTrue == test_2) { - var_merged_30638 = callExtensionGetter_mergeWithType ((const cPtr_impType *) enumerator_30611.current_type (HERE).ptr (), var_typeToMerge_30755, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1060)) ; - } - } - if (kBoolFalse == test_2) { - TC_Array fixItArray3 ; - inCompiler->emitSemanticError (enumerator_30611.current_lkey (HERE).readProperty_location (), GALGAS_string ("Redefined type"), fixItArray3 COMMA_SOURCE_FILE ("implementation_types.galgas", 1063)) ; - } + GALGAS_implementationObjectMap var_attributesToMerge_20657 ; + constinArgument_enumToMerge.method_get (enumerator_20480.current_lkey (HERE), var_attributesToMerge_20657, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 738)) ; + var_attributes_20523 = extensionGetter_mergeImplementationObjectAttributesWith (enumerator_20480.current_subAttributes (HERE), var_attributesToMerge_20657, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 739)) ; } } { - result_mergedAttributes.setter_put (enumerator_30611.current_lkey (HERE), var_merged_30638, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1066)) ; + result_mergedEnum.setter_put (enumerator_20480.current_lkey (HERE), var_attributes_20523, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 741)) ; } - enumerator_30611.gotoNextObject () ; + enumerator_20480.gotoNextObject () ; } - cEnumerator_implementationObjectMap enumerator_31031 (constinArgument_attributesToMerge, kENUMERATION_UP) ; - while (enumerator_31031.hasCurrentObject ()) { - enumGalgasBool test_4 = kBoolTrue ; - if (kBoolTrue == test_4) { - const GALGAS_implementationObjectMap temp_5 = inObject ; - test_4 = temp_5.getter_hasKey (enumerator_31031.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("implementation_types.galgas", 1069)).operator_not (SOURCE_FILE ("implementation_types.galgas", 1069)).boolEnum () ; - if (kBoolTrue == test_4) { + cEnumerator_enumValues enumerator_20831 (constinArgument_enumToMerge, kENUMERATION_UP) ; + while (enumerator_20831.hasCurrentObject ()) { + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + const GALGAS_enumValues temp_3 = inObject ; + test_2 = temp_3.getter_hasKey (enumerator_20831.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("implementation_types.galgas", 744)).operator_not (SOURCE_FILE ("implementation_types.galgas", 744)).boolEnum () ; + if (kBoolTrue == test_2) { { - result_mergedAttributes.setter_put (enumerator_31031.current_lkey (HERE), enumerator_31031.current_type (HERE), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1070)) ; + result_mergedEnum.setter_put (enumerator_20831.current_lkey (HERE), enumerator_20831.current_subAttributes (HERE), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 745)) ; } } } - enumerator_31031.gotoNextObject () ; + enumerator_20831.gotoNextObject () ; } //--- - return result_mergedAttributes ; + return result_mergedEnum ; } -//-------------------------------------------------------------------------------------------------- -// -//Abstract extension getter '@attributeRange contains' -// -//-------------------------------------------------------------------------------------------------- - -GALGAS_bool callExtensionGetter_contains (const cPtr_attributeRange * inObject, - const GALGAS_object_5F_t in_obj, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_bool result ; - if (nullptr != inObject) { - result = inObject->getter_contains (in_obj, inCompiler COMMA_THERE) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- -// -//Abstract extension getter '@attributeRange string' -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string callExtensionGetter_string (const cPtr_attributeRange * inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_string result ; - if (nullptr != inObject) { - result = inObject->getter_string (inCompiler COMMA_THERE) ; - } - return result ; +cMapElement_implementationMap::cMapElement_implementationMap (const GALGAS_lstring & inKey, + const GALGAS_implementationObject & in_obj + COMMA_LOCATION_ARGS) : +cMapElement (inKey COMMA_THERE), +mProperty_obj (in_obj) { } -//-------------------------------------------------------------------------------------------------- -// -// L E X I Q U E -// -//-------------------------------------------------------------------------------------------------- - -#include "unicode_character_cpp.h" -#include "scanner_actions.h" -#include "cLexiqueIntrospection.h" - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cTokenFor_options_5F_scanner::cTokenFor_options_5F_scanner (void) : -mLexicalAttribute_floatNumber (), -mLexicalAttribute_integerNumber (), -mLexicalAttribute_key (), -mLexicalAttribute_number (), -mLexicalAttribute_string () { +bool cMapElement_implementationMap::isValid (void) const { + return mProperty_lkey.isValid () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -Lexique_options_5F_scanner::Lexique_options_5F_scanner (Compiler * inCallerCompiler, - const String & inSourceFileName - COMMA_LOCATION_ARGS) : -Lexique (inCallerCompiler, inSourceFileName COMMA_THERE) { +cMapElement * cMapElement_implementationMap::copy (void) { + cMapElement * result = nullptr ; + macroMyNew (result, cMapElement_implementationMap (mProperty_lkey, mProperty_obj COMMA_HERE)) ; + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -Lexique_options_5F_scanner::Lexique_options_5F_scanner (Compiler * inCallerCompiler, - const String & inSourceString, - const String & inStringForError - COMMA_LOCATION_ARGS) : -Lexique (inCallerCompiler, inSourceString, inStringForError COMMA_THERE) { +void cMapElement_implementationMap::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "obj" ":" ; + mProperty_obj.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- -// Lexical error message list -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const char * gLexicalMessage_options_5F_scanner_decimalNumberTooLarge = "decimal number too large" ; +typeComparisonResult cMapElement_implementationMap::compare (const cCollectionElement * inOperand) const { + cMapElement_implementationMap * operand = (cMapElement_implementationMap *) inOperand ; + typeComparisonResult result = mProperty_lkey.objectCompare (operand->mProperty_lkey) ; + if (kOperandEqual == result) { + result = mProperty_obj.objectCompare (operand->mProperty_obj) ; + } + return result ; +} -static const char * gLexicalMessage_options_5F_scanner_internalError = "internal error" ; +//---------------------------------------------------------------------------------------------------------------------- -static const char * gLexicalMessage_options_5F_scanner_unableToConvertToDouble = "Unable to convert the string to double" ; +GALGAS_implementationMap::GALGAS_implementationMap (void) : +AC_GALGAS_map (true) { +} -static const char * gLexicalMessage_options_5F_scanner_unterminatedLitteralString = "Unterminated literal string" ; +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- -// getMessageForTerminal -//-------------------------------------------------------------------------------------------------- +GALGAS_implementationMap::GALGAS_implementationMap (const GALGAS_implementationMap & inSource) : +AC_GALGAS_map (inSource) { +} -String Lexique_options_5F_scanner::getMessageForTerminal (const int32_t inTerminalIndex) const { - String result = "" ; - if ((inTerminalIndex >= 0) && (inTerminalIndex < 10)) { - static const char * syntaxErrorMessageArray [10] = {kEndOfSourceLexicalErrorMessage, - "identifier", - "literal string", - "literal unsigned 64 bits integer", - "literal float", - "'=' delimiter", - "',' delimiter", - "'-' delimiter", - "'(' delimiter", - "')' delimiter" - } ; - result = syntaxErrorMessageArray [inTerminalIndex] ; - } - return result ; +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_implementationMap & GALGAS_implementationMap::operator = (const GALGAS_implementationMap & inSource) { + * ((AC_GALGAS_map *) this) = inSource ; + return * this ; } -//-------------------------------------------------------------------------------------------------- -// U N I C O D E S T R I N G S -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -//--- Unicode string for '$($' -static const std::initializer_list kUnicodeString_options_5F_scanner__28_ = { - TO_UNICODE ('('), -} ; +GALGAS_implementationMap GALGAS_implementationMap::constructor_emptyMap (LOCATION_ARGS) { + GALGAS_implementationMap result ; + result.makeNewEmptyMap (THERE) ; + return result ; +} -//--- Unicode string for '$)$' -static const std::initializer_list kUnicodeString_options_5F_scanner__29_ = { - TO_UNICODE (')'), -} ; +//---------------------------------------------------------------------------------------------------------------------- -//--- Unicode string for '$,$' -static const std::initializer_list kUnicodeString_options_5F_scanner__2C_ = { - TO_UNICODE (','), -} ; +GALGAS_implementationMap GALGAS_implementationMap::constructor_mapWithMapToOverride (const GALGAS_implementationMap & inMapToOverride + COMMA_LOCATION_ARGS) { + GALGAS_implementationMap result ; + result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; + return result ; +} -//--- Unicode string for '$-$' -static const std::initializer_list kUnicodeString_options_5F_scanner__2D_ = { - TO_UNICODE ('-'), -} ; +//---------------------------------------------------------------------------------------------------------------------- -//--- Unicode string for '$0X$' -static const std::initializer_list kUnicodeString_options_5F_scanner__30_X = { - TO_UNICODE ('0'), - TO_UNICODE ('X'), -} ; +GALGAS_implementationMap GALGAS_implementationMap::getter_overriddenMap (C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_implementationMap result ; + getOverridenMap (result, inCompiler COMMA_THERE) ; + return result ; +} -//--- Unicode string for '$0x$' -static const std::initializer_list kUnicodeString_options_5F_scanner__30_x = { - TO_UNICODE ('0'), - TO_UNICODE ('x'), -} ; +//---------------------------------------------------------------------------------------------------------------------- -//--- Unicode string for '$=$' -static const std::initializer_list kUnicodeString_options_5F_scanner__3D_ = { - TO_UNICODE ('='), -} ; +void GALGAS_implementationMap::addAssign_operation (const GALGAS_lstring & inKey, + const GALGAS_implementationObject & inArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cMapElement_implementationMap * p = nullptr ; + macroMyNew (p, cMapElement_implementationMap (inKey, inArgument0 COMMA_HERE)) ; + capCollectionElement attributes ; + attributes.setPointer (p) ; + macroDetachSharedObject (p) ; + const char * kInsertErrorMessage = "@implementationMap insert error: '%K' already in map" ; + const char * kShadowErrorMessage = "" ; + performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; +} -//-------------------------------------------------------------------------------------------------- -// Key words table 'optionsDelimiters' -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static const int32_t ktable_size_options_5F_scanner_optionsDelimiters = 5 ; +GALGAS_implementationMap GALGAS_implementationMap::add_operation (const GALGAS_implementationMap & inOperand, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_implementationMap result = *this ; + cEnumerator_implementationMap enumerator (inOperand, kENUMERATION_UP) ; + while (enumerator.hasCurrentObject ()) { + result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_obj (HERE), inCompiler COMMA_THERE) ; + enumerator.gotoNextObject () ; + } + return result ; +} -static const C_unicode_lexique_table_entry ktable_for_options_5F_scanner_optionsDelimiters [ktable_size_options_5F_scanner_optionsDelimiters] = { - C_unicode_lexique_table_entry (kUnicodeString_options_5F_scanner__28_, Lexique_options_5F_scanner::kToken__28_), - C_unicode_lexique_table_entry (kUnicodeString_options_5F_scanner__29_, Lexique_options_5F_scanner::kToken__29_), - C_unicode_lexique_table_entry (kUnicodeString_options_5F_scanner__2C_, Lexique_options_5F_scanner::kToken__2C_), - C_unicode_lexique_table_entry (kUnicodeString_options_5F_scanner__2D_, Lexique_options_5F_scanner::kToken__2D_), - C_unicode_lexique_table_entry (kUnicodeString_options_5F_scanner__3D_, Lexique_options_5F_scanner::kToken__3D_) -} ; +//---------------------------------------------------------------------------------------------------------------------- -int32_t Lexique_options_5F_scanner::search_into_optionsDelimiters (const String & inSearchedString) { - return searchInList (inSearchedString, ktable_for_options_5F_scanner_optionsDelimiters, ktable_size_options_5F_scanner_optionsDelimiters) ; +void GALGAS_implementationMap::setter_put (GALGAS_lstring inKey, + GALGAS_implementationObject inArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cMapElement_implementationMap * p = nullptr ; + macroMyNew (p, cMapElement_implementationMap (inKey, inArgument0 COMMA_HERE)) ; + capCollectionElement attributes ; + attributes.setPointer (p) ; + macroDetachSharedObject (p) ; + const char * kInsertErrorMessage = "%K is duplicated in %L" ; + const char * kShadowErrorMessage = "" ; + performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- -// getCurrentTokenString -//-------------------------------------------------------------------------------------------------- +const char * kSearchErrorMessage_implementationMap_get = "%K does not exists" ; -String Lexique_options_5F_scanner::getCurrentTokenString (const cToken * inTokenPtr) const { - const cTokenFor_options_5F_scanner * ptr = (const cTokenFor_options_5F_scanner *) inTokenPtr ; - String s ; - if (ptr == nullptr) { - s.appendCString ("$$") ; +//---------------------------------------------------------------------------------------------------------------------- + +void GALGAS_implementationMap::method_get (GALGAS_lstring inKey, + GALGAS_implementationObject & outArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + const cMapElement_implementationMap * p = (const cMapElement_implementationMap *) performSearch (inKey, + inCompiler, + kSearchErrorMessage_implementationMap_get + COMMA_THERE) ; + if (nullptr == p) { + outArgument0.drop () ; }else{ - switch (ptr->mTokenCode) { - case kToken_: - s.appendCString ("$$") ; - break ; - case kToken_idf: - s.appendChar (TO_UNICODE ('$')) ; - s.appendCString ("idf") ; - s.appendChar (TO_UNICODE ('$')) ; - s.appendChar (TO_UNICODE (' ')) ; - s.appendStringAsCLiteralStringConstant (ptr->mLexicalAttribute_key) ; - break ; - case kToken_string: - s.appendChar (TO_UNICODE ('$')) ; - s.appendCString ("string") ; - s.appendChar (TO_UNICODE ('$')) ; - s.appendChar (TO_UNICODE (' ')) ; - s.appendStringAsCLiteralStringConstant (ptr->mLexicalAttribute_string) ; - break ; - case kToken_uint_5F_number: - s.appendChar (TO_UNICODE ('$')) ; - s.appendCString ("uint_number") ; - s.appendChar (TO_UNICODE ('$')) ; - s.appendChar (TO_UNICODE (' ')) ; - s.appendUnsigned (ptr->mLexicalAttribute_integerNumber) ; - break ; - case kToken_float_5F_number: - s.appendChar (TO_UNICODE ('$')) ; - s.appendCString ("float_number") ; - s.appendChar (TO_UNICODE ('$')) ; - s.appendChar (TO_UNICODE (' ')) ; - s.appendDouble (ptr->mLexicalAttribute_floatNumber) ; - break ; - case kToken__3D_: - s.appendChar (TO_UNICODE ('$')) ; - s.appendCString ("=") ; - s.appendChar (TO_UNICODE ('$')) ; - break ; - case kToken__2C_: - s.appendChar (TO_UNICODE ('$')) ; - s.appendCString (",") ; - s.appendChar (TO_UNICODE ('$')) ; - break ; - case kToken__2D_: - s.appendChar (TO_UNICODE ('$')) ; - s.appendCString ("-") ; - s.appendChar (TO_UNICODE ('$')) ; - break ; - case kToken__28_: - s.appendChar (TO_UNICODE ('$')) ; - s.appendCString ("(") ; - s.appendChar (TO_UNICODE ('$')) ; - break ; - case kToken__29_: - s.appendChar (TO_UNICODE ('$')) ; - s.appendCString (")") ; - s.appendChar (TO_UNICODE ('$')) ; - break ; - default: - break ; - } + macroValidSharedObject (p, cMapElement_implementationMap) ; + outArgument0 = p->mProperty_obj ; } - return s ; } -//-------------------------------------------------------------------------------------------------- -// Template Delimiters -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +void GALGAS_implementationMap::setter_del (GALGAS_lstring inKey, + GALGAS_implementationObject & outArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + const char * kRemoveErrorMessage = "%K does not exists" ; + capCollectionElement attributes ; + performRemove (inKey, attributes, inCompiler, kRemoveErrorMessage COMMA_THERE) ; + cMapElement_implementationMap * p = (cMapElement_implementationMap *) attributes.ptr () ; + if (nullptr == p) { + outArgument0.drop () ; + }else{ + macroValidSharedObject (p, cMapElement_implementationMap) ; + outArgument0 = p->mProperty_obj ; + } +} -//-------------------------------------------------------------------------------------------------- -// Template Replacements -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +GALGAS_implementationObject GALGAS_implementationMap::getter_objForKey (const GALGAS_string & inKey, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; + const cMapElement_implementationMap * p = (const cMapElement_implementationMap *) attributes ; + GALGAS_implementationObject result ; + if (nullptr != p) { + macroValidSharedObject (p, cMapElement_implementationMap) ; + result = p->mProperty_obj ; + } + return result ; +} -//-------------------------------------------------------------------------------------------------- -// Terminal Symbols as end of script in template mark -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +void GALGAS_implementationMap::setter_setObjForKey (GALGAS_implementationObject inAttributeValue, + GALGAS_string inKey, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; + cMapElement_implementationMap * p = (cMapElement_implementationMap *) attributes ; + if (nullptr != p) { + macroValidSharedObject (p, cMapElement_implementationMap) ; + p->mProperty_obj = inAttributeValue ; + } +} -//-------------------------------------------------------------------------------------------------- -// INTERNAL PARSE LEXICAL TOKEN -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void Lexique_options_5F_scanner::internalParseLexicalToken (cTokenFor_options_5F_scanner & token) { - bool loop = true ; - token.mLexicalAttribute_floatNumber = 0.0 ; - token.mLexicalAttribute_integerNumber = 0 ; - token.mLexicalAttribute_key.removeAllKeepingCapacity () ; - token.mLexicalAttribute_number.removeAllKeepingCapacity () ; - token.mLexicalAttribute_string.removeAllKeepingCapacity () ; - mTokenStartLocation = mCurrentLocation ; - try{ - if (testForInputUTF32CharRange (TO_UNICODE ('a'), TO_UNICODE ('z')) || testForInputUTF32CharRange (TO_UNICODE ('A'), TO_UNICODE ('Z'))) { - do { - ::scanner_routine_enterCharacterIntoString (*this, token.mLexicalAttribute_key, previousChar ()) ; - if (testForInputUTF32CharRange (TO_UNICODE ('a'), TO_UNICODE ('z')) || testForInputUTF32CharRange (TO_UNICODE ('A'), TO_UNICODE ('Z')) || testForInputUTF32Char (TO_UNICODE ('_')) || testForInputUTF32CharRange (TO_UNICODE ('0'), TO_UNICODE ('9'))) { - }else{ - loop = false ; - } - }while (loop) ; - loop = true ; - token.mTokenCode = kToken_idf ; - enterToken (token) ; - }else if (testForInputUTF32Char (TO_UNICODE ('\"'))) { - do { - if (testForInputUTF32CharRange (TO_UNICODE (' '), TO_UNICODE ('!')) || testForInputUTF32CharRange (TO_UNICODE ('#'), TO_UNICODE (65533))) { - ::scanner_routine_enterCharacterIntoString (*this, token.mLexicalAttribute_string, previousChar ()) ; - }else{ - loop = false ; - } - }while (loop) ; - loop = true ; - if (testForInputUTF32Char (TO_UNICODE ('\"'))) { - token.mTokenCode = kToken_string ; - enterToken (token) ; - }else{ - lexicalError (gLexicalMessage_options_5F_scanner_unterminatedLitteralString COMMA_LINE_AND_SOURCE_FILE) ; - } - }else if (testForInputUTF32String (kUnicodeString_options_5F_scanner__30_x, true) || testForInputUTF32String (kUnicodeString_options_5F_scanner__30_X, true)) { - do { - if (testForInputUTF32CharRange (TO_UNICODE ('0'), TO_UNICODE ('9')) || testForInputUTF32CharRange (TO_UNICODE ('a'), TO_UNICODE ('f')) || testForInputUTF32CharRange (TO_UNICODE ('A'), TO_UNICODE ('F'))) { - ::scanner_routine_enterHexDigitIntoUInt64 (*this, previousChar (), token.mLexicalAttribute_integerNumber, gLexicalMessage_options_5F_scanner_decimalNumberTooLarge, gLexicalMessage_options_5F_scanner_internalError) ; - }else{ - loop = false ; - } - }while (loop) ; - loop = true ; - token.mTokenCode = kToken_uint_5F_number ; - enterToken (token) ; - }else if (testForInputUTF32CharRange (TO_UNICODE ('0'), TO_UNICODE ('9'))) { - do { - ::scanner_routine_enterCharacterIntoString (*this, token.mLexicalAttribute_number, previousChar ()) ; - ::scanner_routine_enterDigitIntoUInt64 (*this, previousChar (), token.mLexicalAttribute_integerNumber, gLexicalMessage_options_5F_scanner_decimalNumberTooLarge, gLexicalMessage_options_5F_scanner_internalError) ; - if (testForInputUTF32CharRange (TO_UNICODE ('0'), TO_UNICODE ('9'))) { - }else{ - loop = false ; - } - }while (loop) ; - loop = true ; - if (testForInputUTF32Char (TO_UNICODE ('.'))) { - do { - ::scanner_routine_enterCharacterIntoString (*this, token.mLexicalAttribute_number, previousChar ()) ; - if (testForInputUTF32CharRange (TO_UNICODE ('0'), TO_UNICODE ('9'))) { - }else{ - loop = false ; - } - }while (loop) ; - loop = true ; - ::scanner_routine_convertStringToDouble (*this, token.mLexicalAttribute_number, token.mLexicalAttribute_floatNumber, gLexicalMessage_options_5F_scanner_unableToConvertToDouble) ; - token.mTokenCode = kToken_float_5F_number ; - enterToken (token) ; - }else{ - token.mTokenCode = kToken_uint_5F_number ; - enterToken (token) ; - } - }else if (testForInputUTF32String (kUnicodeString_options_5F_scanner__3D_, true)) { - token.mTokenCode = kToken__3D_ ; - enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_options_5F_scanner__2D_, true)) { - token.mTokenCode = kToken__2D_ ; - enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_options_5F_scanner__2C_, true)) { - token.mTokenCode = kToken__2C_ ; - enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_options_5F_scanner__29_, true)) { - token.mTokenCode = kToken__29_ ; - enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_options_5F_scanner__28_, true)) { - token.mTokenCode = kToken__28_ ; - enterToken (token) ; - }else if (testForInputUTF32CharRange (TO_UNICODE (1), TO_UNICODE (' '))) { - }else if (testForInputUTF32Char (TO_UNICODE ('\0'))) { // End of source text ? - token.mTokenCode = kToken_ ; // Empty string code - }else{ // Unknown input character - unknownCharacterLexicalError (LINE_AND_SOURCE_FILE) ; - token.mTokenCode = -1 ; // No token - advance () ; // ... go throught unknown character - } - }catch (const C_lexicalErrorException &) { - token.mTokenCode = -1 ; // No token - advance () ; // ... go throught unknown character - } +cMapElement_implementationMap * GALGAS_implementationMap::readWriteAccessForWithInstruction (C_Compiler * inCompiler, + const GALGAS_string & inKey + COMMA_LOCATION_ARGS) { + cMapElement_implementationMap * result = (cMapElement_implementationMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; + macroNullOrValidSharedObject (result, cMapElement_implementationMap) ; + return result ; } -//-------------------------------------------------------------------------------------------------- -// P A R S E L E X I C A L T O K E N -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool Lexique_options_5F_scanner::parseLexicalToken (void) { - cTokenFor_options_5F_scanner token ; - token.mTokenCode = -1 ; - while ((token.mTokenCode < 0) && (UNICODE_VALUE (mCurrentChar) != '\0')) { - internalParseLexicalToken (token) ; - } - if (UNICODE_VALUE (mCurrentChar) == '\0') { - token.mTokenCode = 0 ; - enterToken (token) ; - } - return token.mTokenCode > 0 ; +cEnumerator_implementationMap::cEnumerator_implementationMap (const GALGAS_implementationMap & inEnumeratedObject, + const typeEnumerationOrder inOrder) : +cGenericAbstractEnumerator (inOrder) { + inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- -// E N T E R T O K E N -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void Lexique_options_5F_scanner::enterToken (cTokenFor_options_5F_scanner & ioToken) { - cTokenFor_options_5F_scanner * ptr = nullptr ; - macroMyNew (ptr, cTokenFor_options_5F_scanner ()) ; - ptr->mTokenCode = ioToken.mTokenCode ; - ptr->mStartLocation = mTokenStartLocation ; - ptr->mEndLocation = mTokenEndLocation ; - ptr->mTemplateStringBeforeToken = ioToken.mTemplateStringBeforeToken ; - ioToken.mTemplateStringBeforeToken = "" ; - ptr->mLexicalAttribute_floatNumber = ioToken.mLexicalAttribute_floatNumber ; - ptr->mLexicalAttribute_integerNumber = ioToken.mLexicalAttribute_integerNumber ; - ptr->mLexicalAttribute_key = ioToken.mLexicalAttribute_key ; - ptr->mLexicalAttribute_number = ioToken.mLexicalAttribute_number ; - ptr->mLexicalAttribute_string = ioToken.mLexicalAttribute_string ; - enterTokenFromPointer (ptr) ; +GALGAS_implementationMap_2D_element cEnumerator_implementationMap::current (LOCATION_ARGS) const { + const cMapElement_implementationMap * p = (const cMapElement_implementationMap *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement_implementationMap) ; + return GALGAS_implementationMap_2D_element (p->mProperty_lkey, p->mProperty_obj) ; } -//-------------------------------------------------------------------------------------------------- -// A T T R I B U T E A C C E S S -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -double Lexique_options_5F_scanner::attributeValue_floatNumber (void) const { - cTokenFor_options_5F_scanner * ptr = (cTokenFor_options_5F_scanner *) currentTokenPtr (HERE) ; - return ptr->mLexicalAttribute_floatNumber ; +GALGAS_lstring cEnumerator_implementationMap::current_lkey (LOCATION_ARGS) const { + const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement) ; + return p->mProperty_lkey ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -uint64_t Lexique_options_5F_scanner::attributeValue_integerNumber (void) const { - cTokenFor_options_5F_scanner * ptr = (cTokenFor_options_5F_scanner *) currentTokenPtr (HERE) ; - return ptr->mLexicalAttribute_integerNumber ; +GALGAS_implementationObject cEnumerator_implementationMap::current_obj (LOCATION_ARGS) const { + const cMapElement_implementationMap * p = (const cMapElement_implementationMap *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement_implementationMap) ; + return p->mProperty_obj ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String Lexique_options_5F_scanner::attributeValue_key (void) const { - cTokenFor_options_5F_scanner * ptr = (cTokenFor_options_5F_scanner *) currentTokenPtr (HERE) ; - return ptr->mLexicalAttribute_key ; +bool GALGAS_implementationMap::optional_searchKey (const GALGAS_string & inKey, + GALGAS_implementationObject & outArgument0) const { + const cMapElement_implementationMap * p = (const cMapElement_implementationMap *) searchForKey (inKey) ; + const bool result = nullptr != p ; + if (result) { + macroValidSharedObject (p, cMapElement_implementationMap) ; + outArgument0 = p->mProperty_obj ; + }else{ + outArgument0.drop () ; + } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +// @implementationMap generic code implementation +// +//---------------------------------------------------------------------------------------------------------------------- -String Lexique_options_5F_scanner::attributeValue_number (void) const { - cTokenFor_options_5F_scanner * ptr = (cTokenFor_options_5F_scanner *) currentTokenPtr (HERE) ; - return ptr->mLexicalAttribute_number ; -} +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_implementationMap ("implementationMap", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String Lexique_options_5F_scanner::attributeValue_string (void) const { - cTokenFor_options_5F_scanner * ptr = (cTokenFor_options_5F_scanner *) currentTokenPtr (HERE) ; - return ptr->mLexicalAttribute_string ; +const C_galgas_type_descriptor * GALGAS_implementationMap::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_implementationMap ; } -//-------------------------------------------------------------------------------------------------- -// A S S I G N F R O M A T T R I B U T E -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_ldouble Lexique_options_5F_scanner::synthetizedAttribute_floatNumber (void) const { - cTokenFor_options_5F_scanner * ptr = (cTokenFor_options_5F_scanner *) currentTokenPtr (HERE) ; - macroValidSharedObject (ptr, cTokenFor_options_5F_scanner) ; - GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; - GALGAS_double value (ptr->mLexicalAttribute_floatNumber) ; - GALGAS_ldouble result (value, currentLocation) ; +AC_GALGAS_root * GALGAS_implementationMap::clonedObject (void) const { + AC_GALGAS_root * result = nullptr ; + if (isValid ()) { + macroMyNew (result, GALGAS_implementationMap (*this)) ; + } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_luint_36__34_ Lexique_options_5F_scanner::synthetizedAttribute_integerNumber (void) const { - cTokenFor_options_5F_scanner * ptr = (cTokenFor_options_5F_scanner *) currentTokenPtr (HERE) ; - macroValidSharedObject (ptr, cTokenFor_options_5F_scanner) ; - GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; - GALGAS_uint_36__34_ value (ptr->mLexicalAttribute_integerNumber) ; - GALGAS_luint_36__34_ result (value, currentLocation) ; +GALGAS_implementationMap GALGAS_implementationMap::extractObject (const GALGAS_object & inObject, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_implementationMap result ; + const GALGAS_implementationMap * p = (const GALGAS_implementationMap *) inObject.embeddedObject () ; + if (nullptr != p) { + if (nullptr != dynamic_cast (p)) { + result = *p ; + }else{ + inCompiler->castError ("implementationMap", p->dynamicTypeDescriptor () COMMA_THERE) ; + } + } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// Object comparison +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring Lexique_options_5F_scanner::synthetizedAttribute_key (void) const { - cTokenFor_options_5F_scanner * ptr = (cTokenFor_options_5F_scanner *) currentTokenPtr (HERE) ; - macroValidSharedObject (ptr, cTokenFor_options_5F_scanner) ; - GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; - GALGAS_string value (ptr->mLexicalAttribute_key) ; - GALGAS_lstring result (value, currentLocation) ; +typeComparisonResult cPtr_implementation::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { + typeComparisonResult result = kOperandEqual ; + const cPtr_implementation * p = (const cPtr_implementation *) inOperandPtr ; + macroValidSharedObject (p, cPtr_implementation) ; + if (kOperandEqual == result) { + result = mProperty_imp.objectCompare (p->mProperty_imp) ; + } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring Lexique_options_5F_scanner::synthetizedAttribute_number (void) const { - cTokenFor_options_5F_scanner * ptr = (cTokenFor_options_5F_scanner *) currentTokenPtr (HERE) ; - macroValidSharedObject (ptr, cTokenFor_options_5F_scanner) ; - GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; - GALGAS_string value (ptr->mLexicalAttribute_number) ; - GALGAS_lstring result (value, currentLocation) ; + +typeComparisonResult GALGAS_implementation::objectCompare (const GALGAS_implementation & inOperand) const { + typeComparisonResult result = kOperandNotValid ; + if (isValid () && inOperand.isValid ()) { + const int32_t mySlot = mObjectPtr->classDescriptor ()->mSlotID ; + const int32_t operandSlot = inOperand.mObjectPtr->classDescriptor ()->mSlotID ; + if (mySlot < operandSlot) { + result = kFirstOperandLowerThanSecond ; + }else if (mySlot > operandSlot) { + result = kFirstOperandGreaterThanSecond ; + }else{ + result = mObjectPtr->dynamicObjectCompare (inOperand.mObjectPtr) ; + } + } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring Lexique_options_5F_scanner::synthetizedAttribute_string (void) const { - cTokenFor_options_5F_scanner * ptr = (cTokenFor_options_5F_scanner *) currentTokenPtr (HERE) ; - macroValidSharedObject (ptr, cTokenFor_options_5F_scanner) ; - GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; - GALGAS_string value (ptr->mLexicalAttribute_string) ; - GALGAS_lstring result (value, currentLocation) ; - return result ; +GALGAS_implementation::GALGAS_implementation (void) : +AC_GALGAS_value_class () { } -//-------------------------------------------------------------------------------------------------- -// I N T R O S P E C T I O N -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_stringlist Lexique_options_5F_scanner::symbols (LOCATION_ARGS) { - GALGAS_stringlist result = GALGAS_stringlist::class_func_emptyList (THERE) ; - result.addAssign_operation (GALGAS_string ("idf") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("string") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("uint_number") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("float_number") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("=") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string (",") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("-") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string ("(") COMMA_HERE) ; - result.addAssign_operation (GALGAS_string (")") COMMA_HERE) ; - return result ; +GALGAS_implementation GALGAS_implementation::constructor_default (LOCATION_ARGS) { + return GALGAS_implementation::constructor_new (GALGAS_implementationMap::constructor_emptyMap (HERE) + COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static void getKeywordLists_options_5F_scanner (TC_UniqueArray & ioList) { - ioList.appendObject ("options_scanner:optionsDelimiters") ; +GALGAS_implementation::GALGAS_implementation (const cPtr_implementation * inSourcePtr) : +AC_GALGAS_value_class (inSourcePtr) { + macroNullOrValidSharedObject (inSourcePtr, cPtr_implementation) ; } +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- - -static void getKeywordsForIdentifier_options_5F_scanner (const String & inIdentifier, - bool & ioFound, - TC_UniqueArray & ioList) { - if (inIdentifier == "options_scanner:optionsDelimiters") { - ioFound = true ; - ioList.appendObject ("(") ; - ioList.appendObject (")") ; - ioList.appendObject (",") ; - ioList.appendObject ("-") ; - ioList.appendObject ("=") ; - ioList.sortArrayUsingCompareMethod() ; +GALGAS_implementation GALGAS_implementation::constructor_new (const GALGAS_implementationMap & inAttribute_imp + COMMA_LOCATION_ARGS) { + GALGAS_implementation result ; + if (inAttribute_imp.isValid ()) { + macroMyNew (result.mObjectPtr, cPtr_implementation (inAttribute_imp COMMA_THERE)) ; } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -static cLexiqueIntrospection lexiqueIntrospection_options_5F_scanner -__attribute__ ((used)) -__attribute__ ((unused)) (getKeywordLists_options_5F_scanner, getKeywordsForIdentifier_options_5F_scanner) ; +GALGAS_implementationMap GALGAS_implementation::readProperty_imp (void) const { + if (nullptr == mObjectPtr) { + return GALGAS_implementationMap () ; + }else{ + const cPtr_implementation * p = (const cPtr_implementation *) mObjectPtr ; + macroValidSharedObject (p, cPtr_implementation) ; + return p->mProperty_imp ; + } +} -//-------------------------------------------------------------------------------------------------- -// S T Y L E I N D E X F O R T E R M I N A L -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -uint32_t Lexique_options_5F_scanner::styleIndexForTerminal (const int32_t inTerminalIndex) const { - static const uint32_t kTerminalSymbolStyles [10] = {0, - 1 /* options_scanner_1_idf */, - 3 /* options_scanner_1_string */, - 4 /* options_scanner_1_uint_5F_number */, - 5 /* options_scanner_1_float_5F_number */, - 2 /* options_scanner_1__3D_ */, - 2 /* options_scanner_1__2C_ */, - 2 /* options_scanner_1__2D_ */, - 2 /* options_scanner_1__28_ */, - 2 /* options_scanner_1__29_ */ - } ; - return (inTerminalIndex >= 0) ? kTerminalSymbolStyles [inTerminalIndex] : 0 ; +GALGAS_implementationMap cPtr_implementation::getter_imp (UNUSED_LOCATION_ARGS) const { + return mProperty_imp ; } -//-------------------------------------------------------------------------------------------------- -// S T Y L E N A M E F O R S T Y L E I N D E X -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -String Lexique_options_5F_scanner::styleNameForIndex (const uint32_t inStyleIndex) const { - String result ; - if (inStyleIndex < 6) { - static const char * kStyleArray [6] = { - "", - "identifierStyle", - "delimitersStyle", - "stringStyle", - "integerStyle", - "floatStyle" - } ; - result = kStyleArray [inStyleIndex] ; +void GALGAS_implementation::setter_setImp (GALGAS_implementationMap inValue + COMMA_LOCATION_ARGS) { + if (nullptr != mObjectPtr) { + insulate (THERE) ; + cPtr_implementation * p = (cPtr_implementation *) mObjectPtr ; + macroValidSharedObject (p, cPtr_implementation) ; + p->mProperty_imp = inValue ; } - return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement_identifierMap::cMapElement_identifierMap (const GALGAS_lstring & inKey, - const GALGAS_object_5F_t & in_value - COMMA_LOCATION_ARGS) : -cMapElement (inKey COMMA_THERE), -mProperty_value (in_value) { +void cPtr_implementation::setter_setImp (GALGAS_implementationMap inValue + COMMA_UNUSED_LOCATION_ARGS) { + mProperty_imp = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +//Pointer class for @implementation class +//---------------------------------------------------------------------------------------------------------------------- -bool cMapElement_identifierMap::isValid (void) const { - return mProperty_lkey.isValid () ; +cPtr_implementation::cPtr_implementation (const GALGAS_implementationMap & in_imp + COMMA_LOCATION_ARGS) : +acPtr_class (THERE), +mProperty_imp (in_imp) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement * cMapElement_identifierMap::copy (void) { - cMapElement * result = nullptr ; - macroMyNew (result, cMapElement_identifierMap (mProperty_lkey, mProperty_value COMMA_HERE)) ; - return result ; +const C_galgas_type_descriptor * cPtr_implementation::classDescriptor (void) const { + return & kTypeDescriptor_GALGAS_implementation ; } -//-------------------------------------------------------------------------------------------------- - -void cMapElement_identifierMap::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("value" ":") ; - mProperty_value.description (ioString, inIndentation) ; +void cPtr_implementation::description (C_String & ioString, + const int32_t inIndentation) const { + ioString << "[@implementation:" ; + mProperty_imp.description (ioString, inIndentation+1) ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -typeComparisonResult cMapElement_identifierMap::compare (const cCollectionElement * inOperand) const { - cMapElement_identifierMap * operand = (cMapElement_identifierMap *) inOperand ; - typeComparisonResult result = mProperty_lkey.objectCompare (operand->mProperty_lkey) ; - if (kOperandEqual == result) { - result = mProperty_value.objectCompare (operand->mProperty_value) ; - } - return result ; +acPtr_class * cPtr_implementation::duplicate (LOCATION_ARGS) const { + acPtr_class * ptr = nullptr ; + macroMyNew (ptr, cPtr_implementation (mProperty_imp COMMA_THERE)) ; + return ptr ; } -//-------------------------------------------------------------------------------------------------- - -GALGAS_identifierMap::GALGAS_identifierMap (void) : -AC_GALGAS_map () { -} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +// @implementation generic code implementation +// +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_identifierMap::GALGAS_identifierMap (const GALGAS_identifierMap & inSource) : -AC_GALGAS_map (inSource) { -} +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_implementation ("implementation", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_identifierMap & GALGAS_identifierMap::operator = (const GALGAS_identifierMap & inSource) { - * ((AC_GALGAS_map *) this) = inSource ; - return * this ; +const C_galgas_type_descriptor * GALGAS_implementation::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_implementation ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_identifierMap GALGAS_identifierMap::class_func_emptyMap (LOCATION_ARGS) { - GALGAS_identifierMap result ; - result.makeNewEmptyMap (THERE) ; +AC_GALGAS_root * GALGAS_implementation::clonedObject (void) const { + AC_GALGAS_root * result = nullptr ; + if (isValid ()) { + macroMyNew (result, GALGAS_implementation (*this)) ; + } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_identifierMap GALGAS_identifierMap::class_func_mapWithMapToOverride (const GALGAS_identifierMap & inMapToOverride - COMMA_LOCATION_ARGS) { - GALGAS_identifierMap result ; - result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; +GALGAS_implementation GALGAS_implementation::extractObject (const GALGAS_object & inObject, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_implementation result ; + const GALGAS_implementation * p = (const GALGAS_implementation *) inObject.embeddedObject () ; + if (nullptr != p) { + if (nullptr != dynamic_cast (p)) { + result = *p ; + }else{ + inCompiler->castError ("implementation", p->dynamicTypeDescriptor () COMMA_THERE) ; + } + } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +//Extension getter '@implementation hasKey' +// +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_identifierMap GALGAS_identifierMap::getter_overriddenMap (Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_identifierMap result ; - getOverridenMap (result, inCompiler COMMA_THERE) ; - return result ; +GALGAS_bool cPtr_implementation::getter_hasKey (const GALGAS_string constinArgument_key, + C_Compiler */* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_bool result_result ; // Returned variable + result_result = this->mProperty_imp.getter_hasKey (constinArgument_key COMMA_SOURCE_FILE ("implementation_types.galgas", 803)) ; +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- -void GALGAS_identifierMap::addAssign_operation (const GALGAS_lstring & inKey, - const GALGAS_object_5F_t & inArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cMapElement_identifierMap * p = nullptr ; - macroMyNew (p, cMapElement_identifierMap (inKey, inArgument0 COMMA_HERE)) ; - capCollectionElement attributes ; - attributes.setPointer (p) ; - macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "@identifierMap insert error: '%K' already in map" ; - const char * kShadowErrorMessage = "" ; - performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; -} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_identifierMap GALGAS_identifierMap::add_operation (const GALGAS_identifierMap & inOperand, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_identifierMap result = *this ; - cEnumerator_identifierMap enumerator (inOperand, kENUMERATION_UP) ; - while (enumerator.hasCurrentObject ()) { - result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_value (HERE), inCompiler COMMA_THERE) ; - enumerator.gotoNextObject () ; +GALGAS_bool callExtensionGetter_hasKey (const cPtr_implementation * inObject, + const GALGAS_string in_key, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_bool result ; + if (nullptr != inObject) { + result = inObject->getter_hasKey (in_key, inCompiler COMMA_THERE) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +//Extension getter '@implementation hasLKey' +// +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_identifierMap::setter_put (GALGAS_lstring inKey, - GALGAS_object_5F_t inArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cMapElement_identifierMap * p = nullptr ; - macroMyNew (p, cMapElement_identifierMap (inKey, inArgument0 COMMA_HERE)) ; - capCollectionElement attributes ; - attributes.setPointer (p) ; - macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "%K is duplicated in %L" ; - const char * kShadowErrorMessage = "" ; - performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; +GALGAS_bool cPtr_implementation::getter_hasLKey (const GALGAS_lstring constinArgument_key, + C_Compiler */* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_bool result_result ; // Returned variable + result_result = this->mProperty_imp.getter_hasKey (constinArgument_key.readProperty_string () COMMA_SOURCE_FILE ("implementation_types.galgas", 809)) ; +//--- + return result_result ; } -//-------------------------------------------------------------------------------------------------- -const char * kSearchErrorMessage_identifierMap_get = "Identifier %K is not defined" ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_identifierMap::method_get (GALGAS_lstring inKey, - GALGAS_object_5F_t & outArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - const cMapElement_identifierMap * p = (const cMapElement_identifierMap *) performSearch (inKey, - inCompiler, - kSearchErrorMessage_identifierMap_get - COMMA_THERE) ; - if (nullptr == p) { - outArgument0.drop () ; - }else{ - macroValidSharedObject (p, cMapElement_identifierMap) ; - outArgument0 = p->mProperty_value ; +GALGAS_bool callExtensionGetter_hasLKey (const cPtr_implementation * inObject, + const GALGAS_lstring in_key, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_bool result ; + if (nullptr != inObject) { + result = inObject->getter_hasLKey (in_key, inCompiler COMMA_THERE) ; } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +//Extension getter '@implementation impObject' +// +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_identifierMap::setter_del (GALGAS_lstring inKey, - GALGAS_object_5F_t & outArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - const char * kRemoveErrorMessage = "Identifier %K is not defined" ; - capCollectionElement attributes ; - performRemove (inKey, attributes, inCompiler, kRemoveErrorMessage COMMA_THERE) ; - cMapElement_identifierMap * p = (cMapElement_identifierMap *) attributes.ptr () ; - if (nullptr == p) { - outArgument0.drop () ; - }else{ - macroValidSharedObject (p, cMapElement_identifierMap) ; - outArgument0 = p->mProperty_value ; +GALGAS_implementationObject cPtr_implementation::getter_impObject (const GALGAS_string constinArgument_objKind, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_implementationObject result_obj ; // Returned variable + result_obj = GALGAS_implementationObject::constructor_new (GALGAS_lbool::constructor_new (GALGAS_bool (false), GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 815)) COMMA_SOURCE_FILE ("implementation_types.galgas", 815)), GALGAS_implementationObjectMap::constructor_emptyMap (SOURCE_FILE ("implementation_types.galgas", 815)) COMMA_SOURCE_FILE ("implementation_types.galgas", 815)) ; + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = this->mProperty_imp.getter_hasKey (constinArgument_objKind COMMA_SOURCE_FILE ("implementation_types.galgas", 816)).boolEnum () ; + if (kBoolTrue == test_0) { + this->mProperty_imp.method_get (function_lstringWith (constinArgument_objKind, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 817)), result_obj, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 817)) ; + } } +//--- + return result_obj ; } -//-------------------------------------------------------------------------------------------------- -GALGAS_object_5F_t GALGAS_identifierMap::getter_valueForKey (const GALGAS_string & inKey, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; - const cMapElement_identifierMap * p = (const cMapElement_identifierMap *) attributes ; - GALGAS_object_5F_t result ; - if (nullptr != p) { - macroValidSharedObject (p, cMapElement_identifierMap) ; - result = p->mProperty_value ; - } - return result ; -} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_identifierMap::setter_setValueForKey (GALGAS_object_5F_t inAttributeValue, - GALGAS_string inKey, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; - cMapElement_identifierMap * p = (cMapElement_identifierMap *) attributes ; - if (nullptr != p) { - macroValidSharedObject (p, cMapElement_identifierMap) ; - p->mProperty_value = inAttributeValue ; +GALGAS_implementationObject callExtensionGetter_impObject (const cPtr_implementation * inObject, + const GALGAS_string in_objKind, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_implementationObject result ; + if (nullptr != inObject) { + result = inObject->getter_impObject (in_objKind, inCompiler COMMA_THERE) ; } -} - -//-------------------------------------------------------------------------------------------------- - -cMapElement_identifierMap * GALGAS_identifierMap::readWriteAccessForWithInstruction (Compiler * inCompiler, - const GALGAS_string & inKey - COMMA_LOCATION_ARGS) { - cMapElement_identifierMap * result = (cMapElement_identifierMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; - macroNullOrValidSharedObject (result, cMapElement_identifierMap) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +//Extension method '@implementation checkTypeForKind' +// +//---------------------------------------------------------------------------------------------------------------------- -cEnumerator_identifierMap::cEnumerator_identifierMap (const GALGAS_identifierMap & inEnumeratedObject, - const typeEnumerationOrder inOrder) : -cGenericAbstractEnumerator (inOrder) { - inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; +void cPtr_implementation::method_checkTypeForKind (const GALGAS_string constinArgument_objKind, + const GALGAS_string constinArgument_attributeName, + const GALGAS_dataType constinArgument_expectedType, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + const GALGAS_implementation temp_0 = this ; + GALGAS_implementationObject var_obj_22831 = callExtensionGetter_impObject ((const cPtr_implementation *) temp_0.ptr (), constinArgument_objKind, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 825)) ; + { + routine_checkTypeForAttribute (var_obj_22831.readProperty_attributes (), constinArgument_attributeName, constinArgument_expectedType, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 826)) ; + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_identifierMap_2D_element cEnumerator_identifierMap::current (LOCATION_ARGS) const { - const cMapElement_identifierMap * p = (const cMapElement_identifierMap *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement_identifierMap) ; - return GALGAS_identifierMap_2D_element (p->mProperty_lkey, p->mProperty_value) ; +void callExtensionMethod_checkTypeForKind (cPtr_implementation * inObject, + const GALGAS_string constin_objKind, + const GALGAS_string constin_attributeName, + const GALGAS_dataType constin_expectedType, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (nullptr != inObject) { + macroValidSharedObject (inObject, cPtr_implementation) ; + inObject->method_checkTypeForKind (constin_objKind, constin_attributeName, constin_expectedType, inCompiler COMMA_THERE) ; + } } +//---------------------------------------------------------------------------------------------------------------------- +// +//Extension method '@implementation checkObjectReferences' +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- - -GALGAS_lstring cEnumerator_identifierMap::current_lkey (LOCATION_ARGS) const { - const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement) ; - return p->mProperty_lkey ; +void cPtr_implementation::method_checkObjectReferences (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + cEnumerator_implementationMap enumerator_22993 (this->mProperty_imp, kENUMERATION_UP) ; + while (enumerator_22993.hasCurrentObject ()) { + cEnumerator_implementationObjectMap enumerator_23015 (enumerator_22993.current_obj (HERE).readProperty_attributes (), kENUMERATION_UP) ; + while (enumerator_23015.hasCurrentObject ()) { + const GALGAS_implementation temp_0 = this ; + callExtensionMethod_checkAttributeReferences ((cPtr_impType *) enumerator_23015.current_type (HERE).ptr (), temp_0, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 832)) ; + enumerator_23015.gotoNextObject () ; + } + enumerator_22993.gotoNextObject () ; + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_object_5F_t cEnumerator_identifierMap::current_value (LOCATION_ARGS) const { - const cMapElement_identifierMap * p = (const cMapElement_identifierMap *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement_identifierMap) ; - return p->mProperty_value ; +void callExtensionMethod_checkObjectReferences (cPtr_implementation * inObject, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (nullptr != inObject) { + macroValidSharedObject (inObject, cPtr_implementation) ; + inObject->method_checkObjectReferences (inCompiler COMMA_THERE) ; + } } +//---------------------------------------------------------------------------------------------------------------------- +// +//Extension Getter '@implementationObjectMap mergeImplementationObjectAttributesWith' +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- - -bool GALGAS_identifierMap::optional_searchKey (const GALGAS_string & inKey, - GALGAS_object_5F_t & outArgument0) const { - const cMapElement_identifierMap * p = (const cMapElement_identifierMap *) searchForKey (inKey) ; - const bool result = nullptr != p ; - if (result) { - macroValidSharedObject (p, cMapElement_identifierMap) ; - outArgument0 = p->mProperty_value ; - }else{ - outArgument0.drop () ; +GALGAS_implementationObjectMap extensionGetter_mergeImplementationObjectAttributesWith (const GALGAS_implementationObjectMap & inObject, + const GALGAS_implementationObjectMap & constinArgument_attributesToMerge, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_implementationObjectMap result_mergedAttributes ; // Returned variable + result_mergedAttributes = GALGAS_implementationObjectMap::constructor_emptyMap (SOURCE_FILE ("implementation_types.galgas", 1054)) ; + const GALGAS_implementationObjectMap temp_0 = inObject ; + cEnumerator_implementationObjectMap enumerator_30611 (temp_0, kENUMERATION_UP) ; + while (enumerator_30611.hasCurrentObject ()) { + GALGAS_impType var_merged_30638 = enumerator_30611.current_type (HERE) ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = constinArgument_attributesToMerge.getter_hasKey (enumerator_30611.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("implementation_types.galgas", 1057)).boolEnum () ; + if (kBoolTrue == test_1) { + GALGAS_impType var_typeToMerge_30755 ; + constinArgument_attributesToMerge.method_get (enumerator_30611.current_lkey (HERE), var_typeToMerge_30755, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1058)) ; + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = GALGAS_bool (kIsEqual, enumerator_30611.current_type (HERE).getter_dynamicType (SOURCE_FILE ("implementation_types.galgas", 1059)).objectCompare (var_typeToMerge_30755.getter_dynamicType (SOURCE_FILE ("implementation_types.galgas", 1059)))).boolEnum () ; + if (kBoolTrue == test_2) { + var_merged_30638 = callExtensionGetter_mergeWithType ((const cPtr_impType *) enumerator_30611.current_type (HERE).ptr (), var_typeToMerge_30755, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1060)) ; + } + } + if (kBoolFalse == test_2) { + TC_Array fixItArray3 ; + inCompiler->emitSemanticError (enumerator_30611.current_lkey (HERE).readProperty_location (), GALGAS_string ("Redefined type"), fixItArray3 COMMA_SOURCE_FILE ("implementation_types.galgas", 1063)) ; + } + } + } + { + result_mergedAttributes.setter_put (enumerator_30611.current_lkey (HERE), var_merged_30638, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1066)) ; + } + enumerator_30611.gotoNextObject () ; } - return result ; + cEnumerator_implementationObjectMap enumerator_31031 (constinArgument_attributesToMerge, kENUMERATION_UP) ; + while (enumerator_31031.hasCurrentObject ()) { + enumGalgasBool test_4 = kBoolTrue ; + if (kBoolTrue == test_4) { + const GALGAS_implementationObjectMap temp_5 = inObject ; + test_4 = temp_5.getter_hasKey (enumerator_31031.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("implementation_types.galgas", 1069)).operator_not (SOURCE_FILE ("implementation_types.galgas", 1069)).boolEnum () ; + if (kBoolTrue == test_4) { + { + result_mergedAttributes.setter_put (enumerator_31031.current_lkey (HERE), enumerator_31031.current_type (HERE), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1070)) ; + } + } + } + enumerator_31031.gotoNextObject () ; + } +//--- + return result_mergedAttributes ; } -//-------------------------------------------------------------------------------------------------- -// -// @identifierMap generic code implementation -// -//-------------------------------------------------------------------------------------------------- - -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_identifierMap ("identifierMap", - nullptr) ; -//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_identifierMap::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_identifierMap ; -} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +//Abstract extension getter '@attributeRange contains' +// +//---------------------------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_identifierMap::clonedObject (void) const { - AC_GALGAS_root * result = nullptr ; - if (isValid ()) { - macroMyNew (result, GALGAS_identifierMap (*this)) ; +GALGAS_bool callExtensionGetter_contains (const cPtr_attributeRange * inObject, + const GALGAS_object_5F_t in_obj, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_bool result ; + if (nullptr != inObject) { + result = inObject->getter_contains (in_obj, inCompiler COMMA_THERE) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +//Abstract extension getter '@attributeRange string' +// +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_identifierMap GALGAS_identifierMap::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_identifierMap result ; - const GALGAS_identifierMap * p = (const GALGAS_identifierMap *) inObject.embeddedObject () ; - if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { - result = *p ; - }else{ - inCompiler->castError ("identifierMap", p->dynamicTypeDescriptor () COMMA_THERE) ; - } +GALGAS_string callExtensionGetter_string (const cPtr_attributeRange * inObject, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_string result ; + if (nullptr != inObject) { + result = inObject->getter_string (inCompiler COMMA_THERE) ; } return result ; } -//-------------------------------------------------------------------------------------------------- -// Object comparison -//-------------------------------------------------------------------------------------------------- - -typeComparisonResult cPtr_objectAttributes::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { - typeComparisonResult result = kOperandEqual ; - const cPtr_objectAttributes * p = (const cPtr_objectAttributes *) inOperandPtr ; - macroValidSharedObject (p, cPtr_objectAttributes) ; - if (kOperandEqual == result) { - result = mProperty_objectParams.objectCompare (p->mProperty_objectParams) ; - } - return result ; -} +//---------------------------------------------------------------------------------------------------------------------- +// +// L E X I Q U E +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +#include "strings/unicode_character_cpp.h" +#include "galgas2/scanner_actions.h" +#include "galgas2/cLexiqueIntrospection.h" +//---------------------------------------------------------------------------------------------------------------------- -typeComparisonResult GALGAS_objectAttributes::objectCompare (const GALGAS_objectAttributes & inOperand) const { - typeComparisonResult result = kOperandNotValid ; - if (isValid () && inOperand.isValid ()) { - const int32_t mySlot = mObjectPtr->classDescriptor ()->mSlotID ; - const int32_t operandSlot = inOperand.mObjectPtr->classDescriptor ()->mSlotID ; - if (mySlot < operandSlot) { - result = kFirstOperandLowerThanSecond ; - }else if (mySlot > operandSlot) { - result = kFirstOperandGreaterThanSecond ; - }else{ - result = mObjectPtr->dynamicObjectCompare (inOperand.mObjectPtr) ; - } - } - return result ; +cTokenFor_options_5F_scanner::cTokenFor_options_5F_scanner (void) : +mLexicalAttribute_floatNumber (), +mLexicalAttribute_integerNumber (), +mLexicalAttribute_key (), +mLexicalAttribute_number (), +mLexicalAttribute_string () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_objectAttributes::GALGAS_objectAttributes (void) : -AC_GALGAS_value_class () { +C_Lexique_options_5F_scanner::C_Lexique_options_5F_scanner (C_Compiler * inCallerCompiler, + const C_String & inSourceFileName + COMMA_LOCATION_ARGS) : +C_Lexique (inCallerCompiler, inSourceFileName COMMA_THERE) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_objectAttributes::GALGAS_objectAttributes (const cPtr_objectAttributes * inSourcePtr) : -AC_GALGAS_value_class (inSourcePtr) { - macroNullOrValidSharedObject (inSourcePtr, cPtr_objectAttributes) ; +C_Lexique_options_5F_scanner::C_Lexique_options_5F_scanner (C_Compiler * inCallerCompiler, + const C_String & inSourceString, + const C_String & inStringForError + COMMA_LOCATION_ARGS) : +C_Lexique (inCallerCompiler, inSourceString, inStringForError COMMA_THERE) { } -//-------------------------------------------------------------------------------------------------- -GALGAS_objectAttributes GALGAS_objectAttributes::class_func_new (const GALGAS_identifierMap & inAttribute_objectParams - COMMA_LOCATION_ARGS) { - GALGAS_objectAttributes result ; - if (inAttribute_objectParams.isValid ()) { - macroMyNew (result.mObjectPtr, cPtr_objectAttributes (inAttribute_objectParams COMMA_THERE)) ; - } - return result ; -} +//---------------------------------------------------------------------------------------------------------------------- +// Lexical error message list +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +static const char * gLexicalMessage_options_5F_scanner_decimalNumberTooLarge = "decimal number too large" ; -GALGAS_identifierMap GALGAS_objectAttributes::readProperty_objectParams (void) const { - if (nullptr == mObjectPtr) { - return GALGAS_identifierMap () ; - }else{ - const cPtr_objectAttributes * p = (const cPtr_objectAttributes *) mObjectPtr ; - macroValidSharedObject (p, cPtr_objectAttributes) ; - return p->mProperty_objectParams ; - } -} +static const char * gLexicalMessage_options_5F_scanner_internalError = "internal error" ; -//-------------------------------------------------------------------------------------------------- +static const char * gLexicalMessage_options_5F_scanner_unableToConvertToDouble = "Unable to convert the string to double" ; -GALGAS_identifierMap cPtr_objectAttributes::getter_objectParams (UNUSED_LOCATION_ARGS) const { - return mProperty_objectParams ; -} +static const char * gLexicalMessage_options_5F_scanner_unterminatedLitteralString = "Unterminated literal string" ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// getMessageForTerminal +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_objectAttributes::setter_setObjectParams (GALGAS_identifierMap inValue - COMMA_LOCATION_ARGS) { - if (nullptr != mObjectPtr) { - insulate (THERE) ; - cPtr_objectAttributes * p = (cPtr_objectAttributes *) mObjectPtr ; - macroValidSharedObject (p, cPtr_objectAttributes) ; - p->mProperty_objectParams = inValue ; +C_String C_Lexique_options_5F_scanner::getMessageForTerminal (const int32_t inTerminalIndex) const { + C_String result = "" ; + if ((inTerminalIndex >= 0) && (inTerminalIndex < 10)) { + static const char * syntaxErrorMessageArray [10] = {kEndOfSourceLexicalErrorMessage, + "identifier", + "literal string", + "literal unsigned 64 bits integer", + "literal float", + "'=' delimiter", + "',' delimiter", + "'-' delimiter", + "'(' delimiter", + "')' delimiter" + } ; + result = syntaxErrorMessageArray [inTerminalIndex] ; } + return result ; } -//-------------------------------------------------------------------------------------------------- - -void cPtr_objectAttributes::setter_setObjectParams (GALGAS_identifierMap inValue - COMMA_UNUSED_LOCATION_ARGS) { - mProperty_objectParams = inValue ; -} - -//-------------------------------------------------------------------------------------------------- -//Pointer class for @objectAttributes class -//-------------------------------------------------------------------------------------------------- - -cPtr_objectAttributes::cPtr_objectAttributes (const GALGAS_identifierMap & in_objectParams - COMMA_LOCATION_ARGS) : -acPtr_class (THERE), -mProperty_objectParams (in_objectParams) { -} - -//-------------------------------------------------------------------------------------------------- - -const C_galgas_type_descriptor * cPtr_objectAttributes::classDescriptor (void) const { - return & kTypeDescriptor_GALGAS_objectAttributes ; -} - -void cPtr_objectAttributes::description (String & ioString, - const int32_t inIndentation) const { - ioString.appendCString ("[@objectAttributes:") ; - mProperty_objectParams.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; -} +//---------------------------------------------------------------------------------------------------------------------- +// U N I C O D E S T R I N G S +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +//--- Unicode string for '$_28_$' +static const utf32 kUnicodeString_options_5F_scanner__28_ [] = { + TO_UNICODE ('('), + TO_UNICODE (0) +} ; -acPtr_class * cPtr_objectAttributes::duplicate (LOCATION_ARGS) const { - acPtr_class * ptr = nullptr ; - macroMyNew (ptr, cPtr_objectAttributes (mProperty_objectParams COMMA_THERE)) ; - return ptr ; -} +//--- Unicode string for '$_29_$' +static const utf32 kUnicodeString_options_5F_scanner__29_ [] = { + TO_UNICODE (')'), + TO_UNICODE (0) +} ; +//--- Unicode string for '$_2C_$' +static const utf32 kUnicodeString_options_5F_scanner__2C_ [] = { + TO_UNICODE (','), + TO_UNICODE (0) +} ; -//-------------------------------------------------------------------------------------------------- -// -// @objectAttributes generic code implementation -// -//-------------------------------------------------------------------------------------------------- +//--- Unicode string for '$_2D_$' +static const utf32 kUnicodeString_options_5F_scanner__2D_ [] = { + TO_UNICODE ('-'), + TO_UNICODE (0) +} ; -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_objectAttributes ("objectAttributes", - nullptr) ; +//--- Unicode string for '$_30_X$' +static const utf32 kUnicodeString_options_5F_scanner__30_X [] = { + TO_UNICODE ('0'), + TO_UNICODE ('X'), + TO_UNICODE (0) +} ; -//-------------------------------------------------------------------------------------------------- +//--- Unicode string for '$_30_x$' +static const utf32 kUnicodeString_options_5F_scanner__30_x [] = { + TO_UNICODE ('0'), + TO_UNICODE ('x'), + TO_UNICODE (0) +} ; -const C_galgas_type_descriptor * GALGAS_objectAttributes::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_objectAttributes ; -} +//--- Unicode string for '$_3D_$' +static const utf32 kUnicodeString_options_5F_scanner__3D_ [] = { + TO_UNICODE ('='), + TO_UNICODE (0) +} ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// Key words table 'optionsDelimiters' +//---------------------------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_objectAttributes::clonedObject (void) const { - AC_GALGAS_root * result = nullptr ; - if (isValid ()) { - macroMyNew (result, GALGAS_objectAttributes (*this)) ; - } - return result ; -} +static const int32_t ktable_size_options_5F_scanner_optionsDelimiters = 5 ; -//-------------------------------------------------------------------------------------------------- +static const C_unicode_lexique_table_entry ktable_for_options_5F_scanner_optionsDelimiters [ktable_size_options_5F_scanner_optionsDelimiters] = { + C_unicode_lexique_table_entry (kUnicodeString_options_5F_scanner__28_, 1, C_Lexique_options_5F_scanner::kToken__28_), + C_unicode_lexique_table_entry (kUnicodeString_options_5F_scanner__29_, 1, C_Lexique_options_5F_scanner::kToken__29_), + C_unicode_lexique_table_entry (kUnicodeString_options_5F_scanner__2C_, 1, C_Lexique_options_5F_scanner::kToken__2C_), + C_unicode_lexique_table_entry (kUnicodeString_options_5F_scanner__2D_, 1, C_Lexique_options_5F_scanner::kToken__2D_), + C_unicode_lexique_table_entry (kUnicodeString_options_5F_scanner__3D_, 1, C_Lexique_options_5F_scanner::kToken__3D_) +} ; -GALGAS_objectAttributes GALGAS_objectAttributes::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_objectAttributes result ; - const GALGAS_objectAttributes * p = (const GALGAS_objectAttributes *) inObject.embeddedObject () ; - if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { - result = *p ; - }else{ - inCompiler->castError ("objectAttributes", p->dynamicTypeDescriptor () COMMA_THERE) ; - } - } - return result ; +int32_t C_Lexique_options_5F_scanner::search_into_optionsDelimiters (const C_String & inSearchedString) { + return searchInList (inSearchedString, ktable_for_options_5F_scanner_optionsDelimiters, ktable_size_options_5F_scanner_optionsDelimiters) ; } -//-------------------------------------------------------------------------------------------------- -// -//Extension setter '@objectAttributes mergeAttributes' -// -//-------------------------------------------------------------------------------------------------- - -static TC_UniqueArray gExtensionModifierTable_objectAttributes_mergeAttributes ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// getCurrentTokenString +//---------------------------------------------------------------------------------------------------------------------- -void enterExtensionSetter_mergeAttributes (const int32_t inClassIndex, - extensionSetterSignature_objectAttributes_mergeAttributes inModifier) { - gExtensionModifierTable_objectAttributes_mergeAttributes.forceObjectAtIndex (inClassIndex, inModifier, nullptr) ; -} - -//-------------------------------------------------------------------------------------------------- - -void callExtensionSetter_mergeAttributes (cPtr_objectAttributes * inObject, - GALGAS_objectAttributes in_withAttributes, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { -//--- Drop output arguments -//--- Find setter - if (nullptr != inObject) { - macroValidSharedObject (inObject, cPtr_objectAttributes) ; - const C_galgas_type_descriptor * info = inObject->classDescriptor () ; - const int32_t classIndex = info->mSlotID ; - extensionSetterSignature_objectAttributes_mergeAttributes f = nullptr ; - if (classIndex < gExtensionModifierTable_objectAttributes_mergeAttributes.count ()) { - f = gExtensionModifierTable_objectAttributes_mergeAttributes (classIndex COMMA_HERE) ; - } - if (nullptr == f) { - const C_galgas_type_descriptor * p = info->mSuperclassDescriptor ; - while ((nullptr == f) && (nullptr != p)) { - if (p->mSlotID < gExtensionModifierTable_objectAttributes_mergeAttributes.count ()) { - f = gExtensionModifierTable_objectAttributes_mergeAttributes (p->mSlotID COMMA_HERE) ; - } - p = p->mSuperclassDescriptor ; - } - gExtensionModifierTable_objectAttributes_mergeAttributes.forceObjectAtIndex (classIndex, f, nullptr) ; +C_String C_Lexique_options_5F_scanner::getCurrentTokenString (const cToken * inTokenPtr) const { + const cTokenFor_options_5F_scanner * ptr = (const cTokenFor_options_5F_scanner *) inTokenPtr ; + C_String s ; + if (ptr == nullptr) { + s.appendCString("$$") ; + }else{ + switch (ptr->mTokenCode) { + case kToken_: + s.appendCString("$$") ; + break ; + case kToken_idf: + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendCString ("idf") ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; + s.appendCLiteralStringConstant (ptr->mLexicalAttribute_key) ; + break ; + case kToken_string: + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendCString ("string") ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; + s.appendCLiteralStringConstant (ptr->mLexicalAttribute_string) ; + break ; + case kToken_uint_5F_number: + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendCString ("uint_number") ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; + s.appendUnsigned (ptr->mLexicalAttribute_integerNumber) ; + break ; + case kToken_float_5F_number: + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendCString ("float_number") ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; + s.appendDouble (ptr->mLexicalAttribute_floatNumber) ; + break ; + case kToken__3D_: + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendCString ("=") ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + break ; + case kToken__2C_: + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendCString (",") ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + break ; + case kToken__2D_: + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendCString ("-") ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + break ; + case kToken__28_: + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendCString ("(") ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + break ; + case kToken__29_: + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendCString (")") ; + s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + break ; + default: + break ; } - f (inObject, in_withAttributes, inCompiler COMMA_THERE) ; } + return s ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// Template Delimiters +//---------------------------------------------------------------------------------------------------------------------- -static void extensionSetter_objectAttributes_mergeAttributes (cPtr_objectAttributes * inObject, - GALGAS_objectAttributes inArgument_withAttributes, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - cPtr_objectAttributes * object = inObject ; - macroValidSharedObject (object, cPtr_objectAttributes) ; - cEnumerator_identifierMap enumerator_1441 (inArgument_withAttributes.readProperty_objectParams (), kENUMERATION_UP) ; - while (enumerator_1441.hasCurrentObject ()) { - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = object->mProperty_objectParams.getter_hasKey (enumerator_1441.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("goil_basic_types.galgas", 60)).boolEnum () ; - if (kBoolTrue == test_0) { - GALGAS_object_5F_t var_object_1617 ; - { - object->mProperty_objectParams.setter_del (enumerator_1441.current_lkey (HERE), var_object_1617, inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 62)) ; - } - { - var_object_1617.insulate (HERE) ; - cPtr_object_5F_t * ptr_1634 = (cPtr_object_5F_t *) var_object_1617.ptr () ; - callExtensionSetter_mergeSubAttributes ((cPtr_object_5F_t *) ptr_1634, enumerator_1441.current_value (HERE), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 63)) ; + +//---------------------------------------------------------------------------------------------------------------------- +// Template Replacements +//---------------------------------------------------------------------------------------------------------------------- + + +//---------------------------------------------------------------------------------------------------------------------- +// Terminal Symbols as end of script in template mark +//---------------------------------------------------------------------------------------------------------------------- + + +//---------------------------------------------------------------------------------------------------------------------- +// INTERNAL PARSE LEXICAL TOKEN +//---------------------------------------------------------------------------------------------------------------------- + +void C_Lexique_options_5F_scanner::internalParseLexicalToken (cTokenFor_options_5F_scanner & token) { + bool loop = true ; + token.mLexicalAttribute_floatNumber = 0.0 ; + token.mLexicalAttribute_integerNumber = 0 ; + token.mLexicalAttribute_key.setLengthToZero () ; + token.mLexicalAttribute_number.setLengthToZero () ; + token.mLexicalAttribute_string.setLengthToZero () ; + mTokenStartLocation = mCurrentLocation ; + try{ + if (testForInputUTF32CharRange (TO_UNICODE ('a'), TO_UNICODE ('z')) || testForInputUTF32CharRange (TO_UNICODE ('A'), TO_UNICODE ('Z'))) { + do { + ::scanner_routine_enterCharacterIntoString (*this, token.mLexicalAttribute_key, previousChar ()) ; + if (testForInputUTF32CharRange (TO_UNICODE ('a'), TO_UNICODE ('z')) || testForInputUTF32CharRange (TO_UNICODE ('A'), TO_UNICODE ('Z')) || testForInputUTF32Char (TO_UNICODE ('_')) || testForInputUTF32CharRange (TO_UNICODE ('0'), TO_UNICODE ('9'))) { + }else{ + loop = false ; } - { - object->mProperty_objectParams.setter_put (enumerator_1441.current_lkey (HERE), var_object_1617, inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 64)) ; + }while (loop) ; + loop = true ; + token.mTokenCode = kToken_idf ; + enterToken (token) ; + }else if (testForInputUTF32Char (TO_UNICODE ('\"'))) { + do { + if (testForInputUTF32CharRange (TO_UNICODE (' '), TO_UNICODE ('!')) || testForInputUTF32CharRange (TO_UNICODE ('#'), TO_UNICODE (65533))) { + ::scanner_routine_enterCharacterIntoString (*this, token.mLexicalAttribute_string, previousChar ()) ; + }else{ + loop = false ; } + }while (loop) ; + loop = true ; + if (testForInputUTF32Char (TO_UNICODE ('\"'))) { + token.mTokenCode = kToken_string ; + enterToken (token) ; + }else{ + lexicalError (gLexicalMessage_options_5F_scanner_unterminatedLitteralString COMMA_LINE_AND_SOURCE_FILE) ; } - } - if (kBoolFalse == test_0) { - { - object->mProperty_objectParams.setter_put (enumerator_1441.current_lkey (HERE), enumerator_1441.current_value (HERE), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 67)) ; + }else if (testForInputUTF32String (kUnicodeString_options_5F_scanner__30_x, 2, true) || testForInputUTF32String (kUnicodeString_options_5F_scanner__30_X, 2, true)) { + do { + if (testForInputUTF32CharRange (TO_UNICODE ('0'), TO_UNICODE ('9')) || testForInputUTF32CharRange (TO_UNICODE ('a'), TO_UNICODE ('f')) || testForInputUTF32CharRange (TO_UNICODE ('A'), TO_UNICODE ('F'))) { + ::scanner_routine_enterHexDigitIntoUInt64 (*this, previousChar (), token.mLexicalAttribute_integerNumber, gLexicalMessage_options_5F_scanner_decimalNumberTooLarge, gLexicalMessage_options_5F_scanner_internalError) ; + }else{ + loop = false ; + } + }while (loop) ; + loop = true ; + token.mTokenCode = kToken_uint_5F_number ; + enterToken (token) ; + }else if (testForInputUTF32CharRange (TO_UNICODE ('0'), TO_UNICODE ('9'))) { + do { + ::scanner_routine_enterCharacterIntoString (*this, token.mLexicalAttribute_number, previousChar ()) ; + ::scanner_routine_enterDigitIntoUInt64 (*this, previousChar (), token.mLexicalAttribute_integerNumber, gLexicalMessage_options_5F_scanner_decimalNumberTooLarge, gLexicalMessage_options_5F_scanner_internalError) ; + if (testForInputUTF32CharRange (TO_UNICODE ('0'), TO_UNICODE ('9'))) { + }else{ + loop = false ; + } + }while (loop) ; + loop = true ; + if (testForInputUTF32Char (TO_UNICODE ('.'))) { + do { + ::scanner_routine_enterCharacterIntoString (*this, token.mLexicalAttribute_number, previousChar ()) ; + if (testForInputUTF32CharRange (TO_UNICODE ('0'), TO_UNICODE ('9'))) { + }else{ + loop = false ; + } + }while (loop) ; + loop = true ; + ::scanner_routine_convertStringToDouble (*this, token.mLexicalAttribute_number, token.mLexicalAttribute_floatNumber, gLexicalMessage_options_5F_scanner_unableToConvertToDouble) ; + token.mTokenCode = kToken_float_5F_number ; + enterToken (token) ; + }else{ + token.mTokenCode = kToken_uint_5F_number ; + enterToken (token) ; } + }else if (testForInputUTF32String (kUnicodeString_options_5F_scanner__3D_, 1, true)) { + token.mTokenCode = kToken__3D_ ; + enterToken (token) ; + }else if (testForInputUTF32String (kUnicodeString_options_5F_scanner__2D_, 1, true)) { + token.mTokenCode = kToken__2D_ ; + enterToken (token) ; + }else if (testForInputUTF32String (kUnicodeString_options_5F_scanner__2C_, 1, true)) { + token.mTokenCode = kToken__2C_ ; + enterToken (token) ; + }else if (testForInputUTF32String (kUnicodeString_options_5F_scanner__29_, 1, true)) { + token.mTokenCode = kToken__29_ ; + enterToken (token) ; + }else if (testForInputUTF32String (kUnicodeString_options_5F_scanner__28_, 1, true)) { + token.mTokenCode = kToken__28_ ; + enterToken (token) ; + }else if (testForInputUTF32CharRange (TO_UNICODE (1), TO_UNICODE (' '))) { + }else if (testForInputUTF32Char (TO_UNICODE ('\0'))) { // End of source text ? + token.mTokenCode = kToken_ ; // Empty string code + }else{ // Unknown input character + unknownCharacterLexicalError (LINE_AND_SOURCE_FILE) ; + token.mTokenCode = -1 ; // No token + advance () ; // ... go throught unknown character } - enumerator_1441.gotoNextObject () ; + }catch (const C_lexicalErrorException &) { + token.mTokenCode = -1 ; // No token + advance () ; // ... go throught unknown character } } -//-------------------------------------------------------------------------------------------------- - -static void defineExtensionSetter_objectAttributes_mergeAttributes (void) { - enterExtensionSetter_mergeAttributes (kTypeDescriptor_GALGAS_objectAttributes.mSlotID, - extensionSetter_objectAttributes_mergeAttributes) ; -} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// P A R S E L E X I C A L T O K E N +//---------------------------------------------------------------------------------------------------------------------- -static void freeExtensionModifier_objectAttributes_mergeAttributes (void) { - gExtensionModifierTable_objectAttributes_mergeAttributes.removeAll () ; +bool C_Lexique_options_5F_scanner::parseLexicalToken (void) { + cTokenFor_options_5F_scanner token ; + token.mTokenCode = -1 ; + while ((token.mTokenCode < 0) && (UNICODE_VALUE (mCurrentChar) != '\0')) { + internalParseLexicalToken (token) ; + } + if (UNICODE_VALUE (mCurrentChar) == '\0') { + token.mTokenCode = 0 ; + enterToken (token) ; + } + return token.mTokenCode > 0 ; } -//-------------------------------------------------------------------------------------------------- - -PrologueEpilogue gSetter_objectAttributes_mergeAttributes (defineExtensionSetter_objectAttributes_mergeAttributes, - freeExtensionModifier_objectAttributes_mergeAttributes) ; +//---------------------------------------------------------------------------------------------------------------------- +// E N T E R T O K E N +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- -// -//Class for element of '@identifierList' list -// -//-------------------------------------------------------------------------------------------------- +void C_Lexique_options_5F_scanner::enterToken (cTokenFor_options_5F_scanner & ioToken) { + cTokenFor_options_5F_scanner * ptr = nullptr ; + macroMyNew (ptr, cTokenFor_options_5F_scanner ()) ; + ptr->mTokenCode = ioToken.mTokenCode ; + // ptr->mIsOptional = ioToken.mIsOptional ; + ptr->mStartLocation = mTokenStartLocation ; + ptr->mEndLocation = mTokenEndLocation ; + ptr->mTemplateStringBeforeToken = ioToken.mTemplateStringBeforeToken ; + ioToken.mTemplateStringBeforeToken = "" ; + ptr->mLexicalAttribute_floatNumber = ioToken.mLexicalAttribute_floatNumber ; + ptr->mLexicalAttribute_integerNumber = ioToken.mLexicalAttribute_integerNumber ; + ptr->mLexicalAttribute_key = ioToken.mLexicalAttribute_key ; + ptr->mLexicalAttribute_number = ioToken.mLexicalAttribute_number ; + ptr->mLexicalAttribute_string = ioToken.mLexicalAttribute_string ; + enterTokenFromPointer (ptr) ; +} -class cCollectionElement_identifierList : public cCollectionElement { - public: GALGAS_identifierList_2D_element mObject ; +//---------------------------------------------------------------------------------------------------------------------- +// A T T R I B U T E A C C E S S +//---------------------------------------------------------------------------------------------------------------------- -//--- Class functions - public: cCollectionElement_identifierList (const GALGAS_object_5F_t & in_item - COMMA_LOCATION_ARGS) ; - public: cCollectionElement_identifierList (const GALGAS_identifierList_2D_element & inElement COMMA_LOCATION_ARGS) ; +double C_Lexique_options_5F_scanner::attributeValue_floatNumber (void) const { + cTokenFor_options_5F_scanner * ptr = (cTokenFor_options_5F_scanner *) currentTokenPtr (HERE) ; + return ptr->mLexicalAttribute_floatNumber ; +} -//--- Virtual method for comparing elements - public: virtual typeComparisonResult compare (const cCollectionElement * inOperand) const ; +//---------------------------------------------------------------------------------------------------------------------- -//--- Virtual method that checks that all attributes are valid - public: virtual bool isValid (void) const ; +uint64_t C_Lexique_options_5F_scanner::attributeValue_integerNumber (void) const { + cTokenFor_options_5F_scanner * ptr = (cTokenFor_options_5F_scanner *) currentTokenPtr (HERE) ; + return ptr->mLexicalAttribute_integerNumber ; +} -//--- Virtual method that returns a copy of current object - public: virtual cCollectionElement * copy (void) ; +//---------------------------------------------------------------------------------------------------------------------- -//--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; -} ; +C_String C_Lexique_options_5F_scanner::attributeValue_key (void) const { + cTokenFor_options_5F_scanner * ptr = (cTokenFor_options_5F_scanner *) currentTokenPtr (HERE) ; + return ptr->mLexicalAttribute_key ; +} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cCollectionElement_identifierList::cCollectionElement_identifierList (const GALGAS_object_5F_t & in_item - COMMA_LOCATION_ARGS) : -cCollectionElement (THERE), -mObject (in_item) { +C_String C_Lexique_options_5F_scanner::attributeValue_number (void) const { + cTokenFor_options_5F_scanner * ptr = (cTokenFor_options_5F_scanner *) currentTokenPtr (HERE) ; + return ptr->mLexicalAttribute_number ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cCollectionElement_identifierList::cCollectionElement_identifierList (const GALGAS_identifierList_2D_element & inElement COMMA_LOCATION_ARGS) : -cCollectionElement (THERE), -mObject (inElement.mProperty_item) { +C_String C_Lexique_options_5F_scanner::attributeValue_string (void) const { + cTokenFor_options_5F_scanner * ptr = (cTokenFor_options_5F_scanner *) currentTokenPtr (HERE) ; + return ptr->mLexicalAttribute_string ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// A S S I G N F R O M A T T R I B U T E +//---------------------------------------------------------------------------------------------------------------------- -bool cCollectionElement_identifierList::isValid (void) const { - return true ; +GALGAS_ldouble C_Lexique_options_5F_scanner::synthetizedAttribute_floatNumber (void) const { + cTokenFor_options_5F_scanner * ptr = (cTokenFor_options_5F_scanner *) currentTokenPtr (HERE) ; + macroValidSharedObject (ptr, cTokenFor_options_5F_scanner) ; + GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; + GALGAS_double value (ptr->mLexicalAttribute_floatNumber) ; + GALGAS_ldouble result (value, currentLocation) ; + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cCollectionElement * cCollectionElement_identifierList::copy (void) { - cCollectionElement * result = nullptr ; - macroMyNew (result, cCollectionElement_identifierList (mObject.mProperty_item COMMA_HERE)) ; +GALGAS_luint_36__34_ C_Lexique_options_5F_scanner::synthetizedAttribute_integerNumber (void) const { + cTokenFor_options_5F_scanner * ptr = (cTokenFor_options_5F_scanner *) currentTokenPtr (HERE) ; + macroValidSharedObject (ptr, cTokenFor_options_5F_scanner) ; + GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; + GALGAS_uint_36__34_ value (ptr->mLexicalAttribute_integerNumber) ; + GALGAS_luint_36__34_ result (value, currentLocation) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cCollectionElement_identifierList::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("item" ":") ; - mObject.mProperty_item.description (ioString, inIndentation) ; +GALGAS_lstring C_Lexique_options_5F_scanner::synthetizedAttribute_key (void) const { + cTokenFor_options_5F_scanner * ptr = (cTokenFor_options_5F_scanner *) currentTokenPtr (HERE) ; + macroValidSharedObject (ptr, cTokenFor_options_5F_scanner) ; + GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; + GALGAS_string value (ptr->mLexicalAttribute_key) ; + GALGAS_lstring result (value, currentLocation) ; + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -typeComparisonResult cCollectionElement_identifierList::compare (const cCollectionElement * inOperand) const { - cCollectionElement_identifierList * operand = (cCollectionElement_identifierList *) inOperand ; - macroValidSharedObject (operand, cCollectionElement_identifierList) ; - return mObject.objectCompare (operand->mObject) ; +GALGAS_lstring C_Lexique_options_5F_scanner::synthetizedAttribute_number (void) const { + cTokenFor_options_5F_scanner * ptr = (cTokenFor_options_5F_scanner *) currentTokenPtr (HERE) ; + macroValidSharedObject (ptr, cTokenFor_options_5F_scanner) ; + GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; + GALGAS_string value (ptr->mLexicalAttribute_number) ; + GALGAS_lstring result (value, currentLocation) ; + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_identifierList::GALGAS_identifierList (void) : -AC_GALGAS_list () { +GALGAS_lstring C_Lexique_options_5F_scanner::synthetizedAttribute_string (void) const { + cTokenFor_options_5F_scanner * ptr = (cTokenFor_options_5F_scanner *) currentTokenPtr (HERE) ; + macroValidSharedObject (ptr, cTokenFor_options_5F_scanner) ; + GALGAS_location currentLocation (ptr->mStartLocation, ptr->mEndLocation, sourceText ()) ; + GALGAS_string value (ptr->mLexicalAttribute_string) ; + GALGAS_lstring result (value, currentLocation) ; + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// I N T R O S P E C T I O N +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_identifierList::GALGAS_identifierList (const capCollectionElementArray & inSharedArray) : -AC_GALGAS_list (inSharedArray) { +GALGAS_stringlist C_Lexique_options_5F_scanner::symbols (LOCATION_ARGS) { + GALGAS_stringlist result = GALGAS_stringlist::constructor_emptyList (THERE) ; + result.addAssign_operation (GALGAS_string ("idf") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("string") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("uint_number") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("float_number") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("=") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string (",") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("-") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string ("(") COMMA_THERE) ; + result.addAssign_operation (GALGAS_string (")") COMMA_THERE) ; + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_identifierList GALGAS_identifierList::class_func_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_identifierList (capCollectionElementArray ()) ; +static void getKeywordLists_options_5F_scanner (TC_UniqueArray & ioList) { + ioList.appendObject ("options_scanner:optionsDelimiters") ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_identifierList GALGAS_identifierList::class_func_listWithValue (const GALGAS_object_5F_t & inOperand0 - COMMA_LOCATION_ARGS) { - GALGAS_identifierList result ; - if (inOperand0.isValid ()) { - result = GALGAS_identifierList (capCollectionElementArray ()) ; - capCollectionElement attributes ; - GALGAS_identifierList::makeAttributesFromObjects (attributes, inOperand0 COMMA_THERE) ; - result.appendObject (attributes) ; +static void getKeywordsForIdentifier_options_5F_scanner (const C_String & inIdentifier, + bool & ioFound, + TC_UniqueArray & ioList) { + if (inIdentifier == "options_scanner:optionsDelimiters") { + ioFound = true ; + ioList.appendObject ("(") ; + ioList.appendObject (")") ; + ioList.appendObject (",") ; + ioList.appendObject ("-") ; + ioList.appendObject ("=") ; + ioList.sortArrayUsingCompareMethod() ; } - return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_identifierList::makeAttributesFromObjects (capCollectionElement & outAttributes, - const GALGAS_object_5F_t & in_item - COMMA_LOCATION_ARGS) { - cCollectionElement_identifierList * p = nullptr ; - macroMyNew (p, cCollectionElement_identifierList (in_item COMMA_THERE)) ; - outAttributes.setPointer (p) ; - macroDetachSharedObject (p) ; -} +static cLexiqueIntrospection lexiqueIntrospection_options_5F_scanner +__attribute__ ((used)) +__attribute__ ((unused)) (getKeywordLists_options_5F_scanner, getKeywordsForIdentifier_options_5F_scanner) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// S T Y L E I N D E X F O R T E R M I N A L +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_identifierList::addAssign_operation (const GALGAS_object_5F_t & inOperand0 - COMMA_LOCATION_ARGS) { - if (isValid ()) { - cCollectionElement * p = nullptr ; - macroMyNew (p, cCollectionElement_identifierList (inOperand0 COMMA_THERE)) ; - capCollectionElement attributes ; - attributes.setPointer (p) ; - macroDetachSharedObject (p) ; - appendObject (attributes) ; - } +uint32_t C_Lexique_options_5F_scanner::styleIndexForTerminal (const int32_t inTerminalIndex) const { + static const uint32_t kTerminalSymbolStyles [10] = {0, + 1 /* options_scanner_1_idf */, + 3 /* options_scanner_1_string */, + 4 /* options_scanner_1_uint_5F_number */, + 5 /* options_scanner_1_float_5F_number */, + 2 /* options_scanner_1__3D_ */, + 2 /* options_scanner_1__2C_ */, + 2 /* options_scanner_1__2D_ */, + 2 /* options_scanner_1__28_ */, + 2 /* options_scanner_1__29_ */ + } ; + return (inTerminalIndex >= 0) ? kTerminalSymbolStyles [inTerminalIndex] : 0 ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// S T Y L E N A M E F O R S T Y L E I N D E X +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_identifierList::setter_append (const GALGAS_object_5F_t inOperand0, - Compiler * /* inCompiler */ - COMMA_LOCATION_ARGS) { - if (isValid ()) { - cCollectionElement * p = nullptr ; - macroMyNew (p, cCollectionElement_identifierList (inOperand0 COMMA_THERE)) ; - capCollectionElement attributes ; - attributes.setPointer (p) ; - macroDetachSharedObject (p) ; - appendObject (attributes) ; +C_String C_Lexique_options_5F_scanner::styleNameForIndex (const uint32_t inStyleIndex) const { + C_String result ; + if (inStyleIndex < 6) { + static const char * kStyleArray [6] = { + "", + "identifierStyle", + "delimitersStyle", + "stringStyle", + "integerStyle", + "floatStyle" + } ; + result = kStyleArray [inStyleIndex] ; } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_identifierList::setter_insertAtIndex (const GALGAS_object_5F_t inOperand0, - const GALGAS_uint inInsertionIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - if (isValid ()) { - if (inInsertionIndex.isValid () && inOperand0.isValid ()) { - cCollectionElement * p = nullptr ; - macroMyNew (p, cCollectionElement_identifierList (inOperand0 COMMA_THERE)) ; - capCollectionElement attributes ; - attributes.setPointer (p) ; - macroDetachSharedObject (p) ; - insertObjectAtIndex (attributes, inInsertionIndex.uintValue (), inCompiler COMMA_THERE) ; - }else{ - drop () ; - } - } +cMapElement_identifierMap::cMapElement_identifierMap (const GALGAS_lstring & inKey, + const GALGAS_object_5F_t & in_value + COMMA_LOCATION_ARGS) : +cMapElement (inKey COMMA_THERE), +mProperty_value (in_value) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_identifierList::setter_removeAtIndex (GALGAS_object_5F_t & outOperand0, - const GALGAS_uint inRemoveIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - if (isValid ()) { - if (inRemoveIndex.isValid ()) { - capCollectionElement attributes ; - removeObjectAtIndex (attributes, inRemoveIndex.uintValue (), inCompiler COMMA_THERE) ; - cCollectionElement_identifierList * p = (cCollectionElement_identifierList *) attributes.ptr () ; - if (nullptr == p) { - outOperand0.drop () ; - drop () ; - }else{ - macroValidSharedObject (p, cCollectionElement_identifierList) ; - outOperand0 = p->mObject.mProperty_item ; - } - }else{ - outOperand0.drop () ; - drop () ; - } - }else{ - outOperand0.drop () ; - } +bool cMapElement_identifierMap::isValid (void) const { + return mProperty_lkey.isValid () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_identifierList::setter_popFirst (GALGAS_object_5F_t & outOperand0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - capCollectionElement attributes ; - removeFirstObject (attributes, inCompiler COMMA_THERE) ; - cCollectionElement_identifierList * p = (cCollectionElement_identifierList *) attributes.ptr () ; - if (nullptr == p) { - outOperand0.drop () ; - }else{ - macroValidSharedObject (p, cCollectionElement_identifierList) ; - outOperand0 = p->mObject.mProperty_item ; - } +cMapElement * cMapElement_identifierMap::copy (void) { + cMapElement * result = nullptr ; + macroMyNew (result, cMapElement_identifierMap (mProperty_lkey, mProperty_value COMMA_HERE)) ; + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_identifierList::setter_popLast (GALGAS_object_5F_t & outOperand0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - capCollectionElement attributes ; - removeLastObject (attributes, inCompiler COMMA_THERE) ; - cCollectionElement_identifierList * p = (cCollectionElement_identifierList *) attributes.ptr () ; - if (nullptr == p) { - outOperand0.drop () ; - }else{ - macroValidSharedObject (p, cCollectionElement_identifierList) ; - outOperand0 = p->mObject.mProperty_item ; - } +void cMapElement_identifierMap::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "value" ":" ; + mProperty_value.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_identifierList::method_first (GALGAS_object_5F_t & outOperand0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - capCollectionElement attributes ; - readFirst (attributes, inCompiler COMMA_THERE) ; - cCollectionElement_identifierList * p = (cCollectionElement_identifierList *) attributes.ptr () ; - if (nullptr == p) { - outOperand0.drop () ; - }else{ - macroValidSharedObject (p, cCollectionElement_identifierList) ; - outOperand0 = p->mObject.mProperty_item ; +typeComparisonResult cMapElement_identifierMap::compare (const cCollectionElement * inOperand) const { + cMapElement_identifierMap * operand = (cMapElement_identifierMap *) inOperand ; + typeComparisonResult result = mProperty_lkey.objectCompare (operand->mProperty_lkey) ; + if (kOperandEqual == result) { + result = mProperty_value.objectCompare (operand->mProperty_value) ; } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_identifierList::method_last (GALGAS_object_5F_t & outOperand0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - capCollectionElement attributes ; - readLast (attributes, inCompiler COMMA_THERE) ; - cCollectionElement_identifierList * p = (cCollectionElement_identifierList *) attributes.ptr () ; - if (nullptr == p) { - outOperand0.drop () ; - }else{ - macroValidSharedObject (p, cCollectionElement_identifierList) ; - outOperand0 = p->mObject.mProperty_item ; - } +GALGAS_identifierMap::GALGAS_identifierMap (void) : +AC_GALGAS_map (true) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_identifierList GALGAS_identifierList::add_operation (const GALGAS_identifierList & inOperand, - Compiler * /* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_identifierList result ; - if (isValid () && inOperand.isValid ()) { - result = *this ; - result.appendList (inOperand) ; - } - return result ; +GALGAS_identifierMap::GALGAS_identifierMap (const GALGAS_identifierMap & inSource) : +AC_GALGAS_map (inSource) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_identifierList GALGAS_identifierList::getter_subListWithRange (const GALGAS_range & inRange, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_identifierList result = GALGAS_identifierList::class_func_emptyList (THERE) ; - subListWithRange (result, inRange, inCompiler COMMA_THERE) ; - return result ; +GALGAS_identifierMap & GALGAS_identifierMap::operator = (const GALGAS_identifierMap & inSource) { + * ((AC_GALGAS_map *) this) = inSource ; + return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_identifierList GALGAS_identifierList::getter_subListFromIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_identifierList result = GALGAS_identifierList::class_func_emptyList (THERE) ; - subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; +GALGAS_identifierMap GALGAS_identifierMap::constructor_emptyMap (LOCATION_ARGS) { + GALGAS_identifierMap result ; + result.makeNewEmptyMap (THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_identifierList GALGAS_identifierList::getter_subListToIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_identifierList result = GALGAS_identifierList::class_func_emptyList (THERE) ; - subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; +GALGAS_identifierMap GALGAS_identifierMap::constructor_mapWithMapToOverride (const GALGAS_identifierMap & inMapToOverride + COMMA_LOCATION_ARGS) { + GALGAS_identifierMap result ; + result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_identifierList::plusAssign_operation (const GALGAS_identifierList inOperand, - Compiler * /* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) { - appendList (inOperand) ; +GALGAS_identifierMap GALGAS_identifierMap::getter_overriddenMap (C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_identifierMap result ; + getOverridenMap (result, inCompiler COMMA_THERE) ; + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_identifierList::setter_setItemAtIndex (GALGAS_object_5F_t inOperand, - GALGAS_uint inIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cCollectionElement_identifierList * p = (cCollectionElement_identifierList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; - if (nullptr != p) { - macroValidSharedObject (p, cCollectionElement_identifierList) ; - macroUniqueSharedObject (p) ; - p->mObject.mProperty_item = inOperand ; +void GALGAS_identifierMap::addAssign_operation (const GALGAS_lstring & inKey, + const GALGAS_object_5F_t & inArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cMapElement_identifierMap * p = nullptr ; + macroMyNew (p, cMapElement_identifierMap (inKey, inArgument0 COMMA_HERE)) ; + capCollectionElement attributes ; + attributes.setPointer (p) ; + macroDetachSharedObject (p) ; + const char * kInsertErrorMessage = "@identifierMap insert error: '%K' already in map" ; + const char * kShadowErrorMessage = "" ; + performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_identifierMap GALGAS_identifierMap::add_operation (const GALGAS_identifierMap & inOperand, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_identifierMap result = *this ; + cEnumerator_identifierMap enumerator (inOperand, kENUMERATION_UP) ; + while (enumerator.hasCurrentObject ()) { + result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_value (HERE), inCompiler COMMA_THERE) ; + enumerator.gotoNextObject () ; } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_object_5F_t GALGAS_identifierList::getter_itemAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; - cCollectionElement_identifierList * p = (cCollectionElement_identifierList *) attributes.ptr () ; +void GALGAS_identifierMap::setter_put (GALGAS_lstring inKey, + GALGAS_object_5F_t inArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cMapElement_identifierMap * p = nullptr ; + macroMyNew (p, cMapElement_identifierMap (inKey, inArgument0 COMMA_HERE)) ; + capCollectionElement attributes ; + attributes.setPointer (p) ; + macroDetachSharedObject (p) ; + const char * kInsertErrorMessage = "%K is duplicated in %L" ; + const char * kShadowErrorMessage = "" ; + performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +const char * kSearchErrorMessage_identifierMap_get = "Identifier %K is not defined" ; + +//---------------------------------------------------------------------------------------------------------------------- + +void GALGAS_identifierMap::method_get (GALGAS_lstring inKey, + GALGAS_object_5F_t & outArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + const cMapElement_identifierMap * p = (const cMapElement_identifierMap *) performSearch (inKey, + inCompiler, + kSearchErrorMessage_identifierMap_get + COMMA_THERE) ; + if (nullptr == p) { + outArgument0.drop () ; + }else{ + macroValidSharedObject (p, cMapElement_identifierMap) ; + outArgument0 = p->mProperty_value ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +void GALGAS_identifierMap::setter_del (GALGAS_lstring inKey, + GALGAS_object_5F_t & outArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + const char * kRemoveErrorMessage = "Identifier %K is not defined" ; + capCollectionElement attributes ; + performRemove (inKey, attributes, inCompiler, kRemoveErrorMessage COMMA_THERE) ; + cMapElement_identifierMap * p = (cMapElement_identifierMap *) attributes.ptr () ; + if (nullptr == p) { + outArgument0.drop () ; + }else{ + macroValidSharedObject (p, cMapElement_identifierMap) ; + outArgument0 = p->mProperty_value ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_object_5F_t GALGAS_identifierMap::getter_valueForKey (const GALGAS_string & inKey, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; + const cMapElement_identifierMap * p = (const cMapElement_identifierMap *) attributes ; GALGAS_object_5F_t result ; if (nullptr != p) { - macroValidSharedObject (p, cCollectionElement_identifierList) ; - result = p->mObject.mProperty_item ; + macroValidSharedObject (p, cMapElement_identifierMap) ; + result = p->mProperty_value ; } return result ; } +//---------------------------------------------------------------------------------------------------------------------- + +void GALGAS_identifierMap::setter_setValueForKey (GALGAS_object_5F_t inAttributeValue, + GALGAS_string inKey, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; + cMapElement_identifierMap * p = (cMapElement_identifierMap *) attributes ; + if (nullptr != p) { + macroValidSharedObject (p, cMapElement_identifierMap) ; + p->mProperty_value = inAttributeValue ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- +cMapElement_identifierMap * GALGAS_identifierMap::readWriteAccessForWithInstruction (C_Compiler * inCompiler, + const GALGAS_string & inKey + COMMA_LOCATION_ARGS) { + cMapElement_identifierMap * result = (cMapElement_identifierMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; + macroNullOrValidSharedObject (result, cMapElement_identifierMap) ; + return result ; +} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cEnumerator_identifierList::cEnumerator_identifierList (const GALGAS_identifierList & inEnumeratedObject, - const typeEnumerationOrder inOrder) : +cEnumerator_identifierMap::cEnumerator_identifierMap (const GALGAS_identifierMap & inEnumeratedObject, + const typeEnumerationOrder inOrder) : cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_identifierList_2D_element cEnumerator_identifierList::current (LOCATION_ARGS) const { - const cCollectionElement_identifierList * p = (const cCollectionElement_identifierList *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cCollectionElement_identifierList) ; - return p->mObject ; +GALGAS_identifierMap_2D_element cEnumerator_identifierMap::current (LOCATION_ARGS) const { + const cMapElement_identifierMap * p = (const cMapElement_identifierMap *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement_identifierMap) ; + return GALGAS_identifierMap_2D_element (p->mProperty_lkey, p->mProperty_value) ; } +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- - -GALGAS_object_5F_t cEnumerator_identifierList::current_item (LOCATION_ARGS) const { - const cCollectionElement_identifierList * p = (const cCollectionElement_identifierList *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cCollectionElement_identifierList) ; - return p->mObject.mProperty_item ; +GALGAS_lstring cEnumerator_identifierMap::current_lkey (LOCATION_ARGS) const { + const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement) ; + return p->mProperty_lkey ; } +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_object_5F_t cEnumerator_identifierMap::current_value (LOCATION_ARGS) const { + const cMapElement_identifierMap * p = (const cMapElement_identifierMap *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement_identifierMap) ; + return p->mProperty_value ; +} +//---------------------------------------------------------------------------------------------------------------------- +bool GALGAS_identifierMap::optional_searchKey (const GALGAS_string & inKey, + GALGAS_object_5F_t & outArgument0) const { + const cMapElement_identifierMap * p = (const cMapElement_identifierMap *) searchForKey (inKey) ; + const bool result = nullptr != p ; + if (result) { + macroValidSharedObject (p, cMapElement_identifierMap) ; + outArgument0 = p->mProperty_value ; + }else{ + outArgument0.drop () ; + } + return result ; +} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// @identifierList generic code implementation +// @identifierMap generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_identifierList ("identifierList", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_identifierMap ("identifierMap", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_identifierList::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_identifierList ; +const C_galgas_type_descriptor * GALGAS_identifierMap::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_identifierMap ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_identifierList::clonedObject (void) const { +AC_GALGAS_root * GALGAS_identifierMap::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; if (isValid ()) { - macroMyNew (result, GALGAS_identifierList (*this)) ; + macroMyNew (result, GALGAS_identifierMap (*this)) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_identifierList GALGAS_identifierList::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_identifierList result ; - const GALGAS_identifierList * p = (const GALGAS_identifierList *) inObject.embeddedObject () ; +GALGAS_identifierMap GALGAS_identifierMap::extractObject (const GALGAS_object & inObject, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_identifierMap result ; + const GALGAS_identifierMap * p = (const GALGAS_identifierMap *) inObject.embeddedObject () ; if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { + if (nullptr != dynamic_cast (p)) { result = *p ; }else{ - inCompiler->castError ("identifierList", p->dynamicTypeDescriptor () COMMA_THERE) ; + inCompiler->castError ("identifierMap", p->dynamicTypeDescriptor () COMMA_THERE) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// Object comparison +//---------------------------------------------------------------------------------------------------------------------- -cMapElement_stringMap::cMapElement_stringMap (const GALGAS_lstring & inKey, - const GALGAS_string & in_value - COMMA_LOCATION_ARGS) : -cMapElement (inKey COMMA_THERE), -mProperty_value (in_value) { +typeComparisonResult cPtr_objectAttributes::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { + typeComparisonResult result = kOperandEqual ; + const cPtr_objectAttributes * p = (const cPtr_objectAttributes *) inOperandPtr ; + macroValidSharedObject (p, cPtr_objectAttributes) ; + if (kOperandEqual == result) { + result = mProperty_objectParams.objectCompare (p->mProperty_objectParams) ; + } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool cMapElement_stringMap::isValid (void) const { - return mProperty_lkey.isValid () ; + +typeComparisonResult GALGAS_objectAttributes::objectCompare (const GALGAS_objectAttributes & inOperand) const { + typeComparisonResult result = kOperandNotValid ; + if (isValid () && inOperand.isValid ()) { + const int32_t mySlot = mObjectPtr->classDescriptor ()->mSlotID ; + const int32_t operandSlot = inOperand.mObjectPtr->classDescriptor ()->mSlotID ; + if (mySlot < operandSlot) { + result = kFirstOperandLowerThanSecond ; + }else if (mySlot > operandSlot) { + result = kFirstOperandGreaterThanSecond ; + }else{ + result = mObjectPtr->dynamicObjectCompare (inOperand.mObjectPtr) ; + } + } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement * cMapElement_stringMap::copy (void) { - cMapElement * result = nullptr ; - macroMyNew (result, cMapElement_stringMap (mProperty_lkey, mProperty_value COMMA_HERE)) ; - return result ; +GALGAS_objectAttributes::GALGAS_objectAttributes (void) : +AC_GALGAS_value_class () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cMapElement_stringMap::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("value" ":") ; - mProperty_value.description (ioString, inIndentation) ; +GALGAS_objectAttributes GALGAS_objectAttributes::constructor_default (LOCATION_ARGS) { + return GALGAS_objectAttributes::constructor_new (GALGAS_identifierMap::constructor_emptyMap (HERE) + COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -typeComparisonResult cMapElement_stringMap::compare (const cCollectionElement * inOperand) const { - cMapElement_stringMap * operand = (cMapElement_stringMap *) inOperand ; - typeComparisonResult result = mProperty_lkey.objectCompare (operand->mProperty_lkey) ; - if (kOperandEqual == result) { - result = mProperty_value.objectCompare (operand->mProperty_value) ; +GALGAS_objectAttributes::GALGAS_objectAttributes (const cPtr_objectAttributes * inSourcePtr) : +AC_GALGAS_value_class (inSourcePtr) { + macroNullOrValidSharedObject (inSourcePtr, cPtr_objectAttributes) ; +} +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_objectAttributes GALGAS_objectAttributes::constructor_new (const GALGAS_identifierMap & inAttribute_objectParams + COMMA_LOCATION_ARGS) { + GALGAS_objectAttributes result ; + if (inAttribute_objectParams.isValid ()) { + macroMyNew (result.mObjectPtr, cPtr_objectAttributes (inAttribute_objectParams COMMA_THERE)) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_stringMap::GALGAS_stringMap (void) : -AC_GALGAS_map () { +GALGAS_identifierMap GALGAS_objectAttributes::readProperty_objectParams (void) const { + if (nullptr == mObjectPtr) { + return GALGAS_identifierMap () ; + }else{ + const cPtr_objectAttributes * p = (const cPtr_objectAttributes *) mObjectPtr ; + macroValidSharedObject (p, cPtr_objectAttributes) ; + return p->mProperty_objectParams ; + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_stringMap::GALGAS_stringMap (const GALGAS_stringMap & inSource) : -AC_GALGAS_map (inSource) { +GALGAS_identifierMap cPtr_objectAttributes::getter_objectParams (UNUSED_LOCATION_ARGS) const { + return mProperty_objectParams ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_stringMap & GALGAS_stringMap::operator = (const GALGAS_stringMap & inSource) { - * ((AC_GALGAS_map *) this) = inSource ; - return * this ; +void GALGAS_objectAttributes::setter_setObjectParams (GALGAS_identifierMap inValue + COMMA_LOCATION_ARGS) { + if (nullptr != mObjectPtr) { + insulate (THERE) ; + cPtr_objectAttributes * p = (cPtr_objectAttributes *) mObjectPtr ; + macroValidSharedObject (p, cPtr_objectAttributes) ; + p->mProperty_objectParams = inValue ; + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_stringMap GALGAS_stringMap::class_func_emptyMap (LOCATION_ARGS) { - GALGAS_stringMap result ; - result.makeNewEmptyMap (THERE) ; - return result ; +void cPtr_objectAttributes::setter_setObjectParams (GALGAS_identifierMap inValue + COMMA_UNUSED_LOCATION_ARGS) { + mProperty_objectParams = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +//Pointer class for @objectAttributes class +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_stringMap GALGAS_stringMap::class_func_mapWithMapToOverride (const GALGAS_stringMap & inMapToOverride - COMMA_LOCATION_ARGS) { - GALGAS_stringMap result ; - result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; - return result ; +cPtr_objectAttributes::cPtr_objectAttributes (const GALGAS_identifierMap & in_objectParams + COMMA_LOCATION_ARGS) : +acPtr_class (THERE), +mProperty_objectParams (in_objectParams) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_stringMap GALGAS_stringMap::getter_overriddenMap (Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_stringMap result ; - getOverridenMap (result, inCompiler COMMA_THERE) ; - return result ; +const C_galgas_type_descriptor * cPtr_objectAttributes::classDescriptor (void) const { + return & kTypeDescriptor_GALGAS_objectAttributes ; } -//-------------------------------------------------------------------------------------------------- - -void GALGAS_stringMap::addAssign_operation (const GALGAS_lstring & inKey, - const GALGAS_string & inArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cMapElement_stringMap * p = nullptr ; - macroMyNew (p, cMapElement_stringMap (inKey, inArgument0 COMMA_HERE)) ; - capCollectionElement attributes ; - attributes.setPointer (p) ; - macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "@stringMap insert error: '%K' already in map" ; - const char * kShadowErrorMessage = "" ; - performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; +void cPtr_objectAttributes::description (C_String & ioString, + const int32_t inIndentation) const { + ioString << "[@objectAttributes:" ; + mProperty_objectParams.description (ioString, inIndentation+1) ; + ioString << "]" ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_stringMap GALGAS_stringMap::add_operation (const GALGAS_stringMap & inOperand, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_stringMap result = *this ; - cEnumerator_stringMap enumerator (inOperand, kENUMERATION_UP) ; - while (enumerator.hasCurrentObject ()) { - result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_value (HERE), inCompiler COMMA_THERE) ; - enumerator.gotoNextObject () ; - } - return result ; +acPtr_class * cPtr_objectAttributes::duplicate (LOCATION_ARGS) const { + acPtr_class * ptr = nullptr ; + macroMyNew (ptr, cPtr_objectAttributes (mProperty_objectParams COMMA_THERE)) ; + return ptr ; } -//-------------------------------------------------------------------------------------------------- - -void GALGAS_stringMap::setter_put (GALGAS_lstring inKey, - GALGAS_string inArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cMapElement_stringMap * p = nullptr ; - macroMyNew (p, cMapElement_stringMap (inKey, inArgument0 COMMA_HERE)) ; - capCollectionElement attributes ; - attributes.setPointer (p) ; - macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "stringmap key %K is duplicated in %L" ; - const char * kShadowErrorMessage = "" ; - performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; -} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +// @objectAttributes generic code implementation +// +//---------------------------------------------------------------------------------------------------------------------- -const char * kSearchErrorMessage_stringMap_get = "stringmap key %K is not defined" ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_objectAttributes ("objectAttributes", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_stringMap::method_get (GALGAS_lstring inKey, - GALGAS_string & outArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - const cMapElement_stringMap * p = (const cMapElement_stringMap *) performSearch (inKey, - inCompiler, - kSearchErrorMessage_stringMap_get - COMMA_THERE) ; - if (nullptr == p) { - outArgument0.drop () ; - }else{ - macroValidSharedObject (p, cMapElement_stringMap) ; - outArgument0 = p->mProperty_value ; - } +const C_galgas_type_descriptor * GALGAS_objectAttributes::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_objectAttributes ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_stringMap::getter_valueForKey (const GALGAS_string & inKey, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; - const cMapElement_stringMap * p = (const cMapElement_stringMap *) attributes ; - GALGAS_string result ; - if (nullptr != p) { - macroValidSharedObject (p, cMapElement_stringMap) ; - result = p->mProperty_value ; +AC_GALGAS_root * GALGAS_objectAttributes::clonedObject (void) const { + AC_GALGAS_root * result = nullptr ; + if (isValid ()) { + macroMyNew (result, GALGAS_objectAttributes (*this)) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_stringMap::setter_setValueForKey (GALGAS_string inAttributeValue, - GALGAS_string inKey, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; - cMapElement_stringMap * p = (cMapElement_stringMap *) attributes ; +GALGAS_objectAttributes GALGAS_objectAttributes::extractObject (const GALGAS_object & inObject, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_objectAttributes result ; + const GALGAS_objectAttributes * p = (const GALGAS_objectAttributes *) inObject.embeddedObject () ; if (nullptr != p) { - macroValidSharedObject (p, cMapElement_stringMap) ; - p->mProperty_value = inAttributeValue ; + if (nullptr != dynamic_cast (p)) { + result = *p ; + }else{ + inCompiler->castError ("objectAttributes", p->dynamicTypeDescriptor () COMMA_THERE) ; + } } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +//Extension setter '@objectAttributes mergeAttributes' +// +//---------------------------------------------------------------------------------------------------------------------- -cMapElement_stringMap * GALGAS_stringMap::readWriteAccessForWithInstruction (Compiler * inCompiler, - const GALGAS_string & inKey - COMMA_LOCATION_ARGS) { - cMapElement_stringMap * result = (cMapElement_stringMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; - macroNullOrValidSharedObject (result, cMapElement_stringMap) ; - return result ; -} +static TC_UniqueArray gExtensionModifierTable_objectAttributes_mergeAttributes ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cEnumerator_stringMap::cEnumerator_stringMap (const GALGAS_stringMap & inEnumeratedObject, - const typeEnumerationOrder inOrder) : -cGenericAbstractEnumerator (inOrder) { - inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; +void enterExtensionSetter_mergeAttributes (const int32_t inClassIndex, + extensionSetterSignature_objectAttributes_mergeAttributes inModifier) { + gExtensionModifierTable_objectAttributes_mergeAttributes.forceObjectAtIndex (inClassIndex, inModifier, nullptr COMMA_HERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_stringMap_2D_element cEnumerator_stringMap::current (LOCATION_ARGS) const { - const cMapElement_stringMap * p = (const cMapElement_stringMap *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement_stringMap) ; - return GALGAS_stringMap_2D_element (p->mProperty_lkey, p->mProperty_value) ; +void callExtensionSetter_mergeAttributes (cPtr_objectAttributes * inObject, + GALGAS_objectAttributes in_withAttributes, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { +//--- Drop output arguments +//--- Find setter + if (nullptr != inObject) { + macroValidSharedObject (inObject, cPtr_objectAttributes) ; + const C_galgas_type_descriptor * info = inObject->classDescriptor () ; + const int32_t classIndex = info->mSlotID ; + extensionSetterSignature_objectAttributes_mergeAttributes f = nullptr ; + if (classIndex < gExtensionModifierTable_objectAttributes_mergeAttributes.count ()) { + f = gExtensionModifierTable_objectAttributes_mergeAttributes (classIndex COMMA_HERE) ; + } + if (nullptr == f) { + const C_galgas_type_descriptor * p = info->mSuperclassDescriptor ; + while ((nullptr == f) && (nullptr != p)) { + if (p->mSlotID < gExtensionModifierTable_objectAttributes_mergeAttributes.count ()) { + f = gExtensionModifierTable_objectAttributes_mergeAttributes (p->mSlotID COMMA_HERE) ; + } + p = p->mSuperclassDescriptor ; + } + gExtensionModifierTable_objectAttributes_mergeAttributes.forceObjectAtIndex (classIndex, f, nullptr COMMA_HERE) ; + } + f (inObject, in_withAttributes, inCompiler COMMA_THERE) ; + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring cEnumerator_stringMap::current_lkey (LOCATION_ARGS) const { - const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement) ; - return p->mProperty_lkey ; +static void extensionSetter_objectAttributes_mergeAttributes (cPtr_objectAttributes * inObject, + GALGAS_objectAttributes inArgument_withAttributes, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + cPtr_objectAttributes * object = inObject ; + macroValidSharedObject (object, cPtr_objectAttributes) ; + cEnumerator_identifierMap enumerator_1441 (inArgument_withAttributes.readProperty_objectParams (), kENUMERATION_UP) ; + while (enumerator_1441.hasCurrentObject ()) { + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = object->mProperty_objectParams.getter_hasKey (enumerator_1441.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("goil_basic_types.galgas", 60)).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_object_5F_t var_object_1617 ; + { + object->mProperty_objectParams.setter_del (enumerator_1441.current_lkey (HERE), var_object_1617, inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 62)) ; + } + { + var_object_1617.insulate (HERE) ; + cPtr_object_5F_t * ptr_1634 = (cPtr_object_5F_t *) var_object_1617.ptr () ; + callExtensionSetter_mergeSubAttributes ((cPtr_object_5F_t *) ptr_1634, enumerator_1441.current_value (HERE), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 63)) ; + } + { + object->mProperty_objectParams.setter_put (enumerator_1441.current_lkey (HERE), var_object_1617, inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 64)) ; + } + } + } + if (kBoolFalse == test_0) { + { + object->mProperty_objectParams.setter_put (enumerator_1441.current_lkey (HERE), enumerator_1441.current_value (HERE), inCompiler COMMA_SOURCE_FILE ("goil_basic_types.galgas", 67)) ; + } + } + enumerator_1441.gotoNextObject () ; + } } +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- - -GALGAS_string cEnumerator_stringMap::current_value (LOCATION_ARGS) const { - const cMapElement_stringMap * p = (const cMapElement_stringMap *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement_stringMap) ; - return p->mProperty_value ; +static void defineExtensionSetter_objectAttributes_mergeAttributes (void) { + enterExtensionSetter_mergeAttributes (kTypeDescriptor_GALGAS_objectAttributes.mSlotID, + extensionSetter_objectAttributes_mergeAttributes) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool GALGAS_stringMap::optional_searchKey (const GALGAS_string & inKey, - GALGAS_string & outArgument0) const { - const cMapElement_stringMap * p = (const cMapElement_stringMap *) searchForKey (inKey) ; - const bool result = nullptr != p ; - if (result) { - macroValidSharedObject (p, cMapElement_stringMap) ; - outArgument0 = p->mProperty_value ; - }else{ - outArgument0.drop () ; - } - return result ; +static void freeExtensionModifier_objectAttributes_mergeAttributes (void) { + gExtensionModifierTable_objectAttributes_mergeAttributes.removeAll () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- + +C_PrologueEpilogue gSetter_objectAttributes_mergeAttributes (defineExtensionSetter_objectAttributes_mergeAttributes, + freeExtensionModifier_objectAttributes_mergeAttributes) ; + +//---------------------------------------------------------------------------------------------------------------------- // -// @stringMap generic code implementation +//Class for element of '@identifierList' list // -//-------------------------------------------------------------------------------------------------- - -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_stringMap ("stringMap", - nullptr) ; +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +class cCollectionElement_identifierList : public cCollectionElement { + public: GALGAS_identifierList_2D_element mObject ; -const C_galgas_type_descriptor * GALGAS_stringMap::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_stringMap ; -} +//--- Constructors + public: cCollectionElement_identifierList (const GALGAS_object_5F_t & in_item + COMMA_LOCATION_ARGS) ; + public: cCollectionElement_identifierList (const GALGAS_identifierList_2D_element & inElement COMMA_LOCATION_ARGS) ; -//-------------------------------------------------------------------------------------------------- +//--- Virtual method for comparing elements + public: virtual typeComparisonResult compare (const cCollectionElement * inOperand) const ; -AC_GALGAS_root * GALGAS_stringMap::clonedObject (void) const { - AC_GALGAS_root * result = nullptr ; - if (isValid ()) { - macroMyNew (result, GALGAS_stringMap (*this)) ; - } - return result ; -} +//--- Virtual method that checks that all attributes are valid + public: virtual bool isValid (void) const ; -//-------------------------------------------------------------------------------------------------- +//--- Virtual method that returns a copy of current object + public: virtual cCollectionElement * copy (void) ; -GALGAS_stringMap GALGAS_stringMap::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_stringMap result ; - const GALGAS_stringMap * p = (const GALGAS_stringMap *) inObject.embeddedObject () ; - if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { - result = *p ; - }else{ - inCompiler->castError ("stringMap", p->dynamicTypeDescriptor () COMMA_THERE) ; - } - } - return result ; -} +//--- Description + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; +} ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement_lstringMap::cMapElement_lstringMap (const GALGAS_lstring & inKey, - const GALGAS_lstring & in_value - COMMA_LOCATION_ARGS) : -cMapElement (inKey COMMA_THERE), -mProperty_value (in_value) { +cCollectionElement_identifierList::cCollectionElement_identifierList (const GALGAS_object_5F_t & in_item + COMMA_LOCATION_ARGS) : +cCollectionElement (THERE), +mObject (in_item) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool cMapElement_lstringMap::isValid (void) const { - return mProperty_lkey.isValid () ; +cCollectionElement_identifierList::cCollectionElement_identifierList (const GALGAS_identifierList_2D_element & inElement COMMA_LOCATION_ARGS) : +cCollectionElement (THERE), +mObject (inElement.mProperty_item) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement * cMapElement_lstringMap::copy (void) { - cMapElement * result = nullptr ; - macroMyNew (result, cMapElement_lstringMap (mProperty_lkey, mProperty_value COMMA_HERE)) ; - return result ; +bool cCollectionElement_identifierList::isValid (void) const { + return true ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cMapElement_lstringMap::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("value" ":") ; - mProperty_value.description (ioString, inIndentation) ; +cCollectionElement * cCollectionElement_identifierList::copy (void) { + cCollectionElement * result = nullptr ; + macroMyNew (result, cCollectionElement_identifierList (mObject.mProperty_item COMMA_HERE)) ; + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -typeComparisonResult cMapElement_lstringMap::compare (const cCollectionElement * inOperand) const { - cMapElement_lstringMap * operand = (cMapElement_lstringMap *) inOperand ; - typeComparisonResult result = mProperty_lkey.objectCompare (operand->mProperty_lkey) ; - if (kOperandEqual == result) { - result = mProperty_value.objectCompare (operand->mProperty_value) ; - } - return result ; +void cCollectionElement_identifierList::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "item" ":" ; + mObject.mProperty_item.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstringMap::GALGAS_lstringMap (void) : -AC_GALGAS_map () { +typeComparisonResult cCollectionElement_identifierList::compare (const cCollectionElement * inOperand) const { + cCollectionElement_identifierList * operand = (cCollectionElement_identifierList *) inOperand ; + macroValidSharedObject (operand, cCollectionElement_identifierList) ; + return mObject.objectCompare (operand->mObject) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstringMap::GALGAS_lstringMap (const GALGAS_lstringMap & inSource) : -AC_GALGAS_map (inSource) { +GALGAS_identifierList::GALGAS_identifierList (void) : +AC_GALGAS_list () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstringMap & GALGAS_lstringMap::operator = (const GALGAS_lstringMap & inSource) { - * ((AC_GALGAS_map *) this) = inSource ; - return * this ; +GALGAS_identifierList::GALGAS_identifierList (const capCollectionElementArray & inSharedArray) : +AC_GALGAS_list (inSharedArray) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstringMap GALGAS_lstringMap::class_func_emptyMap (LOCATION_ARGS) { - GALGAS_lstringMap result ; - result.makeNewEmptyMap (THERE) ; - return result ; +GALGAS_identifierList GALGAS_identifierList::constructor_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_identifierList (capCollectionElementArray ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstringMap GALGAS_lstringMap::class_func_mapWithMapToOverride (const GALGAS_lstringMap & inMapToOverride - COMMA_LOCATION_ARGS) { - GALGAS_lstringMap result ; - result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; +GALGAS_identifierList GALGAS_identifierList::constructor_listWithValue (const GALGAS_object_5F_t & inOperand0 + COMMA_LOCATION_ARGS) { + GALGAS_identifierList result ; + if (inOperand0.isValid ()) { + result = GALGAS_identifierList (capCollectionElementArray ()) ; + capCollectionElement attributes ; + GALGAS_identifierList::makeAttributesFromObjects (attributes, inOperand0 COMMA_THERE) ; + result.appendObject (attributes) ; + } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstringMap GALGAS_lstringMap::getter_overriddenMap (Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_lstringMap result ; - getOverridenMap (result, inCompiler COMMA_THERE) ; - return result ; +void GALGAS_identifierList::makeAttributesFromObjects (capCollectionElement & outAttributes, + const GALGAS_object_5F_t & in_item + COMMA_LOCATION_ARGS) { + cCollectionElement_identifierList * p = nullptr ; + macroMyNew (p, cCollectionElement_identifierList (in_item COMMA_THERE)) ; + outAttributes.setPointer (p) ; + macroDetachSharedObject (p) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_lstringMap::addAssign_operation (const GALGAS_lstring & inKey, - const GALGAS_lstring & inArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cMapElement_lstringMap * p = nullptr ; - macroMyNew (p, cMapElement_lstringMap (inKey, inArgument0 COMMA_HERE)) ; - capCollectionElement attributes ; - attributes.setPointer (p) ; - macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "@lstringMap insert error: '%K' already in map" ; - const char * kShadowErrorMessage = "" ; - performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; +void GALGAS_identifierList::addAssign_operation (const GALGAS_object_5F_t & inOperand0 + COMMA_LOCATION_ARGS) { + if (isValid ()) { + cCollectionElement * p = nullptr ; + macroMyNew (p, cCollectionElement_identifierList (inOperand0 COMMA_THERE)) ; + capCollectionElement attributes ; + attributes.setPointer (p) ; + macroDetachSharedObject (p) ; + appendObject (attributes) ; + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstringMap GALGAS_lstringMap::add_operation (const GALGAS_lstringMap & inOperand, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_lstringMap result = *this ; - cEnumerator_lstringMap enumerator (inOperand, kENUMERATION_UP) ; - while (enumerator.hasCurrentObject ()) { - result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_value (HERE), inCompiler COMMA_THERE) ; - enumerator.gotoNextObject () ; +void GALGAS_identifierList::setter_append (const GALGAS_object_5F_t inOperand0, + C_Compiler * /* inCompiler */ + COMMA_LOCATION_ARGS) { + if (isValid ()) { + cCollectionElement * p = nullptr ; + macroMyNew (p, cCollectionElement_identifierList (inOperand0 COMMA_THERE)) ; + capCollectionElement attributes ; + attributes.setPointer (p) ; + macroDetachSharedObject (p) ; + appendObject (attributes) ; } - return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_lstringMap::setter_put (GALGAS_lstring inKey, - GALGAS_lstring inArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cMapElement_lstringMap * p = nullptr ; - macroMyNew (p, cMapElement_lstringMap (inKey, inArgument0 COMMA_HERE)) ; - capCollectionElement attributes ; - attributes.setPointer (p) ; - macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "lstringmap key %K is duplicated in %L" ; - const char * kShadowErrorMessage = "" ; - performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; +void GALGAS_identifierList::setter_insertAtIndex (const GALGAS_object_5F_t inOperand0, + const GALGAS_uint inInsertionIndex, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (isValid ()) { + if (inInsertionIndex.isValid () && inOperand0.isValid ()) { + cCollectionElement * p = nullptr ; + macroMyNew (p, cCollectionElement_identifierList (inOperand0 COMMA_THERE)) ; + capCollectionElement attributes ; + attributes.setPointer (p) ; + macroDetachSharedObject (p) ; + insertObjectAtIndex (attributes, inInsertionIndex.uintValue (), inCompiler COMMA_THERE) ; + }else{ + drop () ; + } + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const char * kSearchErrorMessage_lstringMap_get = "lstringmap key %K is not defined" ; +void GALGAS_identifierList::setter_removeAtIndex (GALGAS_object_5F_t & outOperand0, + const GALGAS_uint inRemoveIndex, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (isValid ()) { + if (inRemoveIndex.isValid ()) { + capCollectionElement attributes ; + removeObjectAtIndex (attributes, inRemoveIndex.uintValue (), inCompiler COMMA_THERE) ; + cCollectionElement_identifierList * p = (cCollectionElement_identifierList *) attributes.ptr () ; + if (nullptr == p) { + outOperand0.drop () ; + drop () ; + }else{ + macroValidSharedObject (p, cCollectionElement_identifierList) ; + outOperand0 = p->mObject.mProperty_item ; + } + }else{ + outOperand0.drop () ; + drop () ; + } + }else{ + outOperand0.drop () ; + } +} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_lstringMap::method_get (GALGAS_lstring inKey, - GALGAS_lstring & outArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - const cMapElement_lstringMap * p = (const cMapElement_lstringMap *) performSearch (inKey, - inCompiler, - kSearchErrorMessage_lstringMap_get - COMMA_THERE) ; +void GALGAS_identifierList::setter_popFirst (GALGAS_object_5F_t & outOperand0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + capCollectionElement attributes ; + removeFirstObject (attributes, inCompiler COMMA_THERE) ; + cCollectionElement_identifierList * p = (cCollectionElement_identifierList *) attributes.ptr () ; if (nullptr == p) { - outArgument0.drop () ; + outOperand0.drop () ; }else{ - macroValidSharedObject (p, cMapElement_lstringMap) ; - outArgument0 = p->mProperty_value ; + macroValidSharedObject (p, cCollectionElement_identifierList) ; + outOperand0 = p->mObject.mProperty_item ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring GALGAS_lstringMap::getter_valueForKey (const GALGAS_string & inKey, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; - const cMapElement_lstringMap * p = (const cMapElement_lstringMap *) attributes ; - GALGAS_lstring result ; - if (nullptr != p) { - macroValidSharedObject (p, cMapElement_lstringMap) ; - result = p->mProperty_value ; +void GALGAS_identifierList::setter_popLast (GALGAS_object_5F_t & outOperand0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + capCollectionElement attributes ; + removeLastObject (attributes, inCompiler COMMA_THERE) ; + cCollectionElement_identifierList * p = (cCollectionElement_identifierList *) attributes.ptr () ; + if (nullptr == p) { + outOperand0.drop () ; + }else{ + macroValidSharedObject (p, cCollectionElement_identifierList) ; + outOperand0 = p->mObject.mProperty_item ; } - return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_lstringMap::setter_setValueForKey (GALGAS_lstring inAttributeValue, - GALGAS_string inKey, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; - cMapElement_lstringMap * p = (cMapElement_lstringMap *) attributes ; - if (nullptr != p) { - macroValidSharedObject (p, cMapElement_lstringMap) ; - p->mProperty_value = inAttributeValue ; +void GALGAS_identifierList::method_first (GALGAS_object_5F_t & outOperand0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + capCollectionElement attributes ; + readFirst (attributes, inCompiler COMMA_THERE) ; + cCollectionElement_identifierList * p = (cCollectionElement_identifierList *) attributes.ptr () ; + if (nullptr == p) { + outOperand0.drop () ; + }else{ + macroValidSharedObject (p, cCollectionElement_identifierList) ; + outOperand0 = p->mObject.mProperty_item ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement_lstringMap * GALGAS_lstringMap::readWriteAccessForWithInstruction (Compiler * inCompiler, - const GALGAS_string & inKey - COMMA_LOCATION_ARGS) { - cMapElement_lstringMap * result = (cMapElement_lstringMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; - macroNullOrValidSharedObject (result, cMapElement_lstringMap) ; +void GALGAS_identifierList::method_last (GALGAS_object_5F_t & outOperand0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + capCollectionElement attributes ; + readLast (attributes, inCompiler COMMA_THERE) ; + cCollectionElement_identifierList * p = (cCollectionElement_identifierList *) attributes.ptr () ; + if (nullptr == p) { + outOperand0.drop () ; + }else{ + macroValidSharedObject (p, cCollectionElement_identifierList) ; + outOperand0 = p->mObject.mProperty_item ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_identifierList GALGAS_identifierList::add_operation (const GALGAS_identifierList & inOperand, + C_Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_identifierList result ; + if (isValid () && inOperand.isValid ()) { + result = *this ; + result.appendList (inOperand) ; + } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cEnumerator_lstringMap::cEnumerator_lstringMap (const GALGAS_lstringMap & inEnumeratedObject, - const typeEnumerationOrder inOrder) : -cGenericAbstractEnumerator (inOrder) { - inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; +GALGAS_identifierList GALGAS_identifierList::getter_subListWithRange (const GALGAS_range & inRange, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_identifierList result = GALGAS_identifierList::constructor_emptyList (THERE) ; + subListWithRange (result, inRange, inCompiler COMMA_THERE) ; + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstringMap_2D_element cEnumerator_lstringMap::current (LOCATION_ARGS) const { - const cMapElement_lstringMap * p = (const cMapElement_lstringMap *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement_lstringMap) ; - return GALGAS_lstringMap_2D_element (p->mProperty_lkey, p->mProperty_value) ; +GALGAS_identifierList GALGAS_identifierList::getter_subListFromIndex (const GALGAS_uint & inIndex, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_identifierList result = GALGAS_identifierList::constructor_emptyList (THERE) ; + subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring cEnumerator_lstringMap::current_lkey (LOCATION_ARGS) const { - const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement) ; - return p->mProperty_lkey ; +GALGAS_identifierList GALGAS_identifierList::getter_subListToIndex (const GALGAS_uint & inIndex, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_identifierList result = GALGAS_identifierList::constructor_emptyList (THERE) ; + subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring cEnumerator_lstringMap::current_value (LOCATION_ARGS) const { - const cMapElement_lstringMap * p = (const cMapElement_lstringMap *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement_lstringMap) ; - return p->mProperty_value ; +void GALGAS_identifierList::plusAssign_operation (const GALGAS_identifierList inOperand, + C_Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) { + appendList (inOperand) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool GALGAS_lstringMap::optional_searchKey (const GALGAS_string & inKey, - GALGAS_lstring & outArgument0) const { - const cMapElement_lstringMap * p = (const cMapElement_lstringMap *) searchForKey (inKey) ; - const bool result = nullptr != p ; - if (result) { - macroValidSharedObject (p, cMapElement_lstringMap) ; - outArgument0 = p->mProperty_value ; - }else{ - outArgument0.drop () ; +void GALGAS_identifierList::setter_setItemAtIndex (GALGAS_object_5F_t inOperand, + GALGAS_uint inIndex, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cCollectionElement_identifierList * p = (cCollectionElement_identifierList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; + if (nullptr != p) { + macroValidSharedObject (p, cCollectionElement_identifierList) ; + macroUniqueSharedObject (p) ; + p->mObject.mProperty_item = inOperand ; + } +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_object_5F_t GALGAS_identifierList::getter_itemAtIndex (const GALGAS_uint & inIndex, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; + cCollectionElement_identifierList * p = (cCollectionElement_identifierList *) attributes.ptr () ; + GALGAS_object_5F_t result ; + if (nullptr != p) { + macroValidSharedObject (p, cCollectionElement_identifierList) ; + result = p->mObject.mProperty_item ; } return result ; } -//-------------------------------------------------------------------------------------------------- + + +//---------------------------------------------------------------------------------------------------------------------- + +cEnumerator_identifierList::cEnumerator_identifierList (const GALGAS_identifierList & inEnumeratedObject, + const typeEnumerationOrder inOrder) : +cGenericAbstractEnumerator (inOrder) { + inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_identifierList_2D_element cEnumerator_identifierList::current (LOCATION_ARGS) const { + const cCollectionElement_identifierList * p = (const cCollectionElement_identifierList *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cCollectionElement_identifierList) ; + return p->mObject ; +} + + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_object_5F_t cEnumerator_identifierList::current_item (LOCATION_ARGS) const { + const cCollectionElement_identifierList * p = (const cCollectionElement_identifierList *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cCollectionElement_identifierList) ; + return p->mObject.mProperty_item ; +} + + + + +//---------------------------------------------------------------------------------------------------------------------- // -// @lstringMap generic code implementation +// @identifierList generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_lstringMap ("lstringMap", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_identifierList ("identifierList", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_lstringMap::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_lstringMap ; +const C_galgas_type_descriptor * GALGAS_identifierList::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_identifierList ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_lstringMap::clonedObject (void) const { +AC_GALGAS_root * GALGAS_identifierList::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; if (isValid ()) { - macroMyNew (result, GALGAS_lstringMap (*this)) ; + macroMyNew (result, GALGAS_identifierList (*this)) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstringMap GALGAS_lstringMap::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_lstringMap result ; - const GALGAS_lstringMap * p = (const GALGAS_lstringMap *) inObject.embeddedObject () ; +GALGAS_identifierList GALGAS_identifierList::extractObject (const GALGAS_object & inObject, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_identifierList result ; + const GALGAS_identifierList * p = (const GALGAS_identifierList *) inObject.embeddedObject () ; if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { + if (nullptr != dynamic_cast (p)) { result = *p ; }else{ - inCompiler->castError ("lstringMap", p->dynamicTypeDescriptor () COMMA_THERE) ; + inCompiler->castError ("identifierList", p->dynamicTypeDescriptor () COMMA_THERE) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement_prefix_5F_map::cMapElement_prefix_5F_map (const GALGAS_lstring & inKey, - const GALGAS_string & in_prefix, - const GALGAS_string & in_tag_5F_to_5F_rep - COMMA_LOCATION_ARGS) : +cMapElement_stringMap::cMapElement_stringMap (const GALGAS_lstring & inKey, + const GALGAS_string & in_value + COMMA_LOCATION_ARGS) : cMapElement (inKey COMMA_THERE), -mProperty_prefix (in_prefix), -mProperty_tag_5F_to_5F_rep (in_tag_5F_to_5F_rep) { +mProperty_value (in_value) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool cMapElement_prefix_5F_map::isValid (void) const { +bool cMapElement_stringMap::isValid (void) const { return mProperty_lkey.isValid () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement * cMapElement_prefix_5F_map::copy (void) { +cMapElement * cMapElement_stringMap::copy (void) { cMapElement * result = nullptr ; - macroMyNew (result, cMapElement_prefix_5F_map (mProperty_lkey, mProperty_prefix, mProperty_tag_5F_to_5F_rep COMMA_HERE)) ; + macroMyNew (result, cMapElement_stringMap (mProperty_lkey, mProperty_value COMMA_HERE)) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cMapElement_prefix_5F_map::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("prefix" ":") ; - mProperty_prefix.description (ioString, inIndentation) ; - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("tag_to_rep" ":") ; - mProperty_tag_5F_to_5F_rep.description (ioString, inIndentation) ; +void cMapElement_stringMap::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "value" ":" ; + mProperty_value.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -typeComparisonResult cMapElement_prefix_5F_map::compare (const cCollectionElement * inOperand) const { - cMapElement_prefix_5F_map * operand = (cMapElement_prefix_5F_map *) inOperand ; +typeComparisonResult cMapElement_stringMap::compare (const cCollectionElement * inOperand) const { + cMapElement_stringMap * operand = (cMapElement_stringMap *) inOperand ; typeComparisonResult result = mProperty_lkey.objectCompare (operand->mProperty_lkey) ; if (kOperandEqual == result) { - result = mProperty_prefix.objectCompare (operand->mProperty_prefix) ; - } - if (kOperandEqual == result) { - result = mProperty_tag_5F_to_5F_rep.objectCompare (operand->mProperty_tag_5F_to_5F_rep) ; + result = mProperty_value.objectCompare (operand->mProperty_value) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_prefix_5F_map::GALGAS_prefix_5F_map (void) : -AC_GALGAS_map () { +GALGAS_stringMap::GALGAS_stringMap (void) : +AC_GALGAS_map (true) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_prefix_5F_map::GALGAS_prefix_5F_map (const GALGAS_prefix_5F_map & inSource) : +GALGAS_stringMap::GALGAS_stringMap (const GALGAS_stringMap & inSource) : AC_GALGAS_map (inSource) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_prefix_5F_map & GALGAS_prefix_5F_map::operator = (const GALGAS_prefix_5F_map & inSource) { +GALGAS_stringMap & GALGAS_stringMap::operator = (const GALGAS_stringMap & inSource) { * ((AC_GALGAS_map *) this) = inSource ; return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_prefix_5F_map GALGAS_prefix_5F_map::class_func_emptyMap (LOCATION_ARGS) { - GALGAS_prefix_5F_map result ; +GALGAS_stringMap GALGAS_stringMap::constructor_emptyMap (LOCATION_ARGS) { + GALGAS_stringMap result ; result.makeNewEmptyMap (THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_prefix_5F_map GALGAS_prefix_5F_map::class_func_mapWithMapToOverride (const GALGAS_prefix_5F_map & inMapToOverride - COMMA_LOCATION_ARGS) { - GALGAS_prefix_5F_map result ; +GALGAS_stringMap GALGAS_stringMap::constructor_mapWithMapToOverride (const GALGAS_stringMap & inMapToOverride + COMMA_LOCATION_ARGS) { + GALGAS_stringMap result ; result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_prefix_5F_map GALGAS_prefix_5F_map::getter_overriddenMap (Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_prefix_5F_map result ; +GALGAS_stringMap GALGAS_stringMap::getter_overriddenMap (C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_stringMap result ; getOverridenMap (result, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_prefix_5F_map::addAssign_operation (const GALGAS_lstring & inKey, - const GALGAS_string & inArgument0, - const GALGAS_string & inArgument1, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cMapElement_prefix_5F_map * p = nullptr ; - macroMyNew (p, cMapElement_prefix_5F_map (inKey, inArgument0, inArgument1 COMMA_HERE)) ; +void GALGAS_stringMap::addAssign_operation (const GALGAS_lstring & inKey, + const GALGAS_string & inArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cMapElement_stringMap * p = nullptr ; + macroMyNew (p, cMapElement_stringMap (inKey, inArgument0 COMMA_HERE)) ; capCollectionElement attributes ; attributes.setPointer (p) ; macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "@prefix_5F_map insert error: '%K' already in map" ; + const char * kInsertErrorMessage = "@stringMap insert error: '%K' already in map" ; const char * kShadowErrorMessage = "" ; performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_prefix_5F_map GALGAS_prefix_5F_map::add_operation (const GALGAS_prefix_5F_map & inOperand, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_prefix_5F_map result = *this ; - cEnumerator_prefix_5F_map enumerator (inOperand, kENUMERATION_UP) ; +GALGAS_stringMap GALGAS_stringMap::add_operation (const GALGAS_stringMap & inOperand, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_stringMap result = *this ; + cEnumerator_stringMap enumerator (inOperand, kENUMERATION_UP) ; while (enumerator.hasCurrentObject ()) { - result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_prefix (HERE), enumerator.current_tag_5F_to_5F_rep (HERE), inCompiler COMMA_THERE) ; + result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_value (HERE), inCompiler COMMA_THERE) ; enumerator.gotoNextObject () ; } return result ; } -//-------------------------------------------------------------------------------------------------- - -void GALGAS_prefix_5F_map::setter_add (GALGAS_lstring inKey, - GALGAS_string inArgument0, - GALGAS_string inArgument1, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cMapElement_prefix_5F_map * p = nullptr ; - macroMyNew (p, cMapElement_prefix_5F_map (inKey, inArgument0, inArgument1 COMMA_HERE)) ; - capCollectionElement attributes ; - attributes.setPointer (p) ; - macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "prefix %K duplicated %L" ; - const char * kShadowErrorMessage = "" ; - performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; -} - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_prefix_5F_map::setter_insert_5F_prefix (GALGAS_lstring inKey, - GALGAS_string inArgument0, - GALGAS_string inArgument1, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cMapElement_prefix_5F_map * p = nullptr ; - macroMyNew (p, cMapElement_prefix_5F_map (inKey, inArgument0, inArgument1 COMMA_HERE)) ; +void GALGAS_stringMap::setter_put (GALGAS_lstring inKey, + GALGAS_string inArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cMapElement_stringMap * p = nullptr ; + macroMyNew (p, cMapElement_stringMap (inKey, inArgument0 COMMA_HERE)) ; capCollectionElement attributes ; attributes.setPointer (p) ; macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "prefix %K duplicated %L" ; + const char * kInsertErrorMessage = "stringmap key %K is duplicated in %L" ; const char * kShadowErrorMessage = "" ; performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const char * kSearchErrorMessage_prefix_5F_map_prefix = "prefix %K is not defined" ; +const char * kSearchErrorMessage_stringMap_get = "stringmap key %K is not defined" ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_prefix_5F_map::method_prefix (GALGAS_lstring inKey, - GALGAS_string & outArgument0, - GALGAS_string & outArgument1, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - const cMapElement_prefix_5F_map * p = (const cMapElement_prefix_5F_map *) performSearch (inKey, - inCompiler, - kSearchErrorMessage_prefix_5F_map_prefix - COMMA_THERE) ; +void GALGAS_stringMap::method_get (GALGAS_lstring inKey, + GALGAS_string & outArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + const cMapElement_stringMap * p = (const cMapElement_stringMap *) performSearch (inKey, + inCompiler, + kSearchErrorMessage_stringMap_get + COMMA_THERE) ; if (nullptr == p) { outArgument0.drop () ; - outArgument1.drop () ; }else{ - macroValidSharedObject (p, cMapElement_prefix_5F_map) ; - outArgument0 = p->mProperty_prefix ; - outArgument1 = p->mProperty_tag_5F_to_5F_rep ; - } -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string GALGAS_prefix_5F_map::getter_prefixForKey (const GALGAS_string & inKey, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; - const cMapElement_prefix_5F_map * p = (const cMapElement_prefix_5F_map *) attributes ; - GALGAS_string result ; - if (nullptr != p) { - macroValidSharedObject (p, cMapElement_prefix_5F_map) ; - result = p->mProperty_prefix ; + macroValidSharedObject (p, cMapElement_stringMap) ; + outArgument0 = p->mProperty_value ; } - return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_prefix_5F_map::getter_tag_5F_to_5F_repForKey (const GALGAS_string & inKey, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { +GALGAS_string GALGAS_stringMap::getter_valueForKey (const GALGAS_string & inKey, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; - const cMapElement_prefix_5F_map * p = (const cMapElement_prefix_5F_map *) attributes ; + const cMapElement_stringMap * p = (const cMapElement_stringMap *) attributes ; GALGAS_string result ; if (nullptr != p) { - macroValidSharedObject (p, cMapElement_prefix_5F_map) ; - result = p->mProperty_tag_5F_to_5F_rep ; + macroValidSharedObject (p, cMapElement_stringMap) ; + result = p->mProperty_value ; } return result ; } -//-------------------------------------------------------------------------------------------------- - -void GALGAS_prefix_5F_map::setter_setPrefixForKey (GALGAS_string inAttributeValue, - GALGAS_string inKey, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; - cMapElement_prefix_5F_map * p = (cMapElement_prefix_5F_map *) attributes ; - if (nullptr != p) { - macroValidSharedObject (p, cMapElement_prefix_5F_map) ; - p->mProperty_prefix = inAttributeValue ; - } -} - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_prefix_5F_map::setter_setTag_5F_to_5F_repForKey (GALGAS_string inAttributeValue, - GALGAS_string inKey, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { +void GALGAS_stringMap::setter_setValueForKey (GALGAS_string inAttributeValue, + GALGAS_string inKey, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; - cMapElement_prefix_5F_map * p = (cMapElement_prefix_5F_map *) attributes ; + cMapElement_stringMap * p = (cMapElement_stringMap *) attributes ; if (nullptr != p) { - macroValidSharedObject (p, cMapElement_prefix_5F_map) ; - p->mProperty_tag_5F_to_5F_rep = inAttributeValue ; + macroValidSharedObject (p, cMapElement_stringMap) ; + p->mProperty_value = inAttributeValue ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement_prefix_5F_map * GALGAS_prefix_5F_map::readWriteAccessForWithInstruction (Compiler * inCompiler, - const GALGAS_string & inKey - COMMA_LOCATION_ARGS) { - cMapElement_prefix_5F_map * result = (cMapElement_prefix_5F_map *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; - macroNullOrValidSharedObject (result, cMapElement_prefix_5F_map) ; +cMapElement_stringMap * GALGAS_stringMap::readWriteAccessForWithInstruction (C_Compiler * inCompiler, + const GALGAS_string & inKey + COMMA_LOCATION_ARGS) { + cMapElement_stringMap * result = (cMapElement_stringMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; + macroNullOrValidSharedObject (result, cMapElement_stringMap) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cEnumerator_prefix_5F_map::cEnumerator_prefix_5F_map (const GALGAS_prefix_5F_map & inEnumeratedObject, - const typeEnumerationOrder inOrder) : +cEnumerator_stringMap::cEnumerator_stringMap (const GALGAS_stringMap & inEnumeratedObject, + const typeEnumerationOrder inOrder) : cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- - -GALGAS_prefix_5F_map_2D_element cEnumerator_prefix_5F_map::current (LOCATION_ARGS) const { - const cMapElement_prefix_5F_map * p = (const cMapElement_prefix_5F_map *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement_prefix_5F_map) ; - return GALGAS_prefix_5F_map_2D_element (p->mProperty_lkey, p->mProperty_prefix, p->mProperty_tag_5F_to_5F_rep) ; -} +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +GALGAS_stringMap_2D_element cEnumerator_stringMap::current (LOCATION_ARGS) const { + const cMapElement_stringMap * p = (const cMapElement_stringMap *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement_stringMap) ; + return GALGAS_stringMap_2D_element (p->mProperty_lkey, p->mProperty_value) ; +} -GALGAS_lstring cEnumerator_prefix_5F_map::current_lkey (LOCATION_ARGS) const { +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_lstring cEnumerator_stringMap::current_lkey (LOCATION_ARGS) const { const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; macroValidSharedObject (p, cMapElement) ; return p->mProperty_lkey ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string cEnumerator_prefix_5F_map::current_prefix (LOCATION_ARGS) const { - const cMapElement_prefix_5F_map * p = (const cMapElement_prefix_5F_map *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement_prefix_5F_map) ; - return p->mProperty_prefix ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_string cEnumerator_prefix_5F_map::current_tag_5F_to_5F_rep (LOCATION_ARGS) const { - const cMapElement_prefix_5F_map * p = (const cMapElement_prefix_5F_map *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement_prefix_5F_map) ; - return p->mProperty_tag_5F_to_5F_rep ; +GALGAS_string cEnumerator_stringMap::current_value (LOCATION_ARGS) const { + const cMapElement_stringMap * p = (const cMapElement_stringMap *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement_stringMap) ; + return p->mProperty_value ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool GALGAS_prefix_5F_map::optional_searchKey (const GALGAS_string & inKey, - GALGAS_string & outArgument0, - GALGAS_string & outArgument1) const { - const cMapElement_prefix_5F_map * p = (const cMapElement_prefix_5F_map *) searchForKey (inKey) ; +bool GALGAS_stringMap::optional_searchKey (const GALGAS_string & inKey, + GALGAS_string & outArgument0) const { + const cMapElement_stringMap * p = (const cMapElement_stringMap *) searchForKey (inKey) ; const bool result = nullptr != p ; if (result) { - macroValidSharedObject (p, cMapElement_prefix_5F_map) ; - outArgument0 = p->mProperty_prefix ; - outArgument1 = p->mProperty_tag_5F_to_5F_rep ; + macroValidSharedObject (p, cMapElement_stringMap) ; + outArgument0 = p->mProperty_value ; }else{ outArgument0.drop () ; - outArgument1.drop () ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// @prefix_map generic code implementation +// @stringMap generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_prefix_5F_map ("prefix_map", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_stringMap ("stringMap", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_prefix_5F_map::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_prefix_5F_map ; +const C_galgas_type_descriptor * GALGAS_stringMap::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_stringMap ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_prefix_5F_map::clonedObject (void) const { +AC_GALGAS_root * GALGAS_stringMap::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; if (isValid ()) { - macroMyNew (result, GALGAS_prefix_5F_map (*this)) ; + macroMyNew (result, GALGAS_stringMap (*this)) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_prefix_5F_map GALGAS_prefix_5F_map::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_prefix_5F_map result ; - const GALGAS_prefix_5F_map * p = (const GALGAS_prefix_5F_map *) inObject.embeddedObject () ; +GALGAS_stringMap GALGAS_stringMap::extractObject (const GALGAS_object & inObject, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_stringMap result ; + const GALGAS_stringMap * p = (const GALGAS_stringMap *) inObject.embeddedObject () ; if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { + if (nullptr != dynamic_cast (p)) { result = *p ; }else{ - inCompiler->castError ("prefix_map", p->dynamicTypeDescriptor () COMMA_THERE) ; + inCompiler->castError ("stringMap", p->dynamicTypeDescriptor () COMMA_THERE) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement_stringset_5F_map::cMapElement_stringset_5F_map (const GALGAS_lstring & inKey, - const GALGAS_stringset & in_ids - COMMA_LOCATION_ARGS) : +cMapElement_lstringMap::cMapElement_lstringMap (const GALGAS_lstring & inKey, + const GALGAS_lstring & in_value + COMMA_LOCATION_ARGS) : cMapElement (inKey COMMA_THERE), -mProperty_ids (in_ids) { +mProperty_value (in_value) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool cMapElement_stringset_5F_map::isValid (void) const { +bool cMapElement_lstringMap::isValid (void) const { return mProperty_lkey.isValid () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement * cMapElement_stringset_5F_map::copy (void) { +cMapElement * cMapElement_lstringMap::copy (void) { cMapElement * result = nullptr ; - macroMyNew (result, cMapElement_stringset_5F_map (mProperty_lkey, mProperty_ids COMMA_HERE)) ; + macroMyNew (result, cMapElement_lstringMap (mProperty_lkey, mProperty_value COMMA_HERE)) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cMapElement_stringset_5F_map::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("ids" ":") ; - mProperty_ids.description (ioString, inIndentation) ; +void cMapElement_lstringMap::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "value" ":" ; + mProperty_value.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -typeComparisonResult cMapElement_stringset_5F_map::compare (const cCollectionElement * inOperand) const { - cMapElement_stringset_5F_map * operand = (cMapElement_stringset_5F_map *) inOperand ; +typeComparisonResult cMapElement_lstringMap::compare (const cCollectionElement * inOperand) const { + cMapElement_lstringMap * operand = (cMapElement_lstringMap *) inOperand ; typeComparisonResult result = mProperty_lkey.objectCompare (operand->mProperty_lkey) ; if (kOperandEqual == result) { - result = mProperty_ids.objectCompare (operand->mProperty_ids) ; + result = mProperty_value.objectCompare (operand->mProperty_value) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_stringset_5F_map::GALGAS_stringset_5F_map (void) : -AC_GALGAS_map () { +GALGAS_lstringMap::GALGAS_lstringMap (void) : +AC_GALGAS_map (true) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_stringset_5F_map::GALGAS_stringset_5F_map (const GALGAS_stringset_5F_map & inSource) : +GALGAS_lstringMap::GALGAS_lstringMap (const GALGAS_lstringMap & inSource) : AC_GALGAS_map (inSource) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_stringset_5F_map & GALGAS_stringset_5F_map::operator = (const GALGAS_stringset_5F_map & inSource) { +GALGAS_lstringMap & GALGAS_lstringMap::operator = (const GALGAS_lstringMap & inSource) { * ((AC_GALGAS_map *) this) = inSource ; return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_stringset_5F_map GALGAS_stringset_5F_map::class_func_emptyMap (LOCATION_ARGS) { - GALGAS_stringset_5F_map result ; +GALGAS_lstringMap GALGAS_lstringMap::constructor_emptyMap (LOCATION_ARGS) { + GALGAS_lstringMap result ; result.makeNewEmptyMap (THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_stringset_5F_map GALGAS_stringset_5F_map::class_func_mapWithMapToOverride (const GALGAS_stringset_5F_map & inMapToOverride - COMMA_LOCATION_ARGS) { - GALGAS_stringset_5F_map result ; +GALGAS_lstringMap GALGAS_lstringMap::constructor_mapWithMapToOverride (const GALGAS_lstringMap & inMapToOverride + COMMA_LOCATION_ARGS) { + GALGAS_lstringMap result ; result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_stringset_5F_map GALGAS_stringset_5F_map::getter_overriddenMap (Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_stringset_5F_map result ; +GALGAS_lstringMap GALGAS_lstringMap::getter_overriddenMap (C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_lstringMap result ; getOverridenMap (result, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_stringset_5F_map::addAssign_operation (const GALGAS_lstring & inKey, - const GALGAS_stringset & inArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cMapElement_stringset_5F_map * p = nullptr ; - macroMyNew (p, cMapElement_stringset_5F_map (inKey, inArgument0 COMMA_HERE)) ; +void GALGAS_lstringMap::addAssign_operation (const GALGAS_lstring & inKey, + const GALGAS_lstring & inArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cMapElement_lstringMap * p = nullptr ; + macroMyNew (p, cMapElement_lstringMap (inKey, inArgument0 COMMA_HERE)) ; capCollectionElement attributes ; attributes.setPointer (p) ; macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "@stringset_5F_map insert error: '%K' already in map" ; + const char * kInsertErrorMessage = "@lstringMap insert error: '%K' already in map" ; const char * kShadowErrorMessage = "" ; performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_stringset_5F_map GALGAS_stringset_5F_map::add_operation (const GALGAS_stringset_5F_map & inOperand, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_stringset_5F_map result = *this ; - cEnumerator_stringset_5F_map enumerator (inOperand, kENUMERATION_UP) ; +GALGAS_lstringMap GALGAS_lstringMap::add_operation (const GALGAS_lstringMap & inOperand, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_lstringMap result = *this ; + cEnumerator_lstringMap enumerator (inOperand, kENUMERATION_UP) ; while (enumerator.hasCurrentObject ()) { - result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_ids (HERE), inCompiler COMMA_THERE) ; + result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_value (HERE), inCompiler COMMA_THERE) ; enumerator.gotoNextObject () ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_stringset_5F_map::setter_add (GALGAS_lstring inKey, - GALGAS_stringset inArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cMapElement_stringset_5F_map * p = nullptr ; - macroMyNew (p, cMapElement_stringset_5F_map (inKey, inArgument0 COMMA_HERE)) ; +void GALGAS_lstringMap::setter_put (GALGAS_lstring inKey, + GALGAS_lstring inArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cMapElement_lstringMap * p = nullptr ; + macroMyNew (p, cMapElement_lstringMap (inKey, inArgument0 COMMA_HERE)) ; capCollectionElement attributes ; attributes.setPointer (p) ; macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "Key %K is already used there" ; + const char * kInsertErrorMessage = "lstringmap key %K is duplicated in %L" ; const char * kShadowErrorMessage = "" ; performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- - -const char * kSearchErrorMessage_stringset_5F_map_get = "Key %K is not there" ; - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_stringset_5F_map::method_get (GALGAS_lstring inKey, - GALGAS_stringset & outArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - const cMapElement_stringset_5F_map * p = (const cMapElement_stringset_5F_map *) performSearch (inKey, - inCompiler, - kSearchErrorMessage_stringset_5F_map_get - COMMA_THERE) ; - if (nullptr == p) { - outArgument0.drop () ; - }else{ - macroValidSharedObject (p, cMapElement_stringset_5F_map) ; - outArgument0 = p->mProperty_ids ; - } -} +const char * kSearchErrorMessage_lstringMap_get = "lstringmap key %K is not defined" ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_stringset_5F_map::setter_delete (GALGAS_lstring inKey, - GALGAS_stringset & outArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - const char * kRemoveErrorMessage = "Key %K cannot be deleted" ; - capCollectionElement attributes ; - performRemove (inKey, attributes, inCompiler, kRemoveErrorMessage COMMA_THERE) ; - cMapElement_stringset_5F_map * p = (cMapElement_stringset_5F_map *) attributes.ptr () ; +void GALGAS_lstringMap::method_get (GALGAS_lstring inKey, + GALGAS_lstring & outArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + const cMapElement_lstringMap * p = (const cMapElement_lstringMap *) performSearch (inKey, + inCompiler, + kSearchErrorMessage_lstringMap_get + COMMA_THERE) ; if (nullptr == p) { outArgument0.drop () ; }else{ - macroValidSharedObject (p, cMapElement_stringset_5F_map) ; - outArgument0 = p->mProperty_ids ; + macroValidSharedObject (p, cMapElement_lstringMap) ; + outArgument0 = p->mProperty_value ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_stringset GALGAS_stringset_5F_map::getter_idsForKey (const GALGAS_string & inKey, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { +GALGAS_lstring GALGAS_lstringMap::getter_valueForKey (const GALGAS_string & inKey, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; - const cMapElement_stringset_5F_map * p = (const cMapElement_stringset_5F_map *) attributes ; - GALGAS_stringset result ; + const cMapElement_lstringMap * p = (const cMapElement_lstringMap *) attributes ; + GALGAS_lstring result ; if (nullptr != p) { - macroValidSharedObject (p, cMapElement_stringset_5F_map) ; - result = p->mProperty_ids ; + macroValidSharedObject (p, cMapElement_lstringMap) ; + result = p->mProperty_value ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_stringset_5F_map::setter_setIdsForKey (GALGAS_stringset inAttributeValue, - GALGAS_string inKey, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { +void GALGAS_lstringMap::setter_setValueForKey (GALGAS_lstring inAttributeValue, + GALGAS_string inKey, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; - cMapElement_stringset_5F_map * p = (cMapElement_stringset_5F_map *) attributes ; + cMapElement_lstringMap * p = (cMapElement_lstringMap *) attributes ; if (nullptr != p) { - macroValidSharedObject (p, cMapElement_stringset_5F_map) ; - p->mProperty_ids = inAttributeValue ; + macroValidSharedObject (p, cMapElement_lstringMap) ; + p->mProperty_value = inAttributeValue ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement_stringset_5F_map * GALGAS_stringset_5F_map::readWriteAccessForWithInstruction (Compiler * inCompiler, - const GALGAS_string & inKey - COMMA_LOCATION_ARGS) { - cMapElement_stringset_5F_map * result = (cMapElement_stringset_5F_map *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; - macroNullOrValidSharedObject (result, cMapElement_stringset_5F_map) ; +cMapElement_lstringMap * GALGAS_lstringMap::readWriteAccessForWithInstruction (C_Compiler * inCompiler, + const GALGAS_string & inKey + COMMA_LOCATION_ARGS) { + cMapElement_lstringMap * result = (cMapElement_lstringMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; + macroNullOrValidSharedObject (result, cMapElement_lstringMap) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cEnumerator_stringset_5F_map::cEnumerator_stringset_5F_map (const GALGAS_stringset_5F_map & inEnumeratedObject, - const typeEnumerationOrder inOrder) : +cEnumerator_lstringMap::cEnumerator_lstringMap (const GALGAS_lstringMap & inEnumeratedObject, + const typeEnumerationOrder inOrder) : cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_stringset_5F_map_2D_element cEnumerator_stringset_5F_map::current (LOCATION_ARGS) const { - const cMapElement_stringset_5F_map * p = (const cMapElement_stringset_5F_map *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement_stringset_5F_map) ; - return GALGAS_stringset_5F_map_2D_element (p->mProperty_lkey, p->mProperty_ids) ; +GALGAS_lstringMap_2D_element cEnumerator_lstringMap::current (LOCATION_ARGS) const { + const cMapElement_lstringMap * p = (const cMapElement_lstringMap *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement_lstringMap) ; + return GALGAS_lstringMap_2D_element (p->mProperty_lkey, p->mProperty_value) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring cEnumerator_stringset_5F_map::current_lkey (LOCATION_ARGS) const { +GALGAS_lstring cEnumerator_lstringMap::current_lkey (LOCATION_ARGS) const { const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; macroValidSharedObject (p, cMapElement) ; return p->mProperty_lkey ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_stringset cEnumerator_stringset_5F_map::current_ids (LOCATION_ARGS) const { - const cMapElement_stringset_5F_map * p = (const cMapElement_stringset_5F_map *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement_stringset_5F_map) ; - return p->mProperty_ids ; +GALGAS_lstring cEnumerator_lstringMap::current_value (LOCATION_ARGS) const { + const cMapElement_lstringMap * p = (const cMapElement_lstringMap *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement_lstringMap) ; + return p->mProperty_value ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool GALGAS_stringset_5F_map::optional_searchKey (const GALGAS_string & inKey, - GALGAS_stringset & outArgument0) const { - const cMapElement_stringset_5F_map * p = (const cMapElement_stringset_5F_map *) searchForKey (inKey) ; +bool GALGAS_lstringMap::optional_searchKey (const GALGAS_string & inKey, + GALGAS_lstring & outArgument0) const { + const cMapElement_lstringMap * p = (const cMapElement_lstringMap *) searchForKey (inKey) ; const bool result = nullptr != p ; if (result) { - macroValidSharedObject (p, cMapElement_stringset_5F_map) ; - outArgument0 = p->mProperty_ids ; + macroValidSharedObject (p, cMapElement_lstringMap) ; + outArgument0 = p->mProperty_value ; }else{ outArgument0.drop () ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// @stringset_map generic code implementation +// @lstringMap generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_stringset_5F_map ("stringset_map", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_lstringMap ("lstringMap", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_stringset_5F_map::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_stringset_5F_map ; +const C_galgas_type_descriptor * GALGAS_lstringMap::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_lstringMap ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_stringset_5F_map::clonedObject (void) const { +AC_GALGAS_root * GALGAS_lstringMap::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; if (isValid ()) { - macroMyNew (result, GALGAS_stringset_5F_map (*this)) ; + macroMyNew (result, GALGAS_lstringMap (*this)) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_stringset_5F_map GALGAS_stringset_5F_map::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_stringset_5F_map result ; - const GALGAS_stringset_5F_map * p = (const GALGAS_stringset_5F_map *) inObject.embeddedObject () ; +GALGAS_lstringMap GALGAS_lstringMap::extractObject (const GALGAS_object & inObject, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_lstringMap result ; + const GALGAS_lstringMap * p = (const GALGAS_lstringMap *) inObject.embeddedObject () ; if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { + if (nullptr != dynamic_cast (p)) { result = *p ; }else{ - inCompiler->castError ("stringset_map", p->dynamicTypeDescriptor () COMMA_THERE) ; + inCompiler->castError ("lstringMap", p->dynamicTypeDescriptor () COMMA_THERE) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- -// -//Class for element of '@ident_5F_list' list -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -class cCollectionElement_ident_5F_list : public cCollectionElement { - public: GALGAS_ident_5F_list_2D_element mObject ; - -//--- Class functions - public: cCollectionElement_ident_5F_list (const GALGAS_lstring & in_obj_5F_name - COMMA_LOCATION_ARGS) ; - public: cCollectionElement_ident_5F_list (const GALGAS_ident_5F_list_2D_element & inElement COMMA_LOCATION_ARGS) ; - -//--- Virtual method for comparing elements - public: virtual typeComparisonResult compare (const cCollectionElement * inOperand) const ; - -//--- Virtual method that checks that all attributes are valid - public: virtual bool isValid (void) const ; - -//--- Virtual method that returns a copy of current object - public: virtual cCollectionElement * copy (void) ; - -//--- Description - public: virtual void description (String & ioString, const int32_t inIndentation) const ; -} ; +cMapElement_prefix_5F_map::cMapElement_prefix_5F_map (const GALGAS_lstring & inKey, + const GALGAS_string & in_prefix, + const GALGAS_string & in_tag_5F_to_5F_rep + COMMA_LOCATION_ARGS) : +cMapElement (inKey COMMA_THERE), +mProperty_prefix (in_prefix), +mProperty_tag_5F_to_5F_rep (in_tag_5F_to_5F_rep) { +} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cCollectionElement_ident_5F_list::cCollectionElement_ident_5F_list (const GALGAS_lstring & in_obj_5F_name - COMMA_LOCATION_ARGS) : -cCollectionElement (THERE), -mObject (in_obj_5F_name) { +bool cMapElement_prefix_5F_map::isValid (void) const { + return mProperty_lkey.isValid () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cCollectionElement_ident_5F_list::cCollectionElement_ident_5F_list (const GALGAS_ident_5F_list_2D_element & inElement COMMA_LOCATION_ARGS) : -cCollectionElement (THERE), -mObject (inElement.mProperty_obj_5F_name) { +cMapElement * cMapElement_prefix_5F_map::copy (void) { + cMapElement * result = nullptr ; + macroMyNew (result, cMapElement_prefix_5F_map (mProperty_lkey, mProperty_prefix, mProperty_tag_5F_to_5F_rep COMMA_HERE)) ; + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool cCollectionElement_ident_5F_list::isValid (void) const { - return true ; +void cMapElement_prefix_5F_map::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "prefix" ":" ; + mProperty_prefix.description (ioString, inIndentation) ; + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "tag_to_rep" ":" ; + mProperty_tag_5F_to_5F_rep.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cCollectionElement * cCollectionElement_ident_5F_list::copy (void) { - cCollectionElement * result = nullptr ; - macroMyNew (result, cCollectionElement_ident_5F_list (mObject.mProperty_obj_5F_name COMMA_HERE)) ; +typeComparisonResult cMapElement_prefix_5F_map::compare (const cCollectionElement * inOperand) const { + cMapElement_prefix_5F_map * operand = (cMapElement_prefix_5F_map *) inOperand ; + typeComparisonResult result = mProperty_lkey.objectCompare (operand->mProperty_lkey) ; + if (kOperandEqual == result) { + result = mProperty_prefix.objectCompare (operand->mProperty_prefix) ; + } + if (kOperandEqual == result) { + result = mProperty_tag_5F_to_5F_rep.objectCompare (operand->mProperty_tag_5F_to_5F_rep) ; + } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cCollectionElement_ident_5F_list::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("obj_name" ":") ; - mObject.mProperty_obj_5F_name.description (ioString, inIndentation) ; +GALGAS_prefix_5F_map::GALGAS_prefix_5F_map (void) : +AC_GALGAS_map (true) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -typeComparisonResult cCollectionElement_ident_5F_list::compare (const cCollectionElement * inOperand) const { - cCollectionElement_ident_5F_list * operand = (cCollectionElement_ident_5F_list *) inOperand ; - macroValidSharedObject (operand, cCollectionElement_ident_5F_list) ; - return mObject.objectCompare (operand->mObject) ; +GALGAS_prefix_5F_map::GALGAS_prefix_5F_map (const GALGAS_prefix_5F_map & inSource) : +AC_GALGAS_map (inSource) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_ident_5F_list::GALGAS_ident_5F_list (void) : -AC_GALGAS_list () { +GALGAS_prefix_5F_map & GALGAS_prefix_5F_map::operator = (const GALGAS_prefix_5F_map & inSource) { + * ((AC_GALGAS_map *) this) = inSource ; + return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_ident_5F_list::GALGAS_ident_5F_list (const capCollectionElementArray & inSharedArray) : -AC_GALGAS_list (inSharedArray) { +GALGAS_prefix_5F_map GALGAS_prefix_5F_map::constructor_emptyMap (LOCATION_ARGS) { + GALGAS_prefix_5F_map result ; + result.makeNewEmptyMap (THERE) ; + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_ident_5F_list GALGAS_ident_5F_list::class_func_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_ident_5F_list (capCollectionElementArray ()) ; +GALGAS_prefix_5F_map GALGAS_prefix_5F_map::constructor_mapWithMapToOverride (const GALGAS_prefix_5F_map & inMapToOverride + COMMA_LOCATION_ARGS) { + GALGAS_prefix_5F_map result ; + result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_ident_5F_list GALGAS_ident_5F_list::class_func_listWithValue (const GALGAS_lstring & inOperand0 - COMMA_LOCATION_ARGS) { - GALGAS_ident_5F_list result ; - if (inOperand0.isValid ()) { - result = GALGAS_ident_5F_list (capCollectionElementArray ()) ; - capCollectionElement attributes ; - GALGAS_ident_5F_list::makeAttributesFromObjects (attributes, inOperand0 COMMA_THERE) ; - result.appendObject (attributes) ; - } +GALGAS_prefix_5F_map GALGAS_prefix_5F_map::getter_overriddenMap (C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_prefix_5F_map result ; + getOverridenMap (result, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_ident_5F_list::makeAttributesFromObjects (capCollectionElement & outAttributes, - const GALGAS_lstring & in_obj_5F_name - COMMA_LOCATION_ARGS) { - cCollectionElement_ident_5F_list * p = nullptr ; - macroMyNew (p, cCollectionElement_ident_5F_list (in_obj_5F_name COMMA_THERE)) ; - outAttributes.setPointer (p) ; +void GALGAS_prefix_5F_map::addAssign_operation (const GALGAS_lstring & inKey, + const GALGAS_string & inArgument0, + const GALGAS_string & inArgument1, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cMapElement_prefix_5F_map * p = nullptr ; + macroMyNew (p, cMapElement_prefix_5F_map (inKey, inArgument0, inArgument1 COMMA_HERE)) ; + capCollectionElement attributes ; + attributes.setPointer (p) ; macroDetachSharedObject (p) ; + const char * kInsertErrorMessage = "@prefix_5F_map insert error: '%K' already in map" ; + const char * kShadowErrorMessage = "" ; + performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_ident_5F_list::addAssign_operation (const GALGAS_lstring & inOperand0 - COMMA_LOCATION_ARGS) { - if (isValid ()) { - cCollectionElement * p = nullptr ; - macroMyNew (p, cCollectionElement_ident_5F_list (inOperand0 COMMA_THERE)) ; - capCollectionElement attributes ; - attributes.setPointer (p) ; - macroDetachSharedObject (p) ; - appendObject (attributes) ; +GALGAS_prefix_5F_map GALGAS_prefix_5F_map::add_operation (const GALGAS_prefix_5F_map & inOperand, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_prefix_5F_map result = *this ; + cEnumerator_prefix_5F_map enumerator (inOperand, kENUMERATION_UP) ; + while (enumerator.hasCurrentObject ()) { + result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_prefix (HERE), enumerator.current_tag_5F_to_5F_rep (HERE), inCompiler COMMA_THERE) ; + enumerator.gotoNextObject () ; } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_ident_5F_list::setter_append (const GALGAS_lstring inOperand0, - Compiler * /* inCompiler */ - COMMA_LOCATION_ARGS) { - if (isValid ()) { - cCollectionElement * p = nullptr ; - macroMyNew (p, cCollectionElement_ident_5F_list (inOperand0 COMMA_THERE)) ; - capCollectionElement attributes ; - attributes.setPointer (p) ; - macroDetachSharedObject (p) ; - appendObject (attributes) ; - } +void GALGAS_prefix_5F_map::setter_add (GALGAS_lstring inKey, + GALGAS_string inArgument0, + GALGAS_string inArgument1, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cMapElement_prefix_5F_map * p = nullptr ; + macroMyNew (p, cMapElement_prefix_5F_map (inKey, inArgument0, inArgument1 COMMA_HERE)) ; + capCollectionElement attributes ; + attributes.setPointer (p) ; + macroDetachSharedObject (p) ; + const char * kInsertErrorMessage = "prefix %K duplicated %L" ; + const char * kShadowErrorMessage = "" ; + performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_ident_5F_list::setter_insertAtIndex (const GALGAS_lstring inOperand0, - const GALGAS_uint inInsertionIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - if (isValid ()) { - if (inInsertionIndex.isValid () && inOperand0.isValid ()) { - cCollectionElement * p = nullptr ; - macroMyNew (p, cCollectionElement_ident_5F_list (inOperand0 COMMA_THERE)) ; - capCollectionElement attributes ; - attributes.setPointer (p) ; - macroDetachSharedObject (p) ; - insertObjectAtIndex (attributes, inInsertionIndex.uintValue (), inCompiler COMMA_THERE) ; - }else{ - drop () ; - } - } +void GALGAS_prefix_5F_map::setter_insert_5F_prefix (GALGAS_lstring inKey, + GALGAS_string inArgument0, + GALGAS_string inArgument1, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cMapElement_prefix_5F_map * p = nullptr ; + macroMyNew (p, cMapElement_prefix_5F_map (inKey, inArgument0, inArgument1 COMMA_HERE)) ; + capCollectionElement attributes ; + attributes.setPointer (p) ; + macroDetachSharedObject (p) ; + const char * kInsertErrorMessage = "prefix %K duplicated %L" ; + const char * kShadowErrorMessage = "" ; + performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_ident_5F_list::setter_removeAtIndex (GALGAS_lstring & outOperand0, - const GALGAS_uint inRemoveIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - if (isValid ()) { - if (inRemoveIndex.isValid ()) { - capCollectionElement attributes ; - removeObjectAtIndex (attributes, inRemoveIndex.uintValue (), inCompiler COMMA_THERE) ; - cCollectionElement_ident_5F_list * p = (cCollectionElement_ident_5F_list *) attributes.ptr () ; - if (nullptr == p) { - outOperand0.drop () ; - drop () ; - }else{ - macroValidSharedObject (p, cCollectionElement_ident_5F_list) ; - outOperand0 = p->mObject.mProperty_obj_5F_name ; - } - }else{ - outOperand0.drop () ; - drop () ; - } - }else{ - outOperand0.drop () ; - } -} +const char * kSearchErrorMessage_prefix_5F_map_prefix = "prefix %K is not defined" ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_ident_5F_list::setter_popFirst (GALGAS_lstring & outOperand0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - capCollectionElement attributes ; - removeFirstObject (attributes, inCompiler COMMA_THERE) ; - cCollectionElement_ident_5F_list * p = (cCollectionElement_ident_5F_list *) attributes.ptr () ; +void GALGAS_prefix_5F_map::method_prefix (GALGAS_lstring inKey, + GALGAS_string & outArgument0, + GALGAS_string & outArgument1, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + const cMapElement_prefix_5F_map * p = (const cMapElement_prefix_5F_map *) performSearch (inKey, + inCompiler, + kSearchErrorMessage_prefix_5F_map_prefix + COMMA_THERE) ; if (nullptr == p) { - outOperand0.drop () ; + outArgument0.drop () ; + outArgument1.drop () ; }else{ - macroValidSharedObject (p, cCollectionElement_ident_5F_list) ; - outOperand0 = p->mObject.mProperty_obj_5F_name ; + macroValidSharedObject (p, cMapElement_prefix_5F_map) ; + outArgument0 = p->mProperty_prefix ; + outArgument1 = p->mProperty_tag_5F_to_5F_rep ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_ident_5F_list::setter_popLast (GALGAS_lstring & outOperand0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - capCollectionElement attributes ; - removeLastObject (attributes, inCompiler COMMA_THERE) ; - cCollectionElement_ident_5F_list * p = (cCollectionElement_ident_5F_list *) attributes.ptr () ; - if (nullptr == p) { - outOperand0.drop () ; - }else{ - macroValidSharedObject (p, cCollectionElement_ident_5F_list) ; - outOperand0 = p->mObject.mProperty_obj_5F_name ; +GALGAS_string GALGAS_prefix_5F_map::getter_prefixForKey (const GALGAS_string & inKey, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; + const cMapElement_prefix_5F_map * p = (const cMapElement_prefix_5F_map *) attributes ; + GALGAS_string result ; + if (nullptr != p) { + macroValidSharedObject (p, cMapElement_prefix_5F_map) ; + result = p->mProperty_prefix ; } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_ident_5F_list::method_first (GALGAS_lstring & outOperand0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - capCollectionElement attributes ; - readFirst (attributes, inCompiler COMMA_THERE) ; - cCollectionElement_ident_5F_list * p = (cCollectionElement_ident_5F_list *) attributes.ptr () ; - if (nullptr == p) { - outOperand0.drop () ; - }else{ - macroValidSharedObject (p, cCollectionElement_ident_5F_list) ; - outOperand0 = p->mObject.mProperty_obj_5F_name ; +GALGAS_string GALGAS_prefix_5F_map::getter_tag_5F_to_5F_repForKey (const GALGAS_string & inKey, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; + const cMapElement_prefix_5F_map * p = (const cMapElement_prefix_5F_map *) attributes ; + GALGAS_string result ; + if (nullptr != p) { + macroValidSharedObject (p, cMapElement_prefix_5F_map) ; + result = p->mProperty_tag_5F_to_5F_rep ; } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_ident_5F_list::method_last (GALGAS_lstring & outOperand0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - capCollectionElement attributes ; - readLast (attributes, inCompiler COMMA_THERE) ; - cCollectionElement_ident_5F_list * p = (cCollectionElement_ident_5F_list *) attributes.ptr () ; - if (nullptr == p) { - outOperand0.drop () ; - }else{ - macroValidSharedObject (p, cCollectionElement_ident_5F_list) ; - outOperand0 = p->mObject.mProperty_obj_5F_name ; +void GALGAS_prefix_5F_map::setter_setPrefixForKey (GALGAS_string inAttributeValue, + GALGAS_string inKey, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; + cMapElement_prefix_5F_map * p = (cMapElement_prefix_5F_map *) attributes ; + if (nullptr != p) { + macroValidSharedObject (p, cMapElement_prefix_5F_map) ; + p->mProperty_prefix = inAttributeValue ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_ident_5F_list GALGAS_ident_5F_list::add_operation (const GALGAS_ident_5F_list & inOperand, - Compiler * /* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_ident_5F_list result ; - if (isValid () && inOperand.isValid ()) { - result = *this ; - result.appendList (inOperand) ; +void GALGAS_prefix_5F_map::setter_setTag_5F_to_5F_repForKey (GALGAS_string inAttributeValue, + GALGAS_string inKey, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; + cMapElement_prefix_5F_map * p = (cMapElement_prefix_5F_map *) attributes ; + if (nullptr != p) { + macroValidSharedObject (p, cMapElement_prefix_5F_map) ; + p->mProperty_tag_5F_to_5F_rep = inAttributeValue ; } - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_ident_5F_list GALGAS_ident_5F_list::getter_subListWithRange (const GALGAS_range & inRange, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_ident_5F_list result = GALGAS_ident_5F_list::class_func_emptyList (THERE) ; - subListWithRange (result, inRange, inCompiler COMMA_THERE) ; - return result ; -} - -//-------------------------------------------------------------------------------------------------- - -GALGAS_ident_5F_list GALGAS_ident_5F_list::getter_subListFromIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_ident_5F_list result = GALGAS_ident_5F_list::class_func_emptyList (THERE) ; - subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; - return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_ident_5F_list GALGAS_ident_5F_list::getter_subListToIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_ident_5F_list result = GALGAS_ident_5F_list::class_func_emptyList (THERE) ; - subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; +cMapElement_prefix_5F_map * GALGAS_prefix_5F_map::readWriteAccessForWithInstruction (C_Compiler * inCompiler, + const GALGAS_string & inKey + COMMA_LOCATION_ARGS) { + cMapElement_prefix_5F_map * result = (cMapElement_prefix_5F_map *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; + macroNullOrValidSharedObject (result, cMapElement_prefix_5F_map) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_ident_5F_list::plusAssign_operation (const GALGAS_ident_5F_list inOperand, - Compiler * /* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) { - appendList (inOperand) ; +cEnumerator_prefix_5F_map::cEnumerator_prefix_5F_map (const GALGAS_prefix_5F_map & inEnumeratedObject, + const typeEnumerationOrder inOrder) : +cGenericAbstractEnumerator (inOrder) { + inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_ident_5F_list::setter_setObj_5F_nameAtIndex (GALGAS_lstring inOperand, - GALGAS_uint inIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cCollectionElement_ident_5F_list * p = (cCollectionElement_ident_5F_list *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; - if (nullptr != p) { - macroValidSharedObject (p, cCollectionElement_ident_5F_list) ; - macroUniqueSharedObject (p) ; - p->mObject.mProperty_obj_5F_name = inOperand ; - } +GALGAS_prefix_5F_map_2D_element cEnumerator_prefix_5F_map::current (LOCATION_ARGS) const { + const cMapElement_prefix_5F_map * p = (const cMapElement_prefix_5F_map *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement_prefix_5F_map) ; + return GALGAS_prefix_5F_map_2D_element (p->mProperty_lkey, p->mProperty_prefix, p->mProperty_tag_5F_to_5F_rep) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring GALGAS_ident_5F_list::getter_obj_5F_nameAtIndex (const GALGAS_uint & inIndex, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; - cCollectionElement_ident_5F_list * p = (cCollectionElement_ident_5F_list *) attributes.ptr () ; - GALGAS_lstring result ; - if (nullptr != p) { - macroValidSharedObject (p, cCollectionElement_ident_5F_list) ; - result = p->mObject.mProperty_obj_5F_name ; - } - return result ; +GALGAS_lstring cEnumerator_prefix_5F_map::current_lkey (LOCATION_ARGS) const { + const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement) ; + return p->mProperty_lkey ; } +//---------------------------------------------------------------------------------------------------------------------- - -//-------------------------------------------------------------------------------------------------- - -cEnumerator_ident_5F_list::cEnumerator_ident_5F_list (const GALGAS_ident_5F_list & inEnumeratedObject, - const typeEnumerationOrder inOrder) : -cGenericAbstractEnumerator (inOrder) { - inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; +GALGAS_string cEnumerator_prefix_5F_map::current_prefix (LOCATION_ARGS) const { + const cMapElement_prefix_5F_map * p = (const cMapElement_prefix_5F_map *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement_prefix_5F_map) ; + return p->mProperty_prefix ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_ident_5F_list_2D_element cEnumerator_ident_5F_list::current (LOCATION_ARGS) const { - const cCollectionElement_ident_5F_list * p = (const cCollectionElement_ident_5F_list *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cCollectionElement_ident_5F_list) ; - return p->mObject ; +GALGAS_string cEnumerator_prefix_5F_map::current_tag_5F_to_5F_rep (LOCATION_ARGS) const { + const cMapElement_prefix_5F_map * p = (const cMapElement_prefix_5F_map *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement_prefix_5F_map) ; + return p->mProperty_tag_5F_to_5F_rep ; } +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- - -GALGAS_lstring cEnumerator_ident_5F_list::current_obj_5F_name (LOCATION_ARGS) const { - const cCollectionElement_ident_5F_list * p = (const cCollectionElement_ident_5F_list *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cCollectionElement_ident_5F_list) ; - return p->mObject.mProperty_obj_5F_name ; +bool GALGAS_prefix_5F_map::optional_searchKey (const GALGAS_string & inKey, + GALGAS_string & outArgument0, + GALGAS_string & outArgument1) const { + const cMapElement_prefix_5F_map * p = (const cMapElement_prefix_5F_map *) searchForKey (inKey) ; + const bool result = nullptr != p ; + if (result) { + macroValidSharedObject (p, cMapElement_prefix_5F_map) ; + outArgument0 = p->mProperty_prefix ; + outArgument1 = p->mProperty_tag_5F_to_5F_rep ; + }else{ + outArgument0.drop () ; + outArgument1.drop () ; + } + return result ; } - - - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// @ident_list generic code implementation +// @prefix_map generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_ident_5F_list ("ident_list", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_prefix_5F_map ("prefix_map", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_ident_5F_list::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_ident_5F_list ; +const C_galgas_type_descriptor * GALGAS_prefix_5F_map::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_prefix_5F_map ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_ident_5F_list::clonedObject (void) const { +AC_GALGAS_root * GALGAS_prefix_5F_map::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; if (isValid ()) { - macroMyNew (result, GALGAS_ident_5F_list (*this)) ; + macroMyNew (result, GALGAS_prefix_5F_map (*this)) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_ident_5F_list GALGAS_ident_5F_list::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler +GALGAS_prefix_5F_map GALGAS_prefix_5F_map::extractObject (const GALGAS_object & inObject, + C_Compiler * inCompiler COMMA_LOCATION_ARGS) { - GALGAS_ident_5F_list result ; - const GALGAS_ident_5F_list * p = (const GALGAS_ident_5F_list *) inObject.embeddedObject () ; + GALGAS_prefix_5F_map result ; + const GALGAS_prefix_5F_map * p = (const GALGAS_prefix_5F_map *) inObject.embeddedObject () ; if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { + if (nullptr != dynamic_cast (p)) { result = *p ; }else{ - inCompiler->castError ("ident_list", p->dynamicTypeDescriptor () COMMA_THERE) ; + inCompiler->castError ("prefix_map", p->dynamicTypeDescriptor () COMMA_THERE) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement_ident_5F_list_5F_map::cMapElement_ident_5F_list_5F_map (const GALGAS_lstring & inKey, - const GALGAS_ident_5F_list & in_objs - COMMA_LOCATION_ARGS) : +cMapElement_stringset_5F_map::cMapElement_stringset_5F_map (const GALGAS_lstring & inKey, + const GALGAS_stringset & in_ids + COMMA_LOCATION_ARGS) : cMapElement (inKey COMMA_THERE), -mProperty_objs (in_objs) { +mProperty_ids (in_ids) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool cMapElement_ident_5F_list_5F_map::isValid (void) const { +bool cMapElement_stringset_5F_map::isValid (void) const { return mProperty_lkey.isValid () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement * cMapElement_ident_5F_list_5F_map::copy (void) { +cMapElement * cMapElement_stringset_5F_map::copy (void) { cMapElement * result = nullptr ; - macroMyNew (result, cMapElement_ident_5F_list_5F_map (mProperty_lkey, mProperty_objs COMMA_HERE)) ; + macroMyNew (result, cMapElement_stringset_5F_map (mProperty_lkey, mProperty_ids COMMA_HERE)) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cMapElement_ident_5F_list_5F_map::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("objs" ":") ; - mProperty_objs.description (ioString, inIndentation) ; +void cMapElement_stringset_5F_map::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "ids" ":" ; + mProperty_ids.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -typeComparisonResult cMapElement_ident_5F_list_5F_map::compare (const cCollectionElement * inOperand) const { - cMapElement_ident_5F_list_5F_map * operand = (cMapElement_ident_5F_list_5F_map *) inOperand ; +typeComparisonResult cMapElement_stringset_5F_map::compare (const cCollectionElement * inOperand) const { + cMapElement_stringset_5F_map * operand = (cMapElement_stringset_5F_map *) inOperand ; typeComparisonResult result = mProperty_lkey.objectCompare (operand->mProperty_lkey) ; if (kOperandEqual == result) { - result = mProperty_objs.objectCompare (operand->mProperty_objs) ; + result = mProperty_ids.objectCompare (operand->mProperty_ids) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_ident_5F_list_5F_map::GALGAS_ident_5F_list_5F_map (void) : -AC_GALGAS_map () { +GALGAS_stringset_5F_map::GALGAS_stringset_5F_map (void) : +AC_GALGAS_map (true) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_ident_5F_list_5F_map::GALGAS_ident_5F_list_5F_map (const GALGAS_ident_5F_list_5F_map & inSource) : +GALGAS_stringset_5F_map::GALGAS_stringset_5F_map (const GALGAS_stringset_5F_map & inSource) : AC_GALGAS_map (inSource) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_ident_5F_list_5F_map & GALGAS_ident_5F_list_5F_map::operator = (const GALGAS_ident_5F_list_5F_map & inSource) { +GALGAS_stringset_5F_map & GALGAS_stringset_5F_map::operator = (const GALGAS_stringset_5F_map & inSource) { * ((AC_GALGAS_map *) this) = inSource ; return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_ident_5F_list_5F_map GALGAS_ident_5F_list_5F_map::class_func_emptyMap (LOCATION_ARGS) { - GALGAS_ident_5F_list_5F_map result ; +GALGAS_stringset_5F_map GALGAS_stringset_5F_map::constructor_emptyMap (LOCATION_ARGS) { + GALGAS_stringset_5F_map result ; result.makeNewEmptyMap (THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_ident_5F_list_5F_map GALGAS_ident_5F_list_5F_map::class_func_mapWithMapToOverride (const GALGAS_ident_5F_list_5F_map & inMapToOverride - COMMA_LOCATION_ARGS) { - GALGAS_ident_5F_list_5F_map result ; +GALGAS_stringset_5F_map GALGAS_stringset_5F_map::constructor_mapWithMapToOverride (const GALGAS_stringset_5F_map & inMapToOverride + COMMA_LOCATION_ARGS) { + GALGAS_stringset_5F_map result ; result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_ident_5F_list_5F_map GALGAS_ident_5F_list_5F_map::getter_overriddenMap (Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_ident_5F_list_5F_map result ; +GALGAS_stringset_5F_map GALGAS_stringset_5F_map::getter_overriddenMap (C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_stringset_5F_map result ; getOverridenMap (result, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_ident_5F_list_5F_map::addAssign_operation (const GALGAS_lstring & inKey, - const GALGAS_ident_5F_list & inArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cMapElement_ident_5F_list_5F_map * p = nullptr ; - macroMyNew (p, cMapElement_ident_5F_list_5F_map (inKey, inArgument0 COMMA_HERE)) ; +void GALGAS_stringset_5F_map::addAssign_operation (const GALGAS_lstring & inKey, + const GALGAS_stringset & inArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cMapElement_stringset_5F_map * p = nullptr ; + macroMyNew (p, cMapElement_stringset_5F_map (inKey, inArgument0 COMMA_HERE)) ; capCollectionElement attributes ; attributes.setPointer (p) ; macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "@ident_5F_list_5F_map insert error: '%K' already in map" ; + const char * kInsertErrorMessage = "@stringset_5F_map insert error: '%K' already in map" ; const char * kShadowErrorMessage = "" ; performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_ident_5F_list_5F_map GALGAS_ident_5F_list_5F_map::add_operation (const GALGAS_ident_5F_list_5F_map & inOperand, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_ident_5F_list_5F_map result = *this ; - cEnumerator_ident_5F_list_5F_map enumerator (inOperand, kENUMERATION_UP) ; +GALGAS_stringset_5F_map GALGAS_stringset_5F_map::add_operation (const GALGAS_stringset_5F_map & inOperand, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_stringset_5F_map result = *this ; + cEnumerator_stringset_5F_map enumerator (inOperand, kENUMERATION_UP) ; while (enumerator.hasCurrentObject ()) { - result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_objs (HERE), inCompiler COMMA_THERE) ; + result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_ids (HERE), inCompiler COMMA_THERE) ; enumerator.gotoNextObject () ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_ident_5F_list_5F_map::setter_add (GALGAS_lstring inKey, - GALGAS_ident_5F_list inArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cMapElement_ident_5F_list_5F_map * p = nullptr ; - macroMyNew (p, cMapElement_ident_5F_list_5F_map (inKey, inArgument0 COMMA_HERE)) ; +void GALGAS_stringset_5F_map::setter_add (GALGAS_lstring inKey, + GALGAS_stringset inArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cMapElement_stringset_5F_map * p = nullptr ; + macroMyNew (p, cMapElement_stringset_5F_map (inKey, inArgument0 COMMA_HERE)) ; capCollectionElement attributes ; attributes.setPointer (p) ; macroDetachSharedObject (p) ; @@ -5295,4301 +5315,3831 @@ void GALGAS_ident_5F_list_5F_map::setter_add (GALGAS_lstring inKey, performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const char * kSearchErrorMessage_ident_5F_list_5F_map_get = "Key %K is not there" ; +const char * kSearchErrorMessage_stringset_5F_map_get = "Key %K is not there" ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_ident_5F_list_5F_map::method_get (GALGAS_lstring inKey, - GALGAS_ident_5F_list & outArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - const cMapElement_ident_5F_list_5F_map * p = (const cMapElement_ident_5F_list_5F_map *) performSearch (inKey, - inCompiler, - kSearchErrorMessage_ident_5F_list_5F_map_get - COMMA_THERE) ; +void GALGAS_stringset_5F_map::method_get (GALGAS_lstring inKey, + GALGAS_stringset & outArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + const cMapElement_stringset_5F_map * p = (const cMapElement_stringset_5F_map *) performSearch (inKey, + inCompiler, + kSearchErrorMessage_stringset_5F_map_get + COMMA_THERE) ; if (nullptr == p) { outArgument0.drop () ; }else{ - macroValidSharedObject (p, cMapElement_ident_5F_list_5F_map) ; - outArgument0 = p->mProperty_objs ; + macroValidSharedObject (p, cMapElement_stringset_5F_map) ; + outArgument0 = p->mProperty_ids ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_ident_5F_list_5F_map::setter_delete (GALGAS_lstring inKey, - GALGAS_ident_5F_list & outArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { +void GALGAS_stringset_5F_map::setter_delete (GALGAS_lstring inKey, + GALGAS_stringset & outArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { const char * kRemoveErrorMessage = "Key %K cannot be deleted" ; capCollectionElement attributes ; performRemove (inKey, attributes, inCompiler, kRemoveErrorMessage COMMA_THERE) ; - cMapElement_ident_5F_list_5F_map * p = (cMapElement_ident_5F_list_5F_map *) attributes.ptr () ; + cMapElement_stringset_5F_map * p = (cMapElement_stringset_5F_map *) attributes.ptr () ; if (nullptr == p) { outArgument0.drop () ; }else{ - macroValidSharedObject (p, cMapElement_ident_5F_list_5F_map) ; - outArgument0 = p->mProperty_objs ; + macroValidSharedObject (p, cMapElement_stringset_5F_map) ; + outArgument0 = p->mProperty_ids ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_ident_5F_list GALGAS_ident_5F_list_5F_map::getter_objsForKey (const GALGAS_string & inKey, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { +GALGAS_stringset GALGAS_stringset_5F_map::getter_idsForKey (const GALGAS_string & inKey, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; - const cMapElement_ident_5F_list_5F_map * p = (const cMapElement_ident_5F_list_5F_map *) attributes ; - GALGAS_ident_5F_list result ; + const cMapElement_stringset_5F_map * p = (const cMapElement_stringset_5F_map *) attributes ; + GALGAS_stringset result ; if (nullptr != p) { - macroValidSharedObject (p, cMapElement_ident_5F_list_5F_map) ; - result = p->mProperty_objs ; + macroValidSharedObject (p, cMapElement_stringset_5F_map) ; + result = p->mProperty_ids ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_ident_5F_list_5F_map::setter_setObjsForKey (GALGAS_ident_5F_list inAttributeValue, - GALGAS_string inKey, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { +void GALGAS_stringset_5F_map::setter_setIdsForKey (GALGAS_stringset inAttributeValue, + GALGAS_string inKey, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; - cMapElement_ident_5F_list_5F_map * p = (cMapElement_ident_5F_list_5F_map *) attributes ; + cMapElement_stringset_5F_map * p = (cMapElement_stringset_5F_map *) attributes ; if (nullptr != p) { - macroValidSharedObject (p, cMapElement_ident_5F_list_5F_map) ; - p->mProperty_objs = inAttributeValue ; + macroValidSharedObject (p, cMapElement_stringset_5F_map) ; + p->mProperty_ids = inAttributeValue ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement_ident_5F_list_5F_map * GALGAS_ident_5F_list_5F_map::readWriteAccessForWithInstruction (Compiler * inCompiler, - const GALGAS_string & inKey - COMMA_LOCATION_ARGS) { - cMapElement_ident_5F_list_5F_map * result = (cMapElement_ident_5F_list_5F_map *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; - macroNullOrValidSharedObject (result, cMapElement_ident_5F_list_5F_map) ; +cMapElement_stringset_5F_map * GALGAS_stringset_5F_map::readWriteAccessForWithInstruction (C_Compiler * inCompiler, + const GALGAS_string & inKey + COMMA_LOCATION_ARGS) { + cMapElement_stringset_5F_map * result = (cMapElement_stringset_5F_map *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; + macroNullOrValidSharedObject (result, cMapElement_stringset_5F_map) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cEnumerator_ident_5F_list_5F_map::cEnumerator_ident_5F_list_5F_map (const GALGAS_ident_5F_list_5F_map & inEnumeratedObject, - const typeEnumerationOrder inOrder) : +cEnumerator_stringset_5F_map::cEnumerator_stringset_5F_map (const GALGAS_stringset_5F_map & inEnumeratedObject, + const typeEnumerationOrder inOrder) : cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_ident_5F_list_5F_map_2D_element cEnumerator_ident_5F_list_5F_map::current (LOCATION_ARGS) const { - const cMapElement_ident_5F_list_5F_map * p = (const cMapElement_ident_5F_list_5F_map *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement_ident_5F_list_5F_map) ; - return GALGAS_ident_5F_list_5F_map_2D_element (p->mProperty_lkey, p->mProperty_objs) ; +GALGAS_stringset_5F_map_2D_element cEnumerator_stringset_5F_map::current (LOCATION_ARGS) const { + const cMapElement_stringset_5F_map * p = (const cMapElement_stringset_5F_map *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement_stringset_5F_map) ; + return GALGAS_stringset_5F_map_2D_element (p->mProperty_lkey, p->mProperty_ids) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring cEnumerator_ident_5F_list_5F_map::current_lkey (LOCATION_ARGS) const { +GALGAS_lstring cEnumerator_stringset_5F_map::current_lkey (LOCATION_ARGS) const { const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; macroValidSharedObject (p, cMapElement) ; return p->mProperty_lkey ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_ident_5F_list cEnumerator_ident_5F_list_5F_map::current_objs (LOCATION_ARGS) const { - const cMapElement_ident_5F_list_5F_map * p = (const cMapElement_ident_5F_list_5F_map *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement_ident_5F_list_5F_map) ; - return p->mProperty_objs ; +GALGAS_stringset cEnumerator_stringset_5F_map::current_ids (LOCATION_ARGS) const { + const cMapElement_stringset_5F_map * p = (const cMapElement_stringset_5F_map *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement_stringset_5F_map) ; + return p->mProperty_ids ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool GALGAS_ident_5F_list_5F_map::optional_searchKey (const GALGAS_string & inKey, - GALGAS_ident_5F_list & outArgument0) const { - const cMapElement_ident_5F_list_5F_map * p = (const cMapElement_ident_5F_list_5F_map *) searchForKey (inKey) ; +bool GALGAS_stringset_5F_map::optional_searchKey (const GALGAS_string & inKey, + GALGAS_stringset & outArgument0) const { + const cMapElement_stringset_5F_map * p = (const cMapElement_stringset_5F_map *) searchForKey (inKey) ; const bool result = nullptr != p ; if (result) { - macroValidSharedObject (p, cMapElement_ident_5F_list_5F_map) ; - outArgument0 = p->mProperty_objs ; + macroValidSharedObject (p, cMapElement_stringset_5F_map) ; + outArgument0 = p->mProperty_ids ; }else{ outArgument0.drop () ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// @ident_list_map generic code implementation +// @stringset_map generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_ident_5F_list_5F_map ("ident_list_map", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_stringset_5F_map ("stringset_map", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_ident_5F_list_5F_map::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_ident_5F_list_5F_map ; +const C_galgas_type_descriptor * GALGAS_stringset_5F_map::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_stringset_5F_map ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_ident_5F_list_5F_map::clonedObject (void) const { +AC_GALGAS_root * GALGAS_stringset_5F_map::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; if (isValid ()) { - macroMyNew (result, GALGAS_ident_5F_list_5F_map (*this)) ; + macroMyNew (result, GALGAS_stringset_5F_map (*this)) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_ident_5F_list_5F_map GALGAS_ident_5F_list_5F_map::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_ident_5F_list_5F_map result ; - const GALGAS_ident_5F_list_5F_map * p = (const GALGAS_ident_5F_list_5F_map *) inObject.embeddedObject () ; +GALGAS_stringset_5F_map GALGAS_stringset_5F_map::extractObject (const GALGAS_object & inObject, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_stringset_5F_map result ; + const GALGAS_stringset_5F_map * p = (const GALGAS_stringset_5F_map *) inObject.embeddedObject () ; if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { + if (nullptr != dynamic_cast (p)) { result = *p ; }else{ - inCompiler->castError ("ident_list_map", p->dynamicTypeDescriptor () COMMA_THERE) ; + inCompiler->castError ("stringset_map", p->dynamicTypeDescriptor () COMMA_THERE) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- -// Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// +//Class for element of '@ident_5F_list' list +// +//---------------------------------------------------------------------------------------------------------------------- +class cCollectionElement_ident_5F_list : public cCollectionElement { + public: GALGAS_ident_5F_list_2D_element mObject ; +//--- Constructors + public: cCollectionElement_ident_5F_list (const GALGAS_lstring & in_obj_5F_name + COMMA_LOCATION_ARGS) ; + public: cCollectionElement_ident_5F_list (const GALGAS_ident_5F_list_2D_element & inElement COMMA_LOCATION_ARGS) ; -typeComparisonResult GALGAS_autostart_5F_obj::objectCompare (const GALGAS_autostart_5F_obj & inOperand) const { - typeComparisonResult result = kOperandNotValid ; - if (isValid () && inOperand.isValid ()) { - const int32_t mySlot = mObjectPtr->classDescriptor ()->mSlotID ; - const int32_t operandSlot = inOperand.mObjectPtr->classDescriptor ()->mSlotID ; - if (mySlot < operandSlot) { - result = kFirstOperandLowerThanSecond ; - }else if (mySlot > operandSlot) { - result = kFirstOperandGreaterThanSecond ; - }else{ - result = mObjectPtr->dynamicObjectCompare (inOperand.mObjectPtr) ; - } - } - return result ; -} +//--- Virtual method for comparing elements + public: virtual typeComparisonResult compare (const cCollectionElement * inOperand) const ; -//-------------------------------------------------------------------------------------------------- +//--- Virtual method that checks that all attributes are valid + public: virtual bool isValid (void) const ; -GALGAS_autostart_5F_obj::GALGAS_autostart_5F_obj (void) : -AC_GALGAS_value_class () { -} +//--- Virtual method that returns a copy of current object + public: virtual cCollectionElement * copy (void) ; -//-------------------------------------------------------------------------------------------------- +//--- Description + public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; +} ; -GALGAS_autostart_5F_obj::GALGAS_autostart_5F_obj (const cPtr_autostart_5F_obj * inSourcePtr) : -AC_GALGAS_value_class (inSourcePtr) { - macroNullOrValidSharedObject (inSourcePtr, cPtr_autostart_5F_obj) ; -} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_location GALGAS_autostart_5F_obj::readProperty_location (void) const { - if (nullptr == mObjectPtr) { - return GALGAS_location () ; - }else{ - const cPtr_autostart_5F_obj * p = (const cPtr_autostart_5F_obj *) mObjectPtr ; - macroValidSharedObject (p, cPtr_autostart_5F_obj) ; - return p->mProperty_location ; - } +cCollectionElement_ident_5F_list::cCollectionElement_ident_5F_list (const GALGAS_lstring & in_obj_5F_name + COMMA_LOCATION_ARGS) : +cCollectionElement (THERE), +mObject (in_obj_5F_name) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_location cPtr_autostart_5F_obj::getter_location (UNUSED_LOCATION_ARGS) const { - return mProperty_location ; +cCollectionElement_ident_5F_list::cCollectionElement_ident_5F_list (const GALGAS_ident_5F_list_2D_element & inElement COMMA_LOCATION_ARGS) : +cCollectionElement (THERE), +mObject (inElement.mProperty_obj_5F_name) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_autostart_5F_obj::setter_setLocation (GALGAS_location inValue - COMMA_LOCATION_ARGS) { - if (nullptr != mObjectPtr) { - insulate (THERE) ; - cPtr_autostart_5F_obj * p = (cPtr_autostart_5F_obj *) mObjectPtr ; - macroValidSharedObject (p, cPtr_autostart_5F_obj) ; - p->mProperty_location = inValue ; - } +bool cCollectionElement_ident_5F_list::isValid (void) const { + return true ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_autostart_5F_obj::setter_setLocation (GALGAS_location inValue - COMMA_UNUSED_LOCATION_ARGS) { - mProperty_location = inValue ; +cCollectionElement * cCollectionElement_ident_5F_list::copy (void) { + cCollectionElement * result = nullptr ; + macroMyNew (result, cCollectionElement_ident_5F_list (mObject.mProperty_obj_5F_name COMMA_HERE)) ; + return result ; } -//-------------------------------------------------------------------------------------------------- -//Pointer class for @autostart_obj class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cPtr_autostart_5F_obj::cPtr_autostart_5F_obj (const GALGAS_location & in_location - COMMA_LOCATION_ARGS) : -acPtr_class (THERE), -mProperty_location (in_location) { +void cCollectionElement_ident_5F_list::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "obj_name" ":" ; + mObject.mProperty_obj_5F_name.description (ioString, inIndentation) ; } +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- -// -// @autostart_obj generic code implementation -// -//-------------------------------------------------------------------------------------------------- - -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_autostart_5F_obj ("autostart_obj", - nullptr) ; - -//-------------------------------------------------------------------------------------------------- - -const C_galgas_type_descriptor * GALGAS_autostart_5F_obj::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_autostart_5F_obj ; +typeComparisonResult cCollectionElement_ident_5F_list::compare (const cCollectionElement * inOperand) const { + cCollectionElement_ident_5F_list * operand = (cCollectionElement_ident_5F_list *) inOperand ; + macroValidSharedObject (operand, cCollectionElement_ident_5F_list) ; + return mObject.objectCompare (operand->mObject) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_autostart_5F_obj::clonedObject (void) const { - AC_GALGAS_root * result = nullptr ; - if (isValid ()) { - macroMyNew (result, GALGAS_autostart_5F_obj (*this)) ; - } - return result ; +GALGAS_ident_5F_list::GALGAS_ident_5F_list (void) : +AC_GALGAS_list () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_autostart_5F_obj GALGAS_autostart_5F_obj::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_autostart_5F_obj result ; - const GALGAS_autostart_5F_obj * p = (const GALGAS_autostart_5F_obj *) inObject.embeddedObject () ; - if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { - result = *p ; - }else{ - inCompiler->castError ("autostart_obj", p->dynamicTypeDescriptor () COMMA_THERE) ; - } - } - return result ; +GALGAS_ident_5F_list::GALGAS_ident_5F_list (const capCollectionElementArray & inSharedArray) : +AC_GALGAS_list (inSharedArray) { } -//-------------------------------------------------------------------------------------------------- -// Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -typeComparisonResult cPtr_autostart_5F_void::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { - typeComparisonResult result = kOperandEqual ; - const cPtr_autostart_5F_void * p = (const cPtr_autostart_5F_void *) inOperandPtr ; - macroValidSharedObject (p, cPtr_autostart_5F_void) ; - if (kOperandEqual == result) { - result = mProperty_location.objectCompare (p->mProperty_location) ; - } - return result ; +GALGAS_ident_5F_list GALGAS_ident_5F_list::constructor_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_ident_5F_list (capCollectionElementArray ()) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - -typeComparisonResult GALGAS_autostart_5F_void::objectCompare (const GALGAS_autostart_5F_void & inOperand) const { - typeComparisonResult result = kOperandNotValid ; - if (isValid () && inOperand.isValid ()) { - const int32_t mySlot = mObjectPtr->classDescriptor ()->mSlotID ; - const int32_t operandSlot = inOperand.mObjectPtr->classDescriptor ()->mSlotID ; - if (mySlot < operandSlot) { - result = kFirstOperandLowerThanSecond ; - }else if (mySlot > operandSlot) { - result = kFirstOperandGreaterThanSecond ; - }else{ - result = mObjectPtr->dynamicObjectCompare (inOperand.mObjectPtr) ; - } +GALGAS_ident_5F_list GALGAS_ident_5F_list::constructor_listWithValue (const GALGAS_lstring & inOperand0 + COMMA_LOCATION_ARGS) { + GALGAS_ident_5F_list result ; + if (inOperand0.isValid ()) { + result = GALGAS_ident_5F_list (capCollectionElementArray ()) ; + capCollectionElement attributes ; + GALGAS_ident_5F_list::makeAttributesFromObjects (attributes, inOperand0 COMMA_THERE) ; + result.appendObject (attributes) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_autostart_5F_void::GALGAS_autostart_5F_void (void) : -GALGAS_autostart_5F_obj () { +void GALGAS_ident_5F_list::makeAttributesFromObjects (capCollectionElement & outAttributes, + const GALGAS_lstring & in_obj_5F_name + COMMA_LOCATION_ARGS) { + cCollectionElement_ident_5F_list * p = nullptr ; + macroMyNew (p, cCollectionElement_ident_5F_list (in_obj_5F_name COMMA_THERE)) ; + outAttributes.setPointer (p) ; + macroDetachSharedObject (p) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_autostart_5F_void::GALGAS_autostart_5F_void (const cPtr_autostart_5F_void * inSourcePtr) : -GALGAS_autostart_5F_obj (inSourcePtr) { - macroNullOrValidSharedObject (inSourcePtr, cPtr_autostart_5F_void) ; +void GALGAS_ident_5F_list::addAssign_operation (const GALGAS_lstring & inOperand0 + COMMA_LOCATION_ARGS) { + if (isValid ()) { + cCollectionElement * p = nullptr ; + macroMyNew (p, cCollectionElement_ident_5F_list (inOperand0 COMMA_THERE)) ; + capCollectionElement attributes ; + attributes.setPointer (p) ; + macroDetachSharedObject (p) ; + appendObject (attributes) ; + } } -//-------------------------------------------------------------------------------------------------- -GALGAS_autostart_5F_void GALGAS_autostart_5F_void::class_func_new (const GALGAS_location & inAttribute_location - COMMA_LOCATION_ARGS) { - GALGAS_autostart_5F_void result ; - if (inAttribute_location.isValid ()) { - macroMyNew (result.mObjectPtr, cPtr_autostart_5F_void (inAttribute_location COMMA_THERE)) ; +//---------------------------------------------------------------------------------------------------------------------- + +void GALGAS_ident_5F_list::setter_append (const GALGAS_lstring inOperand0, + C_Compiler * /* inCompiler */ + COMMA_LOCATION_ARGS) { + if (isValid ()) { + cCollectionElement * p = nullptr ; + macroMyNew (p, cCollectionElement_ident_5F_list (inOperand0 COMMA_THERE)) ; + capCollectionElement attributes ; + attributes.setPointer (p) ; + macroDetachSharedObject (p) ; + appendObject (attributes) ; } - return result ; } -//-------------------------------------------------------------------------------------------------- -//Pointer class for @autostart_void class -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cPtr_autostart_5F_void::cPtr_autostart_5F_void (const GALGAS_location & in_location - COMMA_LOCATION_ARGS) : -cPtr_autostart_5F_obj (in_location COMMA_THERE) { +void GALGAS_ident_5F_list::setter_insertAtIndex (const GALGAS_lstring inOperand0, + const GALGAS_uint inInsertionIndex, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (isValid ()) { + if (inInsertionIndex.isValid () && inOperand0.isValid ()) { + cCollectionElement * p = nullptr ; + macroMyNew (p, cCollectionElement_ident_5F_list (inOperand0 COMMA_THERE)) ; + capCollectionElement attributes ; + attributes.setPointer (p) ; + macroDetachSharedObject (p) ; + insertObjectAtIndex (attributes, inInsertionIndex.uintValue (), inCompiler COMMA_THERE) ; + }else{ + drop () ; + } + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * cPtr_autostart_5F_void::classDescriptor (void) const { - return & kTypeDescriptor_GALGAS_autostart_5F_void ; +void GALGAS_ident_5F_list::setter_removeAtIndex (GALGAS_lstring & outOperand0, + const GALGAS_uint inRemoveIndex, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (isValid ()) { + if (inRemoveIndex.isValid ()) { + capCollectionElement attributes ; + removeObjectAtIndex (attributes, inRemoveIndex.uintValue (), inCompiler COMMA_THERE) ; + cCollectionElement_ident_5F_list * p = (cCollectionElement_ident_5F_list *) attributes.ptr () ; + if (nullptr == p) { + outOperand0.drop () ; + drop () ; + }else{ + macroValidSharedObject (p, cCollectionElement_ident_5F_list) ; + outOperand0 = p->mObject.mProperty_obj_5F_name ; + } + }else{ + outOperand0.drop () ; + drop () ; + } + }else{ + outOperand0.drop () ; + } } -void cPtr_autostart_5F_void::description (String & ioString, - const int32_t inIndentation) const { - ioString.appendCString ("[@autostart_void:") ; - mProperty_location.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; +//---------------------------------------------------------------------------------------------------------------------- + +void GALGAS_ident_5F_list::setter_popFirst (GALGAS_lstring & outOperand0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + capCollectionElement attributes ; + removeFirstObject (attributes, inCompiler COMMA_THERE) ; + cCollectionElement_ident_5F_list * p = (cCollectionElement_ident_5F_list *) attributes.ptr () ; + if (nullptr == p) { + outOperand0.drop () ; + }else{ + macroValidSharedObject (p, cCollectionElement_ident_5F_list) ; + outOperand0 = p->mObject.mProperty_obj_5F_name ; + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -acPtr_class * cPtr_autostart_5F_void::duplicate (LOCATION_ARGS) const { - acPtr_class * ptr = nullptr ; - macroMyNew (ptr, cPtr_autostart_5F_void (mProperty_location COMMA_THERE)) ; - return ptr ; +void GALGAS_ident_5F_list::setter_popLast (GALGAS_lstring & outOperand0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + capCollectionElement attributes ; + removeLastObject (attributes, inCompiler COMMA_THERE) ; + cCollectionElement_ident_5F_list * p = (cCollectionElement_ident_5F_list *) attributes.ptr () ; + if (nullptr == p) { + outOperand0.drop () ; + }else{ + macroValidSharedObject (p, cCollectionElement_ident_5F_list) ; + outOperand0 = p->mObject.mProperty_obj_5F_name ; + } } +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- -// -// @autostart_void generic code implementation -// -//-------------------------------------------------------------------------------------------------- - -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_autostart_5F_void ("autostart_void", - & kTypeDescriptor_GALGAS_autostart_5F_obj) ; +void GALGAS_ident_5F_list::method_first (GALGAS_lstring & outOperand0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + capCollectionElement attributes ; + readFirst (attributes, inCompiler COMMA_THERE) ; + cCollectionElement_ident_5F_list * p = (cCollectionElement_ident_5F_list *) attributes.ptr () ; + if (nullptr == p) { + outOperand0.drop () ; + }else{ + macroValidSharedObject (p, cCollectionElement_ident_5F_list) ; + outOperand0 = p->mObject.mProperty_obj_5F_name ; + } +} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_autostart_5F_void::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_autostart_5F_void ; +void GALGAS_ident_5F_list::method_last (GALGAS_lstring & outOperand0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + capCollectionElement attributes ; + readLast (attributes, inCompiler COMMA_THERE) ; + cCollectionElement_ident_5F_list * p = (cCollectionElement_ident_5F_list *) attributes.ptr () ; + if (nullptr == p) { + outOperand0.drop () ; + }else{ + macroValidSharedObject (p, cCollectionElement_ident_5F_list) ; + outOperand0 = p->mObject.mProperty_obj_5F_name ; + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_autostart_5F_void::clonedObject (void) const { - AC_GALGAS_root * result = nullptr ; - if (isValid ()) { - macroMyNew (result, GALGAS_autostart_5F_void (*this)) ; +GALGAS_ident_5F_list GALGAS_ident_5F_list::add_operation (const GALGAS_ident_5F_list & inOperand, + C_Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_ident_5F_list result ; + if (isValid () && inOperand.isValid ()) { + result = *this ; + result.appendList (inOperand) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_autostart_5F_void GALGAS_autostart_5F_void::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_autostart_5F_void result ; - const GALGAS_autostart_5F_void * p = (const GALGAS_autostart_5F_void *) inObject.embeddedObject () ; - if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { - result = *p ; - }else{ - inCompiler->castError ("autostart_void", p->dynamicTypeDescriptor () COMMA_THERE) ; - } - } +GALGAS_ident_5F_list GALGAS_ident_5F_list::getter_subListWithRange (const GALGAS_range & inRange, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_ident_5F_list result = GALGAS_ident_5F_list::constructor_emptyList (THERE) ; + subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- -// Object comparison -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -typeComparisonResult cPtr_autostart_5F_false::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { - typeComparisonResult result = kOperandEqual ; - const cPtr_autostart_5F_false * p = (const cPtr_autostart_5F_false *) inOperandPtr ; - macroValidSharedObject (p, cPtr_autostart_5F_false) ; - if (kOperandEqual == result) { - result = mProperty_location.objectCompare (p->mProperty_location) ; - } +GALGAS_ident_5F_list GALGAS_ident_5F_list::getter_subListFromIndex (const GALGAS_uint & inIndex, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_ident_5F_list result = GALGAS_ident_5F_list::constructor_emptyList (THERE) ; + subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- - -typeComparisonResult GALGAS_autostart_5F_false::objectCompare (const GALGAS_autostart_5F_false & inOperand) const { - typeComparisonResult result = kOperandNotValid ; - if (isValid () && inOperand.isValid ()) { - const int32_t mySlot = mObjectPtr->classDescriptor ()->mSlotID ; - const int32_t operandSlot = inOperand.mObjectPtr->classDescriptor ()->mSlotID ; - if (mySlot < operandSlot) { - result = kFirstOperandLowerThanSecond ; - }else if (mySlot > operandSlot) { - result = kFirstOperandGreaterThanSecond ; - }else{ - result = mObjectPtr->dynamicObjectCompare (inOperand.mObjectPtr) ; - } - } +GALGAS_ident_5F_list GALGAS_ident_5F_list::getter_subListToIndex (const GALGAS_uint & inIndex, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_ident_5F_list result = GALGAS_ident_5F_list::constructor_emptyList (THERE) ; + subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_autostart_5F_false::GALGAS_autostart_5F_false (void) : -GALGAS_autostart_5F_obj () { +void GALGAS_ident_5F_list::plusAssign_operation (const GALGAS_ident_5F_list inOperand, + C_Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) { + appendList (inOperand) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_autostart_5F_false::GALGAS_autostart_5F_false (const cPtr_autostart_5F_false * inSourcePtr) : -GALGAS_autostart_5F_obj (inSourcePtr) { - macroNullOrValidSharedObject (inSourcePtr, cPtr_autostart_5F_false) ; +void GALGAS_ident_5F_list::setter_setObj_5F_nameAtIndex (GALGAS_lstring inOperand, + GALGAS_uint inIndex, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cCollectionElement_ident_5F_list * p = (cCollectionElement_ident_5F_list *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; + if (nullptr != p) { + macroValidSharedObject (p, cCollectionElement_ident_5F_list) ; + macroUniqueSharedObject (p) ; + p->mObject.mProperty_obj_5F_name = inOperand ; + } } -//-------------------------------------------------------------------------------------------------- -GALGAS_autostart_5F_false GALGAS_autostart_5F_false::class_func_new (const GALGAS_location & inAttribute_location - COMMA_LOCATION_ARGS) { - GALGAS_autostart_5F_false result ; - if (inAttribute_location.isValid ()) { - macroMyNew (result.mObjectPtr, cPtr_autostart_5F_false (inAttribute_location COMMA_THERE)) ; +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_lstring GALGAS_ident_5F_list::getter_obj_5F_nameAtIndex (const GALGAS_uint & inIndex, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; + cCollectionElement_ident_5F_list * p = (cCollectionElement_ident_5F_list *) attributes.ptr () ; + GALGAS_lstring result ; + if (nullptr != p) { + macroValidSharedObject (p, cCollectionElement_ident_5F_list) ; + result = p->mObject.mProperty_obj_5F_name ; } return result ; } -//-------------------------------------------------------------------------------------------------- -//Pointer class for @autostart_false class -//-------------------------------------------------------------------------------------------------- -cPtr_autostart_5F_false::cPtr_autostart_5F_false (const GALGAS_location & in_location - COMMA_LOCATION_ARGS) : -cPtr_autostart_5F_obj (in_location COMMA_THERE) { -} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * cPtr_autostart_5F_false::classDescriptor (void) const { - return & kTypeDescriptor_GALGAS_autostart_5F_false ; +cEnumerator_ident_5F_list::cEnumerator_ident_5F_list (const GALGAS_ident_5F_list & inEnumeratedObject, + const typeEnumerationOrder inOrder) : +cGenericAbstractEnumerator (inOrder) { + inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -void cPtr_autostart_5F_false::description (String & ioString, - const int32_t inIndentation) const { - ioString.appendCString ("[@autostart_false:") ; - mProperty_location.description (ioString, inIndentation+1) ; - ioString.appendCString ("]") ; +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_ident_5F_list_2D_element cEnumerator_ident_5F_list::current (LOCATION_ARGS) const { + const cCollectionElement_ident_5F_list * p = (const cCollectionElement_ident_5F_list *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cCollectionElement_ident_5F_list) ; + return p->mObject ; } -//-------------------------------------------------------------------------------------------------- -acPtr_class * cPtr_autostart_5F_false::duplicate (LOCATION_ARGS) const { - acPtr_class * ptr = nullptr ; - macroMyNew (ptr, cPtr_autostart_5F_false (mProperty_location COMMA_THERE)) ; - return ptr ; +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_lstring cEnumerator_ident_5F_list::current_obj_5F_name (LOCATION_ARGS) const { + const cCollectionElement_ident_5F_list * p = (const cCollectionElement_ident_5F_list *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cCollectionElement_ident_5F_list) ; + return p->mObject.mProperty_obj_5F_name ; } -//-------------------------------------------------------------------------------------------------- + + +//---------------------------------------------------------------------------------------------------------------------- // -// @autostart_false generic code implementation +// @ident_list generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_autostart_5F_false ("autostart_false", - & kTypeDescriptor_GALGAS_autostart_5F_obj) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_ident_5F_list ("ident_list", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_autostart_5F_false::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_autostart_5F_false ; +const C_galgas_type_descriptor * GALGAS_ident_5F_list::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_ident_5F_list ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_autostart_5F_false::clonedObject (void) const { +AC_GALGAS_root * GALGAS_ident_5F_list::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; if (isValid ()) { - macroMyNew (result, GALGAS_autostart_5F_false (*this)) ; + macroMyNew (result, GALGAS_ident_5F_list (*this)) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_autostart_5F_false GALGAS_autostart_5F_false::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_autostart_5F_false result ; - const GALGAS_autostart_5F_false * p = (const GALGAS_autostart_5F_false *) inObject.embeddedObject () ; +GALGAS_ident_5F_list GALGAS_ident_5F_list::extractObject (const GALGAS_object & inObject, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_ident_5F_list result ; + const GALGAS_ident_5F_list * p = (const GALGAS_ident_5F_list *) inObject.embeddedObject () ; if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { + if (nullptr != dynamic_cast (p)) { result = *p ; }else{ - inCompiler->castError ("autostart_false", p->dynamicTypeDescriptor () COMMA_THERE) ; + inCompiler->castError ("ident_list", p->dynamicTypeDescriptor () COMMA_THERE) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- -// -//Extension getter '@objectAttributes fieldMap' -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlData cPtr_objectAttributes::getter_fieldMap (Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) const { - GALGAS_gtlData result_result ; // Returned variable - result_result = GALGAS_gtlStruct::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 160)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 160)), GALGAS_gtlVarMap::class_func_emptyMap (SOURCE_FILE ("systemConfig.galgas", 160)) COMMA_SOURCE_FILE ("systemConfig.galgas", 160)) ; - cEnumerator_identifierMap enumerator_5172 (this->mProperty_objectParams, kENUMERATION_UP) ; - while (enumerator_5172.hasCurrentObject ()) { - callExtensionMethod_set ((cPtr_object_5F_t *) enumerator_5172.current_value (HERE).ptr (), enumerator_5172.current_lkey (HERE), result_result, inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 162)) ; - enumerator_5172.gotoNextObject () ; - } -//--- - return result_result ; +cMapElement_ident_5F_list_5F_map::cMapElement_ident_5F_list_5F_map (const GALGAS_lstring & inKey, + const GALGAS_ident_5F_list & in_objs + COMMA_LOCATION_ARGS) : +cMapElement (inKey COMMA_THERE), +mProperty_objs (in_objs) { } +//---------------------------------------------------------------------------------------------------------------------- +bool cMapElement_ident_5F_list_5F_map::isValid (void) const { + return mProperty_lkey.isValid () ; +} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_gtlData callExtensionGetter_fieldMap (const cPtr_objectAttributes * inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_gtlData result ; - if (nullptr != inObject) { - result = inObject->getter_fieldMap (inCompiler COMMA_THERE) ; - } - return result ; -} - -//-------------------------------------------------------------------------------------------------- -// -//Extension Getter '@string trimLeft' -// -//-------------------------------------------------------------------------------------------------- - -GALGAS_string extensionGetter_trimLeft (const GALGAS_string & inObject, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_result ; // Returned variable - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - const GALGAS_string temp_1 = inObject ; - test_0 = GALGAS_bool (kIsEqual, temp_1.getter_leftSubString (GALGAS_uint (uint32_t (1U)) COMMA_SOURCE_FILE ("systemConfig.galgas", 169)).objectCompare (GALGAS_string (" "))).boolEnum () ; - if (kBoolTrue == test_0) { - const GALGAS_string temp_2 = inObject ; - const GALGAS_string temp_3 = inObject ; - result_result = extensionGetter_trimLeft (temp_2.getter_rightSubString (temp_3.getter_count (SOURCE_FILE ("systemConfig.galgas", 170)).substract_operation (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 170)) COMMA_SOURCE_FILE ("systemConfig.galgas", 170)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 170)) ; - } - } - if (kBoolFalse == test_0) { - const GALGAS_string temp_4 = inObject ; - result_result = temp_4 ; - } -//--- - return result_result ; -} - - - - -//-------------------------------------------------------------------------------------------------- -// -//Extension Getter '@string trimRight' -// -//-------------------------------------------------------------------------------------------------- - -GALGAS_string extensionGetter_trimRight (const GALGAS_string & inObject, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_result ; // Returned variable - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - const GALGAS_string temp_1 = inObject ; - test_0 = GALGAS_bool (kIsEqual, temp_1.getter_rightSubString (GALGAS_uint (uint32_t (1U)) COMMA_SOURCE_FILE ("systemConfig.galgas", 179)).objectCompare (GALGAS_string (" "))).boolEnum () ; - if (kBoolTrue == test_0) { - const GALGAS_string temp_2 = inObject ; - const GALGAS_string temp_3 = inObject ; - result_result = extensionGetter_trimRight (temp_2.getter_leftSubString (temp_3.getter_count (SOURCE_FILE ("systemConfig.galgas", 180)).substract_operation (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 180)) COMMA_SOURCE_FILE ("systemConfig.galgas", 180)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 180)) ; - } - } - if (kBoolFalse == test_0) { - const GALGAS_string temp_4 = inObject ; - result_result = temp_4 ; - } -//--- - return result_result ; -} - - - - -//-------------------------------------------------------------------------------------------------- -// -//Extension method '@implementation verifyApplication' -// -//-------------------------------------------------------------------------------------------------- - -void cPtr_implementation::method_verifyApplication (const GALGAS_applicationDefinition constinArgument_appDef, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - cEnumerator_implementationMap enumerator_907 (this->mProperty_imp, kENUMERATION_UP) ; - while (enumerator_907.hasCurrentObject ()) { - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = constinArgument_appDef.readProperty_objects ().getter_hasKey (enumerator_907.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("semantic_verification.galgas", 35)).boolEnum () ; - if (kBoolTrue == test_0) { - GALGAS_objectKind var_obj_1005 ; - constinArgument_appDef.readProperty_objects ().method_get (enumerator_907.current_lkey (HERE), var_obj_1005, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 37)) ; - callExtensionMethod_verifyApplication ((cPtr_implementationObject *) enumerator_907.current_obj (HERE).ptr (), var_obj_1005, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 38)) ; - } - } - enumerator_907.gotoNextObject () ; - } -} - -//-------------------------------------------------------------------------------------------------- - -void callExtensionMethod_verifyApplication (cPtr_implementation * inObject, - const GALGAS_applicationDefinition constin_appDef, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - if (nullptr != inObject) { - macroValidSharedObject (inObject, cPtr_implementation) ; - inObject->method_verifyApplication (constin_appDef, inCompiler COMMA_THERE) ; - } -} -//-------------------------------------------------------------------------------------------------- - -cMapElement_objectsMap::cMapElement_objectsMap (const GALGAS_lstring & inKey, - const GALGAS_objectKind & in_objectsOfKind - COMMA_LOCATION_ARGS) : -cMapElement (inKey COMMA_THERE), -mProperty_objectsOfKind (in_objectsOfKind) { -} - -//-------------------------------------------------------------------------------------------------- - -bool cMapElement_objectsMap::isValid (void) const { - return mProperty_lkey.isValid () ; -} - -//-------------------------------------------------------------------------------------------------- - -cMapElement * cMapElement_objectsMap::copy (void) { +cMapElement * cMapElement_ident_5F_list_5F_map::copy (void) { cMapElement * result = nullptr ; - macroMyNew (result, cMapElement_objectsMap (mProperty_lkey, mProperty_objectsOfKind COMMA_HERE)) ; + macroMyNew (result, cMapElement_ident_5F_list_5F_map (mProperty_lkey, mProperty_objs COMMA_HERE)) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cMapElement_objectsMap::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("objectsOfKind" ":") ; - mProperty_objectsOfKind.description (ioString, inIndentation) ; +void cMapElement_ident_5F_list_5F_map::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "objs" ":" ; + mProperty_objs.description (ioString, inIndentation) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -typeComparisonResult cMapElement_objectsMap::compare (const cCollectionElement * inOperand) const { - cMapElement_objectsMap * operand = (cMapElement_objectsMap *) inOperand ; +typeComparisonResult cMapElement_ident_5F_list_5F_map::compare (const cCollectionElement * inOperand) const { + cMapElement_ident_5F_list_5F_map * operand = (cMapElement_ident_5F_list_5F_map *) inOperand ; typeComparisonResult result = mProperty_lkey.objectCompare (operand->mProperty_lkey) ; if (kOperandEqual == result) { - result = mProperty_objectsOfKind.objectCompare (operand->mProperty_objectsOfKind) ; + result = mProperty_objs.objectCompare (operand->mProperty_objs) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_objectsMap::GALGAS_objectsMap (void) : -AC_GALGAS_map () { +GALGAS_ident_5F_list_5F_map::GALGAS_ident_5F_list_5F_map (void) : +AC_GALGAS_map (true) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_objectsMap::GALGAS_objectsMap (const GALGAS_objectsMap & inSource) : +GALGAS_ident_5F_list_5F_map::GALGAS_ident_5F_list_5F_map (const GALGAS_ident_5F_list_5F_map & inSource) : AC_GALGAS_map (inSource) { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_objectsMap & GALGAS_objectsMap::operator = (const GALGAS_objectsMap & inSource) { +GALGAS_ident_5F_list_5F_map & GALGAS_ident_5F_list_5F_map::operator = (const GALGAS_ident_5F_list_5F_map & inSource) { * ((AC_GALGAS_map *) this) = inSource ; return * this ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_objectsMap GALGAS_objectsMap::class_func_emptyMap (LOCATION_ARGS) { - GALGAS_objectsMap result ; +GALGAS_ident_5F_list_5F_map GALGAS_ident_5F_list_5F_map::constructor_emptyMap (LOCATION_ARGS) { + GALGAS_ident_5F_list_5F_map result ; result.makeNewEmptyMap (THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_objectsMap GALGAS_objectsMap::class_func_mapWithMapToOverride (const GALGAS_objectsMap & inMapToOverride - COMMA_LOCATION_ARGS) { - GALGAS_objectsMap result ; +GALGAS_ident_5F_list_5F_map GALGAS_ident_5F_list_5F_map::constructor_mapWithMapToOverride (const GALGAS_ident_5F_list_5F_map & inMapToOverride + COMMA_LOCATION_ARGS) { + GALGAS_ident_5F_list_5F_map result ; result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_objectsMap GALGAS_objectsMap::getter_overriddenMap (Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_objectsMap result ; +GALGAS_ident_5F_list_5F_map GALGAS_ident_5F_list_5F_map::getter_overriddenMap (C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_ident_5F_list_5F_map result ; getOverridenMap (result, inCompiler COMMA_THERE) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_objectsMap::addAssign_operation (const GALGAS_lstring & inKey, - const GALGAS_objectKind & inArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cMapElement_objectsMap * p = nullptr ; - macroMyNew (p, cMapElement_objectsMap (inKey, inArgument0 COMMA_HERE)) ; +void GALGAS_ident_5F_list_5F_map::addAssign_operation (const GALGAS_lstring & inKey, + const GALGAS_ident_5F_list & inArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cMapElement_ident_5F_list_5F_map * p = nullptr ; + macroMyNew (p, cMapElement_ident_5F_list_5F_map (inKey, inArgument0 COMMA_HERE)) ; capCollectionElement attributes ; attributes.setPointer (p) ; macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "@objectsMap insert error: '%K' already in map" ; + const char * kInsertErrorMessage = "@ident_5F_list_5F_map insert error: '%K' already in map" ; const char * kShadowErrorMessage = "" ; performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_objectsMap GALGAS_objectsMap::add_operation (const GALGAS_objectsMap & inOperand, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_objectsMap result = *this ; - cEnumerator_objectsMap enumerator (inOperand, kENUMERATION_UP) ; +GALGAS_ident_5F_list_5F_map GALGAS_ident_5F_list_5F_map::add_operation (const GALGAS_ident_5F_list_5F_map & inOperand, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_ident_5F_list_5F_map result = *this ; + cEnumerator_ident_5F_list_5F_map enumerator (inOperand, kENUMERATION_UP) ; while (enumerator.hasCurrentObject ()) { - result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_objectsOfKind (HERE), inCompiler COMMA_THERE) ; + result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_objs (HERE), inCompiler COMMA_THERE) ; enumerator.gotoNextObject () ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_objectsMap::setter_put (GALGAS_lstring inKey, - GALGAS_objectKind inArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cMapElement_objectsMap * p = nullptr ; - macroMyNew (p, cMapElement_objectsMap (inKey, inArgument0 COMMA_HERE)) ; +void GALGAS_ident_5F_list_5F_map::setter_add (GALGAS_lstring inKey, + GALGAS_ident_5F_list inArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cMapElement_ident_5F_list_5F_map * p = nullptr ; + macroMyNew (p, cMapElement_ident_5F_list_5F_map (inKey, inArgument0 COMMA_HERE)) ; capCollectionElement attributes ; attributes.setPointer (p) ; macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "%K is duplicated in %L" ; + const char * kInsertErrorMessage = "Key %K is already used there" ; const char * kShadowErrorMessage = "" ; performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const char * kSearchErrorMessage_objectsMap_get = "%K does not exists" ; +const char * kSearchErrorMessage_ident_5F_list_5F_map_get = "Key %K is not there" ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_objectsMap::method_get (GALGAS_lstring inKey, - GALGAS_objectKind & outArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - const cMapElement_objectsMap * p = (const cMapElement_objectsMap *) performSearch (inKey, - inCompiler, - kSearchErrorMessage_objectsMap_get - COMMA_THERE) ; +void GALGAS_ident_5F_list_5F_map::method_get (GALGAS_lstring inKey, + GALGAS_ident_5F_list & outArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + const cMapElement_ident_5F_list_5F_map * p = (const cMapElement_ident_5F_list_5F_map *) performSearch (inKey, + inCompiler, + kSearchErrorMessage_ident_5F_list_5F_map_get + COMMA_THERE) ; if (nullptr == p) { outArgument0.drop () ; }else{ - macroValidSharedObject (p, cMapElement_objectsMap) ; - outArgument0 = p->mProperty_objectsOfKind ; + macroValidSharedObject (p, cMapElement_ident_5F_list_5F_map) ; + outArgument0 = p->mProperty_objs ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_objectsMap::setter_del (GALGAS_lstring inKey, - GALGAS_objectKind & outArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - const char * kRemoveErrorMessage = "%K does not exists" ; +void GALGAS_ident_5F_list_5F_map::setter_delete (GALGAS_lstring inKey, + GALGAS_ident_5F_list & outArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + const char * kRemoveErrorMessage = "Key %K cannot be deleted" ; capCollectionElement attributes ; performRemove (inKey, attributes, inCompiler, kRemoveErrorMessage COMMA_THERE) ; - cMapElement_objectsMap * p = (cMapElement_objectsMap *) attributes.ptr () ; + cMapElement_ident_5F_list_5F_map * p = (cMapElement_ident_5F_list_5F_map *) attributes.ptr () ; if (nullptr == p) { outArgument0.drop () ; }else{ - macroValidSharedObject (p, cMapElement_objectsMap) ; - outArgument0 = p->mProperty_objectsOfKind ; + macroValidSharedObject (p, cMapElement_ident_5F_list_5F_map) ; + outArgument0 = p->mProperty_objs ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_objectKind GALGAS_objectsMap::getter_objectsOfKindForKey (const GALGAS_string & inKey, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { +GALGAS_ident_5F_list GALGAS_ident_5F_list_5F_map::getter_objsForKey (const GALGAS_string & inKey, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; - const cMapElement_objectsMap * p = (const cMapElement_objectsMap *) attributes ; - GALGAS_objectKind result ; + const cMapElement_ident_5F_list_5F_map * p = (const cMapElement_ident_5F_list_5F_map *) attributes ; + GALGAS_ident_5F_list result ; if (nullptr != p) { - macroValidSharedObject (p, cMapElement_objectsMap) ; - result = p->mProperty_objectsOfKind ; + macroValidSharedObject (p, cMapElement_ident_5F_list_5F_map) ; + result = p->mProperty_objs ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_objectsMap::setter_setObjectsOfKindForKey (GALGAS_objectKind inAttributeValue, - GALGAS_string inKey, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { +void GALGAS_ident_5F_list_5F_map::setter_setObjsForKey (GALGAS_ident_5F_list inAttributeValue, + GALGAS_string inKey, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; - cMapElement_objectsMap * p = (cMapElement_objectsMap *) attributes ; + cMapElement_ident_5F_list_5F_map * p = (cMapElement_ident_5F_list_5F_map *) attributes ; if (nullptr != p) { - macroValidSharedObject (p, cMapElement_objectsMap) ; - p->mProperty_objectsOfKind = inAttributeValue ; + macroValidSharedObject (p, cMapElement_ident_5F_list_5F_map) ; + p->mProperty_objs = inAttributeValue ; } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement_objectsMap * GALGAS_objectsMap::readWriteAccessForWithInstruction (Compiler * inCompiler, - const GALGAS_string & inKey - COMMA_LOCATION_ARGS) { - cMapElement_objectsMap * result = (cMapElement_objectsMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; - macroNullOrValidSharedObject (result, cMapElement_objectsMap) ; +cMapElement_ident_5F_list_5F_map * GALGAS_ident_5F_list_5F_map::readWriteAccessForWithInstruction (C_Compiler * inCompiler, + const GALGAS_string & inKey + COMMA_LOCATION_ARGS) { + cMapElement_ident_5F_list_5F_map * result = (cMapElement_ident_5F_list_5F_map *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; + macroNullOrValidSharedObject (result, cMapElement_ident_5F_list_5F_map) ; return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cEnumerator_objectsMap::cEnumerator_objectsMap (const GALGAS_objectsMap & inEnumeratedObject, - const typeEnumerationOrder inOrder) : +cEnumerator_ident_5F_list_5F_map::cEnumerator_ident_5F_list_5F_map (const GALGAS_ident_5F_list_5F_map & inEnumeratedObject, + const typeEnumerationOrder inOrder) : cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_objectsMap_2D_element cEnumerator_objectsMap::current (LOCATION_ARGS) const { - const cMapElement_objectsMap * p = (const cMapElement_objectsMap *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement_objectsMap) ; - return GALGAS_objectsMap_2D_element (p->mProperty_lkey, p->mProperty_objectsOfKind) ; +GALGAS_ident_5F_list_5F_map_2D_element cEnumerator_ident_5F_list_5F_map::current (LOCATION_ARGS) const { + const cMapElement_ident_5F_list_5F_map * p = (const cMapElement_ident_5F_list_5F_map *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement_ident_5F_list_5F_map) ; + return GALGAS_ident_5F_list_5F_map_2D_element (p->mProperty_lkey, p->mProperty_objs) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring cEnumerator_objectsMap::current_lkey (LOCATION_ARGS) const { +GALGAS_lstring cEnumerator_ident_5F_list_5F_map::current_lkey (LOCATION_ARGS) const { const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; macroValidSharedObject (p, cMapElement) ; return p->mProperty_lkey ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_objectKind cEnumerator_objectsMap::current_objectsOfKind (LOCATION_ARGS) const { - const cMapElement_objectsMap * p = (const cMapElement_objectsMap *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement_objectsMap) ; - return p->mProperty_objectsOfKind ; +GALGAS_ident_5F_list cEnumerator_ident_5F_list_5F_map::current_objs (LOCATION_ARGS) const { + const cMapElement_ident_5F_list_5F_map * p = (const cMapElement_ident_5F_list_5F_map *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement_ident_5F_list_5F_map) ; + return p->mProperty_objs ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool GALGAS_objectsMap::optional_searchKey (const GALGAS_string & inKey, - GALGAS_objectKind & outArgument0) const { - const cMapElement_objectsMap * p = (const cMapElement_objectsMap *) searchForKey (inKey) ; +bool GALGAS_ident_5F_list_5F_map::optional_searchKey (const GALGAS_string & inKey, + GALGAS_ident_5F_list & outArgument0) const { + const cMapElement_ident_5F_list_5F_map * p = (const cMapElement_ident_5F_list_5F_map *) searchForKey (inKey) ; const bool result = nullptr != p ; if (result) { - macroValidSharedObject (p, cMapElement_objectsMap) ; - outArgument0 = p->mProperty_objectsOfKind ; + macroValidSharedObject (p, cMapElement_ident_5F_list_5F_map) ; + outArgument0 = p->mProperty_objs ; }else{ outArgument0.drop () ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- // -// @objectsMap generic code implementation +// @ident_list_map generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_objectsMap ("objectsMap", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_ident_5F_list_5F_map ("ident_list_map", + nullptr) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_objectsMap::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_objectsMap ; +const C_galgas_type_descriptor * GALGAS_ident_5F_list_5F_map::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_ident_5F_list_5F_map ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_objectsMap::clonedObject (void) const { +AC_GALGAS_root * GALGAS_ident_5F_list_5F_map::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; if (isValid ()) { - macroMyNew (result, GALGAS_objectsMap (*this)) ; + macroMyNew (result, GALGAS_ident_5F_list_5F_map (*this)) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_objectsMap GALGAS_objectsMap::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_objectsMap result ; - const GALGAS_objectsMap * p = (const GALGAS_objectsMap *) inObject.embeddedObject () ; +GALGAS_ident_5F_list_5F_map GALGAS_ident_5F_list_5F_map::extractObject (const GALGAS_object & inObject, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_ident_5F_list_5F_map result ; + const GALGAS_ident_5F_list_5F_map * p = (const GALGAS_ident_5F_list_5F_map *) inObject.embeddedObject () ; if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { + if (nullptr != dynamic_cast (p)) { result = *p ; }else{ - inCompiler->castError ("objectsMap", p->dynamicTypeDescriptor () COMMA_THERE) ; + inCompiler->castError ("ident_list_map", p->dynamicTypeDescriptor () COMMA_THERE) ; } } return result ; } -//-------------------------------------------------------------------------------------------------- -// -//Extension method '@objectAttributes verifyCrossReferences' -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// Object comparison +//---------------------------------------------------------------------------------------------------------------------- -void cPtr_objectAttributes::method_verifyCrossReferences (const GALGAS_objectsMap constinArgument_allObjects, - const GALGAS_implementationObjectMap constinArgument_attributes, - Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - cEnumerator_identifierMap enumerator_18641 (this->mProperty_objectParams, kENUMERATION_UP) ; - while (enumerator_18641.hasCurrentObject ()) { - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = constinArgument_attributes.getter_hasKey (enumerator_18641.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("semantic_verification.galgas", 599)).boolEnum () ; - if (kBoolTrue == test_0) { - GALGAS_impType var_type_18752 ; - constinArgument_attributes.method_get (enumerator_18641.current_lkey (HERE), var_type_18752, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 600)) ; - callExtensionMethod_verifyCrossReferences ((cPtr_object_5F_t *) enumerator_18641.current_value (HERE).ptr (), constinArgument_allObjects, var_type_18752, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 601)) ; - } - } - enumerator_18641.gotoNextObject () ; - } -} -//-------------------------------------------------------------------------------------------------- -void callExtensionMethod_verifyCrossReferences (cPtr_objectAttributes * inObject, - const GALGAS_objectsMap constin_allObjects, - const GALGAS_implementationObjectMap constin_attributes, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - if (nullptr != inObject) { - macroValidSharedObject (inObject, cPtr_objectAttributes) ; - inObject->method_verifyCrossReferences (constin_allObjects, constin_attributes, inCompiler COMMA_THERE) ; +typeComparisonResult GALGAS_autostart_5F_obj::objectCompare (const GALGAS_autostart_5F_obj & inOperand) const { + typeComparisonResult result = kOperandNotValid ; + if (isValid () && inOperand.isValid ()) { + const int32_t mySlot = mObjectPtr->classDescriptor ()->mSlotID ; + const int32_t operandSlot = inOperand.mObjectPtr->classDescriptor ()->mSlotID ; + if (mySlot < operandSlot) { + result = kFirstOperandLowerThanSecond ; + }else if (mySlot > operandSlot) { + result = kFirstOperandGreaterThanSecond ; + }else{ + result = mObjectPtr->dynamicObjectCompare (inOperand.mObjectPtr) ; + } } + return result ; } -//-------------------------------------------------------------------------------------------------- -cMapElement_objectKindMap::cMapElement_objectKindMap (const GALGAS_lstring & inKey, - const GALGAS_objectAttributes & in_attributes - COMMA_LOCATION_ARGS) : -cMapElement (inKey COMMA_THERE), -mProperty_attributes (in_attributes) { +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_autostart_5F_obj::GALGAS_autostart_5F_obj (void) : +AC_GALGAS_value_class () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool cMapElement_objectKindMap::isValid (void) const { - return mProperty_lkey.isValid () ; +GALGAS_autostart_5F_obj::GALGAS_autostart_5F_obj (const cPtr_autostart_5F_obj * inSourcePtr) : +AC_GALGAS_value_class (inSourcePtr) { + macroNullOrValidSharedObject (inSourcePtr, cPtr_autostart_5F_obj) ; } +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- - -cMapElement * cMapElement_objectKindMap::copy (void) { - cMapElement * result = nullptr ; - macroMyNew (result, cMapElement_objectKindMap (mProperty_lkey, mProperty_attributes COMMA_HERE)) ; - return result ; +GALGAS_location GALGAS_autostart_5F_obj::readProperty_location (void) const { + if (nullptr == mObjectPtr) { + return GALGAS_location () ; + }else{ + const cPtr_autostart_5F_obj * p = (const cPtr_autostart_5F_obj *) mObjectPtr ; + macroValidSharedObject (p, cPtr_autostart_5F_obj) ; + return p->mProperty_location ; + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void cMapElement_objectKindMap::description (String & ioString, const int32_t inIndentation) const { - ioString.appendNewLine () ; - ioString.appendStringMultiple ("| ", inIndentation) ; - ioString.appendCString ("attributes" ":") ; - mProperty_attributes.description (ioString, inIndentation) ; +GALGAS_location cPtr_autostart_5F_obj::getter_location (UNUSED_LOCATION_ARGS) const { + return mProperty_location ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -typeComparisonResult cMapElement_objectKindMap::compare (const cCollectionElement * inOperand) const { - cMapElement_objectKindMap * operand = (cMapElement_objectKindMap *) inOperand ; - typeComparisonResult result = mProperty_lkey.objectCompare (operand->mProperty_lkey) ; - if (kOperandEqual == result) { - result = mProperty_attributes.objectCompare (operand->mProperty_attributes) ; +void GALGAS_autostart_5F_obj::setter_setLocation (GALGAS_location inValue + COMMA_LOCATION_ARGS) { + if (nullptr != mObjectPtr) { + insulate (THERE) ; + cPtr_autostart_5F_obj * p = (cPtr_autostart_5F_obj *) mObjectPtr ; + macroValidSharedObject (p, cPtr_autostart_5F_obj) ; + p->mProperty_location = inValue ; } - return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_objectKindMap::GALGAS_objectKindMap (void) : -AC_GALGAS_map () { +void cPtr_autostart_5F_obj::setter_setLocation (GALGAS_location inValue + COMMA_UNUSED_LOCATION_ARGS) { + mProperty_location = inValue ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +//Pointer class for @autostart_obj class +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_objectKindMap::GALGAS_objectKindMap (const GALGAS_objectKindMap & inSource) : -AC_GALGAS_map (inSource) { +cPtr_autostart_5F_obj::cPtr_autostart_5F_obj (const GALGAS_location & in_location + COMMA_LOCATION_ARGS) : +acPtr_class (THERE), +mProperty_location (in_location) { } -//-------------------------------------------------------------------------------------------------- -GALGAS_objectKindMap & GALGAS_objectKindMap::operator = (const GALGAS_objectKindMap & inSource) { - * ((AC_GALGAS_map *) this) = inSource ; - return * this ; -} +//---------------------------------------------------------------------------------------------------------------------- +// +// @autostart_obj generic code implementation +// +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_autostart_5F_obj ("autostart_obj", + nullptr) ; -GALGAS_objectKindMap GALGAS_objectKindMap::class_func_emptyMap (LOCATION_ARGS) { - GALGAS_objectKindMap result ; - result.makeNewEmptyMap (THERE) ; - return result ; +//---------------------------------------------------------------------------------------------------------------------- + +const C_galgas_type_descriptor * GALGAS_autostart_5F_obj::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_autostart_5F_obj ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_objectKindMap GALGAS_objectKindMap::class_func_mapWithMapToOverride (const GALGAS_objectKindMap & inMapToOverride - COMMA_LOCATION_ARGS) { - GALGAS_objectKindMap result ; - result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; +AC_GALGAS_root * GALGAS_autostart_5F_obj::clonedObject (void) const { + AC_GALGAS_root * result = nullptr ; + if (isValid ()) { + macroMyNew (result, GALGAS_autostart_5F_obj (*this)) ; + } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_objectKindMap GALGAS_objectKindMap::getter_overriddenMap (Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_objectKindMap result ; - getOverridenMap (result, inCompiler COMMA_THERE) ; +GALGAS_autostart_5F_obj GALGAS_autostart_5F_obj::extractObject (const GALGAS_object & inObject, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_autostart_5F_obj result ; + const GALGAS_autostart_5F_obj * p = (const GALGAS_autostart_5F_obj *) inObject.embeddedObject () ; + if (nullptr != p) { + if (nullptr != dynamic_cast (p)) { + result = *p ; + }else{ + inCompiler->castError ("autostart_obj", p->dynamicTypeDescriptor () COMMA_THERE) ; + } + } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// Object comparison +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_objectKindMap::addAssign_operation (const GALGAS_lstring & inKey, - const GALGAS_objectAttributes & inArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cMapElement_objectKindMap * p = nullptr ; - macroMyNew (p, cMapElement_objectKindMap (inKey, inArgument0 COMMA_HERE)) ; - capCollectionElement attributes ; - attributes.setPointer (p) ; - macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "@objectKindMap insert error: '%K' already in map" ; - const char * kShadowErrorMessage = "" ; - performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; +typeComparisonResult cPtr_autostart_5F_void::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { + typeComparisonResult result = kOperandEqual ; + const cPtr_autostart_5F_void * p = (const cPtr_autostart_5F_void *) inOperandPtr ; + macroValidSharedObject (p, cPtr_autostart_5F_void) ; + if (kOperandEqual == result) { + result = mProperty_location.objectCompare (p->mProperty_location) ; + } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_objectKindMap GALGAS_objectKindMap::add_operation (const GALGAS_objectKindMap & inOperand, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_objectKindMap result = *this ; - cEnumerator_objectKindMap enumerator (inOperand, kENUMERATION_UP) ; - while (enumerator.hasCurrentObject ()) { - result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_attributes (HERE), inCompiler COMMA_THERE) ; - enumerator.gotoNextObject () ; + +typeComparisonResult GALGAS_autostart_5F_void::objectCompare (const GALGAS_autostart_5F_void & inOperand) const { + typeComparisonResult result = kOperandNotValid ; + if (isValid () && inOperand.isValid ()) { + const int32_t mySlot = mObjectPtr->classDescriptor ()->mSlotID ; + const int32_t operandSlot = inOperand.mObjectPtr->classDescriptor ()->mSlotID ; + if (mySlot < operandSlot) { + result = kFirstOperandLowerThanSecond ; + }else if (mySlot > operandSlot) { + result = kFirstOperandGreaterThanSecond ; + }else{ + result = mObjectPtr->dynamicObjectCompare (inOperand.mObjectPtr) ; + } } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_objectKindMap::setter_put (GALGAS_lstring inKey, - GALGAS_objectAttributes inArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cMapElement_objectKindMap * p = nullptr ; - macroMyNew (p, cMapElement_objectKindMap (inKey, inArgument0 COMMA_HERE)) ; - capCollectionElement attributes ; - attributes.setPointer (p) ; - macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "%K is duplicated in %L" ; - const char * kShadowErrorMessage = "" ; - performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; +GALGAS_autostart_5F_void::GALGAS_autostart_5F_void (void) : +GALGAS_autostart_5F_obj () { } -//-------------------------------------------------------------------------------------------------- - -const char * kSearchErrorMessage_objectKindMap_get = "%K does not exists" ; - -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_objectKindMap::method_get (GALGAS_lstring inKey, - GALGAS_objectAttributes & outArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - const cMapElement_objectKindMap * p = (const cMapElement_objectKindMap *) performSearch (inKey, - inCompiler, - kSearchErrorMessage_objectKindMap_get - COMMA_THERE) ; - if (nullptr == p) { - outArgument0.drop () ; - }else{ - macroValidSharedObject (p, cMapElement_objectKindMap) ; - outArgument0 = p->mProperty_attributes ; - } +GALGAS_autostart_5F_void GALGAS_autostart_5F_void::constructor_default (LOCATION_ARGS) { + return GALGAS_autostart_5F_void::constructor_new (GALGAS_location::constructor_nowhere (HERE) + COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_objectKindMap::setter_del (GALGAS_lstring inKey, - GALGAS_objectAttributes & outArgument0, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - const char * kRemoveErrorMessage = "%K does not exists" ; - capCollectionElement attributes ; - performRemove (inKey, attributes, inCompiler, kRemoveErrorMessage COMMA_THERE) ; - cMapElement_objectKindMap * p = (cMapElement_objectKindMap *) attributes.ptr () ; - if (nullptr == p) { - outArgument0.drop () ; - }else{ - macroValidSharedObject (p, cMapElement_objectKindMap) ; - outArgument0 = p->mProperty_attributes ; - } +GALGAS_autostart_5F_void::GALGAS_autostart_5F_void (const cPtr_autostart_5F_void * inSourcePtr) : +GALGAS_autostart_5F_obj (inSourcePtr) { + macroNullOrValidSharedObject (inSourcePtr, cPtr_autostart_5F_void) ; } +//---------------------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------- - -GALGAS_objectAttributes GALGAS_objectKindMap::getter_attributesForKey (const GALGAS_string & inKey, - Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; - const cMapElement_objectKindMap * p = (const cMapElement_objectKindMap *) attributes ; - GALGAS_objectAttributes result ; - if (nullptr != p) { - macroValidSharedObject (p, cMapElement_objectKindMap) ; - result = p->mProperty_attributes ; +GALGAS_autostart_5F_void GALGAS_autostart_5F_void::constructor_new (const GALGAS_location & inAttribute_location + COMMA_LOCATION_ARGS) { + GALGAS_autostart_5F_void result ; + if (inAttribute_location.isValid ()) { + macroMyNew (result.mObjectPtr, cPtr_autostart_5F_void (inAttribute_location COMMA_THERE)) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +//Pointer class for @autostart_void class +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_objectKindMap::setter_setAttributesForKey (GALGAS_objectAttributes inAttributeValue, - GALGAS_string inKey, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; - cMapElement_objectKindMap * p = (cMapElement_objectKindMap *) attributes ; - if (nullptr != p) { - macroValidSharedObject (p, cMapElement_objectKindMap) ; - p->mProperty_attributes = inAttributeValue ; +cPtr_autostart_5F_void::cPtr_autostart_5F_void (const GALGAS_location & in_location + COMMA_LOCATION_ARGS) : +cPtr_autostart_5F_obj (in_location COMMA_THERE) { +} + +//---------------------------------------------------------------------------------------------------------------------- + +const C_galgas_type_descriptor * cPtr_autostart_5F_void::classDescriptor (void) const { + return & kTypeDescriptor_GALGAS_autostart_5F_void ; +} + +void cPtr_autostart_5F_void::description (C_String & ioString, + const int32_t inIndentation) const { + ioString << "[@autostart_void:" ; + mProperty_location.description (ioString, inIndentation+1) ; + ioString << "]" ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +acPtr_class * cPtr_autostart_5F_void::duplicate (LOCATION_ARGS) const { + acPtr_class * ptr = nullptr ; + macroMyNew (ptr, cPtr_autostart_5F_void (mProperty_location COMMA_THERE)) ; + return ptr ; +} + + +//---------------------------------------------------------------------------------------------------------------------- +// +// @autostart_void generic code implementation +// +//---------------------------------------------------------------------------------------------------------------------- + +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_autostart_5F_void ("autostart_void", + & kTypeDescriptor_GALGAS_autostart_5F_obj) ; + +//---------------------------------------------------------------------------------------------------------------------- + +const C_galgas_type_descriptor * GALGAS_autostart_5F_void::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_autostart_5F_void ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +AC_GALGAS_root * GALGAS_autostart_5F_void::clonedObject (void) const { + AC_GALGAS_root * result = nullptr ; + if (isValid ()) { + macroMyNew (result, GALGAS_autostart_5F_void (*this)) ; } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -cMapElement_objectKindMap * GALGAS_objectKindMap::readWriteAccessForWithInstruction (Compiler * inCompiler, - const GALGAS_string & inKey - COMMA_LOCATION_ARGS) { - cMapElement_objectKindMap * result = (cMapElement_objectKindMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; - macroNullOrValidSharedObject (result, cMapElement_objectKindMap) ; +GALGAS_autostart_5F_void GALGAS_autostart_5F_void::extractObject (const GALGAS_object & inObject, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_autostart_5F_void result ; + const GALGAS_autostart_5F_void * p = (const GALGAS_autostart_5F_void *) inObject.embeddedObject () ; + if (nullptr != p) { + if (nullptr != dynamic_cast (p)) { + result = *p ; + }else{ + inCompiler->castError ("autostart_void", p->dynamicTypeDescriptor () COMMA_THERE) ; + } + } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +// Object comparison +//---------------------------------------------------------------------------------------------------------------------- -cEnumerator_objectKindMap::cEnumerator_objectKindMap (const GALGAS_objectKindMap & inEnumeratedObject, - const typeEnumerationOrder inOrder) : -cGenericAbstractEnumerator (inOrder) { - inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; +typeComparisonResult cPtr_autostart_5F_false::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { + typeComparisonResult result = kOperandEqual ; + const cPtr_autostart_5F_false * p = (const cPtr_autostart_5F_false *) inOperandPtr ; + macroValidSharedObject (p, cPtr_autostart_5F_false) ; + if (kOperandEqual == result) { + result = mProperty_location.objectCompare (p->mProperty_location) ; + } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_objectKindMap_2D_element cEnumerator_objectKindMap::current (LOCATION_ARGS) const { - const cMapElement_objectKindMap * p = (const cMapElement_objectKindMap *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement_objectKindMap) ; - return GALGAS_objectKindMap_2D_element (p->mProperty_lkey, p->mProperty_attributes) ; + +typeComparisonResult GALGAS_autostart_5F_false::objectCompare (const GALGAS_autostart_5F_false & inOperand) const { + typeComparisonResult result = kOperandNotValid ; + if (isValid () && inOperand.isValid ()) { + const int32_t mySlot = mObjectPtr->classDescriptor ()->mSlotID ; + const int32_t operandSlot = inOperand.mObjectPtr->classDescriptor ()->mSlotID ; + if (mySlot < operandSlot) { + result = kFirstOperandLowerThanSecond ; + }else if (mySlot > operandSlot) { + result = kFirstOperandGreaterThanSecond ; + }else{ + result = mObjectPtr->dynamicObjectCompare (inOperand.mObjectPtr) ; + } + } + return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring cEnumerator_objectKindMap::current_lkey (LOCATION_ARGS) const { - const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement) ; - return p->mProperty_lkey ; +GALGAS_autostart_5F_false::GALGAS_autostart_5F_false (void) : +GALGAS_autostart_5F_obj () { } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_objectAttributes cEnumerator_objectKindMap::current_attributes (LOCATION_ARGS) const { - const cMapElement_objectKindMap * p = (const cMapElement_objectKindMap *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement_objectKindMap) ; - return p->mProperty_attributes ; +GALGAS_autostart_5F_false GALGAS_autostart_5F_false::constructor_default (LOCATION_ARGS) { + return GALGAS_autostart_5F_false::constructor_new (GALGAS_location::constructor_nowhere (HERE) + COMMA_THERE) ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -bool GALGAS_objectKindMap::optional_searchKey (const GALGAS_string & inKey, - GALGAS_objectAttributes & outArgument0) const { - const cMapElement_objectKindMap * p = (const cMapElement_objectKindMap *) searchForKey (inKey) ; - const bool result = nullptr != p ; - if (result) { - macroValidSharedObject (p, cMapElement_objectKindMap) ; - outArgument0 = p->mProperty_attributes ; - }else{ - outArgument0.drop () ; +GALGAS_autostart_5F_false::GALGAS_autostart_5F_false (const cPtr_autostart_5F_false * inSourcePtr) : +GALGAS_autostart_5F_obj (inSourcePtr) { + macroNullOrValidSharedObject (inSourcePtr, cPtr_autostart_5F_false) ; +} +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_autostart_5F_false GALGAS_autostart_5F_false::constructor_new (const GALGAS_location & inAttribute_location + COMMA_LOCATION_ARGS) { + GALGAS_autostart_5F_false result ; + if (inAttribute_location.isValid ()) { + macroMyNew (result.mObjectPtr, cPtr_autostart_5F_false (inAttribute_location COMMA_THERE)) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- +//Pointer class for @autostart_false class +//---------------------------------------------------------------------------------------------------------------------- + +cPtr_autostart_5F_false::cPtr_autostart_5F_false (const GALGAS_location & in_location + COMMA_LOCATION_ARGS) : +cPtr_autostart_5F_obj (in_location COMMA_THERE) { +} + +//---------------------------------------------------------------------------------------------------------------------- + +const C_galgas_type_descriptor * cPtr_autostart_5F_false::classDescriptor (void) const { + return & kTypeDescriptor_GALGAS_autostart_5F_false ; +} + +void cPtr_autostart_5F_false::description (C_String & ioString, + const int32_t inIndentation) const { + ioString << "[@autostart_false:" ; + mProperty_location.description (ioString, inIndentation+1) ; + ioString << "]" ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +acPtr_class * cPtr_autostart_5F_false::duplicate (LOCATION_ARGS) const { + acPtr_class * ptr = nullptr ; + macroMyNew (ptr, cPtr_autostart_5F_false (mProperty_location COMMA_THERE)) ; + return ptr ; +} + + +//---------------------------------------------------------------------------------------------------------------------- // -// @objectKindMap generic code implementation +// @autostart_false generic code implementation // -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor kTypeDescriptor_GALGAS_objectKindMap ("objectKindMap", - nullptr) ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_autostart_5F_false ("autostart_false", + & kTypeDescriptor_GALGAS_autostart_5F_obj) ; -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_objectKindMap::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_objectKindMap ; +const C_galgas_type_descriptor * GALGAS_autostart_5F_false::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_autostart_5F_false ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_objectKindMap::clonedObject (void) const { +AC_GALGAS_root * GALGAS_autostart_5F_false::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; if (isValid ()) { - macroMyNew (result, GALGAS_objectKindMap (*this)) ; + macroMyNew (result, GALGAS_autostart_5F_false (*this)) ; } return result ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_objectKindMap GALGAS_objectKindMap::extractObject (const GALGAS_object & inObject, - Compiler * inCompiler - COMMA_LOCATION_ARGS) { - GALGAS_objectKindMap result ; - const GALGAS_objectKindMap * p = (const GALGAS_objectKindMap *) inObject.embeddedObject () ; +GALGAS_autostart_5F_false GALGAS_autostart_5F_false::extractObject (const GALGAS_object & inObject, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_autostart_5F_false result ; + const GALGAS_autostart_5F_false * p = (const GALGAS_autostart_5F_false *) inObject.embeddedObject () ; if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { + if (nullptr != dynamic_cast (p)) { result = *p ; }else{ - inCompiler->castError ("objectKindMap", p->dynamicTypeDescriptor () COMMA_THERE) ; + inCompiler->castError ("autostart_false", p->dynamicTypeDescriptor () COMMA_THERE) ; } } return result ; } +//---------------------------------------------------------------------------------------------------------------------- +// +//Extension getter '@objectAttributes fieldMap' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_gtlData cPtr_objectAttributes::getter_fieldMap (C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_gtlData result_result ; // Returned variable + result_result = GALGAS_gtlStruct::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 160)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 160)), GALGAS_gtlVarMap::constructor_emptyMap (SOURCE_FILE ("systemConfig.galgas", 160)) COMMA_SOURCE_FILE ("systemConfig.galgas", 160)) ; + cEnumerator_identifierMap enumerator_5172 (this->mProperty_objectParams, kENUMERATION_UP) ; + while (enumerator_5172.hasCurrentObject ()) { + callExtensionMethod_set ((cPtr_object_5F_t *) enumerator_5172.current_value (HERE).ptr (), enumerator_5172.current_lkey (HERE), result_result, inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 162)) ; + enumerator_5172.gotoNextObject () ; + } +//--- + return result_result ; +} + -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_start_i0_ (Lexique_goil_5F_lexique * inCompiler) { - GALGAS_implementation var_imp_953 = GALGAS_implementation::class_func_new (GALGAS_implementationMap::class_func_emptyMap (SOURCE_FILE ("goil_syntax.galgas", 39)) COMMA_SOURCE_FILE ("goil_syntax.galgas", 39)) ; - GALGAS_applicationDefinition var_application_1039 = function_emptyApplicationDefinition (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 40)) ; - GALGAS_string var_fileIncludeList_1093 = GALGAS_string::makeEmptyString () ; - GALGAS_lstring var_version_1176 ; - GALGAS_lstring var_desc_1199 ; - nt_OIL_5F_version_ (var_version_1176, var_desc_1199, inCompiler) ; - { - var_application_1039.setter_setVersion (var_version_1176 COMMA_SOURCE_FILE ("goil_syntax.galgas", 48)) ; +GALGAS_gtlData callExtensionGetter_fieldMap (const cPtr_objectAttributes * inObject, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_gtlData result ; + if (nullptr != inObject) { + result = inObject->getter_fieldMap (inCompiler COMMA_THERE) ; } - { - var_application_1039.setter_setVersionDescription (var_desc_1199 COMMA_SOURCE_FILE ("goil_syntax.galgas", 49)) ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- +// +//Extension Getter '@string trimLeft' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string extensionGetter_trimLeft (const GALGAS_string & inObject, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_result ; // Returned variable + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + const GALGAS_string temp_1 = inObject ; + test_0 = GALGAS_bool (kIsEqual, temp_1.getter_leftSubString (GALGAS_uint (uint32_t (1U)) COMMA_SOURCE_FILE ("systemConfig.galgas", 169)).objectCompare (GALGAS_string (" "))).boolEnum () ; + if (kBoolTrue == test_0) { + const GALGAS_string temp_2 = inObject ; + const GALGAS_string temp_3 = inObject ; + result_result = extensionGetter_trimLeft (temp_2.getter_rightSubString (temp_3.getter_count (SOURCE_FILE ("systemConfig.galgas", 170)).substract_operation (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 170)) COMMA_SOURCE_FILE ("systemConfig.galgas", 170)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 170)) ; + } } - GALGAS_string var_config_5F_file_5F_name_1336 = GALGAS_string (gOption_goil_5F_options_config.readProperty_value ()) ; - GALGAS_stringlist var_configFiles_1447 = function_allTemplateFilePaths (GALGAS_string ("config"), var_config_5F_file_5F_name_1336.add_operation (GALGAS_string (".oil"), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 56)), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 56)) ; - cEnumerator_stringlist enumerator_1657 (var_configFiles_1447, kENUMERATION_DOWN) ; - while (enumerator_1657.hasCurrentObject ()) { - cGrammar_goil_5F_file_5F_level_5F_include::_performSourceFileParsing_ (inCompiler, function_lstringWith (enumerator_1657.current_mValue (HERE), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 63)), var_imp_953, var_application_1039, var_fileIncludeList_1093, GALGAS_bool (false) COMMA_SOURCE_FILE ("goil_syntax.galgas", 63)) ; - enumerator_1657.gotoNextObject () ; + if (kBoolFalse == test_0) { + const GALGAS_string temp_4 = inObject ; + result_result = temp_4 ; } - GALGAS_stringlist var_configVersionFiles_2033 = function_allTemplateFilePaths (GALGAS_string ("config"), var_config_5F_file_5F_name_1336.add_operation (var_version_1176.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 74)).add_operation (GALGAS_string (".oil"), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 74)), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 72)) ; +//--- + return result_result ; +} + + + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Extension Getter '@string trimRight' +// +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_string extensionGetter_trimRight (const GALGAS_string & inObject, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_result ; // Returned variable enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsEqual, var_configVersionFiles_2033.getter_count (SOURCE_FILE ("goil_syntax.galgas", 76)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + const GALGAS_string temp_1 = inObject ; + test_0 = GALGAS_bool (kIsEqual, temp_1.getter_rightSubString (GALGAS_uint (uint32_t (1U)) COMMA_SOURCE_FILE ("systemConfig.galgas", 179)).objectCompare (GALGAS_string (" "))).boolEnum () ; if (kBoolTrue == test_0) { - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 77)), GALGAS_string ("OIL version ").add_operation (var_version_1176.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 77)).add_operation (GALGAS_string (" does not exist"), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 77)), fixItArray1 COMMA_SOURCE_FILE ("goil_syntax.galgas", 77)) ; + const GALGAS_string temp_2 = inObject ; + const GALGAS_string temp_3 = inObject ; + result_result = extensionGetter_trimRight (temp_2.getter_leftSubString (temp_3.getter_count (SOURCE_FILE ("systemConfig.galgas", 180)).substract_operation (GALGAS_uint (uint32_t (1U)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 180)) COMMA_SOURCE_FILE ("systemConfig.galgas", 180)), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 180)) ; } } - cEnumerator_stringlist enumerator_2262 (var_configVersionFiles_2033, kENUMERATION_DOWN) ; - while (enumerator_2262.hasCurrentObject ()) { - cGrammar_goil_5F_file_5F_level_5F_include::_performSourceFileParsing_ (inCompiler, function_lstringWith (enumerator_2262.current_mValue (HERE), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 81)), var_imp_953, var_application_1039, var_fileIncludeList_1093, GALGAS_bool (false) COMMA_SOURCE_FILE ("goil_syntax.galgas", 81)) ; - enumerator_2262.gotoNextObject () ; + if (kBoolFalse == test_0) { + const GALGAS_string temp_4 = inObject ; + result_result = temp_4 ; } - nt_file_ (var_imp_953, var_application_1039, var_fileIncludeList_1093, GALGAS_bool (true), inCompiler) ; - callExtensionMethod_checkObjectReferences ((cPtr_implementation *) var_imp_953.ptr (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 92)) ; - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = GALGAS_bool (kIsEqual, GALGAS_uint::class_func_errorCount (SOURCE_FILE ("goil_syntax.galgas", 94)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; - if (kBoolTrue == test_2) { - { - routine_setDefaults_3F__26_ (var_imp_953, var_application_1039, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 95)) ; - } - } - } - enumGalgasBool test_3 = kBoolTrue ; - if (kBoolTrue == test_3) { - test_3 = GALGAS_bool (kIsEqual, GALGAS_uint::class_func_errorCount (SOURCE_FILE ("goil_syntax.galgas", 102)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; - if (kBoolTrue == test_3) { - { - routine_verifyAll_3F__3F_ (var_imp_953, var_application_1039, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 103)) ; - } - } - } - enumGalgasBool test_4 = kBoolTrue ; - if (kBoolTrue == test_4) { - test_4 = GALGAS_bool (kIsEqual, GALGAS_uint::class_func_errorCount (SOURCE_FILE ("goil_syntax.galgas", 105)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; - if (kBoolTrue == test_4) { - GALGAS_gtlData var_templateData_2863 = callExtensionGetter_templateData ((const cPtr_applicationDefinition *) var_application_1039.ptr (), var_imp_953, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 106)) ; - { - routine_generate_5F_all_3F_ (var_templateData_2863, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 109)) ; +//--- + return result_result ; +} + + + + +//---------------------------------------------------------------------------------------------------------------------- +// +//Extension method '@implementation verifyApplication' +// +//---------------------------------------------------------------------------------------------------------------------- + +void cPtr_implementation::method_verifyApplication (const GALGAS_applicationDefinition constinArgument_appDef, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + cEnumerator_implementationMap enumerator_907 (this->mProperty_imp, kENUMERATION_UP) ; + while (enumerator_907.hasCurrentObject ()) { + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = constinArgument_appDef.readProperty_objects ().getter_hasKey (enumerator_907.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("semantic_verification.galgas", 35)).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_objectKind var_obj_1005 ; + constinArgument_appDef.readProperty_objects ().method_get (enumerator_907.current_lkey (HERE), var_obj_1005, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 37)) ; + callExtensionMethod_verifyApplication ((cPtr_implementationObject *) enumerator_907.current_obj (HERE).ptr (), var_obj_1005, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 38)) ; } } + enumerator_907.gotoNextObject () ; } - var_fileIncludeList_1093 = GALGAS_string::class_func_stringWithSourceFilePath (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 112)).getter_lastPathComponent (SOURCE_FILE ("goil_syntax.galgas", 112)).add_operation (GALGAS_string (":"), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 112)).add_operation (var_fileIncludeList_1093, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 112)).add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 112)) ; - GALGAS_string var_oilDepFileName_3168 = GALGAS_string::class_func_stringWithSourceFilePath (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 113)).getter_stringByDeletingLastPathComponent (SOURCE_FILE ("goil_syntax.galgas", 113)).add_operation (GALGAS_string ("/build/"), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 113)).add_operation (GALGAS_string::class_func_stringWithSourceFilePath (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 114)).getter_lastPathComponent (SOURCE_FILE ("goil_syntax.galgas", 114)), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 114)).add_operation (GALGAS_string (".dep"), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 114)) ; - var_fileIncludeList_1093.method_writeToFile (var_oilDepFileName_3168, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 116)) ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_start_i0_parse (Lexique_goil_5F_lexique * inCompiler) { - nt_OIL_5F_version_parse (inCompiler) ; - nt_file_parse (inCompiler) ; - inCompiler->resetTemplateString () ; +void callExtensionMethod_verifyApplication (cPtr_implementation * inObject, + const GALGAS_applicationDefinition constin_appDef, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (nullptr != inObject) { + macroValidSharedObject (inObject, cPtr_implementation) ; + inObject->method_verifyApplication (constin_appDef, inCompiler COMMA_THERE) ; + } } +//---------------------------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------* +cMapElement_objectsMap::cMapElement_objectsMap (const GALGAS_lstring & inKey, + const GALGAS_objectKind & in_objectsOfKind + COMMA_LOCATION_ARGS) : +cMapElement (inKey COMMA_THERE), +mProperty_objectsOfKind (in_objectsOfKind) { +} -void cParser_goil_5F_syntax::rule_goil_5F_syntax_start_i0_indexing (Lexique_goil_5F_lexique * inCompiler) { - nt_OIL_5F_version_indexing (inCompiler) ; - nt_file_indexing (inCompiler) ; +//---------------------------------------------------------------------------------------------------------------------- + +bool cMapElement_objectsMap::isValid (void) const { + return mProperty_lkey.isValid () ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_file_i1_ (GALGAS_implementation & ioArgument_imp, - GALGAS_applicationDefinition & ioArgument_application, - GALGAS_string & ioArgument_fileIncludeList, - const GALGAS_bool constinArgument_rootFile, - Lexique_goil_5F_lexique * inCompiler) { - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - test_0 = constinArgument_rootFile.operator_not (SOURCE_FILE ("goil_syntax.galgas", 125)).boolEnum () ; - if (kBoolTrue == test_0) { - ioArgument_fileIncludeList.plusAssign_operation(GALGAS_string (" \\\n ").add_operation (GALGAS_string::class_func_stringWithSourceFilePath (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 126)), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 126)), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 126)) ; - } - } - bool repeatFlag_1 = true ; - while (repeatFlag_1) { - switch (select_goil_5F_syntax_0 (inCompiler)) { - case 2: { - nt_include_5F_file_5F_level_ (ioArgument_imp, ioArgument_application, ioArgument_fileIncludeList, GALGAS_bool (false), inCompiler) ; - } break ; - case 3: { - nt_implementation_5F_definition_ (ioArgument_imp, inCompiler) ; - } break ; - case 4: { - nt_application_5F_definition_ (ioArgument_imp, ioArgument_application, ioArgument_fileIncludeList, GALGAS_bool (false), inCompiler) ; - } break ; - default: - repeatFlag_1 = false ; - break ; - } - } +cMapElement * cMapElement_objectsMap::copy (void) { + cMapElement * result = nullptr ; + macroMyNew (result, cMapElement_objectsMap (mProperty_lkey, mProperty_objectsOfKind COMMA_HERE)) ; + return result ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_file_i1_parse (Lexique_goil_5F_lexique * inCompiler) { - bool repeatFlag_0 = true ; - while (repeatFlag_0) { - switch (select_goil_5F_syntax_0 (inCompiler)) { - case 2: { - nt_include_5F_file_5F_level_parse (inCompiler) ; - } break ; - case 3: { - nt_implementation_5F_definition_parse (inCompiler) ; - } break ; - case 4: { - nt_application_5F_definition_parse (inCompiler) ; - } break ; - default: - repeatFlag_0 = false ; - break ; - } - } - inCompiler->resetTemplateString () ; +void cMapElement_objectsMap::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "objectsOfKind" ":" ; + mProperty_objectsOfKind.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_file_i1_indexing (Lexique_goil_5F_lexique * inCompiler) { - bool repeatFlag_0 = true ; - while (repeatFlag_0) { - switch (select_goil_5F_syntax_0 (inCompiler)) { - case 2: { - nt_include_5F_file_5F_level_indexing (inCompiler) ; - } break ; - case 3: { - nt_implementation_5F_definition_indexing (inCompiler) ; - } break ; - case 4: { - nt_application_5F_definition_indexing (inCompiler) ; - } break ; - default: - repeatFlag_0 = false ; - break ; - } +typeComparisonResult cMapElement_objectsMap::compare (const cCollectionElement * inOperand) const { + cMapElement_objectsMap * operand = (cMapElement_objectsMap *) inOperand ; + typeComparisonResult result = mProperty_lkey.objectCompare (operand->mProperty_lkey) ; + if (kOperandEqual == result) { + result = mProperty_objectsOfKind.objectCompare (operand->mProperty_objectsOfKind) ; } + return result ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_file_5F_without_5F_include_i2_ (GALGAS_implementation & ioArgument_imp, - GALGAS_applicationDefinition & ioArgument_application, - Lexique_goil_5F_lexique * inCompiler) { - GALGAS_string var_includeList_4002 = GALGAS_string::makeEmptyString () ; - bool repeatFlag_0 = true ; - while (repeatFlag_0) { - switch (select_goil_5F_syntax_1 (inCompiler)) { - case 2: { - nt_implementation_5F_definition_ (ioArgument_imp, inCompiler) ; - } break ; - case 3: { - nt_application_5F_definition_ (ioArgument_imp, ioArgument_application, var_includeList_4002, GALGAS_bool (false), inCompiler) ; - } break ; - default: - repeatFlag_0 = false ; - break ; - } - } +GALGAS_objectsMap::GALGAS_objectsMap (void) : +AC_GALGAS_map (true) { } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_file_5F_without_5F_include_i2_parse (Lexique_goil_5F_lexique * inCompiler) { - bool repeatFlag_0 = true ; - while (repeatFlag_0) { - switch (select_goil_5F_syntax_1 (inCompiler)) { - case 2: { - nt_implementation_5F_definition_parse (inCompiler) ; - } break ; - case 3: { - nt_application_5F_definition_parse (inCompiler) ; - } break ; - default: - repeatFlag_0 = false ; - break ; - } - } - inCompiler->resetTemplateString () ; +GALGAS_objectsMap::GALGAS_objectsMap (const GALGAS_objectsMap & inSource) : +AC_GALGAS_map (inSource) { } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_file_5F_without_5F_include_i2_indexing (Lexique_goil_5F_lexique * inCompiler) { - bool repeatFlag_0 = true ; - while (repeatFlag_0) { - switch (select_goil_5F_syntax_1 (inCompiler)) { - case 2: { - nt_implementation_5F_definition_indexing (inCompiler) ; - } break ; - case 3: { - nt_application_5F_definition_indexing (inCompiler) ; - } break ; - default: - repeatFlag_0 = false ; - break ; - } - } +GALGAS_objectsMap & GALGAS_objectsMap::operator = (const GALGAS_objectsMap & inSource) { + * ((AC_GALGAS_map *) this) = inSource ; + return * this ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_sign_i3_ (GALGAS_bool & outArgument_signed, - Lexique_goil_5F_lexique * inCompiler) { - outArgument_signed.drop () ; // Release 'out' argument - switch (select_goil_5F_syntax_2 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__2D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 148)) ; - outArgument_signed = GALGAS_bool (true) ; - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__2B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 150)) ; - outArgument_signed = GALGAS_bool (false) ; - } break ; - case 3: { - outArgument_signed = GALGAS_bool (false) ; - } break ; - default: - break ; - } +GALGAS_objectsMap GALGAS_objectsMap::constructor_emptyMap (LOCATION_ARGS) { + GALGAS_objectsMap result ; + result.makeNewEmptyMap (THERE) ; + return result ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_sign_i3_parse (Lexique_goil_5F_lexique * inCompiler) { - switch (select_goil_5F_syntax_2 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__2D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 148)) ; - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__2B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 150)) ; - } break ; - case 3: { - } break ; - default: - break ; - } - inCompiler->resetTemplateString () ; +GALGAS_objectsMap GALGAS_objectsMap::constructor_mapWithMapToOverride (const GALGAS_objectsMap & inMapToOverride + COMMA_LOCATION_ARGS) { + GALGAS_objectsMap result ; + result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; + return result ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_sign_i3_indexing (Lexique_goil_5F_lexique * inCompiler) { - switch (select_goil_5F_syntax_2 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__2D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 148)) ; - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__2B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 150)) ; - } break ; - case 3: { - } break ; - default: - break ; - } +GALGAS_objectsMap GALGAS_objectsMap::getter_overriddenMap (C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_objectsMap result ; + getOverridenMap (result, inCompiler COMMA_THERE) ; + return result ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_description_i4_ (GALGAS_lstring & outArgument_desc, - Lexique_goil_5F_lexique * inCompiler) { - outArgument_desc.drop () ; // Release 'out' argument - switch (select_goil_5F_syntax_3 (inCompiler)) { - case 1: { - outArgument_desc = function_lstringWith (GALGAS_string::makeEmptyString (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 161)) ; - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__3A_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 163)) ; - GALGAS_lstring var_partialString_4416 ; - var_partialString_4416 = inCompiler->synthetizedAttribute_a_5F_string () ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 165)) ; - GALGAS_string var_result_4470 = var_partialString_4416.readProperty_string () ; - bool repeatFlag_0 = true ; - while (repeatFlag_0) { - if (select_goil_5F_syntax_4 (inCompiler) == 2) { - var_partialString_4416 = inCompiler->synthetizedAttribute_a_5F_string () ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 169)) ; - GALGAS_string var_toappend_4567 = var_partialString_4416.readProperty_string () ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = GALGAS_bool (kIsNotEqual, var_result_4470.getter_rightSubString (GALGAS_uint (uint32_t (2U)) COMMA_SOURCE_FILE ("goil_syntax.galgas", 171)).objectCompare (GALGAS_string ("\\n"))).boolEnum () ; - if (kBoolTrue == test_1) { - var_toappend_4567 = GALGAS_string (" ").add_operation (var_toappend_4567, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 172)) ; - } - } - var_result_4470.plusAssign_operation(var_toappend_4567, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 174)) ; - }else{ - repeatFlag_0 = false ; - } - } - outArgument_desc = GALGAS_lstring::class_func_new (var_result_4470.getter_stringByReplacingStringByString (GALGAS_string ("\\n"), GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 176)), var_partialString_4416.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 176)) ; - } break ; - default: - break ; - } +void GALGAS_objectsMap::addAssign_operation (const GALGAS_lstring & inKey, + const GALGAS_objectKind & inArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cMapElement_objectsMap * p = nullptr ; + macroMyNew (p, cMapElement_objectsMap (inKey, inArgument0 COMMA_HERE)) ; + capCollectionElement attributes ; + attributes.setPointer (p) ; + macroDetachSharedObject (p) ; + const char * kInsertErrorMessage = "@objectsMap insert error: '%K' already in map" ; + const char * kShadowErrorMessage = "" ; + performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_description_i4_parse (Lexique_goil_5F_lexique * inCompiler) { - switch (select_goil_5F_syntax_3 (inCompiler)) { - case 1: { - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__3A_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 163)) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 165)) ; - bool repeatFlag_0 = true ; - while (repeatFlag_0) { - if (select_goil_5F_syntax_4 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 169)) ; - }else{ - repeatFlag_0 = false ; - } - } - } break ; - default: - break ; +GALGAS_objectsMap GALGAS_objectsMap::add_operation (const GALGAS_objectsMap & inOperand, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_objectsMap result = *this ; + cEnumerator_objectsMap enumerator (inOperand, kENUMERATION_UP) ; + while (enumerator.hasCurrentObject ()) { + result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_objectsOfKind (HERE), inCompiler COMMA_THERE) ; + enumerator.gotoNextObject () ; } - inCompiler->resetTemplateString () ; + return result ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_description_i4_indexing (Lexique_goil_5F_lexique * inCompiler) { - switch (select_goil_5F_syntax_3 (inCompiler)) { - case 1: { - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__3A_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 163)) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 165)) ; - bool repeatFlag_0 = true ; - while (repeatFlag_0) { - if (select_goil_5F_syntax_4 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 169)) ; - }else{ - repeatFlag_0 = false ; - } - } - } break ; - default: - break ; - } +void GALGAS_objectsMap::setter_put (GALGAS_lstring inKey, + GALGAS_objectKind inArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cMapElement_objectsMap * p = nullptr ; + macroMyNew (p, cMapElement_objectsMap (inKey, inArgument0 COMMA_HERE)) ; + capCollectionElement attributes ; + attributes.setPointer (p) ; + macroDetachSharedObject (p) ; + const char * kInsertErrorMessage = "%K is duplicated in %L" ; + const char * kShadowErrorMessage = "" ; + performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_OIL_5F_version_i5_ (GALGAS_lstring & outArgument_version, - GALGAS_lstring & outArgument_desc, - Lexique_goil_5F_lexique * inCompiler) { - outArgument_version.drop () ; // Release 'out' argument - outArgument_desc.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_OIL_5F_VERSION COMMA_SOURCE_FILE ("goil_syntax.galgas", 184)) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__3D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 184)) ; - outArgument_version = inCompiler->synthetizedAttribute_a_5F_string () ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 184)) ; - nt_description_ (outArgument_desc, inCompiler) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__3B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 184)) ; -} +const char * kSearchErrorMessage_objectsMap_get = "%K does not exists" ; -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_OIL_5F_version_i5_parse (Lexique_goil_5F_lexique * inCompiler) { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_OIL_5F_VERSION COMMA_SOURCE_FILE ("goil_syntax.galgas", 184)) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__3D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 184)) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 184)) ; - nt_description_parse (inCompiler) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__3B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 184)) ; - inCompiler->resetTemplateString () ; +void GALGAS_objectsMap::method_get (GALGAS_lstring inKey, + GALGAS_objectKind & outArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + const cMapElement_objectsMap * p = (const cMapElement_objectsMap *) performSearch (inKey, + inCompiler, + kSearchErrorMessage_objectsMap_get + COMMA_THERE) ; + if (nullptr == p) { + outArgument0.drop () ; + }else{ + macroValidSharedObject (p, cMapElement_objectsMap) ; + outArgument0 = p->mProperty_objectsOfKind ; + } } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_OIL_5F_version_i5_indexing (Lexique_goil_5F_lexique * inCompiler) { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_OIL_5F_VERSION COMMA_SOURCE_FILE ("goil_syntax.galgas", 184)) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__3D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 184)) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 184)) ; - nt_description_indexing (inCompiler) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__3B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 184)) ; +void GALGAS_objectsMap::setter_del (GALGAS_lstring inKey, + GALGAS_objectKind & outArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + const char * kRemoveErrorMessage = "%K does not exists" ; + capCollectionElement attributes ; + performRemove (inKey, attributes, inCompiler, kRemoveErrorMessage COMMA_THERE) ; + cMapElement_objectsMap * p = (cMapElement_objectsMap *) attributes.ptr () ; + if (nullptr == p) { + outArgument0.drop () ; + }else{ + macroValidSharedObject (p, cMapElement_objectsMap) ; + outArgument0 = p->mProperty_objectsOfKind ; + } } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_application_5F_definition_i6_ (const GALGAS_implementation constinArgument_imp, - GALGAS_applicationDefinition & ioArgument_application, - GALGAS_string & ioArgument_fileIncludeList, - const GALGAS_bool constinArgument_rootFile, - Lexique_goil_5F_lexique * inCompiler) { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_CPU COMMA_SOURCE_FILE ("goil_syntax.galgas", 196)) ; - GALGAS_lstring var_cpuName_5378 = inCompiler->synthetizedAttribute_att_5F_token () ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 196)) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 196)) ; - GALGAS_objectsMap var_objects_5406 = ioArgument_application.readProperty_objects () ; - nt_object_5F_definition_5F_list_ (constinArgument_imp, var_objects_5406, ioArgument_fileIncludeList, constinArgument_rootFile, inCompiler) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 199)) ; - GALGAS_lstring joker_5530 ; // Joker input parameter - nt_description_ (joker_5530, inCompiler) ; - joker_5530.drop () ; // Release temporary input variables (joker in source) - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__3B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 199)) ; - { - ioArgument_application.setter_setName (var_cpuName_5378 COMMA_SOURCE_FILE ("goil_syntax.galgas", 200)) ; +GALGAS_objectKind GALGAS_objectsMap::getter_objectsOfKindForKey (const GALGAS_string & inKey, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; + const cMapElement_objectsMap * p = (const cMapElement_objectsMap *) attributes ; + GALGAS_objectKind result ; + if (nullptr != p) { + macroValidSharedObject (p, cMapElement_objectsMap) ; + result = p->mProperty_objectsOfKind ; } - { - ioArgument_application.setter_setObjects (var_objects_5406 COMMA_SOURCE_FILE ("goil_syntax.galgas", 201)) ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void GALGAS_objectsMap::setter_setObjectsOfKindForKey (GALGAS_objectKind inAttributeValue, + GALGAS_string inKey, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; + cMapElement_objectsMap * p = (cMapElement_objectsMap *) attributes ; + if (nullptr != p) { + macroValidSharedObject (p, cMapElement_objectsMap) ; + p->mProperty_objectsOfKind = inAttributeValue ; } } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_application_5F_definition_i6_parse (Lexique_goil_5F_lexique * inCompiler) { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_CPU COMMA_SOURCE_FILE ("goil_syntax.galgas", 196)) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 196)) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 196)) ; - nt_object_5F_definition_5F_list_parse (inCompiler) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 199)) ; - nt_description_parse (inCompiler) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__3B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 199)) ; - inCompiler->resetTemplateString () ; +cMapElement_objectsMap * GALGAS_objectsMap::readWriteAccessForWithInstruction (C_Compiler * inCompiler, + const GALGAS_string & inKey + COMMA_LOCATION_ARGS) { + cMapElement_objectsMap * result = (cMapElement_objectsMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; + macroNullOrValidSharedObject (result, cMapElement_objectsMap) ; + return result ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_application_5F_definition_i6_indexing (Lexique_goil_5F_lexique * inCompiler) { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_CPU COMMA_SOURCE_FILE ("goil_syntax.galgas", 196)) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 196)) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 196)) ; - nt_object_5F_definition_5F_list_indexing (inCompiler) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 199)) ; - nt_description_indexing (inCompiler) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__3B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 199)) ; +cEnumerator_objectsMap::cEnumerator_objectsMap (const GALGAS_objectsMap & inEnumeratedObject, + const typeEnumerationOrder inOrder) : +cGenericAbstractEnumerator (inOrder) { + inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_object_5F_definition_5F_list_i7_ (const GALGAS_implementation constinArgument_imp, - GALGAS_objectsMap & ioArgument_objects, - GALGAS_string & ioArgument_fileIncludeList, - const GALGAS_bool constinArgument_rootFile, - Lexique_goil_5F_lexique * inCompiler) { - bool repeatFlag_0 = true ; - while (repeatFlag_0) { - switch (select_goil_5F_syntax_5 (inCompiler)) { - case 2: { - GALGAS_lstring var_objectKind_5789 = inCompiler->synthetizedAttribute_att_5F_token () ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 212)) ; - GALGAS_implementationObject var_impObjOfKind_5830 = callExtensionGetter_impObject ((const cPtr_implementation *) constinArgument_imp.ptr (), var_objectKind_5789.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 213)) ; - GALGAS_objectKind var_objectsForKind_5901 = GALGAS_objectKind::class_func_new (GALGAS_objectKindMap::class_func_emptyMap (SOURCE_FILE ("goil_syntax.galgas", 214)) COMMA_SOURCE_FILE ("goil_syntax.galgas", 214)) ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = ioArgument_objects.getter_hasKey (var_objectKind_5789.readProperty_string () COMMA_SOURCE_FILE ("goil_syntax.galgas", 215)).boolEnum () ; - if (kBoolTrue == test_1) { - { - ioArgument_objects.setter_del (var_objectKind_5789, var_objectsForKind_5901, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 216)) ; - } - } - } - GALGAS_lstring var_objectName_6096 = inCompiler->synthetizedAttribute_att_5F_token () ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 218)) ; - GALGAS_objectAttributes var_object_6129 = function_emptyObject (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 219)) ; - GALGAS_objectKindMap var_objectsKind_6171 = var_objectsForKind_5901.readProperty_objects () ; - enumGalgasBool test_2 = kBoolTrue ; - if (kBoolTrue == test_2) { - test_2 = GALGAS_bool (kIsEqual, var_impObjOfKind_5830.readProperty_multiple ().readProperty_bool ().objectCompare (GALGAS_bool (false))).boolEnum () ; - if (kBoolTrue == test_2) { - var_objectName_6096 = var_objectKind_5789 ; - } - } - enumGalgasBool test_3 = kBoolTrue ; - if (kBoolTrue == test_3) { - test_3 = var_objectsKind_6171.getter_hasKey (var_objectName_6096.readProperty_string () COMMA_SOURCE_FILE ("goil_syntax.galgas", 227)).boolEnum () ; - if (kBoolTrue == test_3) { - { - var_objectsKind_6171.setter_del (var_objectName_6096, var_object_6129, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 228)) ; - } - } - } - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 230)) ; - nt_oil_5F_declaration_5F_list_ (var_impObjOfKind_5830.readProperty_attributes (), var_object_6129, inCompiler) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 232)) ; - GALGAS_lstring var_oil_5F_desc_6733 ; - nt_description_ (var_oil_5F_desc_6733, inCompiler) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__3B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 234)) ; - GALGAS_identifierMap var_attributes_6769 = var_object_6129.readProperty_objectParams () ; - enumGalgasBool test_4 = kBoolTrue ; - if (kBoolTrue == test_4) { - test_4 = var_attributes_6769.getter_hasKey (GALGAS_string ("NAME") COMMA_SOURCE_FILE ("goil_syntax.galgas", 236)).operator_not (SOURCE_FILE ("goil_syntax.galgas", 236)).boolEnum () ; - if (kBoolTrue == test_4) { - { - var_attributes_6769.setter_put (GALGAS_lstring::class_func_new (GALGAS_string ("NAME"), var_objectName_6096.readProperty_location (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 237)), GALGAS_stringAttribute::class_func_new (var_oil_5F_desc_6733, var_objectName_6096.readProperty_location (), var_objectName_6096.readProperty_string () COMMA_SOURCE_FILE ("goil_syntax.galgas", 239)), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 237)) ; - } - { - var_object_6129.setter_setObjectParams (var_attributes_6769 COMMA_SOURCE_FILE ("goil_syntax.galgas", 242)) ; - } - } - } - { - var_objectsKind_6171.setter_put (var_objectName_6096, var_object_6129, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 244)) ; - } - { - var_objectsForKind_5901.setter_setObjects (var_objectsKind_6171 COMMA_SOURCE_FILE ("goil_syntax.galgas", 245)) ; - } - { - ioArgument_objects.setter_put (var_objectKind_5789, var_objectsForKind_5901, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 246)) ; - } - } break ; - case 3: { - nt_include_5F_cpu_5F_level_ (constinArgument_imp, ioArgument_objects, ioArgument_fileIncludeList, constinArgument_rootFile, inCompiler) ; - } break ; - default: - repeatFlag_0 = false ; - break ; - } - } +GALGAS_objectsMap_2D_element cEnumerator_objectsMap::current (LOCATION_ARGS) const { + const cMapElement_objectsMap * p = (const cMapElement_objectsMap *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement_objectsMap) ; + return GALGAS_objectsMap_2D_element (p->mProperty_lkey, p->mProperty_objectsOfKind) ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_object_5F_definition_5F_list_i7_parse (Lexique_goil_5F_lexique * inCompiler) { - bool repeatFlag_0 = true ; - while (repeatFlag_0) { - switch (select_goil_5F_syntax_5 (inCompiler)) { - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 212)) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 218)) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 230)) ; - nt_oil_5F_declaration_5F_list_parse (inCompiler) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 232)) ; - nt_description_parse (inCompiler) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__3B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 234)) ; - } break ; - case 3: { - nt_include_5F_cpu_5F_level_parse (inCompiler) ; - } break ; - default: - repeatFlag_0 = false ; - break ; - } - } - inCompiler->resetTemplateString () ; +GALGAS_lstring cEnumerator_objectsMap::current_lkey (LOCATION_ARGS) const { + const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement) ; + return p->mProperty_lkey ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_object_5F_definition_5F_list_i7_indexing (Lexique_goil_5F_lexique * inCompiler) { - bool repeatFlag_0 = true ; - while (repeatFlag_0) { - switch (select_goil_5F_syntax_5 (inCompiler)) { - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 212)) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 218)) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 230)) ; - nt_oil_5F_declaration_5F_list_indexing (inCompiler) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 232)) ; - nt_description_indexing (inCompiler) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__3B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 234)) ; - } break ; - case 3: { - nt_include_5F_cpu_5F_level_indexing (inCompiler) ; - } break ; - default: - repeatFlag_0 = false ; - break ; - } - } +GALGAS_objectKind cEnumerator_objectsMap::current_objectsOfKind (LOCATION_ARGS) const { + const cMapElement_objectsMap * p = (const cMapElement_objectsMap *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement_objectsMap) ; + return p->mProperty_objectsOfKind ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_boolean_i8_ (GALGAS_lbool & outArgument_val, - Lexique_goil_5F_lexique * inCompiler) { - outArgument_val.drop () ; // Release 'out' argument - switch (select_goil_5F_syntax_6 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_TRUE COMMA_SOURCE_FILE ("goil_syntax.galgas", 256)) ; - outArgument_val = GALGAS_lbool::class_func_new (GALGAS_bool (true), GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 257)), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 257)) ; - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_FALSE COMMA_SOURCE_FILE ("goil_syntax.galgas", 259)) ; - outArgument_val = GALGAS_lbool::class_func_new (GALGAS_bool (false), GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 260)), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 260)) ; - } break ; - default: - break ; +bool GALGAS_objectsMap::optional_searchKey (const GALGAS_string & inKey, + GALGAS_objectKind & outArgument0) const { + const cMapElement_objectsMap * p = (const cMapElement_objectsMap *) searchForKey (inKey) ; + const bool result = nullptr != p ; + if (result) { + macroValidSharedObject (p, cMapElement_objectsMap) ; + outArgument0 = p->mProperty_objectsOfKind ; + }else{ + outArgument0.drop () ; } + return result ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- +// +// @objectsMap generic code implementation +// +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_boolean_i8_parse (Lexique_goil_5F_lexique * inCompiler) { - switch (select_goil_5F_syntax_6 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_TRUE COMMA_SOURCE_FILE ("goil_syntax.galgas", 256)) ; - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_FALSE COMMA_SOURCE_FILE ("goil_syntax.galgas", 259)) ; - } break ; - default: - break ; - } - inCompiler->resetTemplateString () ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_objectsMap ("objectsMap", + nullptr) ; + +//---------------------------------------------------------------------------------------------------------------------- + +const C_galgas_type_descriptor * GALGAS_objectsMap::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_objectsMap ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_boolean_i8_indexing (Lexique_goil_5F_lexique * inCompiler) { - switch (select_goil_5F_syntax_6 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_TRUE COMMA_SOURCE_FILE ("goil_syntax.galgas", 256)) ; - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_FALSE COMMA_SOURCE_FILE ("goil_syntax.galgas", 259)) ; - } break ; - default: - break ; +AC_GALGAS_root * GALGAS_objectsMap::clonedObject (void) const { + AC_GALGAS_root * result = nullptr ; + if (isValid ()) { + macroMyNew (result, GALGAS_objectsMap (*this)) ; } + return result ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_oil_5F_declaration_5F_list_i9_ (const GALGAS_implementationObjectMap constinArgument_types, - GALGAS_objectAttributes & ioArgument_identifiers, - Lexique_goil_5F_lexique * inCompiler) { - bool repeatFlag_0 = true ; - while (repeatFlag_0) { - switch (select_goil_5F_syntax_7 (inCompiler)) { - case 2: { - nt_oil_5F_declaration_ (constinArgument_types, ioArgument_identifiers, inCompiler) ; - } break ; - case 3: { - nt_include_5F_object_5F_level_ (constinArgument_types, ioArgument_identifiers, inCompiler) ; - } break ; - default: - repeatFlag_0 = false ; - break ; - } +GALGAS_objectsMap GALGAS_objectsMap::extractObject (const GALGAS_object & inObject, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_objectsMap result ; + const GALGAS_objectsMap * p = (const GALGAS_objectsMap *) inObject.embeddedObject () ; + if (nullptr != p) { + if (nullptr != dynamic_cast (p)) { + result = *p ; + }else{ + inCompiler->castError ("objectsMap", p->dynamicTypeDescriptor () COMMA_THERE) ; + } } + return result ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- +// +//Extension method '@objectAttributes verifyCrossReferences' +// +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_oil_5F_declaration_5F_list_i9_parse (Lexique_goil_5F_lexique * inCompiler) { - bool repeatFlag_0 = true ; - while (repeatFlag_0) { - switch (select_goil_5F_syntax_7 (inCompiler)) { - case 2: { - nt_oil_5F_declaration_parse (inCompiler) ; - } break ; - case 3: { - nt_include_5F_object_5F_level_parse (inCompiler) ; - } break ; - default: - repeatFlag_0 = false ; - break ; +void cPtr_objectAttributes::method_verifyCrossReferences (const GALGAS_objectsMap constinArgument_allObjects, + const GALGAS_implementationObjectMap constinArgument_attributes, + C_Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + cEnumerator_identifierMap enumerator_18641 (this->mProperty_objectParams, kENUMERATION_UP) ; + while (enumerator_18641.hasCurrentObject ()) { + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = constinArgument_attributes.getter_hasKey (enumerator_18641.current_lkey (HERE).readProperty_string () COMMA_SOURCE_FILE ("semantic_verification.galgas", 599)).boolEnum () ; + if (kBoolTrue == test_0) { + GALGAS_impType var_type_18752 ; + constinArgument_attributes.method_get (enumerator_18641.current_lkey (HERE), var_type_18752, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 600)) ; + callExtensionMethod_verifyCrossReferences ((cPtr_object_5F_t *) enumerator_18641.current_value (HERE).ptr (), constinArgument_allObjects, var_type_18752, inCompiler COMMA_SOURCE_FILE ("semantic_verification.galgas", 601)) ; + } } + enumerator_18641.gotoNextObject () ; } - inCompiler->resetTemplateString () ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_oil_5F_declaration_5F_list_i9_indexing (Lexique_goil_5F_lexique * inCompiler) { - bool repeatFlag_0 = true ; - while (repeatFlag_0) { - switch (select_goil_5F_syntax_7 (inCompiler)) { - case 2: { - nt_oil_5F_declaration_indexing (inCompiler) ; - } break ; - case 3: { - nt_include_5F_object_5F_level_indexing (inCompiler) ; - } break ; - default: - repeatFlag_0 = false ; - break ; - } +void callExtensionMethod_verifyCrossReferences (cPtr_objectAttributes * inObject, + const GALGAS_objectsMap constin_allObjects, + const GALGAS_implementationObjectMap constin_attributes, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (nullptr != inObject) { + macroValidSharedObject (inObject, cPtr_objectAttributes) ; + inObject->method_verifyCrossReferences (constin_allObjects, constin_attributes, inCompiler COMMA_THERE) ; } } +//---------------------------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------* +cMapElement_objectKindMap::cMapElement_objectKindMap (const GALGAS_lstring & inKey, + const GALGAS_objectAttributes & in_attributes + COMMA_LOCATION_ARGS) : +cMapElement (inKey COMMA_THERE), +mProperty_attributes (in_attributes) { +} -void cParser_goil_5F_syntax::rule_goil_5F_syntax_oil_5F_declaration_i10_ (const GALGAS_implementationObjectMap constinArgument_types, - GALGAS_objectAttributes & ioArgument_identifiers, - Lexique_goil_5F_lexique * inCompiler) { - GALGAS_lstring var_idf_8101 ; - GALGAS_object_5F_t var_val_8117 ; - var_idf_8101 = inCompiler->synthetizedAttribute_att_5F_token () ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 281)) ; - GALGAS_locationList temp_0 = GALGAS_locationList::class_func_emptyList (SOURCE_FILE ("goil_syntax.galgas", 285)) ; - temp_0.addAssign_operation (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 285)) COMMA_SOURCE_FILE ("goil_syntax.galgas", 285)) ; - GALGAS_impType var_type_8188 = GALGAS_impVoid::class_func_new (temp_0, GALGAS_dataType::class_func_void (SOURCE_FILE ("goil_syntax.galgas", 285)), function_emptyLString (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 285)), GALGAS_bool (false), GALGAS_lstringlist::class_func_emptyList (SOURCE_FILE ("goil_syntax.galgas", 285)) COMMA_SOURCE_FILE ("goil_syntax.galgas", 285)) ; - GALGAS_bool var_typeOk_8285 = GALGAS_bool (false) ; - enumGalgasBool test_1 = kBoolTrue ; - if (kBoolTrue == test_1) { - test_1 = constinArgument_types.getter_hasKey (var_idf_8101.readProperty_string () COMMA_SOURCE_FILE ("goil_syntax.galgas", 287)).boolEnum () ; - if (kBoolTrue == test_1) { - constinArgument_types.method_get (var_idf_8101, var_type_8188, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 288)) ; - var_typeOk_8285 = GALGAS_bool (true) ; - } - } - if (kBoolFalse == test_1) { - TC_Array fixItArray2 ; - inCompiler->emitSemanticError (var_idf_8101.readProperty_location (), var_idf_8101.readProperty_string ().add_operation (GALGAS_string (" is not declared in the IMPLEMENTATION"), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 291)), fixItArray2 COMMA_SOURCE_FILE ("goil_syntax.galgas", 291)) ; - } - switch (select_goil_5F_syntax_8 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__3D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 294)) ; - switch (select_goil_5F_syntax_9 (inCompiler)) { - case 1: { - GALGAS_lstring var_value_8574 ; - var_value_8574 = inCompiler->synthetizedAttribute_att_5F_token () ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 298)) ; - GALGAS_implementationObjectMap var_subTypes_8609 = GALGAS_implementationObjectMap::class_func_emptyMap (SOURCE_FILE ("goil_syntax.galgas", 299)) ; - GALGAS_objectAttributes var_subAttributes_8681 = function_emptyObject (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 300)) ; - switch (var_type_8188.readProperty_type ().enumValue ()) { - case GALGAS_dataType::kNotBuilt: - break ; - case GALGAS_dataType::kEnum_enumeration: - { - if (var_type_8188.isValid ()) { - if (var_type_8188.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impEnumType) { - GALGAS_impEnumType cast_8811_enumType ((cPtr_impEnumType *) var_type_8188.ptr ()) ; - enumGalgasBool test_3 = kBoolTrue ; - if (kBoolTrue == test_3) { - test_3 = cast_8811_enumType.readProperty_valuesMap ().getter_hasKey (var_value_8574.readProperty_string () COMMA_SOURCE_FILE ("goil_syntax.galgas", 305)).boolEnum () ; - if (kBoolTrue == test_3) { - cast_8811_enumType.readProperty_valuesMap ().method_get (var_value_8574, var_subTypes_8609, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 306)) ; - } - } - if (kBoolFalse == test_3) { - TC_Array fixItArray4 ; - inCompiler->emitSemanticError (var_value_8574.readProperty_location (), var_value_8574.readProperty_string ().add_operation (GALGAS_string (" ENUM value undeclared. One of the following values are expected: "), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 308)).add_operation (function_valueList (cast_8811_enumType.readProperty_valuesMap (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 308)), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 308)), fixItArray4 COMMA_SOURCE_FILE ("goil_syntax.galgas", 308)) ; - } - } - } - } - break ; - case GALGAS_dataType::kEnum_identifier: - { - } - break ; - case GALGAS_dataType::kEnum_objectType: - { - } - break ; - case GALGAS_dataType::kEnum_void: - case GALGAS_dataType::kEnum_uint_33__32_Number: - case GALGAS_dataType::kEnum_sint_33__32_Number: - case GALGAS_dataType::kEnum_uint_36__34_Number: - case GALGAS_dataType::kEnum_sint_36__34_Number: - case GALGAS_dataType::kEnum_floatNumber: - case GALGAS_dataType::kEnum_string: - case GALGAS_dataType::kEnum_structType: - case GALGAS_dataType::kEnum_boolean: - { - TC_Array fixItArray5 ; - inCompiler->emitSemanticError (var_idf_8101.readProperty_location (), var_idf_8101.readProperty_string ().add_operation (GALGAS_string (" is not an ENUM nor and IDENTIFIER nor an object reference"), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 314)), fixItArray5 COMMA_SOURCE_FILE ("goil_syntax.galgas", 314)) ; - } - break ; - } - switch (select_goil_5F_syntax_10 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 317)) ; - nt_oil_5F_declaration_5F_list_ (var_subTypes_8609, var_subAttributes_8681, inCompiler) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 319)) ; - } break ; - case 2: { - } break ; - default: - break ; - } - GALGAS_lstring var_oil_5F_desc_9535 ; - nt_description_ (var_oil_5F_desc_9535, inCompiler) ; - enumGalgasBool test_6 = kBoolTrue ; - if (kBoolTrue == test_6) { - test_6 = GALGAS_bool (kIsEqual, var_type_8188.readProperty_type ().objectCompare (GALGAS_dataType::class_func_enumeration (SOURCE_FILE ("goil_syntax.galgas", 322)))).boolEnum () ; - if (kBoolTrue == test_6) { - var_val_8117 = GALGAS_enumAttribute::class_func_new (var_oil_5F_desc_9535, var_value_8574.readProperty_location (), var_value_8574.readProperty_string (), var_subAttributes_8681 COMMA_SOURCE_FILE ("goil_syntax.galgas", 323)) ; - } - } - if (kBoolFalse == test_6) { - enumGalgasBool test_7 = kBoolTrue ; - if (kBoolTrue == test_7) { - test_7 = GALGAS_bool (kIsEqual, var_type_8188.readProperty_type ().objectCompare (GALGAS_dataType::class_func_objectType (SOURCE_FILE ("goil_syntax.galgas", 324)))).boolEnum () ; - if (kBoolTrue == test_7) { - var_val_8117 = GALGAS_objectRefAttribute::class_func_new (var_oil_5F_desc_9535, var_value_8574.readProperty_location (), var_value_8574 COMMA_SOURCE_FILE ("goil_syntax.galgas", 325)) ; - } - } - if (kBoolFalse == test_7) { - var_val_8117 = GALGAS_string_5F_class::class_func_new (var_oil_5F_desc_9535, var_value_8574.readProperty_location (), var_value_8574.readProperty_string () COMMA_SOURCE_FILE ("goil_syntax.galgas", 327)) ; - } - } - } break ; - case 2: { - GALGAS_bool var_sign_9971 ; - nt_sign_ (var_sign_9971, inCompiler) ; - switch (select_goil_5F_syntax_11 (inCompiler)) { - case 1: { - GALGAS_luint_36__34_ var_value_10052 ; - var_value_10052 = inCompiler->synthetizedAttribute_integerNumber () ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_uint_5F_number COMMA_SOURCE_FILE ("goil_syntax.galgas", 336)) ; - GALGAS_lstring var_oil_5F_desc_10123 ; - nt_description_ (var_oil_5F_desc_10123, inCompiler) ; - var_val_8117 = function_checkAndGetIntegerNumber (var_oil_5F_desc_10123, var_type_8188.readProperty_type (), var_value_10052, var_sign_9971, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 338)) ; - if (var_type_8188.isValid ()) { - if (var_type_8188.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impRangedType) { - GALGAS_impRangedType cast_10257_rangedType ((cPtr_impRangedType *) var_type_8188.ptr ()) ; - enumGalgasBool test_8 = kBoolTrue ; - if (kBoolTrue == test_8) { - test_8 = callExtensionGetter_contains ((const cPtr_attributeRange *) cast_10257_rangedType.readProperty_setOrRange ().ptr (), var_val_8117, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 341)).operator_not (SOURCE_FILE ("goil_syntax.galgas", 341)).boolEnum () ; - if (kBoolTrue == test_8) { - TC_Array fixItArray9 ; - inCompiler->emitSemanticError (var_value_10052.readProperty_location (), GALGAS_string ("Integer out or range. Allowed values are: ").add_operation (callExtensionGetter_string ((const cPtr_attributeRange *) cast_10257_rangedType.readProperty_setOrRange ().ptr (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 342)), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 342)), fixItArray9 COMMA_SOURCE_FILE ("goil_syntax.galgas", 342)) ; - } - } - } - } - } break ; - case 2: { - GALGAS_ldouble var_value_10521 ; - var_value_10521 = inCompiler->synthetizedAttribute_floatNumber () ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_float_5F_number COMMA_SOURCE_FILE ("goil_syntax.galgas", 348)) ; - GALGAS_lstring var_oil_5F_desc_10593 ; - nt_description_ (var_oil_5F_desc_10593, inCompiler) ; - var_val_8117 = function_checkAndGetFloatNumber (var_oil_5F_desc_10593, var_type_8188.readProperty_type (), var_value_10521, var_sign_9971, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 350)) ; - if (var_type_8188.isValid ()) { - if (var_type_8188.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impRangedType) { - GALGAS_impRangedType cast_10725_rangedType ((cPtr_impRangedType *) var_type_8188.ptr ()) ; - enumGalgasBool test_10 = kBoolTrue ; - if (kBoolTrue == test_10) { - test_10 = callExtensionGetter_contains ((const cPtr_attributeRange *) cast_10725_rangedType.readProperty_setOrRange ().ptr (), var_val_8117, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 353)).operator_not (SOURCE_FILE ("goil_syntax.galgas", 353)).boolEnum () ; - if (kBoolTrue == test_10) { - TC_Array fixItArray11 ; - inCompiler->emitSemanticError (var_value_10521.readProperty_location (), GALGAS_string ("Float out or range. Allowed values are: ").add_operation (callExtensionGetter_string ((const cPtr_attributeRange *) cast_10725_rangedType.readProperty_setOrRange ().ptr (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 354)), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 354)), fixItArray11 COMMA_SOURCE_FILE ("goil_syntax.galgas", 354)) ; - } - } - } - } - } break ; - default: - break ; - } - } break ; - case 3: { - GALGAS_lbool var_value_10988 ; - nt_boolean_ (var_value_10988, inCompiler) ; - GALGAS_implementationObjectMap var_subTypes_11027 = GALGAS_implementationObjectMap::class_func_emptyMap (SOURCE_FILE ("goil_syntax.galgas", 362)) ; - GALGAS_objectAttributes var_subAttributes_11097 = function_emptyObject (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 363)) ; - enumGalgasBool test_12 = kBoolTrue ; - if (kBoolTrue == test_12) { - test_12 = GALGAS_bool (kIsNotEqual, var_type_8188.readProperty_type ().objectCompare (GALGAS_dataType::class_func_boolean (SOURCE_FILE ("goil_syntax.galgas", 364)))).boolEnum () ; - if (kBoolTrue == test_12) { - TC_Array fixItArray13 ; - inCompiler->emitSemanticError (var_idf_8101.readProperty_location (), extensionGetter_oilType (var_type_8188.readProperty_type (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 365)).add_operation (GALGAS_string (" expected, got a BOOLEAN"), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 365)), fixItArray13 COMMA_SOURCE_FILE ("goil_syntax.galgas", 365)) ; - } - } - if (kBoolFalse == test_12) { - if (var_type_8188.isValid ()) { - if (var_type_8188.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impBoolType) { - GALGAS_impBoolType cast_11305_boolType ((cPtr_impBoolType *) var_type_8188.ptr ()) ; - enumGalgasBool test_14 = kBoolTrue ; - if (kBoolTrue == test_14) { - test_14 = var_value_10988.readProperty_bool ().boolEnum () ; - if (kBoolTrue == test_14) { - var_subTypes_11027 = cast_11305_boolType.readProperty_trueSubAttributes () ; - } - } - if (kBoolFalse == test_14) { - var_subTypes_11027 = cast_11305_boolType.readProperty_falseSubAttributes () ; - } - } - } - } - switch (select_goil_5F_syntax_12 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 377)) ; - enumGalgasBool test_15 = kBoolTrue ; - if (kBoolTrue == test_15) { - test_15 = GALGAS_bool (kIsEqual, var_subTypes_11027.getter_count (SOURCE_FILE ("goil_syntax.galgas", 378)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; - if (kBoolTrue == test_15) { - TC_Array fixItArray16 ; - inCompiler->emitSemanticError (var_value_10988.readProperty_location (), function_stringLBool (var_value_10988, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 379)).add_operation (GALGAS_string (" value of "), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 379)).add_operation (var_idf_8101.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 379)).add_operation (GALGAS_string (" has no sub-attribute"), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 379)), fixItArray16 COMMA_SOURCE_FILE ("goil_syntax.galgas", 379)) ; - } - } - nt_oil_5F_declaration_5F_list_ (var_subTypes_11027, var_subAttributes_11097, inCompiler) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 382)) ; - } break ; - case 2: { - } break ; - default: - break ; - } - GALGAS_lstring var_oil_5F_desc_11803 ; - nt_description_ (var_oil_5F_desc_11803, inCompiler) ; - var_val_8117 = GALGAS_boolAttribute::class_func_new (var_oil_5F_desc_11803, var_idf_8101.readProperty_location (), var_value_10988.readProperty_bool (), var_subAttributes_11097 COMMA_SOURCE_FILE ("goil_syntax.galgas", 385)) ; - } break ; - case 4: { - GALGAS_lstring var_literalString_11951 ; - var_literalString_11951 = inCompiler->synthetizedAttribute_a_5F_string () ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 389)) ; - GALGAS_lstring var_oil_5F_desc_12029 ; - nt_description_ (var_oil_5F_desc_12029, inCompiler) ; - var_val_8117 = GALGAS_stringAttribute::class_func_new (var_oil_5F_desc_12029, var_literalString_11951.readProperty_location (), var_literalString_11951.readProperty_string () COMMA_SOURCE_FILE ("goil_syntax.galgas", 391)) ; - } break ; - case 5: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_AUTO COMMA_SOURCE_FILE ("goil_syntax.galgas", 394)) ; - GALGAS_lstring var_oil_5F_desc_12202 ; - nt_description_ (var_oil_5F_desc_12202, inCompiler) ; - enumGalgasBool test_17 = kBoolTrue ; - if (kBoolTrue == test_17) { - test_17 = callExtensionGetter_autoAllowed ((const cPtr_impType *) var_type_8188.ptr (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 397)).boolEnum () ; - if (kBoolTrue == test_17) { - var_val_8117 = GALGAS_auto::class_func_new (var_oil_5F_desc_12202, GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 398)) COMMA_SOURCE_FILE ("goil_syntax.galgas", 398)) ; - } - } - if (kBoolFalse == test_17) { - TC_Array fixItArray18 ; - inCompiler->emitSemanticError (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 413)), GALGAS_string ("AUTO is not allowed"), fixItArray18 COMMA_SOURCE_FILE ("goil_syntax.galgas", 413)) ; - var_val_8117.drop () ; // Release error dropped variable - } - } break ; - default: - break ; - } - } break ; - case 2: { - GALGAS_lstring var_name_13037 = inCompiler->synthetizedAttribute_att_5F_token () ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 417)) ; - GALGAS_implementationObjectMap var_subTypes_13050 = GALGAS_implementationObjectMap::class_func_emptyMap (SOURCE_FILE ("goil_syntax.galgas", 418)) ; - GALGAS_objectAttributes var_subAttributes_13118 = function_emptyObject (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 419)) ; - enumGalgasBool test_19 = kBoolTrue ; - if (kBoolTrue == test_19) { - test_19 = GALGAS_bool (kIsNotEqual, var_type_8188.readProperty_type ().objectCompare (GALGAS_dataType::class_func_structType (SOURCE_FILE ("goil_syntax.galgas", 421)))).boolEnum () ; - if (kBoolTrue == test_19) { - TC_Array fixItArray20 ; - inCompiler->emitSemanticError (var_idf_8101.readProperty_location (), extensionGetter_oilType (var_type_8188.readProperty_type (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 422)).add_operation (GALGAS_string (" expected, got a STRUCT"), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 422)), fixItArray20 COMMA_SOURCE_FILE ("goil_syntax.galgas", 422)) ; - } - } - if (kBoolFalse == test_19) { - if (var_type_8188.isValid ()) { - if (var_type_8188.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impStructType) { - GALGAS_impStructType cast_13333_structType ((cPtr_impStructType *) var_type_8188.ptr ()) ; - var_subTypes_13050 = cast_13333_structType.readProperty_structAttributes () ; - } - } - } - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 429)) ; - nt_oil_5F_declaration_5F_list_ (var_subTypes_13050, var_subAttributes_13118, inCompiler) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 431)) ; - GALGAS_lstring var_oil_5F_desc_13527 ; - nt_description_ (var_oil_5F_desc_13527, inCompiler) ; - var_val_8117 = GALGAS_structAttribute::class_func_new (var_oil_5F_desc_13527, GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 433)), var_name_13037, var_subAttributes_13118 COMMA_SOURCE_FILE ("goil_syntax.galgas", 433)) ; - } break ; - default: - break ; - } - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__3B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 435)) ; - GALGAS_identifierMap var_idfs_13675 = ioArgument_identifiers.readProperty_objectParams () ; - enumGalgasBool test_21 = kBoolTrue ; - if (kBoolTrue == test_21) { - test_21 = var_type_8188.readProperty_multiple ().boolEnum () ; - if (kBoolTrue == test_21) { - enumGalgasBool test_22 = kBoolTrue ; - if (kBoolTrue == test_22) { - test_22 = var_idfs_13675.getter_hasKey (var_idf_8101.readProperty_string () COMMA_SOURCE_FILE ("goil_syntax.galgas", 440)).boolEnum () ; - if (kBoolTrue == test_22) { - GALGAS_object_5F_t var_attributeList_13794 ; - { - var_idfs_13675.setter_del (var_idf_8101, var_attributeList_13794, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 444)) ; - } - if (var_attributeList_13794.isValid ()) { - if (var_attributeList_13794.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_multipleAttribute) { - GALGAS_multipleAttribute cast_13987_multiAttribute ((cPtr_multipleAttribute *) var_attributeList_13794.ptr ()) ; - GALGAS_identifierList var_aList_14028 = cast_13987_multiAttribute.readProperty_items () ; - var_aList_14028.addAssign_operation (var_val_8117 COMMA_SOURCE_FILE ("goil_syntax.galgas", 448)) ; - var_val_8117 = GALGAS_multipleAttribute::class_func_new (function_emptyLString (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 449)), cast_13987_multiAttribute.readProperty_location (), var_aList_14028 COMMA_SOURCE_FILE ("goil_syntax.galgas", 449)) ; - } - } - } - } - if (kBoolFalse == test_22) { - GALGAS_identifierList var_aList_14218 = GALGAS_identifierList::class_func_emptyList (SOURCE_FILE ("goil_syntax.galgas", 452)) ; - GALGAS_object_5F_t var_defaultValue_14294 = callExtensionGetter_getDefaultValue ((const cPtr_impType *) var_type_8188.ptr (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 454)) ; - if (var_defaultValue_14294.isValid ()) { - if (var_defaultValue_14294.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_multipleAttribute) { - GALGAS_multipleAttribute cast_14421_multiAttribute ((cPtr_multipleAttribute *) var_defaultValue_14294.ptr ()) ; - var_aList_14218 = cast_14421_multiAttribute.readProperty_items () ; - } - } - var_aList_14218.addAssign_operation (var_val_8117 COMMA_SOURCE_FILE ("goil_syntax.galgas", 464)) ; - var_val_8117 = GALGAS_multipleAttribute::class_func_new (function_emptyLString (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 466)), var_val_8117.readProperty_location (), var_aList_14218 COMMA_SOURCE_FILE ("goil_syntax.galgas", 466)) ; - } - } - } - if (kBoolFalse == test_21) { - enumGalgasBool test_23 = kBoolTrue ; - if (kBoolTrue == test_23) { - test_23 = var_idfs_13675.getter_hasKey (var_idf_8101.readProperty_string () COMMA_SOURCE_FILE ("goil_syntax.galgas", 469)).boolEnum () ; - if (kBoolTrue == test_23) { - GALGAS_object_5F_t var_existingObject_14901 ; - { - var_idfs_13675.setter_del (var_idf_8101, var_existingObject_14901, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 473)) ; - } - { - var_val_8117.insulate (HERE) ; - cPtr_object_5F_t * ptr_14965 = (cPtr_object_5F_t *) var_val_8117.ptr () ; - callExtensionSetter_mergeSubAttributes ((cPtr_object_5F_t *) ptr_14965, var_existingObject_14901, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 474)) ; - } - } - } - } - enumGalgasBool test_24 = kBoolTrue ; - if (kBoolTrue == test_24) { - test_24 = var_typeOk_8285.boolEnum () ; - if (kBoolTrue == test_24) { - { - var_idfs_13675.setter_put (var_idf_8101, var_val_8117, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 478)) ; - } - } - } - { - ioArgument_identifiers.setter_setObjectParams (var_idfs_13675 COMMA_SOURCE_FILE ("goil_syntax.galgas", 480)) ; +//---------------------------------------------------------------------------------------------------------------------- + +bool cMapElement_objectKindMap::isValid (void) const { + return mProperty_lkey.isValid () ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +cMapElement * cMapElement_objectKindMap::copy (void) { + cMapElement * result = nullptr ; + macroMyNew (result, cMapElement_objectKindMap (mProperty_lkey, mProperty_attributes COMMA_HERE)) ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void cMapElement_objectKindMap::description (C_String & ioString, const int32_t inIndentation) const { + ioString << "\n" ; + ioString.writeStringMultiple ("| ", inIndentation) ; + ioString << "attributes" ":" ; + mProperty_attributes.description (ioString, inIndentation) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +typeComparisonResult cMapElement_objectKindMap::compare (const cCollectionElement * inOperand) const { + cMapElement_objectKindMap * operand = (cMapElement_objectKindMap *) inOperand ; + typeComparisonResult result = mProperty_lkey.objectCompare (operand->mProperty_lkey) ; + if (kOperandEqual == result) { + result = mProperty_attributes.objectCompare (operand->mProperty_attributes) ; } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_objectKindMap::GALGAS_objectKindMap (void) : +AC_GALGAS_map (true) { +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_objectKindMap::GALGAS_objectKindMap (const GALGAS_objectKindMap & inSource) : +AC_GALGAS_map (inSource) { +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_objectKindMap & GALGAS_objectKindMap::operator = (const GALGAS_objectKindMap & inSource) { + * ((AC_GALGAS_map *) this) = inSource ; + return * this ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_objectKindMap GALGAS_objectKindMap::constructor_emptyMap (LOCATION_ARGS) { + GALGAS_objectKindMap result ; + result.makeNewEmptyMap (THERE) ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_objectKindMap GALGAS_objectKindMap::constructor_mapWithMapToOverride (const GALGAS_objectKindMap & inMapToOverride + COMMA_LOCATION_ARGS) { + GALGAS_objectKindMap result ; + result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_objectKindMap GALGAS_objectKindMap::getter_overriddenMap (C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_objectKindMap result ; + getOverridenMap (result, inCompiler COMMA_THERE) ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void GALGAS_objectKindMap::addAssign_operation (const GALGAS_lstring & inKey, + const GALGAS_objectAttributes & inArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cMapElement_objectKindMap * p = nullptr ; + macroMyNew (p, cMapElement_objectKindMap (inKey, inArgument0 COMMA_HERE)) ; + capCollectionElement attributes ; + attributes.setPointer (p) ; + macroDetachSharedObject (p) ; + const char * kInsertErrorMessage = "@objectKindMap insert error: '%K' already in map" ; + const char * kShadowErrorMessage = "" ; + performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_oil_5F_declaration_i10_parse (Lexique_goil_5F_lexique * inCompiler) { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 281)) ; - switch (select_goil_5F_syntax_8 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__3D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 294)) ; - switch (select_goil_5F_syntax_9 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 298)) ; - switch (select_goil_5F_syntax_10 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 317)) ; - nt_oil_5F_declaration_5F_list_parse (inCompiler) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 319)) ; - } break ; - case 2: { - } break ; - default: - break ; - } - nt_description_parse (inCompiler) ; - } break ; - case 2: { - nt_sign_parse (inCompiler) ; - switch (select_goil_5F_syntax_11 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_uint_5F_number COMMA_SOURCE_FILE ("goil_syntax.galgas", 336)) ; - nt_description_parse (inCompiler) ; - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_float_5F_number COMMA_SOURCE_FILE ("goil_syntax.galgas", 348)) ; - nt_description_parse (inCompiler) ; - } break ; - default: - break ; - } - } break ; - case 3: { - nt_boolean_parse (inCompiler) ; - switch (select_goil_5F_syntax_12 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 377)) ; - nt_oil_5F_declaration_5F_list_parse (inCompiler) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 382)) ; - } break ; - case 2: { - } break ; - default: - break ; - } - nt_description_parse (inCompiler) ; - } break ; - case 4: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 389)) ; - nt_description_parse (inCompiler) ; - } break ; - case 5: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_AUTO COMMA_SOURCE_FILE ("goil_syntax.galgas", 394)) ; - nt_description_parse (inCompiler) ; - } break ; - default: - break ; - } - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 417)) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 429)) ; - nt_oil_5F_declaration_5F_list_parse (inCompiler) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 431)) ; - nt_description_parse (inCompiler) ; - } break ; - default: - break ; +GALGAS_objectKindMap GALGAS_objectKindMap::add_operation (const GALGAS_objectKindMap & inOperand, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_objectKindMap result = *this ; + cEnumerator_objectKindMap enumerator (inOperand, kENUMERATION_UP) ; + while (enumerator.hasCurrentObject ()) { + result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_attributes (HERE), inCompiler COMMA_THERE) ; + enumerator.gotoNextObject () ; } - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__3B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 435)) ; - inCompiler->resetTemplateString () ; + return result ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_oil_5F_declaration_i10_indexing (Lexique_goil_5F_lexique * inCompiler) { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 281)) ; - switch (select_goil_5F_syntax_8 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__3D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 294)) ; - switch (select_goil_5F_syntax_9 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 298)) ; - switch (select_goil_5F_syntax_10 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 317)) ; - nt_oil_5F_declaration_5F_list_indexing (inCompiler) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 319)) ; - } break ; - case 2: { - } break ; - default: - break ; - } - nt_description_indexing (inCompiler) ; - } break ; - case 2: { - nt_sign_indexing (inCompiler) ; - switch (select_goil_5F_syntax_11 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_uint_5F_number COMMA_SOURCE_FILE ("goil_syntax.galgas", 336)) ; - nt_description_indexing (inCompiler) ; - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_float_5F_number COMMA_SOURCE_FILE ("goil_syntax.galgas", 348)) ; - nt_description_indexing (inCompiler) ; - } break ; - default: - break ; - } - } break ; - case 3: { - nt_boolean_indexing (inCompiler) ; - switch (select_goil_5F_syntax_12 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 377)) ; - nt_oil_5F_declaration_5F_list_indexing (inCompiler) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 382)) ; - } break ; - case 2: { - } break ; - default: - break ; - } - nt_description_indexing (inCompiler) ; - } break ; - case 4: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 389)) ; - nt_description_indexing (inCompiler) ; - } break ; - case 5: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_AUTO COMMA_SOURCE_FILE ("goil_syntax.galgas", 394)) ; - nt_description_indexing (inCompiler) ; - } break ; - default: - break ; - } - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 417)) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 429)) ; - nt_oil_5F_declaration_5F_list_indexing (inCompiler) ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 431)) ; - nt_description_indexing (inCompiler) ; - } break ; - default: - break ; +void GALGAS_objectKindMap::setter_put (GALGAS_lstring inKey, + GALGAS_objectAttributes inArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cMapElement_objectKindMap * p = nullptr ; + macroMyNew (p, cMapElement_objectKindMap (inKey, inArgument0 COMMA_HERE)) ; + capCollectionElement attributes ; + attributes.setPointer (p) ; + macroDetachSharedObject (p) ; + const char * kInsertErrorMessage = "%K is duplicated in %L" ; + const char * kShadowErrorMessage = "" ; + performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +const char * kSearchErrorMessage_objectKindMap_get = "%K does not exists" ; + +//---------------------------------------------------------------------------------------------------------------------- + +void GALGAS_objectKindMap::method_get (GALGAS_lstring inKey, + GALGAS_objectAttributes & outArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + const cMapElement_objectKindMap * p = (const cMapElement_objectKindMap *) performSearch (inKey, + inCompiler, + kSearchErrorMessage_objectKindMap_get + COMMA_THERE) ; + if (nullptr == p) { + outArgument0.drop () ; + }else{ + macroValidSharedObject (p, cMapElement_objectKindMap) ; + outArgument0 = p->mProperty_attributes ; } - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__3B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 435)) ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_include_5F_file_5F_level_i11_ (GALGAS_implementation & ioArgument_imp, - GALGAS_applicationDefinition & ioArgument_application, - GALGAS_string & ioArgument_fileIncludeList, - const GALGAS_bool constinArgument_rootFile, - Lexique_goil_5F_lexique * inCompiler) { - GALGAS_bool var_includeIfExists_15268 = GALGAS_bool (false) ; - switch (select_goil_5F_syntax_13 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_include COMMA_SOURCE_FILE ("goil_syntax.galgas", 491)) ; - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_includeifexists COMMA_SOURCE_FILE ("goil_syntax.galgas", 493)) ; - var_includeIfExists_15268 = GALGAS_bool (true) ; - } break ; - default: - break ; +void GALGAS_objectKindMap::setter_del (GALGAS_lstring inKey, + GALGAS_objectAttributes & outArgument0, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + const char * kRemoveErrorMessage = "%K does not exists" ; + capCollectionElement attributes ; + performRemove (inKey, attributes, inCompiler, kRemoveErrorMessage COMMA_THERE) ; + cMapElement_objectKindMap * p = (cMapElement_objectKindMap *) attributes.ptr () ; + if (nullptr == p) { + outArgument0.drop () ; + }else{ + macroValidSharedObject (p, cMapElement_objectKindMap) ; + outArgument0 = p->mProperty_attributes ; } - GALGAS_lstring var_file_5F_name_15384 ; - switch (select_goil_5F_syntax_14 (inCompiler)) { - case 1: { - var_file_5F_name_15384 = inCompiler->synthetizedAttribute_a_5F_string () ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_g_5F_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 497)) ; - { - routine_file_5F_in_5F_path_26_ (var_file_5F_name_15384, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 498)) ; - } - } break ; - case 2: { - var_file_5F_name_15384 = inCompiler->synthetizedAttribute_a_5F_string () ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 500)) ; - } break ; - default: - break ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_objectAttributes GALGAS_objectKindMap::getter_attributesForKey (const GALGAS_string & inKey, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; + const cMapElement_objectKindMap * p = (const cMapElement_objectKindMap *) attributes ; + GALGAS_objectAttributes result ; + if (nullptr != p) { + macroValidSharedObject (p, cMapElement_objectKindMap) ; + result = p->mProperty_attributes ; } - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - GALGAS_bool test_1 = var_includeIfExists_15268.operator_not (SOURCE_FILE ("goil_syntax.galgas", 502)) ; - if (kBoolTrue != test_1.boolEnum ()) { - GALGAS_bool test_2 = var_includeIfExists_15268 ; - if (kBoolTrue == test_2.boolEnum ()) { - test_2 = var_file_5F_name_15384.readProperty_string ().getter_fileExists (SOURCE_FILE ("goil_syntax.galgas", 502)) ; - } - test_1 = test_2 ; - } - test_0 = test_1.boolEnum () ; - if (kBoolTrue == test_0) { - cGrammar_goil_5F_file_5F_level_5F_include::_performSourceFileParsing_ (inCompiler, var_file_5F_name_15384, ioArgument_imp, ioArgument_application, ioArgument_fileIncludeList, constinArgument_rootFile COMMA_SOURCE_FILE ("goil_syntax.galgas", 503)) ; - } + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +void GALGAS_objectKindMap::setter_setAttributesForKey (GALGAS_objectAttributes inAttributeValue, + GALGAS_string inKey, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; + cMapElement_objectKindMap * p = (cMapElement_objectKindMap *) attributes ; + if (nullptr != p) { + macroValidSharedObject (p, cMapElement_objectKindMap) ; + p->mProperty_attributes = inAttributeValue ; } } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- + +cMapElement_objectKindMap * GALGAS_objectKindMap::readWriteAccessForWithInstruction (C_Compiler * inCompiler, + const GALGAS_string & inKey + COMMA_LOCATION_ARGS) { + cMapElement_objectKindMap * result = (cMapElement_objectKindMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; + macroNullOrValidSharedObject (result, cMapElement_objectKindMap) ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +cEnumerator_objectKindMap::cEnumerator_objectKindMap (const GALGAS_objectKindMap & inEnumeratedObject, + const typeEnumerationOrder inOrder) : +cGenericAbstractEnumerator (inOrder) { + inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_objectKindMap_2D_element cEnumerator_objectKindMap::current (LOCATION_ARGS) const { + const cMapElement_objectKindMap * p = (const cMapElement_objectKindMap *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement_objectKindMap) ; + return GALGAS_objectKindMap_2D_element (p->mProperty_lkey, p->mProperty_attributes) ; +} + +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_include_5F_file_5F_level_i11_parse (Lexique_goil_5F_lexique * inCompiler) { - switch (select_goil_5F_syntax_13 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_include COMMA_SOURCE_FILE ("goil_syntax.galgas", 491)) ; - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_includeifexists COMMA_SOURCE_FILE ("goil_syntax.galgas", 493)) ; - } break ; - default: - break ; - } - switch (select_goil_5F_syntax_14 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_g_5F_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 497)) ; - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 500)) ; - } break ; - default: - break ; - } - inCompiler->resetTemplateString () ; +GALGAS_lstring cEnumerator_objectKindMap::current_lkey (LOCATION_ARGS) const { + const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement) ; + return p->mProperty_lkey ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_include_5F_file_5F_level_i11_indexing (Lexique_goil_5F_lexique * inCompiler) { - switch (select_goil_5F_syntax_13 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_include COMMA_SOURCE_FILE ("goil_syntax.galgas", 491)) ; - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_includeifexists COMMA_SOURCE_FILE ("goil_syntax.galgas", 493)) ; - } break ; - default: - break ; - } - switch (select_goil_5F_syntax_14 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_g_5F_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 497)) ; - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 500)) ; - } break ; - default: - break ; - } +GALGAS_objectAttributes cEnumerator_objectKindMap::current_attributes (LOCATION_ARGS) const { + const cMapElement_objectKindMap * p = (const cMapElement_objectKindMap *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement_objectKindMap) ; + return p->mProperty_attributes ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_include_5F_cpu_5F_level_i12_ (const GALGAS_implementation constinArgument_imp, - GALGAS_objectsMap & ioArgument_objects, - GALGAS_string & ioArgument_fileIncludeList, - const GALGAS_bool constinArgument_rootFile, - Lexique_goil_5F_lexique * inCompiler) { - GALGAS_bool var_includeIfExists_15817 = GALGAS_bool (false) ; - switch (select_goil_5F_syntax_15 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_include COMMA_SOURCE_FILE ("goil_syntax.galgas", 515)) ; - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_includeifexists COMMA_SOURCE_FILE ("goil_syntax.galgas", 517)) ; - var_includeIfExists_15817 = GALGAS_bool (true) ; - } break ; - default: - break ; - } - GALGAS_lstring var_file_5F_name_15933 ; - switch (select_goil_5F_syntax_16 (inCompiler)) { - case 1: { - var_file_5F_name_15933 = inCompiler->synthetizedAttribute_a_5F_string () ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_g_5F_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 521)) ; - { - routine_file_5F_in_5F_path_26_ (var_file_5F_name_15933, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 522)) ; - } - } break ; - case 2: { - var_file_5F_name_15933 = inCompiler->synthetizedAttribute_a_5F_string () ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 524)) ; - } break ; - default: - break ; - } - enumGalgasBool test_0 = kBoolTrue ; - if (kBoolTrue == test_0) { - GALGAS_bool test_1 = var_includeIfExists_15817.operator_not (SOURCE_FILE ("goil_syntax.galgas", 526)) ; - if (kBoolTrue != test_1.boolEnum ()) { - GALGAS_bool test_2 = var_includeIfExists_15817 ; - if (kBoolTrue == test_2.boolEnum ()) { - test_2 = var_file_5F_name_15933.readProperty_string ().getter_fileExists (SOURCE_FILE ("goil_syntax.galgas", 526)) ; - } - test_1 = test_2 ; - } - test_0 = test_1.boolEnum () ; - if (kBoolTrue == test_0) { - cGrammar_goil_5F_cpu_5F_level_5F_include::_performSourceFileParsing_ (inCompiler, var_file_5F_name_15933, constinArgument_imp, ioArgument_objects, ioArgument_fileIncludeList, constinArgument_rootFile COMMA_SOURCE_FILE ("goil_syntax.galgas", 527)) ; - } +bool GALGAS_objectKindMap::optional_searchKey (const GALGAS_string & inKey, + GALGAS_objectAttributes & outArgument0) const { + const cMapElement_objectKindMap * p = (const cMapElement_objectKindMap *) searchForKey (inKey) ; + const bool result = nullptr != p ; + if (result) { + macroValidSharedObject (p, cMapElement_objectKindMap) ; + outArgument0 = p->mProperty_attributes ; + }else{ + outArgument0.drop () ; } + return result ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- +// +// @objectKindMap generic code implementation +// +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_include_5F_cpu_5F_level_i12_parse (Lexique_goil_5F_lexique * inCompiler) { - switch (select_goil_5F_syntax_15 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_include COMMA_SOURCE_FILE ("goil_syntax.galgas", 515)) ; - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_includeifexists COMMA_SOURCE_FILE ("goil_syntax.galgas", 517)) ; - } break ; - default: - break ; - } - switch (select_goil_5F_syntax_16 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_g_5F_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 521)) ; - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 524)) ; - } break ; - default: - break ; - } - inCompiler->resetTemplateString () ; +const C_galgas_type_descriptor +kTypeDescriptor_GALGAS_objectKindMap ("objectKindMap", + nullptr) ; + +//---------------------------------------------------------------------------------------------------------------------- + +const C_galgas_type_descriptor * GALGAS_objectKindMap::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_objectKindMap ; } -//---------------------------------------------------------------------------------------------------------------------* +//---------------------------------------------------------------------------------------------------------------------- -void cParser_goil_5F_syntax::rule_goil_5F_syntax_include_5F_cpu_5F_level_i12_indexing (Lexique_goil_5F_lexique * inCompiler) { - switch (select_goil_5F_syntax_15 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_include COMMA_SOURCE_FILE ("goil_syntax.galgas", 515)) ; - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_includeifexists COMMA_SOURCE_FILE ("goil_syntax.galgas", 517)) ; - } break ; - default: - break ; +AC_GALGAS_root * GALGAS_objectKindMap::clonedObject (void) const { + AC_GALGAS_root * result = nullptr ; + if (isValid ()) { + macroMyNew (result, GALGAS_objectKindMap (*this)) ; } - switch (select_goil_5F_syntax_16 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_g_5F_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 521)) ; - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 524)) ; - } break ; - default: - break ; + return result ; +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_objectKindMap GALGAS_objectKindMap::extractObject (const GALGAS_object & inObject, + C_Compiler * inCompiler + COMMA_LOCATION_ARGS) { + GALGAS_objectKindMap result ; + const GALGAS_objectKindMap * p = (const GALGAS_objectKindMap *) inObject.embeddedObject () ; + if (nullptr != p) { + if (nullptr != dynamic_cast (p)) { + result = *p ; + }else{ + inCompiler->castError ("objectKindMap", p->dynamicTypeDescriptor () COMMA_THERE) ; + } } + return result ; } + + //---------------------------------------------------------------------------------------------------------------------* -void cParser_goil_5F_syntax::rule_goil_5F_syntax_include_5F_object_5F_level_i13_ (const GALGAS_implementationObjectMap constinArgument_types, - GALGAS_objectAttributes & ioArgument_identifiers, - Lexique_goil_5F_lexique * inCompiler) { - GALGAS_bool var_includeIfExists_16334 = GALGAS_bool (false) ; - switch (select_goil_5F_syntax_17 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_include COMMA_SOURCE_FILE ("goil_syntax.galgas", 537)) ; - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_includeifexists COMMA_SOURCE_FILE ("goil_syntax.galgas", 539)) ; - var_includeIfExists_16334 = GALGAS_bool (true) ; - } break ; - default: - break ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_start_i0_ (C_Lexique_goil_5F_lexique * inCompiler) { + GALGAS_implementation var_imp_953 = GALGAS_implementation::constructor_new (GALGAS_implementationMap::constructor_emptyMap (SOURCE_FILE ("goil_syntax.galgas", 39)) COMMA_SOURCE_FILE ("goil_syntax.galgas", 39)) ; + GALGAS_applicationDefinition var_application_1039 = function_emptyApplicationDefinition (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 40)) ; + GALGAS_string var_fileIncludeList_1093 = GALGAS_string::makeEmptyString () ; + GALGAS_lstring var_version_1176 ; + GALGAS_lstring var_desc_1199 ; + nt_OIL_5F_version_ (var_version_1176, var_desc_1199, inCompiler) ; + { + var_application_1039.setter_setVersion (var_version_1176 COMMA_SOURCE_FILE ("goil_syntax.galgas", 48)) ; } - GALGAS_lstring var_file_5F_name_16450 ; - switch (select_goil_5F_syntax_18 (inCompiler)) { - case 1: { - var_file_5F_name_16450 = inCompiler->synthetizedAttribute_a_5F_string () ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_g_5F_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 543)) ; - { - routine_file_5F_in_5F_path_26_ (var_file_5F_name_16450, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 544)) ; - } - } break ; - case 2: { - var_file_5F_name_16450 = inCompiler->synthetizedAttribute_a_5F_string () ; - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 546)) ; - } break ; - default: - break ; + { + var_application_1039.setter_setVersionDescription (var_desc_1199 COMMA_SOURCE_FILE ("goil_syntax.galgas", 49)) ; + } + GALGAS_string var_config_5F_file_5F_name_1336 = GALGAS_string (gOption_goil_5F_options_config.readProperty_value ()) ; + GALGAS_stringlist var_configFiles_1447 = function_allTemplateFilePaths (GALGAS_string ("config"), var_config_5F_file_5F_name_1336.add_operation (GALGAS_string (".oil"), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 56)), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 56)) ; + cEnumerator_stringlist enumerator_1657 (var_configFiles_1447, kENUMERATION_DOWN) ; + while (enumerator_1657.hasCurrentObject ()) { + cGrammar_goil_5F_file_5F_level_5F_include::_performSourceFileParsing_ (inCompiler, function_lstringWith (enumerator_1657.current_mValue (HERE), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 63)), var_imp_953, var_application_1039, var_fileIncludeList_1093, GALGAS_bool (false) COMMA_SOURCE_FILE ("goil_syntax.galgas", 63)) ; + enumerator_1657.gotoNextObject () ; } + GALGAS_stringlist var_configVersionFiles_2033 = function_allTemplateFilePaths (GALGAS_string ("config"), var_config_5F_file_5F_name_1336.add_operation (var_version_1176.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 74)).add_operation (GALGAS_string (".oil"), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 74)), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 72)) ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - GALGAS_bool test_1 = var_includeIfExists_16334.operator_not (SOURCE_FILE ("goil_syntax.galgas", 548)) ; - if (kBoolTrue != test_1.boolEnum ()) { - GALGAS_bool test_2 = var_includeIfExists_16334 ; - if (kBoolTrue == test_2.boolEnum ()) { - test_2 = var_file_5F_name_16450.readProperty_string ().getter_fileExists (SOURCE_FILE ("goil_syntax.galgas", 548)) ; - } - test_1 = test_2 ; - } - test_0 = test_1.boolEnum () ; + test_0 = GALGAS_bool (kIsEqual, var_configVersionFiles_2033.getter_count (SOURCE_FILE ("goil_syntax.galgas", 76)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; if (kBoolTrue == test_0) { - cGrammar_goil_5F_object_5F_level_5F_include::_performSourceFileParsing_ (inCompiler, var_file_5F_name_16450, constinArgument_types, ioArgument_identifiers COMMA_SOURCE_FILE ("goil_syntax.galgas", 549)) ; + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 77)), GALGAS_string ("OIL version ").add_operation (var_version_1176.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 77)).add_operation (GALGAS_string (" does not exist"), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 77)), fixItArray1 COMMA_SOURCE_FILE ("goil_syntax.galgas", 77)) ; } } -} - -//---------------------------------------------------------------------------------------------------------------------* - -void cParser_goil_5F_syntax::rule_goil_5F_syntax_include_5F_object_5F_level_i13_parse (Lexique_goil_5F_lexique * inCompiler) { - switch (select_goil_5F_syntax_17 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_include COMMA_SOURCE_FILE ("goil_syntax.galgas", 537)) ; - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_includeifexists COMMA_SOURCE_FILE ("goil_syntax.galgas", 539)) ; - } break ; - default: - break ; + cEnumerator_stringlist enumerator_2262 (var_configVersionFiles_2033, kENUMERATION_DOWN) ; + while (enumerator_2262.hasCurrentObject ()) { + cGrammar_goil_5F_file_5F_level_5F_include::_performSourceFileParsing_ (inCompiler, function_lstringWith (enumerator_2262.current_mValue (HERE), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 81)), var_imp_953, var_application_1039, var_fileIncludeList_1093, GALGAS_bool (false) COMMA_SOURCE_FILE ("goil_syntax.galgas", 81)) ; + enumerator_2262.gotoNextObject () ; } - switch (select_goil_5F_syntax_18 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_g_5F_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 543)) ; - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 546)) ; - } break ; - default: - break ; + nt_file_ (var_imp_953, var_application_1039, var_fileIncludeList_1093, GALGAS_bool (true), inCompiler) ; + callExtensionMethod_checkObjectReferences ((cPtr_implementation *) var_imp_953.ptr (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 92)) ; + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = GALGAS_bool (kIsEqual, GALGAS_uint::constructor_errorCount (SOURCE_FILE ("goil_syntax.galgas", 94)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + if (kBoolTrue == test_2) { + { + routine_setDefaults (var_imp_953, var_application_1039, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 95)) ; + } + } + } + enumGalgasBool test_3 = kBoolTrue ; + if (kBoolTrue == test_3) { + test_3 = GALGAS_bool (kIsEqual, GALGAS_uint::constructor_errorCount (SOURCE_FILE ("goil_syntax.galgas", 102)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + if (kBoolTrue == test_3) { + { + routine_verifyAll (var_imp_953, var_application_1039, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 103)) ; + } + } + } + enumGalgasBool test_4 = kBoolTrue ; + if (kBoolTrue == test_4) { + test_4 = GALGAS_bool (kIsEqual, GALGAS_uint::constructor_errorCount (SOURCE_FILE ("goil_syntax.galgas", 105)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + if (kBoolTrue == test_4) { + GALGAS_gtlData var_templateData_2863 = callExtensionGetter_templateData ((const cPtr_applicationDefinition *) var_application_1039.ptr (), var_imp_953, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 106)) ; + { + routine_generate_5F_all (var_templateData_2863, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 109)) ; + } + } } - inCompiler->resetTemplateString () ; + var_fileIncludeList_1093 = GALGAS_string::constructor_stringWithSourceFilePath (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 112)).getter_lastPathComponent (SOURCE_FILE ("goil_syntax.galgas", 112)).add_operation (GALGAS_string (":"), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 112)).add_operation (var_fileIncludeList_1093, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 112)).add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 112)) ; + GALGAS_string var_oilDepFileName_3168 = GALGAS_string::constructor_stringWithSourceFilePath (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 113)).getter_stringByDeletingLastPathComponent (SOURCE_FILE ("goil_syntax.galgas", 113)).add_operation (GALGAS_string ("/build/"), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 113)).add_operation (GALGAS_string::constructor_stringWithSourceFilePath (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 114)).getter_lastPathComponent (SOURCE_FILE ("goil_syntax.galgas", 114)), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 114)).add_operation (GALGAS_string (".dep"), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 114)) ; + var_fileIncludeList_1093.method_writeToFile (var_oilDepFileName_3168, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 116)) ; } //---------------------------------------------------------------------------------------------------------------------* -void cParser_goil_5F_syntax::rule_goil_5F_syntax_include_5F_object_5F_level_i13_indexing (Lexique_goil_5F_lexique * inCompiler) { - switch (select_goil_5F_syntax_17 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_include COMMA_SOURCE_FILE ("goil_syntax.galgas", 537)) ; - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_includeifexists COMMA_SOURCE_FILE ("goil_syntax.galgas", 539)) ; - } break ; - default: - break ; - } - switch (select_goil_5F_syntax_18 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_g_5F_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 543)) ; - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 546)) ; - } break ; - default: - break ; - } +void cParser_goil_5F_syntax::rule_goil_5F_syntax_start_i0_parse (C_Lexique_goil_5F_lexique * inCompiler) { + nt_OIL_5F_version_parse (inCompiler) ; + nt_file_parse (inCompiler) ; + inCompiler->resetTemplateString () ; } -//-------------------------------------------------------------------------------------------------- - -#include "MF_MemoryControl.h" -#include "C_galgas_CLI_Options.h" - -#include "FileManager.h" - -//-------------------------------------------------------------------------------------------------- - - -//-------------------------------------------------------------------------------------------------- -// -// LL(1) PRODUCTION RULES -// -//-------------------------------------------------------------------------------------------------- - -static const int32_t gProductions_goil_object_level_include [] = { -// At index 0 : , in file 'goil_syntax.ggs', line 38 - TOP_DOWN_NONTERMINAL (6) // -, TOP_DOWN_NONTERMINAL (2) // -, TOP_DOWN_END_PRODUCTION () -// At index 3 : , in file 'goil_syntax.ggs', line 119 -, TOP_DOWN_NONTERMINAL (15) // -, TOP_DOWN_END_PRODUCTION () -// At index 5 : , in file 'goil_syntax.ggs', line 135 -, TOP_DOWN_NONTERMINAL (16) // -, TOP_DOWN_END_PRODUCTION () -// At index 7 : , in file 'goil_syntax.ggs', line 146 -, TOP_DOWN_NONTERMINAL (17) // -, TOP_DOWN_END_PRODUCTION () -// At index 9 : , in file 'goil_syntax.ggs', line 159 -, TOP_DOWN_NONTERMINAL (18) // -, TOP_DOWN_END_PRODUCTION () -// At index 11 : , in file 'goil_syntax.ggs', line 183 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_OIL_5F_VERSION) // $OIL_VERSION$ -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__3D_) // $=$ -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_string) // $string$ -, TOP_DOWN_NONTERMINAL (5) // -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__3B_) // $;$ -, TOP_DOWN_END_PRODUCTION () -// At index 17 : , in file 'goil_syntax.ggs', line 190 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_CPU) // $CPU$ -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_idf) // $idf$ -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__7B_) // ${$ -, TOP_DOWN_NONTERMINAL (8) // -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__7D_) // $}$ -, TOP_DOWN_NONTERMINAL (5) // -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__3B_) // $;$ -, TOP_DOWN_END_PRODUCTION () -// At index 25 : , in file 'goil_syntax.ggs', line 204 -, TOP_DOWN_NONTERMINAL (20) // -, TOP_DOWN_END_PRODUCTION () -// At index 27 : , in file 'goil_syntax.ggs', line 254 -, TOP_DOWN_NONTERMINAL (21) // -, TOP_DOWN_END_PRODUCTION () -// At index 29 : , in file 'goil_syntax.ggs', line 264 -, TOP_DOWN_NONTERMINAL (22) // -, TOP_DOWN_END_PRODUCTION () -// At index 31 : , in file 'goil_syntax.ggs', line 276 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_idf) // $idf$ -, TOP_DOWN_NONTERMINAL (23) // -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__3B_) // $;$ -, TOP_DOWN_END_PRODUCTION () -// At index 35 : , in file 'goil_syntax.ggs', line 483 -, TOP_DOWN_NONTERMINAL (28) // -, TOP_DOWN_NONTERMINAL (29) // -, TOP_DOWN_END_PRODUCTION () -// At index 38 : , in file 'goil_syntax.ggs', line 507 -, TOP_DOWN_NONTERMINAL (30) // -, TOP_DOWN_NONTERMINAL (31) // -, TOP_DOWN_END_PRODUCTION () -// At index 41 : , in file 'goil_syntax.ggs', line 531 -, TOP_DOWN_NONTERMINAL (32) // -, TOP_DOWN_NONTERMINAL (33) // -, TOP_DOWN_END_PRODUCTION () -//---- Added productions from 'select' and 'repeat' instructions -// At index 44 : , in file 'goil_syntax.ggs', line 128 -, TOP_DOWN_END_PRODUCTION () -// At index 45 : , in file 'goil_syntax.ggs', line 128 -, TOP_DOWN_NONTERMINAL (12) // -, TOP_DOWN_NONTERMINAL (15) // -, TOP_DOWN_END_PRODUCTION () -// At index 48 : , in file 'goil_syntax.ggs', line 128 -, TOP_DOWN_NONTERMINAL (0) // -, TOP_DOWN_NONTERMINAL (15) // -, TOP_DOWN_END_PRODUCTION () -// At index 51 : , in file 'goil_syntax.ggs', line 128 -, TOP_DOWN_NONTERMINAL (7) // -, TOP_DOWN_NONTERMINAL (15) // -, TOP_DOWN_END_PRODUCTION () -// At index 54 : , in file 'goil_syntax.ggs', line 140 -, TOP_DOWN_END_PRODUCTION () -// At index 55 : , in file 'goil_syntax.ggs', line 140 -, TOP_DOWN_NONTERMINAL (0) // -, TOP_DOWN_NONTERMINAL (16) // -, TOP_DOWN_END_PRODUCTION () -// At index 58 : , in file 'goil_syntax.ggs', line 140 -, TOP_DOWN_NONTERMINAL (7) // -, TOP_DOWN_NONTERMINAL (16) // -, TOP_DOWN_END_PRODUCTION () -// At index 61 : , in file 'goil_syntax.ggs', line 147 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__2D_) // $-$ -, TOP_DOWN_END_PRODUCTION () -// At index 63 : , in file 'goil_syntax.ggs', line 147 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__2B_) // $+$ -, TOP_DOWN_END_PRODUCTION () -// At index 65 : , in file 'goil_syntax.ggs', line 147 -, TOP_DOWN_END_PRODUCTION () -// At index 66 : , in file 'goil_syntax.ggs', line 160 -, TOP_DOWN_END_PRODUCTION () -// At index 67 : , in file 'goil_syntax.ggs', line 160 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__3A_) // $:$ -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_string) // $string$ -, TOP_DOWN_NONTERMINAL (19) // -, TOP_DOWN_END_PRODUCTION () -// At index 71 : , in file 'goil_syntax.ggs', line 167 -, TOP_DOWN_END_PRODUCTION () -// At index 72 : , in file 'goil_syntax.ggs', line 167 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_string) // $string$ -, TOP_DOWN_NONTERMINAL (19) // -, TOP_DOWN_END_PRODUCTION () -// At index 75 : , in file 'goil_syntax.ggs', line 210 -, TOP_DOWN_END_PRODUCTION () -// At index 76 : , in file 'goil_syntax.ggs', line 210 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_idf) // $idf$ -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_idf) // $idf$ -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__7B_) // ${$ -, TOP_DOWN_NONTERMINAL (10) // -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__7D_) // $}$ -, TOP_DOWN_NONTERMINAL (5) // -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__3B_) // $;$ -, TOP_DOWN_NONTERMINAL (20) // -, TOP_DOWN_END_PRODUCTION () -// At index 85 : , in file 'goil_syntax.ggs', line 210 -, TOP_DOWN_NONTERMINAL (13) // -, TOP_DOWN_NONTERMINAL (20) // -, TOP_DOWN_END_PRODUCTION () -// At index 88 : , in file 'goil_syntax.ggs', line 255 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_TRUE) // $TRUE$ -, TOP_DOWN_END_PRODUCTION () -// At index 90 : , in file 'goil_syntax.ggs', line 255 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_FALSE) // $FALSE$ -, TOP_DOWN_END_PRODUCTION () -// At index 92 : , in file 'goil_syntax.ggs', line 268 -, TOP_DOWN_END_PRODUCTION () -// At index 93 : , in file 'goil_syntax.ggs', line 268 -, TOP_DOWN_NONTERMINAL (11) // -, TOP_DOWN_NONTERMINAL (22) // -, TOP_DOWN_END_PRODUCTION () -// At index 96 : , in file 'goil_syntax.ggs', line 268 -, TOP_DOWN_NONTERMINAL (14) // -, TOP_DOWN_NONTERMINAL (22) // -, TOP_DOWN_END_PRODUCTION () -// At index 99 : , in file 'goil_syntax.ggs', line 293 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__3D_) // $=$ -, TOP_DOWN_NONTERMINAL (24) // -, TOP_DOWN_END_PRODUCTION () -// At index 102 : , in file 'goil_syntax.ggs', line 293 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_idf) // $idf$ -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__7B_) // ${$ -, TOP_DOWN_NONTERMINAL (10) // -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__7D_) // $}$ -, TOP_DOWN_NONTERMINAL (5) // -, TOP_DOWN_END_PRODUCTION () -// At index 108 : , in file 'goil_syntax.ggs', line 295 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_idf) // $idf$ -, TOP_DOWN_NONTERMINAL (25) // -, TOP_DOWN_NONTERMINAL (5) // -, TOP_DOWN_END_PRODUCTION () -// At index 112 : , in file 'goil_syntax.ggs', line 295 -, TOP_DOWN_NONTERMINAL (4) // -, TOP_DOWN_NONTERMINAL (26) // -, TOP_DOWN_END_PRODUCTION () -// At index 115 : , in file 'goil_syntax.ggs', line 295 -, TOP_DOWN_NONTERMINAL (9) // -, TOP_DOWN_NONTERMINAL (27) // -, TOP_DOWN_NONTERMINAL (5) // -, TOP_DOWN_END_PRODUCTION () -// At index 119 : , in file 'goil_syntax.ggs', line 295 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_string) // $string$ -, TOP_DOWN_NONTERMINAL (5) // -, TOP_DOWN_END_PRODUCTION () -// At index 122 : , in file 'goil_syntax.ggs', line 295 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_AUTO) // $AUTO$ -, TOP_DOWN_NONTERMINAL (5) // -, TOP_DOWN_END_PRODUCTION () -// At index 125 : , in file 'goil_syntax.ggs', line 316 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__7B_) // ${$ -, TOP_DOWN_NONTERMINAL (10) // -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__7D_) // $}$ -, TOP_DOWN_END_PRODUCTION () -// At index 129 : , in file 'goil_syntax.ggs', line 316 -, TOP_DOWN_END_PRODUCTION () -// At index 130 : , in file 'goil_syntax.ggs', line 333 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_uint_5F_number) // $uint_number$ -, TOP_DOWN_NONTERMINAL (5) // -, TOP_DOWN_END_PRODUCTION () -// At index 133 : , in file 'goil_syntax.ggs', line 333 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_float_5F_number) // $float_number$ -, TOP_DOWN_NONTERMINAL (5) // -, TOP_DOWN_END_PRODUCTION () -// At index 136 : , in file 'goil_syntax.ggs', line 376 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__7B_) // ${$ -, TOP_DOWN_NONTERMINAL (10) // -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__7D_) // $}$ -, TOP_DOWN_END_PRODUCTION () -// At index 140 : , in file 'goil_syntax.ggs', line 376 -, TOP_DOWN_END_PRODUCTION () -// At index 141 : , in file 'goil_syntax.ggs', line 490 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_include) // $include$ -, TOP_DOWN_END_PRODUCTION () -// At index 143 : , in file 'goil_syntax.ggs', line 490 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_includeifexists) // $includeifexists$ -, TOP_DOWN_END_PRODUCTION () -// At index 145 : , in file 'goil_syntax.ggs', line 496 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_g_5F_string) // $g_string$ -, TOP_DOWN_END_PRODUCTION () -// At index 147 : , in file 'goil_syntax.ggs', line 496 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_string) // $string$ -, TOP_DOWN_END_PRODUCTION () -// At index 149 : , in file 'goil_syntax.ggs', line 514 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_include) // $include$ -, TOP_DOWN_END_PRODUCTION () -// At index 151 : , in file 'goil_syntax.ggs', line 514 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_includeifexists) // $includeifexists$ -, TOP_DOWN_END_PRODUCTION () -// At index 153 : , in file 'goil_syntax.ggs', line 520 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_g_5F_string) // $g_string$ -, TOP_DOWN_END_PRODUCTION () -// At index 155 : , in file 'goil_syntax.ggs', line 520 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_string) // $string$ -, TOP_DOWN_END_PRODUCTION () -// At index 157 : , in file 'goil_syntax.ggs', line 536 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_include) // $include$ -, TOP_DOWN_END_PRODUCTION () -// At index 159 : , in file 'goil_syntax.ggs', line 536 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_includeifexists) // $includeifexists$ -, TOP_DOWN_END_PRODUCTION () -// At index 161 : , in file 'goil_syntax.ggs', line 542 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_g_5F_string) // $g_string$ -, TOP_DOWN_END_PRODUCTION () -// At index 163 : , in file 'goil_syntax.ggs', line 542 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_string) // $string$ -, TOP_DOWN_END_PRODUCTION () -// At index 165 : <>, in file '.ggs', line 0 -, TOP_DOWN_NONTERMINAL (10) // -, TOP_DOWN_END_PRODUCTION () -} ; - -//-------------------------------------------------------------------------------------------------- -// -// P R O D U C T I O N N A M E S -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -static const cProductionNameDescriptor gProductionNames_goil_object_level_include [62] = { - {"", "goil_syntax", 0}, // at index 0 - {"", "goil_syntax", 3}, // at index 1 - {"", "goil_syntax", 5}, // at index 2 - {"", "goil_syntax", 7}, // at index 3 - {"", "goil_syntax", 9}, // at index 4 - {"", "goil_syntax", 11}, // at index 5 - {"", "goil_syntax", 17}, // at index 6 - {"", "goil_syntax", 25}, // at index 7 - {"", "goil_syntax", 27}, // at index 8 - {"", "goil_syntax", 29}, // at index 9 - {"", "goil_syntax", 31}, // at index 10 - {"", "goil_syntax", 35}, // at index 11 - {"", "goil_syntax", 38}, // at index 12 - {"", "goil_syntax", 41}, // at index 13 - {"", "goil_syntax", 44}, // at index 14 - {"", "goil_syntax", 45}, // at index 15 - {"", "goil_syntax", 48}, // at index 16 - {"", "goil_syntax", 51}, // at index 17 - {"", "goil_syntax", 54}, // at index 18 - {"", "goil_syntax", 55}, // at index 19 - {"", "goil_syntax", 58}, // at index 20 - {"", "goil_syntax", 61}, // at index 21 - {"", "goil_syntax", 63}, // at index 22 - {"", "goil_syntax", 65}, // at index 23 - {"", "goil_syntax", 66}, // at index 24 - {"", "goil_syntax", 67}, // at index 25 - {"", "goil_syntax", 71}, // at index 26 - {"", "goil_syntax", 72}, // at index 27 - {"", "goil_syntax", 75}, // at index 28 - {"", "goil_syntax", 76}, // at index 29 - {"", "goil_syntax", 85}, // at index 30 - {"", "goil_syntax", 88}, // at index 31 - {"", "goil_syntax", 90}, // at index 32 - {"", "goil_syntax", 92}, // at index 33 - {"", "goil_syntax", 93}, // at index 34 - {"", "goil_syntax", 96}, // at index 35 - {"", "goil_syntax", 99}, // at index 36 - {"", "goil_syntax", 102}, // at index 37 - {"", "goil_syntax", 108}, // at index 38 - {"", "goil_syntax", 112}, // at index 39 - {"", "goil_syntax", 115}, // at index 40 - {"", "goil_syntax", 119}, // at index 41 - {"", "goil_syntax", 122}, // at index 42 - {"", "goil_syntax", 125}, // at index 43 - {"", "goil_syntax", 129}, // at index 44 - {"", "goil_syntax", 130}, // at index 45 - {"", "goil_syntax", 133}, // at index 46 - {"", "goil_syntax", 136}, // at index 47 - {"", "goil_syntax", 140}, // at index 48 - {"", "goil_syntax", 141}, // at index 49 - {"", "goil_syntax", 143}, // at index 50 - {"", "goil_syntax", 145}, // at index 51 - {"", "goil_syntax", 147}, // at index 52 - {"", "goil_syntax", 149}, // at index 53 - {"", "goil_syntax", 151}, // at index 54 - {"", "goil_syntax", 153}, // at index 55 - {"", "goil_syntax", 155}, // at index 56 - {"", "goil_syntax", 157}, // at index 57 - {"", "goil_syntax", 159}, // at index 58 - {"", "goil_syntax", 161}, // at index 59 - {"", "goil_syntax", 163}, // at index 60 - {"<>", "", 165} // at index 61 -} ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_start_i0_indexing (C_Lexique_goil_5F_lexique * inCompiler) { + nt_OIL_5F_version_indexing (inCompiler) ; + nt_file_indexing (inCompiler) ; +} -//-------------------------------------------------------------------------------------------------- -// -// L L ( 1 ) P R O D U C T I O N I N D E X E S -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -static const int32_t gProductionIndexes_goil_object_level_include [62] = { -0, // index 0 : , in file 'goil_syntax.ggs', line 38 -3, // index 1 : , in file 'goil_syntax.ggs', line 119 -5, // index 2 : , in file 'goil_syntax.ggs', line 135 -7, // index 3 : , in file 'goil_syntax.ggs', line 146 -9, // index 4 : , in file 'goil_syntax.ggs', line 159 -11, // index 5 : , in file 'goil_syntax.ggs', line 183 -17, // index 6 : , in file 'goil_syntax.ggs', line 190 -25, // index 7 : , in file 'goil_syntax.ggs', line 204 -27, // index 8 : , in file 'goil_syntax.ggs', line 254 -29, // index 9 : , in file 'goil_syntax.ggs', line 264 -31, // index 10 : , in file 'goil_syntax.ggs', line 276 -35, // index 11 : , in file 'goil_syntax.ggs', line 483 -38, // index 12 : , in file 'goil_syntax.ggs', line 507 -41, // index 13 : , in file 'goil_syntax.ggs', line 531 -44, // index 14 : , in file 'goil_syntax.ggs', line 128 -45, // index 15 : , in file 'goil_syntax.ggs', line 128 -48, // index 16 : , in file 'goil_syntax.ggs', line 128 -51, // index 17 : , in file 'goil_syntax.ggs', line 128 -54, // index 18 : , in file 'goil_syntax.ggs', line 140 -55, // index 19 : , in file 'goil_syntax.ggs', line 140 -58, // index 20 : , in file 'goil_syntax.ggs', line 140 -61, // index 21 : , in file 'goil_syntax.ggs', line 147 -63, // index 22 : , in file 'goil_syntax.ggs', line 147 -65, // index 23 : , in file 'goil_syntax.ggs', line 147 -66, // index 24 : , in file 'goil_syntax.ggs', line 160 -67, // index 25 : , in file 'goil_syntax.ggs', line 160 -71, // index 26 : , in file 'goil_syntax.ggs', line 167 -72, // index 27 : , in file 'goil_syntax.ggs', line 167 -75, // index 28 : , in file 'goil_syntax.ggs', line 210 -76, // index 29 : , in file 'goil_syntax.ggs', line 210 -85, // index 30 : , in file 'goil_syntax.ggs', line 210 -88, // index 31 : , in file 'goil_syntax.ggs', line 255 -90, // index 32 : , in file 'goil_syntax.ggs', line 255 -92, // index 33 : , in file 'goil_syntax.ggs', line 268 -93, // index 34 : , in file 'goil_syntax.ggs', line 268 -96, // index 35 : , in file 'goil_syntax.ggs', line 268 -99, // index 36 : , in file 'goil_syntax.ggs', line 293 -102, // index 37 : , in file 'goil_syntax.ggs', line 293 -108, // index 38 : , in file 'goil_syntax.ggs', line 295 -112, // index 39 : , in file 'goil_syntax.ggs', line 295 -115, // index 40 : , in file 'goil_syntax.ggs', line 295 -119, // index 41 : , in file 'goil_syntax.ggs', line 295 -122, // index 42 : , in file 'goil_syntax.ggs', line 295 -125, // index 43 : , in file 'goil_syntax.ggs', line 316 -129, // index 44 : , in file 'goil_syntax.ggs', line 316 -130, // index 45 : , in file 'goil_syntax.ggs', line 333 -133, // index 46 : , in file 'goil_syntax.ggs', line 333 -136, // index 47 : , in file 'goil_syntax.ggs', line 376 -140, // index 48 : , in file 'goil_syntax.ggs', line 376 -141, // index 49 : , in file 'goil_syntax.ggs', line 490 -143, // index 50 : , in file 'goil_syntax.ggs', line 490 -145, // index 51 : , in file 'goil_syntax.ggs', line 496 -147, // index 52 : , in file 'goil_syntax.ggs', line 496 -149, // index 53 : , in file 'goil_syntax.ggs', line 514 -151, // index 54 : , in file 'goil_syntax.ggs', line 514 -153, // index 55 : , in file 'goil_syntax.ggs', line 520 -155, // index 56 : , in file 'goil_syntax.ggs', line 520 -157, // index 57 : , in file 'goil_syntax.ggs', line 536 -159, // index 58 : , in file 'goil_syntax.ggs', line 536 -161, // index 59 : , in file 'goil_syntax.ggs', line 542 -163, // index 60 : , in file 'goil_syntax.ggs', line 542 -165 // index 61 : <>, in file '.ggs', line 0 -} ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_file_i1_ (GALGAS_implementation & ioArgument_imp, + GALGAS_applicationDefinition & ioArgument_application, + GALGAS_string & ioArgument_fileIncludeList, + const GALGAS_bool constinArgument_rootFile, + C_Lexique_goil_5F_lexique * inCompiler) { + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = constinArgument_rootFile.operator_not (SOURCE_FILE ("goil_syntax.galgas", 125)).boolEnum () ; + if (kBoolTrue == test_0) { + ioArgument_fileIncludeList.plusAssign_operation(GALGAS_string (" \\\n ").add_operation (GALGAS_string::constructor_stringWithSourceFilePath (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 126)), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 126)), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 126)) ; + } + } + bool repeatFlag_1 = true ; + while (repeatFlag_1) { + switch (select_goil_5F_syntax_0 (inCompiler)) { + case 2: { + nt_include_5F_file_5F_level_ (ioArgument_imp, ioArgument_application, ioArgument_fileIncludeList, GALGAS_bool (false), inCompiler) ; + } break ; + case 3: { + nt_implementation_5F_definition_ (ioArgument_imp, inCompiler) ; + } break ; + case 4: { + nt_application_5F_definition_ (ioArgument_imp, ioArgument_application, ioArgument_fileIncludeList, GALGAS_bool (false), inCompiler) ; + } break ; + default: + repeatFlag_1 = false ; + break ; + } + } +} -//-------------------------------------------------------------------------------------------------- -// -// L L ( 1 ) F I R S T P R O D U C T I O N I N D E X E S -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -static const int32_t gFirstProductionIndexes_goil_object_level_include [36] = { -0, // at 0 : -0, // at 1 : -1, // at 2 : -2, // at 3 : -3, // at 4 : -4, // at 5 : -5, // at 6 : -6, // at 7 : -7, // at 8 : -8, // at 9 : -9, // at 10 : -10, // at 11 : -11, // at 12 : -12, // at 13 : -13, // at 14 : -14, // at 15 : -18, // at 16 : -21, // at 17 : -24, // at 18 : -26, // at 19 : -28, // at 20 : -31, // at 21 : -33, // at 22 : -36, // at 23 : -38, // at 24 : -43, // at 25 : -45, // at 26 : -47, // at 27 : -49, // at 28 : -51, // at 29 : -53, // at 30 : -55, // at 31 : -57, // at 32 : -59, // at 33 : -61, // at 34 : <> -0} ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_file_i1_parse (C_Lexique_goil_5F_lexique * inCompiler) { + bool repeatFlag_0 = true ; + while (repeatFlag_0) { + switch (select_goil_5F_syntax_0 (inCompiler)) { + case 2: { + nt_include_5F_file_5F_level_parse (inCompiler) ; + } break ; + case 3: { + nt_implementation_5F_definition_parse (inCompiler) ; + } break ; + case 4: { + nt_application_5F_definition_parse (inCompiler) ; + } break ; + default: + repeatFlag_0 = false ; + break ; + } + } + inCompiler->resetTemplateString () ; +} -//-------------------------------------------------------------------------------------------------- -// -// L L ( 1 ) D E C I S I O N T A B L E S -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -static const int32_t gDecision_goil_object_level_include [] = { -// At index 0 : no production -// At index 0 : only one production, no choice - -1, -// At index 1 : only one production, no choice - -1, -// At index 2 : only one production, no choice - -1, -// At index 3 : only one production, no choice - -1, -// At index 4 : only one production, no choice - -1, -// At index 5 : only one production, no choice - -1, -// At index 6 : only one production, no choice - -1, -// At index 7 : only one production, no choice - -1, -// At index 8 : only one production, no choice - -1, -// At index 9 : only one production, no choice - -1, -// At index 10 : only one production, no choice - -1, -// At index 11 : only one production, no choice - -1, -// At index 12 : only one production, no choice - -1, -// At index 13 : only one production, no choice - -1, -//---- Added non terminal symbols from 'select' and 'repeat' instructions -// At index 14 : --1, // Choice 1 -Lexique_goil_5F_lexique::kToken_include, Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 2 --1, // Choice 3 -Lexique_goil_5F_lexique::kToken_CPU, -1, // Choice 4 - -1, -// At index 22 : --1, // Choice 1 --1, // Choice 2 -Lexique_goil_5F_lexique::kToken_CPU, -1, // Choice 3 - -1, -// At index 27 : -Lexique_goil_5F_lexique::kToken__2D_, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken__2B_, -1, // Choice 2 -Lexique_goil_5F_lexique::kToken_uint_5F_number, Lexique_goil_5F_lexique::kToken_float_5F_number, -1, // Choice 3 - -1, -// At index 35 : -Lexique_goil_5F_lexique::kToken__3B_, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken__3A_, -1, // Choice 2 - -1, -// At index 40 : -Lexique_goil_5F_lexique::kToken__3B_, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken_string, -1, // Choice 2 - -1, -// At index 45 : -Lexique_goil_5F_lexique::kToken__7D_, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken_idf, -1, // Choice 2 -Lexique_goil_5F_lexique::kToken_include, Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 3 - -1, -// At index 53 : -Lexique_goil_5F_lexique::kToken_TRUE, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken_FALSE, -1, // Choice 2 - -1, -// At index 58 : -Lexique_goil_5F_lexique::kToken__7D_, Lexique_goil_5F_lexique::kToken_, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken_idf, -1, // Choice 2 -Lexique_goil_5F_lexique::kToken_include, Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 3 - -1, -// At index 67 : -Lexique_goil_5F_lexique::kToken__3D_, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken_idf, -1, // Choice 2 - -1, -// At index 72 : -Lexique_goil_5F_lexique::kToken_idf, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken__2D_, Lexique_goil_5F_lexique::kToken__2B_, Lexique_goil_5F_lexique::kToken_uint_5F_number, Lexique_goil_5F_lexique::kToken_float_5F_number, -1, // Choice 2 -Lexique_goil_5F_lexique::kToken_TRUE, Lexique_goil_5F_lexique::kToken_FALSE, -1, // Choice 3 -Lexique_goil_5F_lexique::kToken_string, -1, // Choice 4 -Lexique_goil_5F_lexique::kToken_AUTO, -1, // Choice 5 - -1, -// At index 87 : -Lexique_goil_5F_lexique::kToken__7B_, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken__3A_, Lexique_goil_5F_lexique::kToken__3B_, -1, // Choice 2 - -1, -// At index 93 : -Lexique_goil_5F_lexique::kToken_uint_5F_number, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken_float_5F_number, -1, // Choice 2 - -1, -// At index 98 : -Lexique_goil_5F_lexique::kToken__7B_, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken__3A_, Lexique_goil_5F_lexique::kToken__3B_, -1, // Choice 2 - -1, -// At index 104 : -Lexique_goil_5F_lexique::kToken_include, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 2 - -1, -// At index 109 : -Lexique_goil_5F_lexique::kToken_g_5F_string, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken_string, -1, // Choice 2 - -1, -// At index 114 : -Lexique_goil_5F_lexique::kToken_include, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 2 - -1, -// At index 119 : -Lexique_goil_5F_lexique::kToken_g_5F_string, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken_string, -1, // Choice 2 - -1, -// At index 124 : -Lexique_goil_5F_lexique::kToken_include, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 2 - -1, -// At index 129 : -Lexique_goil_5F_lexique::kToken_g_5F_string, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken_string, -1, // Choice 2 - -1, -// At index 134 : <> only one production, no choice - -1, -0} ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_file_i1_indexing (C_Lexique_goil_5F_lexique * inCompiler) { + bool repeatFlag_0 = true ; + while (repeatFlag_0) { + switch (select_goil_5F_syntax_0 (inCompiler)) { + case 2: { + nt_include_5F_file_5F_level_indexing (inCompiler) ; + } break ; + case 3: { + nt_implementation_5F_definition_indexing (inCompiler) ; + } break ; + case 4: { + nt_application_5F_definition_indexing (inCompiler) ; + } break ; + default: + repeatFlag_0 = false ; + break ; + } + } +} -//-------------------------------------------------------------------------------------------------- -// -// L L ( 1 ) D E C I S I O N T A B L E S I N D E X E S -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -static const int32_t gDecisionIndexes_goil_object_level_include [36] = { -0, // at 0 : -0, // at 1 : -1, // at 2 : -2, // at 3 : -3, // at 4 : -4, // at 5 : -5, // at 6 : -6, // at 7 : -7, // at 8 : -8, // at 9 : -9, // at 10 : -10, // at 11 : -11, // at 12 : -12, // at 13 : -13, // at 14 : -14, // at 15 : -22, // at 16 : -27, // at 17 : -35, // at 18 : -40, // at 19 : -45, // at 20 : -53, // at 21 : -58, // at 22 : -67, // at 23 : -72, // at 24 : -87, // at 25 : -93, // at 26 : -98, // at 27 : -104, // at 28 : -109, // at 29 : -114, // at 30 : -119, // at 31 : -124, // at 32 : -129, // at 33 : -134, // at 34 : <> -0} ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_file_5F_without_5F_include_i2_ (GALGAS_implementation & ioArgument_imp, + GALGAS_applicationDefinition & ioArgument_application, + C_Lexique_goil_5F_lexique * inCompiler) { + GALGAS_string var_includeList_4002 = GALGAS_string::makeEmptyString () ; + bool repeatFlag_0 = true ; + while (repeatFlag_0) { + switch (select_goil_5F_syntax_1 (inCompiler)) { + case 2: { + nt_implementation_5F_definition_ (ioArgument_imp, inCompiler) ; + } break ; + case 3: { + nt_application_5F_definition_ (ioArgument_imp, ioArgument_application, var_includeList_4002, GALGAS_bool (false), inCompiler) ; + } break ; + default: + repeatFlag_0 = false ; + break ; + } + } +} -//-------------------------------------------------------------------------------------------------- -// -// 'implementation_definition' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_object_5F_level_5F_include::nt_implementation_5F_definition_parse (Lexique_goil_5F_lexique * ) { +void cParser_goil_5F_syntax::rule_goil_5F_syntax_file_5F_without_5F_include_i2_parse (C_Lexique_goil_5F_lexique * inCompiler) { + bool repeatFlag_0 = true ; + while (repeatFlag_0) { + switch (select_goil_5F_syntax_1 (inCompiler)) { + case 2: { + nt_implementation_5F_definition_parse (inCompiler) ; + } break ; + case 3: { + nt_application_5F_definition_parse (inCompiler) ; + } break ; + default: + repeatFlag_0 = false ; + break ; + } + } + inCompiler->resetTemplateString () ; } -void cGrammar_goil_5F_object_5F_level_5F_include::nt_implementation_5F_definition_indexing (Lexique_goil_5F_lexique * ) { -} +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_object_5F_level_5F_include::nt_implementation_5F_definition_ (GALGAS_implementation & , - Lexique_goil_5F_lexique * ) { +void cParser_goil_5F_syntax::rule_goil_5F_syntax_file_5F_without_5F_include_i2_indexing (C_Lexique_goil_5F_lexique * inCompiler) { + bool repeatFlag_0 = true ; + while (repeatFlag_0) { + switch (select_goil_5F_syntax_1 (inCompiler)) { + case 2: { + nt_implementation_5F_definition_indexing (inCompiler) ; + } break ; + case 3: { + nt_application_5F_definition_indexing (inCompiler) ; + } break ; + default: + repeatFlag_0 = false ; + break ; + } + } } -//-------------------------------------------------------------------------------------------------- -// -// 'start' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_object_5F_level_5F_include::nt_start_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_start_i0_parse(inLexique) ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_sign_i3_ (GALGAS_bool & outArgument_signed, + C_Lexique_goil_5F_lexique * inCompiler) { + outArgument_signed.drop () ; // Release 'out' argument + switch (select_goil_5F_syntax_2 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__2D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 148)) ; + outArgument_signed = GALGAS_bool (true) ; + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__2B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 150)) ; + outArgument_signed = GALGAS_bool (false) ; + } break ; + case 3: { + outArgument_signed = GALGAS_bool (false) ; + } break ; + default: + break ; + } } -void cGrammar_goil_5F_object_5F_level_5F_include::nt_start_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_start_i0_indexing(inLexique) ; -} +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_object_5F_level_5F_include::nt_start_ (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_start_i0_(inLexique) ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_sign_i3_parse (C_Lexique_goil_5F_lexique * inCompiler) { + switch (select_goil_5F_syntax_2 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__2D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 148)) ; + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__2B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 150)) ; + } break ; + case 3: { + } break ; + default: + break ; + } + inCompiler->resetTemplateString () ; } -//-------------------------------------------------------------------------------------------------- -// -// 'file' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_object_5F_level_5F_include::nt_file_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_file_i1_parse(inLexique) ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_sign_i3_indexing (C_Lexique_goil_5F_lexique * inCompiler) { + switch (select_goil_5F_syntax_2 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__2D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 148)) ; + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__2B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 150)) ; + } break ; + case 3: { + } break ; + default: + break ; + } } -void cGrammar_goil_5F_object_5F_level_5F_include::nt_file_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_file_i1_indexing(inLexique) ; -} +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_object_5F_level_5F_include::nt_file_ (GALGAS_implementation & parameter_1, - GALGAS_applicationDefinition & parameter_2, - GALGAS_string & parameter_3, - const GALGAS_bool parameter_4, - Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_file_i1_(parameter_1, parameter_2, parameter_3, parameter_4, inLexique) ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_description_i4_ (GALGAS_lstring & outArgument_desc, + C_Lexique_goil_5F_lexique * inCompiler) { + outArgument_desc.drop () ; // Release 'out' argument + switch (select_goil_5F_syntax_3 (inCompiler)) { + case 1: { + outArgument_desc = function_lstringWith (GALGAS_string::makeEmptyString (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 161)) ; + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__3A_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 163)) ; + GALGAS_lstring var_partialString_4416 ; + var_partialString_4416 = inCompiler->synthetizedAttribute_a_5F_string () ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 165)) ; + GALGAS_string var_result_4470 = var_partialString_4416.readProperty_string () ; + bool repeatFlag_0 = true ; + while (repeatFlag_0) { + if (select_goil_5F_syntax_4 (inCompiler) == 2) { + var_partialString_4416 = inCompiler->synthetizedAttribute_a_5F_string () ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 169)) ; + GALGAS_string var_toappend_4567 = var_partialString_4416.readProperty_string () ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = GALGAS_bool (kIsNotEqual, var_result_4470.getter_rightSubString (GALGAS_uint (uint32_t (2U)) COMMA_SOURCE_FILE ("goil_syntax.galgas", 171)).objectCompare (GALGAS_string ("\\n"))).boolEnum () ; + if (kBoolTrue == test_1) { + var_toappend_4567 = GALGAS_string (" ").add_operation (var_toappend_4567, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 172)) ; + } + } + var_result_4470.plusAssign_operation(var_toappend_4567, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 174)) ; + }else{ + repeatFlag_0 = false ; + } + } + outArgument_desc = GALGAS_lstring::constructor_new (var_result_4470.getter_stringByReplacingStringByString (GALGAS_string ("\\n"), GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 176)), var_partialString_4416.readProperty_location () COMMA_SOURCE_FILE ("goil_syntax.galgas", 176)) ; + } break ; + default: + break ; + } } -//-------------------------------------------------------------------------------------------------- -// -// 'file_without_include' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_object_5F_level_5F_include::nt_file_5F_without_5F_include_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_file_5F_without_5F_include_i2_parse(inLexique) ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_description_i4_parse (C_Lexique_goil_5F_lexique * inCompiler) { + switch (select_goil_5F_syntax_3 (inCompiler)) { + case 1: { + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__3A_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 163)) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 165)) ; + bool repeatFlag_0 = true ; + while (repeatFlag_0) { + if (select_goil_5F_syntax_4 (inCompiler) == 2) { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 169)) ; + }else{ + repeatFlag_0 = false ; + } + } + } break ; + default: + break ; + } + inCompiler->resetTemplateString () ; } -void cGrammar_goil_5F_object_5F_level_5F_include::nt_file_5F_without_5F_include_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_file_5F_without_5F_include_i2_indexing(inLexique) ; -} +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_object_5F_level_5F_include::nt_file_5F_without_5F_include_ (GALGAS_implementation & parameter_1, - GALGAS_applicationDefinition & parameter_2, - Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_file_5F_without_5F_include_i2_(parameter_1, parameter_2, inLexique) ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_description_i4_indexing (C_Lexique_goil_5F_lexique * inCompiler) { + switch (select_goil_5F_syntax_3 (inCompiler)) { + case 1: { + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__3A_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 163)) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 165)) ; + bool repeatFlag_0 = true ; + while (repeatFlag_0) { + if (select_goil_5F_syntax_4 (inCompiler) == 2) { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 169)) ; + }else{ + repeatFlag_0 = false ; + } + } + } break ; + default: + break ; + } } -//-------------------------------------------------------------------------------------------------- -// -// 'sign' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_object_5F_level_5F_include::nt_sign_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_sign_i3_parse(inLexique) ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_OIL_5F_version_i5_ (GALGAS_lstring & outArgument_version, + GALGAS_lstring & outArgument_desc, + C_Lexique_goil_5F_lexique * inCompiler) { + outArgument_version.drop () ; // Release 'out' argument + outArgument_desc.drop () ; // Release 'out' argument + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_OIL_5F_VERSION COMMA_SOURCE_FILE ("goil_syntax.galgas", 184)) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__3D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 184)) ; + outArgument_version = inCompiler->synthetizedAttribute_a_5F_string () ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 184)) ; + nt_description_ (outArgument_desc, inCompiler) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__3B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 184)) ; } -void cGrammar_goil_5F_object_5F_level_5F_include::nt_sign_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_sign_i3_indexing(inLexique) ; -} +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_object_5F_level_5F_include::nt_sign_ (GALGAS_bool & parameter_1, - Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_sign_i3_(parameter_1, inLexique) ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_OIL_5F_version_i5_parse (C_Lexique_goil_5F_lexique * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_OIL_5F_VERSION COMMA_SOURCE_FILE ("goil_syntax.galgas", 184)) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__3D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 184)) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 184)) ; + nt_description_parse (inCompiler) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__3B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 184)) ; + inCompiler->resetTemplateString () ; } -//-------------------------------------------------------------------------------------------------- -// -// 'description' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_object_5F_level_5F_include::nt_description_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_description_i4_parse(inLexique) ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_OIL_5F_version_i5_indexing (C_Lexique_goil_5F_lexique * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_OIL_5F_VERSION COMMA_SOURCE_FILE ("goil_syntax.galgas", 184)) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__3D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 184)) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 184)) ; + nt_description_indexing (inCompiler) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__3B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 184)) ; } -void cGrammar_goil_5F_object_5F_level_5F_include::nt_description_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_description_i4_indexing(inLexique) ; -} +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_object_5F_level_5F_include::nt_description_ (GALGAS_lstring & parameter_1, - Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_description_i4_(parameter_1, inLexique) ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_application_5F_definition_i6_ (const GALGAS_implementation constinArgument_imp, + GALGAS_applicationDefinition & ioArgument_application, + GALGAS_string & ioArgument_fileIncludeList, + const GALGAS_bool constinArgument_rootFile, + C_Lexique_goil_5F_lexique * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_CPU COMMA_SOURCE_FILE ("goil_syntax.galgas", 196)) ; + GALGAS_lstring var_cpuName_5378 = inCompiler->synthetizedAttribute_att_5F_token () ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 196)) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 196)) ; + GALGAS_objectsMap var_objects_5406 = ioArgument_application.readProperty_objects () ; + nt_object_5F_definition_5F_list_ (constinArgument_imp, var_objects_5406, ioArgument_fileIncludeList, constinArgument_rootFile, inCompiler) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 199)) ; + GALGAS_lstring joker_5530 ; // Joker input parameter + nt_description_ (joker_5530, inCompiler) ; + joker_5530.drop () ; // Release temporary input variables (joker in source) + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__3B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 199)) ; + { + ioArgument_application.setter_setName (var_cpuName_5378 COMMA_SOURCE_FILE ("goil_syntax.galgas", 200)) ; + } + { + ioArgument_application.setter_setObjects (var_objects_5406 COMMA_SOURCE_FILE ("goil_syntax.galgas", 201)) ; + } } -//-------------------------------------------------------------------------------------------------- -// -// 'OIL_version' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_object_5F_level_5F_include::nt_OIL_5F_version_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_OIL_5F_version_i5_parse(inLexique) ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_application_5F_definition_i6_parse (C_Lexique_goil_5F_lexique * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_CPU COMMA_SOURCE_FILE ("goil_syntax.galgas", 196)) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 196)) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 196)) ; + nt_object_5F_definition_5F_list_parse (inCompiler) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 199)) ; + nt_description_parse (inCompiler) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__3B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 199)) ; + inCompiler->resetTemplateString () ; } -void cGrammar_goil_5F_object_5F_level_5F_include::nt_OIL_5F_version_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_OIL_5F_version_i5_indexing(inLexique) ; +//---------------------------------------------------------------------------------------------------------------------* + +void cParser_goil_5F_syntax::rule_goil_5F_syntax_application_5F_definition_i6_indexing (C_Lexique_goil_5F_lexique * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_CPU COMMA_SOURCE_FILE ("goil_syntax.galgas", 196)) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 196)) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 196)) ; + nt_object_5F_definition_5F_list_indexing (inCompiler) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 199)) ; + nt_description_indexing (inCompiler) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__3B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 199)) ; } -void cGrammar_goil_5F_object_5F_level_5F_include::nt_OIL_5F_version_ (GALGAS_lstring & parameter_1, - GALGAS_lstring & parameter_2, - Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_OIL_5F_version_i5_(parameter_1, parameter_2, inLexique) ; +//---------------------------------------------------------------------------------------------------------------------* + +void cParser_goil_5F_syntax::rule_goil_5F_syntax_object_5F_definition_5F_list_i7_ (const GALGAS_implementation constinArgument_imp, + GALGAS_objectsMap & ioArgument_objects, + GALGAS_string & ioArgument_fileIncludeList, + const GALGAS_bool constinArgument_rootFile, + C_Lexique_goil_5F_lexique * inCompiler) { + bool repeatFlag_0 = true ; + while (repeatFlag_0) { + switch (select_goil_5F_syntax_5 (inCompiler)) { + case 2: { + GALGAS_lstring var_objectKind_5789 = inCompiler->synthetizedAttribute_att_5F_token () ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 212)) ; + GALGAS_implementationObject var_impObjOfKind_5830 = callExtensionGetter_impObject ((const cPtr_implementation *) constinArgument_imp.ptr (), var_objectKind_5789.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 213)) ; + GALGAS_objectKind var_objectsForKind_5901 = GALGAS_objectKind::constructor_new (GALGAS_objectKindMap::constructor_emptyMap (SOURCE_FILE ("goil_syntax.galgas", 214)) COMMA_SOURCE_FILE ("goil_syntax.galgas", 214)) ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = ioArgument_objects.getter_hasKey (var_objectKind_5789.readProperty_string () COMMA_SOURCE_FILE ("goil_syntax.galgas", 215)).boolEnum () ; + if (kBoolTrue == test_1) { + { + ioArgument_objects.setter_del (var_objectKind_5789, var_objectsForKind_5901, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 216)) ; + } + } + } + GALGAS_lstring var_objectName_6096 = inCompiler->synthetizedAttribute_att_5F_token () ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 218)) ; + GALGAS_objectAttributes var_object_6129 = function_emptyObject (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 219)) ; + GALGAS_objectKindMap var_objectsKind_6171 = var_objectsForKind_5901.readProperty_objects () ; + enumGalgasBool test_2 = kBoolTrue ; + if (kBoolTrue == test_2) { + test_2 = GALGAS_bool (kIsEqual, var_impObjOfKind_5830.readProperty_multiple ().readProperty_bool ().objectCompare (GALGAS_bool (false))).boolEnum () ; + if (kBoolTrue == test_2) { + var_objectName_6096 = var_objectKind_5789 ; + } + } + enumGalgasBool test_3 = kBoolTrue ; + if (kBoolTrue == test_3) { + test_3 = var_objectsKind_6171.getter_hasKey (var_objectName_6096.readProperty_string () COMMA_SOURCE_FILE ("goil_syntax.galgas", 227)).boolEnum () ; + if (kBoolTrue == test_3) { + { + var_objectsKind_6171.setter_del (var_objectName_6096, var_object_6129, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 228)) ; + } + } + } + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 230)) ; + nt_oil_5F_declaration_5F_list_ (var_impObjOfKind_5830.readProperty_attributes (), var_object_6129, inCompiler) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 232)) ; + GALGAS_lstring var_oil_5F_desc_6733 ; + nt_description_ (var_oil_5F_desc_6733, inCompiler) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__3B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 234)) ; + GALGAS_identifierMap var_attributes_6769 = var_object_6129.readProperty_objectParams () ; + enumGalgasBool test_4 = kBoolTrue ; + if (kBoolTrue == test_4) { + test_4 = var_attributes_6769.getter_hasKey (GALGAS_string ("NAME") COMMA_SOURCE_FILE ("goil_syntax.galgas", 236)).operator_not (SOURCE_FILE ("goil_syntax.galgas", 236)).boolEnum () ; + if (kBoolTrue == test_4) { + { + var_attributes_6769.setter_put (GALGAS_lstring::constructor_new (GALGAS_string ("NAME"), var_objectName_6096.readProperty_location () COMMA_SOURCE_FILE ("goil_syntax.galgas", 237)), GALGAS_stringAttribute::constructor_new (var_oil_5F_desc_6733, var_objectName_6096.readProperty_location (), var_objectName_6096.readProperty_string () COMMA_SOURCE_FILE ("goil_syntax.galgas", 239)), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 237)) ; + } + { + var_object_6129.setter_setObjectParams (var_attributes_6769 COMMA_SOURCE_FILE ("goil_syntax.galgas", 242)) ; + } + } + } + { + var_objectsKind_6171.setter_put (var_objectName_6096, var_object_6129, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 244)) ; + } + { + var_objectsForKind_5901.setter_setObjects (var_objectsKind_6171 COMMA_SOURCE_FILE ("goil_syntax.galgas", 245)) ; + } + { + ioArgument_objects.setter_put (var_objectKind_5789, var_objectsForKind_5901, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 246)) ; + } + } break ; + case 3: { + nt_include_5F_cpu_5F_level_ (constinArgument_imp, ioArgument_objects, ioArgument_fileIncludeList, constinArgument_rootFile, inCompiler) ; + } break ; + default: + repeatFlag_0 = false ; + break ; + } + } } -//-------------------------------------------------------------------------------------------------- -// -// 'application_definition' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_object_5F_level_5F_include::nt_application_5F_definition_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_application_5F_definition_i6_parse(inLexique) ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_object_5F_definition_5F_list_i7_parse (C_Lexique_goil_5F_lexique * inCompiler) { + bool repeatFlag_0 = true ; + while (repeatFlag_0) { + switch (select_goil_5F_syntax_5 (inCompiler)) { + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 212)) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 218)) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 230)) ; + nt_oil_5F_declaration_5F_list_parse (inCompiler) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 232)) ; + nt_description_parse (inCompiler) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__3B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 234)) ; + } break ; + case 3: { + nt_include_5F_cpu_5F_level_parse (inCompiler) ; + } break ; + default: + repeatFlag_0 = false ; + break ; + } + } + inCompiler->resetTemplateString () ; } -void cGrammar_goil_5F_object_5F_level_5F_include::nt_application_5F_definition_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_application_5F_definition_i6_indexing(inLexique) ; -} +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_object_5F_level_5F_include::nt_application_5F_definition_ (const GALGAS_implementation parameter_1, - GALGAS_applicationDefinition & parameter_2, - GALGAS_string & parameter_3, - const GALGAS_bool parameter_4, - Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_application_5F_definition_i6_(parameter_1, parameter_2, parameter_3, parameter_4, inLexique) ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_object_5F_definition_5F_list_i7_indexing (C_Lexique_goil_5F_lexique * inCompiler) { + bool repeatFlag_0 = true ; + while (repeatFlag_0) { + switch (select_goil_5F_syntax_5 (inCompiler)) { + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 212)) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 218)) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 230)) ; + nt_oil_5F_declaration_5F_list_indexing (inCompiler) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 232)) ; + nt_description_indexing (inCompiler) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__3B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 234)) ; + } break ; + case 3: { + nt_include_5F_cpu_5F_level_indexing (inCompiler) ; + } break ; + default: + repeatFlag_0 = false ; + break ; + } + } } -//-------------------------------------------------------------------------------------------------- -// -// 'object_definition_list' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_object_5F_level_5F_include::nt_object_5F_definition_5F_list_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_object_5F_definition_5F_list_i7_parse(inLexique) ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_boolean_i8_ (GALGAS_lbool & outArgument_val, + C_Lexique_goil_5F_lexique * inCompiler) { + outArgument_val.drop () ; // Release 'out' argument + switch (select_goil_5F_syntax_6 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_TRUE COMMA_SOURCE_FILE ("goil_syntax.galgas", 256)) ; + outArgument_val = GALGAS_lbool::constructor_new (GALGAS_bool (true), GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 257)) COMMA_SOURCE_FILE ("goil_syntax.galgas", 257)) ; + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_FALSE COMMA_SOURCE_FILE ("goil_syntax.galgas", 259)) ; + outArgument_val = GALGAS_lbool::constructor_new (GALGAS_bool (false), GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 260)) COMMA_SOURCE_FILE ("goil_syntax.galgas", 260)) ; + } break ; + default: + break ; + } } -void cGrammar_goil_5F_object_5F_level_5F_include::nt_object_5F_definition_5F_list_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_object_5F_definition_5F_list_i7_indexing(inLexique) ; -} +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_object_5F_level_5F_include::nt_object_5F_definition_5F_list_ (const GALGAS_implementation parameter_1, - GALGAS_objectsMap & parameter_2, - GALGAS_string & parameter_3, - const GALGAS_bool parameter_4, - Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_object_5F_definition_5F_list_i7_(parameter_1, parameter_2, parameter_3, parameter_4, inLexique) ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_boolean_i8_parse (C_Lexique_goil_5F_lexique * inCompiler) { + switch (select_goil_5F_syntax_6 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_TRUE COMMA_SOURCE_FILE ("goil_syntax.galgas", 256)) ; + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_FALSE COMMA_SOURCE_FILE ("goil_syntax.galgas", 259)) ; + } break ; + default: + break ; + } + inCompiler->resetTemplateString () ; } -//-------------------------------------------------------------------------------------------------- -// -// 'boolean' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_object_5F_level_5F_include::nt_boolean_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_boolean_i8_parse(inLexique) ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_boolean_i8_indexing (C_Lexique_goil_5F_lexique * inCompiler) { + switch (select_goil_5F_syntax_6 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_TRUE COMMA_SOURCE_FILE ("goil_syntax.galgas", 256)) ; + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_FALSE COMMA_SOURCE_FILE ("goil_syntax.galgas", 259)) ; + } break ; + default: + break ; + } } -void cGrammar_goil_5F_object_5F_level_5F_include::nt_boolean_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_boolean_i8_indexing(inLexique) ; -} +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_object_5F_level_5F_include::nt_boolean_ (GALGAS_lbool & parameter_1, - Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_boolean_i8_(parameter_1, inLexique) ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_oil_5F_declaration_5F_list_i9_ (const GALGAS_implementationObjectMap constinArgument_types, + GALGAS_objectAttributes & ioArgument_identifiers, + C_Lexique_goil_5F_lexique * inCompiler) { + bool repeatFlag_0 = true ; + while (repeatFlag_0) { + switch (select_goil_5F_syntax_7 (inCompiler)) { + case 2: { + nt_oil_5F_declaration_ (constinArgument_types, ioArgument_identifiers, inCompiler) ; + } break ; + case 3: { + nt_include_5F_object_5F_level_ (constinArgument_types, ioArgument_identifiers, inCompiler) ; + } break ; + default: + repeatFlag_0 = false ; + break ; + } + } } -//-------------------------------------------------------------------------------------------------- -// -// 'oil_declaration_list' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_object_5F_level_5F_include::nt_oil_5F_declaration_5F_list_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_oil_5F_declaration_5F_list_i9_parse(inLexique) ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_oil_5F_declaration_5F_list_i9_parse (C_Lexique_goil_5F_lexique * inCompiler) { + bool repeatFlag_0 = true ; + while (repeatFlag_0) { + switch (select_goil_5F_syntax_7 (inCompiler)) { + case 2: { + nt_oil_5F_declaration_parse (inCompiler) ; + } break ; + case 3: { + nt_include_5F_object_5F_level_parse (inCompiler) ; + } break ; + default: + repeatFlag_0 = false ; + break ; + } + } + inCompiler->resetTemplateString () ; } -void cGrammar_goil_5F_object_5F_level_5F_include::nt_oil_5F_declaration_5F_list_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_oil_5F_declaration_5F_list_i9_indexing(inLexique) ; -} +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_object_5F_level_5F_include::nt_oil_5F_declaration_5F_list_ (const GALGAS_implementationObjectMap parameter_1, - GALGAS_objectAttributes & parameter_2, - Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_oil_5F_declaration_5F_list_i9_(parameter_1, parameter_2, inLexique) ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_oil_5F_declaration_5F_list_i9_indexing (C_Lexique_goil_5F_lexique * inCompiler) { + bool repeatFlag_0 = true ; + while (repeatFlag_0) { + switch (select_goil_5F_syntax_7 (inCompiler)) { + case 2: { + nt_oil_5F_declaration_indexing (inCompiler) ; + } break ; + case 3: { + nt_include_5F_object_5F_level_indexing (inCompiler) ; + } break ; + default: + repeatFlag_0 = false ; + break ; + } + } } -void cGrammar_goil_5F_object_5F_level_5F_include::performIndexing (Compiler * inCompiler, - const String & inSourceFilePath) { - Lexique_goil_5F_lexique * scanner = nullptr ; - macroMyNew (scanner, Lexique_goil_5F_lexique (inCompiler, inSourceFilePath COMMA_HERE)) ; - scanner->enableIndexing () ; - if (scanner->sourceText ().isValid ()) { - const bool ok = scanner->performTopDownParsing (gProductions_goil_object_level_include, gProductionNames_goil_object_level_include, gProductionIndexes_goil_object_level_include, - gFirstProductionIndexes_goil_object_level_include, gDecision_goil_object_level_include, gDecisionIndexes_goil_object_level_include, 165) ; - if (ok) { - cGrammar_goil_5F_object_5F_level_5F_include grammar ; - grammar.nt_oil_5F_declaration_5F_list_indexing (scanner) ; +//---------------------------------------------------------------------------------------------------------------------* + +void cParser_goil_5F_syntax::rule_goil_5F_syntax_oil_5F_declaration_i10_ (const GALGAS_implementationObjectMap constinArgument_types, + GALGAS_objectAttributes & ioArgument_identifiers, + C_Lexique_goil_5F_lexique * inCompiler) { + GALGAS_lstring var_idf_8101 ; + GALGAS_object_5F_t var_val_8117 ; + var_idf_8101 = inCompiler->synthetizedAttribute_att_5F_token () ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 281)) ; + GALGAS_locationList temp_0 = GALGAS_locationList::constructor_emptyList (SOURCE_FILE ("goil_syntax.galgas", 285)) ; + temp_0.addAssign_operation (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 285)) COMMA_SOURCE_FILE ("goil_syntax.galgas", 285)) ; + GALGAS_impType var_type_8188 = GALGAS_impVoid::constructor_new (temp_0, GALGAS_dataType::constructor_void (SOURCE_FILE ("goil_syntax.galgas", 285)), function_emptyLString (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 285)), GALGAS_bool (false), GALGAS_lstringlist::constructor_emptyList (SOURCE_FILE ("goil_syntax.galgas", 285)) COMMA_SOURCE_FILE ("goil_syntax.galgas", 285)) ; + GALGAS_bool var_typeOk_8285 = GALGAS_bool (false) ; + enumGalgasBool test_1 = kBoolTrue ; + if (kBoolTrue == test_1) { + test_1 = constinArgument_types.getter_hasKey (var_idf_8101.readProperty_string () COMMA_SOURCE_FILE ("goil_syntax.galgas", 287)).boolEnum () ; + if (kBoolTrue == test_1) { + constinArgument_types.method_get (var_idf_8101, var_type_8188, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 288)) ; + var_typeOk_8285 = GALGAS_bool (true) ; + } + } + if (kBoolFalse == test_1) { + TC_Array fixItArray2 ; + inCompiler->emitSemanticError (var_idf_8101.readProperty_location (), var_idf_8101.readProperty_string ().add_operation (GALGAS_string (" is not declared in the IMPLEMENTATION"), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 291)), fixItArray2 COMMA_SOURCE_FILE ("goil_syntax.galgas", 291)) ; + } + switch (select_goil_5F_syntax_8 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__3D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 294)) ; + switch (select_goil_5F_syntax_9 (inCompiler)) { + case 1: { + GALGAS_lstring var_value_8574 ; + var_value_8574 = inCompiler->synthetizedAttribute_att_5F_token () ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 298)) ; + GALGAS_implementationObjectMap var_subTypes_8609 = GALGAS_implementationObjectMap::constructor_emptyMap (SOURCE_FILE ("goil_syntax.galgas", 299)) ; + GALGAS_objectAttributes var_subAttributes_8681 = function_emptyObject (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 300)) ; + switch (var_type_8188.readProperty_type ().enumValue ()) { + case GALGAS_dataType::kNotBuilt: + break ; + case GALGAS_dataType::kEnum_enumeration: + { + if (var_type_8188.isValid ()) { + if (var_type_8188.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impEnumType) { + GALGAS_impEnumType cast_8811_enumType ((cPtr_impEnumType *) var_type_8188.ptr ()) ; + enumGalgasBool test_3 = kBoolTrue ; + if (kBoolTrue == test_3) { + test_3 = cast_8811_enumType.readProperty_valuesMap ().getter_hasKey (var_value_8574.readProperty_string () COMMA_SOURCE_FILE ("goil_syntax.galgas", 305)).boolEnum () ; + if (kBoolTrue == test_3) { + cast_8811_enumType.readProperty_valuesMap ().method_get (var_value_8574, var_subTypes_8609, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 306)) ; + } + } + if (kBoolFalse == test_3) { + TC_Array fixItArray4 ; + inCompiler->emitSemanticError (var_value_8574.readProperty_location (), var_value_8574.readProperty_string ().add_operation (GALGAS_string (" ENUM value undeclared. One of the following values are expected: "), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 308)).add_operation (function_valueList (cast_8811_enumType.readProperty_valuesMap (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 308)), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 308)), fixItArray4 COMMA_SOURCE_FILE ("goil_syntax.galgas", 308)) ; + } + } + } + } + break ; + case GALGAS_dataType::kEnum_identifier: + { + } + break ; + case GALGAS_dataType::kEnum_objectType: + { + } + break ; + case GALGAS_dataType::kEnum_void: + case GALGAS_dataType::kEnum_uint_33__32_Number: + case GALGAS_dataType::kEnum_sint_33__32_Number: + case GALGAS_dataType::kEnum_uint_36__34_Number: + case GALGAS_dataType::kEnum_sint_36__34_Number: + case GALGAS_dataType::kEnum_floatNumber: + case GALGAS_dataType::kEnum_string: + case GALGAS_dataType::kEnum_structType: + case GALGAS_dataType::kEnum_boolean: + { + TC_Array fixItArray5 ; + inCompiler->emitSemanticError (var_idf_8101.readProperty_location (), var_idf_8101.readProperty_string ().add_operation (GALGAS_string (" is not an ENUM nor and IDENTIFIER nor an object reference"), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 314)), fixItArray5 COMMA_SOURCE_FILE ("goil_syntax.galgas", 314)) ; + } + break ; + } + switch (select_goil_5F_syntax_10 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 317)) ; + nt_oil_5F_declaration_5F_list_ (var_subTypes_8609, var_subAttributes_8681, inCompiler) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 319)) ; + } break ; + case 2: { + } break ; + default: + break ; + } + GALGAS_lstring var_oil_5F_desc_9535 ; + nt_description_ (var_oil_5F_desc_9535, inCompiler) ; + enumGalgasBool test_6 = kBoolTrue ; + if (kBoolTrue == test_6) { + test_6 = GALGAS_bool (kIsEqual, var_type_8188.readProperty_type ().objectCompare (GALGAS_dataType::constructor_enumeration (SOURCE_FILE ("goil_syntax.galgas", 322)))).boolEnum () ; + if (kBoolTrue == test_6) { + var_val_8117 = GALGAS_enumAttribute::constructor_new (var_oil_5F_desc_9535, var_value_8574.readProperty_location (), var_value_8574.readProperty_string (), var_subAttributes_8681 COMMA_SOURCE_FILE ("goil_syntax.galgas", 323)) ; + } + } + if (kBoolFalse == test_6) { + enumGalgasBool test_7 = kBoolTrue ; + if (kBoolTrue == test_7) { + test_7 = GALGAS_bool (kIsEqual, var_type_8188.readProperty_type ().objectCompare (GALGAS_dataType::constructor_objectType (SOURCE_FILE ("goil_syntax.galgas", 324)))).boolEnum () ; + if (kBoolTrue == test_7) { + var_val_8117 = GALGAS_objectRefAttribute::constructor_new (var_oil_5F_desc_9535, var_value_8574.readProperty_location (), var_value_8574 COMMA_SOURCE_FILE ("goil_syntax.galgas", 325)) ; + } + } + if (kBoolFalse == test_7) { + var_val_8117 = GALGAS_string_5F_class::constructor_new (var_oil_5F_desc_9535, var_value_8574.readProperty_location (), var_value_8574.readProperty_string () COMMA_SOURCE_FILE ("goil_syntax.galgas", 327)) ; + } + } + } break ; + case 2: { + GALGAS_bool var_sign_9971 ; + nt_sign_ (var_sign_9971, inCompiler) ; + switch (select_goil_5F_syntax_11 (inCompiler)) { + case 1: { + GALGAS_luint_36__34_ var_value_10052 ; + var_value_10052 = inCompiler->synthetizedAttribute_integerNumber () ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_uint_5F_number COMMA_SOURCE_FILE ("goil_syntax.galgas", 336)) ; + GALGAS_lstring var_oil_5F_desc_10123 ; + nt_description_ (var_oil_5F_desc_10123, inCompiler) ; + var_val_8117 = function_checkAndGetIntegerNumber (var_oil_5F_desc_10123, var_type_8188.readProperty_type (), var_value_10052, var_sign_9971, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 338)) ; + if (var_type_8188.isValid ()) { + if (var_type_8188.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impRangedType) { + GALGAS_impRangedType cast_10257_rangedType ((cPtr_impRangedType *) var_type_8188.ptr ()) ; + enumGalgasBool test_8 = kBoolTrue ; + if (kBoolTrue == test_8) { + test_8 = callExtensionGetter_contains ((const cPtr_attributeRange *) cast_10257_rangedType.readProperty_setOrRange ().ptr (), var_val_8117, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 341)).operator_not (SOURCE_FILE ("goil_syntax.galgas", 341)).boolEnum () ; + if (kBoolTrue == test_8) { + TC_Array fixItArray9 ; + inCompiler->emitSemanticError (var_value_10052.readProperty_location (), GALGAS_string ("Integer out or range. Allowed values are: ").add_operation (callExtensionGetter_string ((const cPtr_attributeRange *) cast_10257_rangedType.readProperty_setOrRange ().ptr (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 342)), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 342)), fixItArray9 COMMA_SOURCE_FILE ("goil_syntax.galgas", 342)) ; + } + } + } + } + } break ; + case 2: { + GALGAS_ldouble var_value_10521 ; + var_value_10521 = inCompiler->synthetizedAttribute_floatNumber () ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_float_5F_number COMMA_SOURCE_FILE ("goil_syntax.galgas", 348)) ; + GALGAS_lstring var_oil_5F_desc_10593 ; + nt_description_ (var_oil_5F_desc_10593, inCompiler) ; + var_val_8117 = function_checkAndGetFloatNumber (var_oil_5F_desc_10593, var_type_8188.readProperty_type (), var_value_10521, var_sign_9971, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 350)) ; + if (var_type_8188.isValid ()) { + if (var_type_8188.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impRangedType) { + GALGAS_impRangedType cast_10725_rangedType ((cPtr_impRangedType *) var_type_8188.ptr ()) ; + enumGalgasBool test_10 = kBoolTrue ; + if (kBoolTrue == test_10) { + test_10 = callExtensionGetter_contains ((const cPtr_attributeRange *) cast_10725_rangedType.readProperty_setOrRange ().ptr (), var_val_8117, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 353)).operator_not (SOURCE_FILE ("goil_syntax.galgas", 353)).boolEnum () ; + if (kBoolTrue == test_10) { + TC_Array fixItArray11 ; + inCompiler->emitSemanticError (var_value_10521.readProperty_location (), GALGAS_string ("Float out or range. Allowed values are: ").add_operation (callExtensionGetter_string ((const cPtr_attributeRange *) cast_10725_rangedType.readProperty_setOrRange ().ptr (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 354)), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 354)), fixItArray11 COMMA_SOURCE_FILE ("goil_syntax.galgas", 354)) ; + } + } + } + } + } break ; + default: + break ; + } + } break ; + case 3: { + GALGAS_lbool var_value_10988 ; + nt_boolean_ (var_value_10988, inCompiler) ; + GALGAS_implementationObjectMap var_subTypes_11027 = GALGAS_implementationObjectMap::constructor_emptyMap (SOURCE_FILE ("goil_syntax.galgas", 362)) ; + GALGAS_objectAttributes var_subAttributes_11097 = function_emptyObject (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 363)) ; + enumGalgasBool test_12 = kBoolTrue ; + if (kBoolTrue == test_12) { + test_12 = GALGAS_bool (kIsNotEqual, var_type_8188.readProperty_type ().objectCompare (GALGAS_dataType::constructor_boolean (SOURCE_FILE ("goil_syntax.galgas", 364)))).boolEnum () ; + if (kBoolTrue == test_12) { + TC_Array fixItArray13 ; + inCompiler->emitSemanticError (var_idf_8101.readProperty_location (), extensionGetter_oilType (var_type_8188.readProperty_type (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 365)).add_operation (GALGAS_string (" expected, got a BOOLEAN"), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 365)), fixItArray13 COMMA_SOURCE_FILE ("goil_syntax.galgas", 365)) ; + } + } + if (kBoolFalse == test_12) { + if (var_type_8188.isValid ()) { + if (var_type_8188.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impBoolType) { + GALGAS_impBoolType cast_11305_boolType ((cPtr_impBoolType *) var_type_8188.ptr ()) ; + enumGalgasBool test_14 = kBoolTrue ; + if (kBoolTrue == test_14) { + test_14 = var_value_10988.readProperty_bool ().boolEnum () ; + if (kBoolTrue == test_14) { + var_subTypes_11027 = cast_11305_boolType.readProperty_trueSubAttributes () ; + } + } + if (kBoolFalse == test_14) { + var_subTypes_11027 = cast_11305_boolType.readProperty_falseSubAttributes () ; + } + } + } + } + switch (select_goil_5F_syntax_12 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 377)) ; + enumGalgasBool test_15 = kBoolTrue ; + if (kBoolTrue == test_15) { + test_15 = GALGAS_bool (kIsEqual, var_subTypes_11027.getter_count (SOURCE_FILE ("goil_syntax.galgas", 378)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + if (kBoolTrue == test_15) { + TC_Array fixItArray16 ; + inCompiler->emitSemanticError (var_value_10988.readProperty_location (), function_stringLBool (var_value_10988, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 379)).add_operation (GALGAS_string (" value of "), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 379)).add_operation (var_idf_8101.readProperty_string (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 379)).add_operation (GALGAS_string (" has no sub-attribute"), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 379)), fixItArray16 COMMA_SOURCE_FILE ("goil_syntax.galgas", 379)) ; + } + } + nt_oil_5F_declaration_5F_list_ (var_subTypes_11027, var_subAttributes_11097, inCompiler) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 382)) ; + } break ; + case 2: { + } break ; + default: + break ; + } + GALGAS_lstring var_oil_5F_desc_11803 ; + nt_description_ (var_oil_5F_desc_11803, inCompiler) ; + var_val_8117 = GALGAS_boolAttribute::constructor_new (var_oil_5F_desc_11803, var_idf_8101.readProperty_location (), var_value_10988.readProperty_bool (), var_subAttributes_11097 COMMA_SOURCE_FILE ("goil_syntax.galgas", 385)) ; + } break ; + case 4: { + GALGAS_lstring var_literalString_11951 ; + var_literalString_11951 = inCompiler->synthetizedAttribute_a_5F_string () ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 389)) ; + GALGAS_lstring var_oil_5F_desc_12029 ; + nt_description_ (var_oil_5F_desc_12029, inCompiler) ; + var_val_8117 = GALGAS_stringAttribute::constructor_new (var_oil_5F_desc_12029, var_literalString_11951.readProperty_location (), var_literalString_11951.readProperty_string () COMMA_SOURCE_FILE ("goil_syntax.galgas", 391)) ; + } break ; + case 5: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_AUTO COMMA_SOURCE_FILE ("goil_syntax.galgas", 394)) ; + GALGAS_lstring var_oil_5F_desc_12202 ; + nt_description_ (var_oil_5F_desc_12202, inCompiler) ; + enumGalgasBool test_17 = kBoolTrue ; + if (kBoolTrue == test_17) { + test_17 = callExtensionGetter_autoAllowed ((const cPtr_impType *) var_type_8188.ptr (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 397)).boolEnum () ; + if (kBoolTrue == test_17) { + var_val_8117 = GALGAS_auto::constructor_new (var_oil_5F_desc_12202, GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 398)) COMMA_SOURCE_FILE ("goil_syntax.galgas", 398)) ; + } + } + if (kBoolFalse == test_17) { + TC_Array fixItArray18 ; + inCompiler->emitSemanticError (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 413)), GALGAS_string ("AUTO is not allowed"), fixItArray18 COMMA_SOURCE_FILE ("goil_syntax.galgas", 413)) ; + var_val_8117.drop () ; // Release error dropped variable + } + } break ; + default: + break ; } - scanner->generateIndexFile () ; + } break ; + case 2: { + GALGAS_lstring var_name_13037 = inCompiler->synthetizedAttribute_att_5F_token () ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 417)) ; + GALGAS_implementationObjectMap var_subTypes_13050 = GALGAS_implementationObjectMap::constructor_emptyMap (SOURCE_FILE ("goil_syntax.galgas", 418)) ; + GALGAS_objectAttributes var_subAttributes_13118 = function_emptyObject (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 419)) ; + enumGalgasBool test_19 = kBoolTrue ; + if (kBoolTrue == test_19) { + test_19 = GALGAS_bool (kIsNotEqual, var_type_8188.readProperty_type ().objectCompare (GALGAS_dataType::constructor_structType (SOURCE_FILE ("goil_syntax.galgas", 421)))).boolEnum () ; + if (kBoolTrue == test_19) { + TC_Array fixItArray20 ; + inCompiler->emitSemanticError (var_idf_8101.readProperty_location (), extensionGetter_oilType (var_type_8188.readProperty_type (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 422)).add_operation (GALGAS_string (" expected, got a STRUCT"), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 422)), fixItArray20 COMMA_SOURCE_FILE ("goil_syntax.galgas", 422)) ; + } + } + if (kBoolFalse == test_19) { + if (var_type_8188.isValid ()) { + if (var_type_8188.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impStructType) { + GALGAS_impStructType cast_13333_structType ((cPtr_impStructType *) var_type_8188.ptr ()) ; + var_subTypes_13050 = cast_13333_structType.readProperty_structAttributes () ; + } + } + } + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 429)) ; + nt_oil_5F_declaration_5F_list_ (var_subTypes_13050, var_subAttributes_13118, inCompiler) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 431)) ; + GALGAS_lstring var_oil_5F_desc_13527 ; + nt_description_ (var_oil_5F_desc_13527, inCompiler) ; + var_val_8117 = GALGAS_structAttribute::constructor_new (var_oil_5F_desc_13527, GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 433)), var_name_13037, var_subAttributes_13118 COMMA_SOURCE_FILE ("goil_syntax.galgas", 433)) ; + } break ; + default: + break ; } - macroDetachSharedObject (scanner) ; -} - -void cGrammar_goil_5F_object_5F_level_5F_include::performOnlyLexicalAnalysis (Compiler * inCompiler, - const String & inSourceFilePath) { - Lexique_goil_5F_lexique * scanner = nullptr ; - macroMyNew (scanner, Lexique_goil_5F_lexique (inCompiler, inSourceFilePath COMMA_HERE)) ; - if (scanner->sourceText ().isValid ()) { - scanner->performLexicalAnalysis () ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__3B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 435)) ; + GALGAS_identifierMap var_idfs_13675 = ioArgument_identifiers.readProperty_objectParams () ; + enumGalgasBool test_21 = kBoolTrue ; + if (kBoolTrue == test_21) { + test_21 = var_type_8188.readProperty_multiple ().boolEnum () ; + if (kBoolTrue == test_21) { + enumGalgasBool test_22 = kBoolTrue ; + if (kBoolTrue == test_22) { + test_22 = var_idfs_13675.getter_hasKey (var_idf_8101.readProperty_string () COMMA_SOURCE_FILE ("goil_syntax.galgas", 440)).boolEnum () ; + if (kBoolTrue == test_22) { + GALGAS_object_5F_t var_attributeList_13794 ; + { + var_idfs_13675.setter_del (var_idf_8101, var_attributeList_13794, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 444)) ; + } + if (var_attributeList_13794.isValid ()) { + if (var_attributeList_13794.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_multipleAttribute) { + GALGAS_multipleAttribute cast_13987_multiAttribute ((cPtr_multipleAttribute *) var_attributeList_13794.ptr ()) ; + GALGAS_identifierList var_aList_14028 = cast_13987_multiAttribute.readProperty_items () ; + var_aList_14028.addAssign_operation (var_val_8117 COMMA_SOURCE_FILE ("goil_syntax.galgas", 448)) ; + var_val_8117 = GALGAS_multipleAttribute::constructor_new (function_emptyLString (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 449)), cast_13987_multiAttribute.readProperty_location (), var_aList_14028 COMMA_SOURCE_FILE ("goil_syntax.galgas", 449)) ; + } + } + } + } + if (kBoolFalse == test_22) { + GALGAS_identifierList var_aList_14218 = GALGAS_identifierList::constructor_emptyList (SOURCE_FILE ("goil_syntax.galgas", 452)) ; + GALGAS_object_5F_t var_defaultValue_14294 = callExtensionGetter_getDefaultValue ((const cPtr_impType *) var_type_8188.ptr (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 454)) ; + if (var_defaultValue_14294.isValid ()) { + if (var_defaultValue_14294.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_multipleAttribute) { + GALGAS_multipleAttribute cast_14421_multiAttribute ((cPtr_multipleAttribute *) var_defaultValue_14294.ptr ()) ; + var_aList_14218 = cast_14421_multiAttribute.readProperty_items () ; + } + } + var_aList_14218.addAssign_operation (var_val_8117 COMMA_SOURCE_FILE ("goil_syntax.galgas", 464)) ; + var_val_8117 = GALGAS_multipleAttribute::constructor_new (function_emptyLString (inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 466)), var_val_8117.readProperty_location (), var_aList_14218 COMMA_SOURCE_FILE ("goil_syntax.galgas", 466)) ; + } + } } - macroDetachSharedObject (scanner) ; -} - -void cGrammar_goil_5F_object_5F_level_5F_include::performOnlySyntaxAnalysis (Compiler * inCompiler, - const String & inSourceFilePath) { - Lexique_goil_5F_lexique * scanner = nullptr ; - macroMyNew (scanner, Lexique_goil_5F_lexique (inCompiler, inSourceFilePath COMMA_HERE)) ; - if (scanner->sourceText ().isValid ()) { - scanner->performTopDownParsing (gProductions_goil_object_level_include, gProductionNames_goil_object_level_include, gProductionIndexes_goil_object_level_include, - gFirstProductionIndexes_goil_object_level_include, gDecision_goil_object_level_include, gDecisionIndexes_goil_object_level_include, 165) ; + if (kBoolFalse == test_21) { + enumGalgasBool test_23 = kBoolTrue ; + if (kBoolTrue == test_23) { + test_23 = var_idfs_13675.getter_hasKey (var_idf_8101.readProperty_string () COMMA_SOURCE_FILE ("goil_syntax.galgas", 469)).boolEnum () ; + if (kBoolTrue == test_23) { + GALGAS_object_5F_t var_existingObject_14901 ; + { + var_idfs_13675.setter_del (var_idf_8101, var_existingObject_14901, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 473)) ; + } + { + var_val_8117.insulate (HERE) ; + cPtr_object_5F_t * ptr_14965 = (cPtr_object_5F_t *) var_val_8117.ptr () ; + callExtensionSetter_mergeSubAttributes ((cPtr_object_5F_t *) ptr_14965, var_existingObject_14901, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 474)) ; + } + } + } + } + enumGalgasBool test_24 = kBoolTrue ; + if (kBoolTrue == test_24) { + test_24 = var_typeOk_8285.boolEnum () ; + if (kBoolTrue == test_24) { + { + var_idfs_13675.setter_put (var_idf_8101, var_val_8117, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 478)) ; + } + } + } + { + ioArgument_identifiers.setter_setObjectParams (var_idfs_13675 COMMA_SOURCE_FILE ("goil_syntax.galgas", 480)) ; } - macroDetachSharedObject (scanner) ; } -//-------------------------------------------------------------------------------------------------- -// -// Grammar start symbol implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_object_5F_level_5F_include::_performSourceFileParsing_ (Compiler * inCompiler, - GALGAS_lstring inFilePath, - const GALGAS_implementationObjectMap parameter_1, - GALGAS_objectAttributes & parameter_2 - COMMA_LOCATION_ARGS) { - if (inFilePath.isValid ()) { - const GALGAS_string filePathAsString = inFilePath.readProperty_string () ; - String filePath = filePathAsString.stringValue () ; - if (! FileManager::isAbsolutePath (filePath)) { - filePath = inCompiler->sourceFilePath ().stringByDeletingLastPathComponent ().stringByAppendingPathComponent (filePath) ; - } - if (FileManager::fileExistsAtPath (filePath)) { - Lexique_goil_5F_lexique * scanner = nullptr ; - macroMyNew (scanner, Lexique_goil_5F_lexique (inCompiler, filePath COMMA_HERE)) ; - if (scanner->sourceText ().isValid ()) { - const bool ok = scanner->performTopDownParsing (gProductions_goil_object_level_include, gProductionNames_goil_object_level_include, gProductionIndexes_goil_object_level_include, - gFirstProductionIndexes_goil_object_level_include, gDecision_goil_object_level_include, gDecisionIndexes_goil_object_level_include, 165) ; - if (ok && ! executionModeIsSyntaxAnalysisOnly ()) { - cGrammar_goil_5F_object_5F_level_5F_include grammar ; - grammar.nt_oil_5F_declaration_5F_list_ (parameter_1, parameter_2, scanner) ; - } - }else{ - String message ; - message.appendString ("the '") ; - message.appendString (filePath) ; - message.appendString ("' file exists, but cannot be read") ; - const GALGAS_location errorLocation (inFilePath.readProperty_location ()) ; - inCompiler->semanticErrorAtLocation (errorLocation, message, TC_Array () COMMA_THERE) ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_oil_5F_declaration_i10_parse (C_Lexique_goil_5F_lexique * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 281)) ; + switch (select_goil_5F_syntax_8 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__3D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 294)) ; + switch (select_goil_5F_syntax_9 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 298)) ; + switch (select_goil_5F_syntax_10 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 317)) ; + nt_oil_5F_declaration_5F_list_parse (inCompiler) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 319)) ; + } break ; + case 2: { + } break ; + default: + break ; + } + nt_description_parse (inCompiler) ; + } break ; + case 2: { + nt_sign_parse (inCompiler) ; + switch (select_goil_5F_syntax_11 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_uint_5F_number COMMA_SOURCE_FILE ("goil_syntax.galgas", 336)) ; + nt_description_parse (inCompiler) ; + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_float_5F_number COMMA_SOURCE_FILE ("goil_syntax.galgas", 348)) ; + nt_description_parse (inCompiler) ; + } break ; + default: + break ; } - macroDetachSharedObject (scanner) ; - }else{ - String message ; - message.appendString ("the '") ; - message.appendString (filePath) ; - message.appendString ("' file does not exist") ; - const GALGAS_location errorLocation (inFilePath.readProperty_location ()) ; - inCompiler->semanticErrorAtLocation (errorLocation, message, TC_Array () COMMA_THERE) ; + } break ; + case 3: { + nt_boolean_parse (inCompiler) ; + switch (select_goil_5F_syntax_12 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 377)) ; + nt_oil_5F_declaration_5F_list_parse (inCompiler) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 382)) ; + } break ; + case 2: { + } break ; + default: + break ; + } + nt_description_parse (inCompiler) ; + } break ; + case 4: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 389)) ; + nt_description_parse (inCompiler) ; + } break ; + case 5: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_AUTO COMMA_SOURCE_FILE ("goil_syntax.galgas", 394)) ; + nt_description_parse (inCompiler) ; + } break ; + default: + break ; } + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 417)) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 429)) ; + nt_oil_5F_declaration_5F_list_parse (inCompiler) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 431)) ; + nt_description_parse (inCompiler) ; + } break ; + default: + break ; } + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__3B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 435)) ; + inCompiler->resetTemplateString () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_object_5F_level_5F_include::_performSourceStringParsing_ (Compiler * inCompiler, - GALGAS_string inSourceString, - GALGAS_string inNameString, - const GALGAS_implementationObjectMap parameter_1, - GALGAS_objectAttributes & parameter_2 - COMMA_UNUSED_LOCATION_ARGS) { - if (inSourceString.isValid () && inNameString.isValid ()) { - const String sourceString = inSourceString.stringValue () ; - const String nameString = inNameString.stringValue () ; - Lexique_goil_5F_lexique * scanner = nullptr ; - macroMyNew (scanner, Lexique_goil_5F_lexique (inCompiler, sourceString, nameString COMMA_HERE)) ; - const bool ok = scanner->performTopDownParsing (gProductions_goil_object_level_include, gProductionNames_goil_object_level_include, gProductionIndexes_goil_object_level_include, - gFirstProductionIndexes_goil_object_level_include, gDecision_goil_object_level_include, gDecisionIndexes_goil_object_level_include, 165) ; - if (ok && ! executionModeIsSyntaxAnalysisOnly ()) { - cGrammar_goil_5F_object_5F_level_5F_include grammar ; - grammar.nt_oil_5F_declaration_5F_list_ (parameter_1, parameter_2, scanner) ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_oil_5F_declaration_i10_indexing (C_Lexique_goil_5F_lexique * inCompiler) { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 281)) ; + switch (select_goil_5F_syntax_8 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__3D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 294)) ; + switch (select_goil_5F_syntax_9 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 298)) ; + switch (select_goil_5F_syntax_10 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 317)) ; + nt_oil_5F_declaration_5F_list_indexing (inCompiler) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 319)) ; + } break ; + case 2: { + } break ; + default: + break ; + } + nt_description_indexing (inCompiler) ; + } break ; + case 2: { + nt_sign_indexing (inCompiler) ; + switch (select_goil_5F_syntax_11 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_uint_5F_number COMMA_SOURCE_FILE ("goil_syntax.galgas", 336)) ; + nt_description_indexing (inCompiler) ; + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_float_5F_number COMMA_SOURCE_FILE ("goil_syntax.galgas", 348)) ; + nt_description_indexing (inCompiler) ; + } break ; + default: + break ; + } + } break ; + case 3: { + nt_boolean_indexing (inCompiler) ; + switch (select_goil_5F_syntax_12 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 377)) ; + nt_oil_5F_declaration_5F_list_indexing (inCompiler) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 382)) ; + } break ; + case 2: { + } break ; + default: + break ; + } + nt_description_indexing (inCompiler) ; + } break ; + case 4: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 389)) ; + nt_description_indexing (inCompiler) ; + } break ; + case 5: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_AUTO COMMA_SOURCE_FILE ("goil_syntax.galgas", 394)) ; + nt_description_indexing (inCompiler) ; + } break ; + default: + break ; } - macroDetachSharedObject (scanner) ; + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_idf COMMA_SOURCE_FILE ("goil_syntax.galgas", 417)) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 429)) ; + nt_oil_5F_declaration_5F_list_indexing (inCompiler) ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__7D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 431)) ; + nt_description_indexing (inCompiler) ; + } break ; + default: + break ; } + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__3B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 435)) ; } -//-------------------------------------------------------------------------------------------------- -// -// 'oil_declaration' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -void cGrammar_goil_5F_object_5F_level_5F_include::nt_oil_5F_declaration_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_oil_5F_declaration_i10_parse(inLexique) ; -} - -void cGrammar_goil_5F_object_5F_level_5F_include::nt_oil_5F_declaration_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_oil_5F_declaration_i10_indexing(inLexique) ; -} - -void cGrammar_goil_5F_object_5F_level_5F_include::nt_oil_5F_declaration_ (const GALGAS_implementationObjectMap parameter_1, - GALGAS_objectAttributes & parameter_2, - Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_oil_5F_declaration_i10_(parameter_1, parameter_2, inLexique) ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'include_file_level' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -void cGrammar_goil_5F_object_5F_level_5F_include::nt_include_5F_file_5F_level_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_include_5F_file_5F_level_i11_parse(inLexique) ; -} - -void cGrammar_goil_5F_object_5F_level_5F_include::nt_include_5F_file_5F_level_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_include_5F_file_5F_level_i11_indexing(inLexique) ; -} - -void cGrammar_goil_5F_object_5F_level_5F_include::nt_include_5F_file_5F_level_ (GALGAS_implementation & parameter_1, - GALGAS_applicationDefinition & parameter_2, - GALGAS_string & parameter_3, - const GALGAS_bool parameter_4, - Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_include_5F_file_5F_level_i11_(parameter_1, parameter_2, parameter_3, parameter_4, inLexique) ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'include_cpu_level' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -void cGrammar_goil_5F_object_5F_level_5F_include::nt_include_5F_cpu_5F_level_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_include_5F_cpu_5F_level_i12_parse(inLexique) ; -} - -void cGrammar_goil_5F_object_5F_level_5F_include::nt_include_5F_cpu_5F_level_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_include_5F_cpu_5F_level_i12_indexing(inLexique) ; -} - -void cGrammar_goil_5F_object_5F_level_5F_include::nt_include_5F_cpu_5F_level_ (const GALGAS_implementation parameter_1, - GALGAS_objectsMap & parameter_2, - GALGAS_string & parameter_3, - const GALGAS_bool parameter_4, - Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_include_5F_cpu_5F_level_i12_(parameter_1, parameter_2, parameter_3, parameter_4, inLexique) ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'include_object_level' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -void cGrammar_goil_5F_object_5F_level_5F_include::nt_include_5F_object_5F_level_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_include_5F_object_5F_level_i13_parse(inLexique) ; -} - -void cGrammar_goil_5F_object_5F_level_5F_include::nt_include_5F_object_5F_level_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_include_5F_object_5F_level_i13_indexing(inLexique) ; -} - -void cGrammar_goil_5F_object_5F_level_5F_include::nt_include_5F_object_5F_level_ (const GALGAS_implementationObjectMap parameter_1, - GALGAS_objectAttributes & parameter_2, - Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_include_5F_object_5F_level_i13_(parameter_1, parameter_2, inLexique) ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_0' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_0 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_1' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_1 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_2' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_2 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_3' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_3 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_4' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_4 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_5' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_5 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_6' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_6 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_7' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_7 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_8' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_8 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_9' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_9 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_10' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_10 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_include_5F_file_5F_level_i11_ (GALGAS_implementation & ioArgument_imp, + GALGAS_applicationDefinition & ioArgument_application, + GALGAS_string & ioArgument_fileIncludeList, + const GALGAS_bool constinArgument_rootFile, + C_Lexique_goil_5F_lexique * inCompiler) { + GALGAS_bool var_includeIfExists_15268 = GALGAS_bool (false) ; + switch (select_goil_5F_syntax_13 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_include COMMA_SOURCE_FILE ("goil_syntax.galgas", 491)) ; + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_includeifexists COMMA_SOURCE_FILE ("goil_syntax.galgas", 493)) ; + var_includeIfExists_15268 = GALGAS_bool (true) ; + } break ; + default: + break ; + } + GALGAS_lstring var_file_5F_name_15384 ; + switch (select_goil_5F_syntax_14 (inCompiler)) { + case 1: { + var_file_5F_name_15384 = inCompiler->synthetizedAttribute_a_5F_string () ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_g_5F_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 497)) ; + { + routine_file_5F_in_5F_path (var_file_5F_name_15384, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 498)) ; + } + } break ; + case 2: { + var_file_5F_name_15384 = inCompiler->synthetizedAttribute_a_5F_string () ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 500)) ; + } break ; + default: + break ; + } + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + GALGAS_bool test_1 = var_includeIfExists_15268.operator_not (SOURCE_FILE ("goil_syntax.galgas", 502)) ; + if (kBoolTrue != test_1.boolEnum ()) { + GALGAS_bool test_2 = var_includeIfExists_15268 ; + if (kBoolTrue == test_2.boolEnum ()) { + test_2 = var_file_5F_name_15384.readProperty_string ().getter_fileExists (SOURCE_FILE ("goil_syntax.galgas", 502)) ; + } + test_1 = test_2 ; + } + test_0 = test_1.boolEnum () ; + if (kBoolTrue == test_0) { + cGrammar_goil_5F_file_5F_level_5F_include::_performSourceFileParsing_ (inCompiler, var_file_5F_name_15384, ioArgument_imp, ioArgument_application, ioArgument_fileIncludeList, constinArgument_rootFile COMMA_SOURCE_FILE ("goil_syntax.galgas", 503)) ; + } + } } -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_11' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_11 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_include_5F_file_5F_level_i11_parse (C_Lexique_goil_5F_lexique * inCompiler) { + switch (select_goil_5F_syntax_13 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_include COMMA_SOURCE_FILE ("goil_syntax.galgas", 491)) ; + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_includeifexists COMMA_SOURCE_FILE ("goil_syntax.galgas", 493)) ; + } break ; + default: + break ; + } + switch (select_goil_5F_syntax_14 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_g_5F_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 497)) ; + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 500)) ; + } break ; + default: + break ; + } + inCompiler->resetTemplateString () ; } -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_12' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_12 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_include_5F_file_5F_level_i11_indexing (C_Lexique_goil_5F_lexique * inCompiler) { + switch (select_goil_5F_syntax_13 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_include COMMA_SOURCE_FILE ("goil_syntax.galgas", 491)) ; + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_includeifexists COMMA_SOURCE_FILE ("goil_syntax.galgas", 493)) ; + } break ; + default: + break ; + } + switch (select_goil_5F_syntax_14 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_g_5F_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 497)) ; + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 500)) ; + } break ; + default: + break ; + } } -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_13' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_13 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_include_5F_cpu_5F_level_i12_ (const GALGAS_implementation constinArgument_imp, + GALGAS_objectsMap & ioArgument_objects, + GALGAS_string & ioArgument_fileIncludeList, + const GALGAS_bool constinArgument_rootFile, + C_Lexique_goil_5F_lexique * inCompiler) { + GALGAS_bool var_includeIfExists_15817 = GALGAS_bool (false) ; + switch (select_goil_5F_syntax_15 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_include COMMA_SOURCE_FILE ("goil_syntax.galgas", 515)) ; + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_includeifexists COMMA_SOURCE_FILE ("goil_syntax.galgas", 517)) ; + var_includeIfExists_15817 = GALGAS_bool (true) ; + } break ; + default: + break ; + } + GALGAS_lstring var_file_5F_name_15933 ; + switch (select_goil_5F_syntax_16 (inCompiler)) { + case 1: { + var_file_5F_name_15933 = inCompiler->synthetizedAttribute_a_5F_string () ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_g_5F_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 521)) ; + { + routine_file_5F_in_5F_path (var_file_5F_name_15933, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 522)) ; + } + } break ; + case 2: { + var_file_5F_name_15933 = inCompiler->synthetizedAttribute_a_5F_string () ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 524)) ; + } break ; + default: + break ; + } + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + GALGAS_bool test_1 = var_includeIfExists_15817.operator_not (SOURCE_FILE ("goil_syntax.galgas", 526)) ; + if (kBoolTrue != test_1.boolEnum ()) { + GALGAS_bool test_2 = var_includeIfExists_15817 ; + if (kBoolTrue == test_2.boolEnum ()) { + test_2 = var_file_5F_name_15933.readProperty_string ().getter_fileExists (SOURCE_FILE ("goil_syntax.galgas", 526)) ; + } + test_1 = test_2 ; + } + test_0 = test_1.boolEnum () ; + if (kBoolTrue == test_0) { + cGrammar_goil_5F_cpu_5F_level_5F_include::_performSourceFileParsing_ (inCompiler, var_file_5F_name_15933, constinArgument_imp, ioArgument_objects, ioArgument_fileIncludeList, constinArgument_rootFile COMMA_SOURCE_FILE ("goil_syntax.galgas", 527)) ; + } + } } -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_14' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_14 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_include_5F_cpu_5F_level_i12_parse (C_Lexique_goil_5F_lexique * inCompiler) { + switch (select_goil_5F_syntax_15 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_include COMMA_SOURCE_FILE ("goil_syntax.galgas", 515)) ; + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_includeifexists COMMA_SOURCE_FILE ("goil_syntax.galgas", 517)) ; + } break ; + default: + break ; + } + switch (select_goil_5F_syntax_16 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_g_5F_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 521)) ; + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 524)) ; + } break ; + default: + break ; + } + inCompiler->resetTemplateString () ; } -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_15' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_15 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_include_5F_cpu_5F_level_i12_indexing (C_Lexique_goil_5F_lexique * inCompiler) { + switch (select_goil_5F_syntax_15 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_include COMMA_SOURCE_FILE ("goil_syntax.galgas", 515)) ; + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_includeifexists COMMA_SOURCE_FILE ("goil_syntax.galgas", 517)) ; + } break ; + default: + break ; + } + switch (select_goil_5F_syntax_16 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_g_5F_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 521)) ; + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 524)) ; + } break ; + default: + break ; + } } -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_16' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_16 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_include_5F_object_5F_level_i13_ (const GALGAS_implementationObjectMap constinArgument_types, + GALGAS_objectAttributes & ioArgument_identifiers, + C_Lexique_goil_5F_lexique * inCompiler) { + GALGAS_bool var_includeIfExists_16334 = GALGAS_bool (false) ; + switch (select_goil_5F_syntax_17 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_include COMMA_SOURCE_FILE ("goil_syntax.galgas", 537)) ; + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_includeifexists COMMA_SOURCE_FILE ("goil_syntax.galgas", 539)) ; + var_includeIfExists_16334 = GALGAS_bool (true) ; + } break ; + default: + break ; + } + GALGAS_lstring var_file_5F_name_16450 ; + switch (select_goil_5F_syntax_18 (inCompiler)) { + case 1: { + var_file_5F_name_16450 = inCompiler->synthetizedAttribute_a_5F_string () ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_g_5F_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 543)) ; + { + routine_file_5F_in_5F_path (var_file_5F_name_16450, inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 544)) ; + } + } break ; + case 2: { + var_file_5F_name_16450 = inCompiler->synthetizedAttribute_a_5F_string () ; + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 546)) ; + } break ; + default: + break ; + } + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + GALGAS_bool test_1 = var_includeIfExists_16334.operator_not (SOURCE_FILE ("goil_syntax.galgas", 548)) ; + if (kBoolTrue != test_1.boolEnum ()) { + GALGAS_bool test_2 = var_includeIfExists_16334 ; + if (kBoolTrue == test_2.boolEnum ()) { + test_2 = var_file_5F_name_16450.readProperty_string ().getter_fileExists (SOURCE_FILE ("goil_syntax.galgas", 548)) ; + } + test_1 = test_2 ; + } + test_0 = test_1.boolEnum () ; + if (kBoolTrue == test_0) { + cGrammar_goil_5F_object_5F_level_5F_include::_performSourceFileParsing_ (inCompiler, var_file_5F_name_16450, constinArgument_types, ioArgument_identifiers COMMA_SOURCE_FILE ("goil_syntax.galgas", 549)) ; + } + } } -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_17' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_17 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_include_5F_object_5F_level_i13_parse (C_Lexique_goil_5F_lexique * inCompiler) { + switch (select_goil_5F_syntax_17 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_include COMMA_SOURCE_FILE ("goil_syntax.galgas", 537)) ; + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_includeifexists COMMA_SOURCE_FILE ("goil_syntax.galgas", 539)) ; + } break ; + default: + break ; + } + switch (select_goil_5F_syntax_18 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_g_5F_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 543)) ; + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 546)) ; + } break ; + default: + break ; + } + inCompiler->resetTemplateString () ; } -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_18' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_18 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; +void cParser_goil_5F_syntax::rule_goil_5F_syntax_include_5F_object_5F_level_i13_indexing (C_Lexique_goil_5F_lexique * inCompiler) { + switch (select_goil_5F_syntax_17 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_include COMMA_SOURCE_FILE ("goil_syntax.galgas", 537)) ; + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_includeifexists COMMA_SOURCE_FILE ("goil_syntax.galgas", 539)) ; + } break ; + default: + break ; + } + switch (select_goil_5F_syntax_18 (inCompiler)) { + case 1: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_g_5F_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 543)) ; + } break ; + case 2: { + inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 546)) ; + } break ; + default: + break ; + } } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -//-------------------------------------------------------------------------------------------------- +#include "utilities/MF_MemoryControl.h" +#include "galgas2/C_galgas_CLI_Options.h" -#include "MF_MemoryControl.h" -#include "C_galgas_CLI_Options.h" +#include "files/C_FileManager.h" -#include "FileManager.h" +//---------------------------------------------------------------------------------------------------------------------* -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* +// +// L L ( 1 ) P R O D U C T I O N R U L E S +// +//---------------------------------------------------------------------------------------------------------------------* -//-------------------------------------------------------------------------------------------------- -// -// LL(1) PRODUCTION RULES -// -//-------------------------------------------------------------------------------------------------- +#define TERMINAL(t) ((t)+1) +#define NONTERMINAL(nt) ((-nt)-1) +#define END_PRODUCTION (0) -static const int32_t gProductions_goil_cpu_level_include [] = { +static const int32_t gProductions_goil_object_level_include [] = { // At index 0 : , in file 'goil_syntax.ggs', line 38 - TOP_DOWN_NONTERMINAL (6) // -, TOP_DOWN_NONTERMINAL (2) // -, TOP_DOWN_END_PRODUCTION () + NONTERMINAL (6) // +, NONTERMINAL (2) // +, END_PRODUCTION // At index 3 : , in file 'goil_syntax.ggs', line 119 -, TOP_DOWN_NONTERMINAL (15) // -, TOP_DOWN_END_PRODUCTION () +, NONTERMINAL (15) // +, END_PRODUCTION // At index 5 : , in file 'goil_syntax.ggs', line 135 -, TOP_DOWN_NONTERMINAL (16) // -, TOP_DOWN_END_PRODUCTION () +, NONTERMINAL (16) // +, END_PRODUCTION // At index 7 : , in file 'goil_syntax.ggs', line 146 -, TOP_DOWN_NONTERMINAL (17) // -, TOP_DOWN_END_PRODUCTION () +, NONTERMINAL (17) // +, END_PRODUCTION // At index 9 : , in file 'goil_syntax.ggs', line 159 -, TOP_DOWN_NONTERMINAL (18) // -, TOP_DOWN_END_PRODUCTION () +, NONTERMINAL (18) // +, END_PRODUCTION // At index 11 : , in file 'goil_syntax.ggs', line 183 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_OIL_5F_VERSION) // $OIL_VERSION$ -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__3D_) // $=$ -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_string) // $string$ -, TOP_DOWN_NONTERMINAL (5) // -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__3B_) // $;$ -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_OIL_5F_VERSION) // $OIL_VERSION$ +, TERMINAL (C_Lexique_goil_5F_lexique::kToken__3D_) // $=$ +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_string) // $string$ +, NONTERMINAL (5) // +, TERMINAL (C_Lexique_goil_5F_lexique::kToken__3B_) // $;$ +, END_PRODUCTION // At index 17 : , in file 'goil_syntax.ggs', line 190 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_CPU) // $CPU$ -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_idf) // $idf$ -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__7B_) // ${$ -, TOP_DOWN_NONTERMINAL (8) // -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__7D_) // $}$ -, TOP_DOWN_NONTERMINAL (5) // -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__3B_) // $;$ -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_CPU) // $CPU$ +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_idf) // $idf$ +, TERMINAL (C_Lexique_goil_5F_lexique::kToken__7B_) // ${$ +, NONTERMINAL (8) // +, TERMINAL (C_Lexique_goil_5F_lexique::kToken__7D_) // $}$ +, NONTERMINAL (5) // +, TERMINAL (C_Lexique_goil_5F_lexique::kToken__3B_) // $;$ +, END_PRODUCTION // At index 25 : , in file 'goil_syntax.ggs', line 204 -, TOP_DOWN_NONTERMINAL (20) // -, TOP_DOWN_END_PRODUCTION () +, NONTERMINAL (20) // +, END_PRODUCTION // At index 27 : , in file 'goil_syntax.ggs', line 254 -, TOP_DOWN_NONTERMINAL (21) // -, TOP_DOWN_END_PRODUCTION () +, NONTERMINAL (21) // +, END_PRODUCTION // At index 29 : , in file 'goil_syntax.ggs', line 264 -, TOP_DOWN_NONTERMINAL (22) // -, TOP_DOWN_END_PRODUCTION () +, NONTERMINAL (22) // +, END_PRODUCTION // At index 31 : , in file 'goil_syntax.ggs', line 276 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_idf) // $idf$ -, TOP_DOWN_NONTERMINAL (23) // -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__3B_) // $;$ -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_idf) // $idf$ +, NONTERMINAL (23) // +, TERMINAL (C_Lexique_goil_5F_lexique::kToken__3B_) // $;$ +, END_PRODUCTION // At index 35 : , in file 'goil_syntax.ggs', line 483 -, TOP_DOWN_NONTERMINAL (28) // -, TOP_DOWN_NONTERMINAL (29) // -, TOP_DOWN_END_PRODUCTION () +, NONTERMINAL (28) // +, NONTERMINAL (29) // +, END_PRODUCTION // At index 38 : , in file 'goil_syntax.ggs', line 507 -, TOP_DOWN_NONTERMINAL (30) // -, TOP_DOWN_NONTERMINAL (31) // -, TOP_DOWN_END_PRODUCTION () +, NONTERMINAL (30) // +, NONTERMINAL (31) // +, END_PRODUCTION // At index 41 : , in file 'goil_syntax.ggs', line 531 -, TOP_DOWN_NONTERMINAL (32) // -, TOP_DOWN_NONTERMINAL (33) // -, TOP_DOWN_END_PRODUCTION () +, NONTERMINAL (32) // +, NONTERMINAL (33) // +, END_PRODUCTION //---- Added productions from 'select' and 'repeat' instructions // At index 44 : , in file 'goil_syntax.ggs', line 128 -, TOP_DOWN_END_PRODUCTION () +, END_PRODUCTION // At index 45 : , in file 'goil_syntax.ggs', line 128 -, TOP_DOWN_NONTERMINAL (12) // -, TOP_DOWN_NONTERMINAL (15) // -, TOP_DOWN_END_PRODUCTION () +, NONTERMINAL (12) // +, NONTERMINAL (15) // +, END_PRODUCTION // At index 48 : , in file 'goil_syntax.ggs', line 128 -, TOP_DOWN_NONTERMINAL (0) // -, TOP_DOWN_NONTERMINAL (15) // -, TOP_DOWN_END_PRODUCTION () +, NONTERMINAL (0) // +, NONTERMINAL (15) // +, END_PRODUCTION // At index 51 : , in file 'goil_syntax.ggs', line 128 -, TOP_DOWN_NONTERMINAL (7) // -, TOP_DOWN_NONTERMINAL (15) // -, TOP_DOWN_END_PRODUCTION () +, NONTERMINAL (7) // +, NONTERMINAL (15) // +, END_PRODUCTION // At index 54 : , in file 'goil_syntax.ggs', line 140 -, TOP_DOWN_END_PRODUCTION () +, END_PRODUCTION // At index 55 : , in file 'goil_syntax.ggs', line 140 -, TOP_DOWN_NONTERMINAL (0) // -, TOP_DOWN_NONTERMINAL (16) // -, TOP_DOWN_END_PRODUCTION () +, NONTERMINAL (0) // +, NONTERMINAL (16) // +, END_PRODUCTION // At index 58 : , in file 'goil_syntax.ggs', line 140 -, TOP_DOWN_NONTERMINAL (7) // -, TOP_DOWN_NONTERMINAL (16) // -, TOP_DOWN_END_PRODUCTION () +, NONTERMINAL (7) // +, NONTERMINAL (16) // +, END_PRODUCTION // At index 61 : , in file 'goil_syntax.ggs', line 147 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__2D_) // $-$ -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken__2D_) // $-$ +, END_PRODUCTION // At index 63 : , in file 'goil_syntax.ggs', line 147 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__2B_) // $+$ -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken__2B_) // $+$ +, END_PRODUCTION // At index 65 : , in file 'goil_syntax.ggs', line 147 -, TOP_DOWN_END_PRODUCTION () +, END_PRODUCTION // At index 66 : , in file 'goil_syntax.ggs', line 160 -, TOP_DOWN_END_PRODUCTION () +, END_PRODUCTION // At index 67 : , in file 'goil_syntax.ggs', line 160 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__3A_) // $:$ -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_string) // $string$ -, TOP_DOWN_NONTERMINAL (19) // -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken__3A_) // $:$ +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_string) // $string$ +, NONTERMINAL (19) // +, END_PRODUCTION // At index 71 : , in file 'goil_syntax.ggs', line 167 -, TOP_DOWN_END_PRODUCTION () +, END_PRODUCTION // At index 72 : , in file 'goil_syntax.ggs', line 167 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_string) // $string$ -, TOP_DOWN_NONTERMINAL (19) // -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_string) // $string$ +, NONTERMINAL (19) // +, END_PRODUCTION // At index 75 : , in file 'goil_syntax.ggs', line 210 -, TOP_DOWN_END_PRODUCTION () +, END_PRODUCTION // At index 76 : , in file 'goil_syntax.ggs', line 210 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_idf) // $idf$ -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_idf) // $idf$ -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__7B_) // ${$ -, TOP_DOWN_NONTERMINAL (10) // -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__7D_) // $}$ -, TOP_DOWN_NONTERMINAL (5) // -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__3B_) // $;$ -, TOP_DOWN_NONTERMINAL (20) // -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_idf) // $idf$ +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_idf) // $idf$ +, TERMINAL (C_Lexique_goil_5F_lexique::kToken__7B_) // ${$ +, NONTERMINAL (10) // +, TERMINAL (C_Lexique_goil_5F_lexique::kToken__7D_) // $}$ +, NONTERMINAL (5) // +, TERMINAL (C_Lexique_goil_5F_lexique::kToken__3B_) // $;$ +, NONTERMINAL (20) // +, END_PRODUCTION // At index 85 : , in file 'goil_syntax.ggs', line 210 -, TOP_DOWN_NONTERMINAL (13) // -, TOP_DOWN_NONTERMINAL (20) // -, TOP_DOWN_END_PRODUCTION () +, NONTERMINAL (13) // +, NONTERMINAL (20) // +, END_PRODUCTION // At index 88 : , in file 'goil_syntax.ggs', line 255 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_TRUE) // $TRUE$ -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_TRUE) // $TRUE$ +, END_PRODUCTION // At index 90 : , in file 'goil_syntax.ggs', line 255 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_FALSE) // $FALSE$ -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_FALSE) // $FALSE$ +, END_PRODUCTION // At index 92 : , in file 'goil_syntax.ggs', line 268 -, TOP_DOWN_END_PRODUCTION () +, END_PRODUCTION // At index 93 : , in file 'goil_syntax.ggs', line 268 -, TOP_DOWN_NONTERMINAL (11) // -, TOP_DOWN_NONTERMINAL (22) // -, TOP_DOWN_END_PRODUCTION () +, NONTERMINAL (11) // +, NONTERMINAL (22) // +, END_PRODUCTION // At index 96 : , in file 'goil_syntax.ggs', line 268 -, TOP_DOWN_NONTERMINAL (14) // -, TOP_DOWN_NONTERMINAL (22) // -, TOP_DOWN_END_PRODUCTION () +, NONTERMINAL (14) // +, NONTERMINAL (22) // +, END_PRODUCTION // At index 99 : , in file 'goil_syntax.ggs', line 293 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__3D_) // $=$ -, TOP_DOWN_NONTERMINAL (24) // -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken__3D_) // $=$ +, NONTERMINAL (24) // +, END_PRODUCTION // At index 102 : , in file 'goil_syntax.ggs', line 293 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_idf) // $idf$ -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__7B_) // ${$ -, TOP_DOWN_NONTERMINAL (10) // -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__7D_) // $}$ -, TOP_DOWN_NONTERMINAL (5) // -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_idf) // $idf$ +, TERMINAL (C_Lexique_goil_5F_lexique::kToken__7B_) // ${$ +, NONTERMINAL (10) // +, TERMINAL (C_Lexique_goil_5F_lexique::kToken__7D_) // $}$ +, NONTERMINAL (5) // +, END_PRODUCTION // At index 108 : , in file 'goil_syntax.ggs', line 295 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_idf) // $idf$ -, TOP_DOWN_NONTERMINAL (25) // -, TOP_DOWN_NONTERMINAL (5) // -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_idf) // $idf$ +, NONTERMINAL (25) // +, NONTERMINAL (5) // +, END_PRODUCTION // At index 112 : , in file 'goil_syntax.ggs', line 295 -, TOP_DOWN_NONTERMINAL (4) // -, TOP_DOWN_NONTERMINAL (26) // -, TOP_DOWN_END_PRODUCTION () +, NONTERMINAL (4) // +, NONTERMINAL (26) // +, END_PRODUCTION // At index 115 : , in file 'goil_syntax.ggs', line 295 -, TOP_DOWN_NONTERMINAL (9) // -, TOP_DOWN_NONTERMINAL (27) // -, TOP_DOWN_NONTERMINAL (5) // -, TOP_DOWN_END_PRODUCTION () +, NONTERMINAL (9) // +, NONTERMINAL (27) // +, NONTERMINAL (5) // +, END_PRODUCTION // At index 119 : , in file 'goil_syntax.ggs', line 295 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_string) // $string$ -, TOP_DOWN_NONTERMINAL (5) // -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_string) // $string$ +, NONTERMINAL (5) // +, END_PRODUCTION // At index 122 : , in file 'goil_syntax.ggs', line 295 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_AUTO) // $AUTO$ -, TOP_DOWN_NONTERMINAL (5) // -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_AUTO) // $AUTO$ +, NONTERMINAL (5) // +, END_PRODUCTION // At index 125 : , in file 'goil_syntax.ggs', line 316 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__7B_) // ${$ -, TOP_DOWN_NONTERMINAL (10) // -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__7D_) // $}$ -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken__7B_) // ${$ +, NONTERMINAL (10) // +, TERMINAL (C_Lexique_goil_5F_lexique::kToken__7D_) // $}$ +, END_PRODUCTION // At index 129 : , in file 'goil_syntax.ggs', line 316 -, TOP_DOWN_END_PRODUCTION () +, END_PRODUCTION // At index 130 : , in file 'goil_syntax.ggs', line 333 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_uint_5F_number) // $uint_number$ -, TOP_DOWN_NONTERMINAL (5) // -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_uint_5F_number) // $uint_number$ +, NONTERMINAL (5) // +, END_PRODUCTION // At index 133 : , in file 'goil_syntax.ggs', line 333 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_float_5F_number) // $float_number$ -, TOP_DOWN_NONTERMINAL (5) // -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_float_5F_number) // $float_number$ +, NONTERMINAL (5) // +, END_PRODUCTION // At index 136 : , in file 'goil_syntax.ggs', line 376 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__7B_) // ${$ -, TOP_DOWN_NONTERMINAL (10) // -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken__7D_) // $}$ -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken__7B_) // ${$ +, NONTERMINAL (10) // +, TERMINAL (C_Lexique_goil_5F_lexique::kToken__7D_) // $}$ +, END_PRODUCTION // At index 140 : , in file 'goil_syntax.ggs', line 376 -, TOP_DOWN_END_PRODUCTION () +, END_PRODUCTION // At index 141 : , in file 'goil_syntax.ggs', line 490 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_include) // $include$ -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_include) // $include$ +, END_PRODUCTION // At index 143 : , in file 'goil_syntax.ggs', line 490 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_includeifexists) // $includeifexists$ -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_includeifexists) // $includeifexists$ +, END_PRODUCTION // At index 145 : , in file 'goil_syntax.ggs', line 496 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_g_5F_string) // $g_string$ -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_g_5F_string) // $g_string$ +, END_PRODUCTION // At index 147 : , in file 'goil_syntax.ggs', line 496 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_string) // $string$ -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_string) // $string$ +, END_PRODUCTION // At index 149 : , in file 'goil_syntax.ggs', line 514 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_include) // $include$ -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_include) // $include$ +, END_PRODUCTION // At index 151 : , in file 'goil_syntax.ggs', line 514 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_includeifexists) // $includeifexists$ -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_includeifexists) // $includeifexists$ +, END_PRODUCTION // At index 153 : , in file 'goil_syntax.ggs', line 520 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_g_5F_string) // $g_string$ -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_g_5F_string) // $g_string$ +, END_PRODUCTION // At index 155 : , in file 'goil_syntax.ggs', line 520 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_string) // $string$ -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_string) // $string$ +, END_PRODUCTION // At index 157 : , in file 'goil_syntax.ggs', line 536 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_include) // $include$ -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_include) // $include$ +, END_PRODUCTION // At index 159 : , in file 'goil_syntax.ggs', line 536 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_includeifexists) // $includeifexists$ -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_includeifexists) // $includeifexists$ +, END_PRODUCTION // At index 161 : , in file 'goil_syntax.ggs', line 542 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_g_5F_string) // $g_string$ -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_g_5F_string) // $g_string$ +, END_PRODUCTION // At index 163 : , in file 'goil_syntax.ggs', line 542 -, TOP_DOWN_TERMINAL (Lexique_goil_5F_lexique::kToken_string) // $string$ -, TOP_DOWN_END_PRODUCTION () +, TERMINAL (C_Lexique_goil_5F_lexique::kToken_string) // $string$ +, END_PRODUCTION // At index 165 : <>, in file '.ggs', line 0 -, TOP_DOWN_NONTERMINAL (8) // -, TOP_DOWN_END_PRODUCTION () +, NONTERMINAL (10) // +, END_PRODUCTION } ; -//-------------------------------------------------------------------------------------------------- -// -// P R O D U C T I O N N A M E S -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* +// +// P R O D U C T I O N N A M E S +// +//---------------------------------------------------------------------------------------------------------------------* -static const cProductionNameDescriptor gProductionNames_goil_cpu_level_include [62] = { +static const cProductionNameDescriptor gProductionNames_goil_object_level_include [62] = { {"", "goil_syntax", 0}, // at index 0 {"", "goil_syntax", 3}, // at index 1 {"", "goil_syntax", 5}, // at index 2 @@ -9654,13 +9204,13 @@ static const cProductionNameDescriptor gProductionNames_goil_cpu_level_include [ {"<>", "", 165} // at index 61 } ; -//-------------------------------------------------------------------------------------------------- -// -// L L ( 1 ) P R O D U C T I O N I N D E X E S -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* +// +// L L ( 1 ) P R O D U C T I O N I N D E X E S +// +//---------------------------------------------------------------------------------------------------------------------* -static const int32_t gProductionIndexes_goil_cpu_level_include [62] = { +static const int32_t gProductionIndexes_goil_object_level_include [62] = { 0, // index 0 : , in file 'goil_syntax.ggs', line 38 3, // index 1 : , in file 'goil_syntax.ggs', line 119 5, // index 2 : , in file 'goil_syntax.ggs', line 135 @@ -9725,13 +9275,13 @@ static const int32_t gProductionIndexes_goil_cpu_level_include [62] = { 165 // index 61 : <>, in file '.ggs', line 0 } ; -//-------------------------------------------------------------------------------------------------- -// -// L L ( 1 ) F I R S T P R O D U C T I O N I N D E X E S -// -//-------------------------------------------------------------------------------------------------- - -static const int32_t gFirstProductionIndexes_goil_cpu_level_include [36] = { +//---------------------------------------------------------------------------------------------------------------------* +// +// L L ( 1 ) F I R S T P R O D U C T I O N I N D E X E S +// +//---------------------------------------------------------------------------------------------------------------------* + +static const int32_t gFirstProductionIndexes_goil_object_level_include [36] = { 0, // at 0 : 0, // at 1 : 1, // at 2 : @@ -9769,13 +9319,13 @@ static const int32_t gFirstProductionIndexes_goil_cpu_level_include [36] = { 61, // at 34 : <> 0} ; -//-------------------------------------------------------------------------------------------------- -// -// L L ( 1 ) D E C I S I O N T A B L E S -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* +// +// L L ( 1 ) D E C I S I O N T A B L E S +// +//---------------------------------------------------------------------------------------------------------------------* -static const int32_t gDecision_goil_cpu_level_include [] = { +static const int32_t gDecision_goil_object_level_include [] = { // At index 0 : no production // At index 0 : only one production, no choice -1, @@ -9808,100 +9358,100 @@ static const int32_t gDecision_goil_cpu_level_include [] = { //---- Added non terminal symbols from 'select' and 'repeat' instructions // At index 14 : -1, // Choice 1 -Lexique_goil_5F_lexique::kToken_include, Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 2 +C_Lexique_goil_5F_lexique::kToken_include, C_Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 2 -1, // Choice 3 -Lexique_goil_5F_lexique::kToken_CPU, -1, // Choice 4 +C_Lexique_goil_5F_lexique::kToken_CPU, -1, // Choice 4 -1, // At index 22 : -1, // Choice 1 -1, // Choice 2 -Lexique_goil_5F_lexique::kToken_CPU, -1, // Choice 3 +C_Lexique_goil_5F_lexique::kToken_CPU, -1, // Choice 3 -1, // At index 27 : -Lexique_goil_5F_lexique::kToken__2D_, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken__2B_, -1, // Choice 2 -Lexique_goil_5F_lexique::kToken_uint_5F_number, Lexique_goil_5F_lexique::kToken_float_5F_number, -1, // Choice 3 +C_Lexique_goil_5F_lexique::kToken__2D_, -1, // Choice 1 +C_Lexique_goil_5F_lexique::kToken__2B_, -1, // Choice 2 +C_Lexique_goil_5F_lexique::kToken_uint_5F_number, C_Lexique_goil_5F_lexique::kToken_float_5F_number, -1, // Choice 3 -1, // At index 35 : -Lexique_goil_5F_lexique::kToken__3B_, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken__3A_, -1, // Choice 2 +C_Lexique_goil_5F_lexique::kToken__3B_, -1, // Choice 1 +C_Lexique_goil_5F_lexique::kToken__3A_, -1, // Choice 2 -1, // At index 40 : -Lexique_goil_5F_lexique::kToken__3B_, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken_string, -1, // Choice 2 +C_Lexique_goil_5F_lexique::kToken__3B_, -1, // Choice 1 +C_Lexique_goil_5F_lexique::kToken_string, -1, // Choice 2 -1, // At index 45 : -Lexique_goil_5F_lexique::kToken__7D_, Lexique_goil_5F_lexique::kToken_, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken_idf, -1, // Choice 2 -Lexique_goil_5F_lexique::kToken_include, Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 3 +C_Lexique_goil_5F_lexique::kToken__7D_, -1, // Choice 1 +C_Lexique_goil_5F_lexique::kToken_idf, -1, // Choice 2 +C_Lexique_goil_5F_lexique::kToken_include, C_Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 3 -1, -// At index 54 : -Lexique_goil_5F_lexique::kToken_TRUE, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken_FALSE, -1, // Choice 2 +// At index 53 : +C_Lexique_goil_5F_lexique::kToken_TRUE, -1, // Choice 1 +C_Lexique_goil_5F_lexique::kToken_FALSE, -1, // Choice 2 -1, -// At index 59 : -Lexique_goil_5F_lexique::kToken__7D_, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken_idf, -1, // Choice 2 -Lexique_goil_5F_lexique::kToken_include, Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 3 +// At index 58 : +C_Lexique_goil_5F_lexique::kToken__7D_, C_Lexique_goil_5F_lexique::kToken_, -1, // Choice 1 +C_Lexique_goil_5F_lexique::kToken_idf, -1, // Choice 2 +C_Lexique_goil_5F_lexique::kToken_include, C_Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 3 -1, // At index 67 : -Lexique_goil_5F_lexique::kToken__3D_, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken_idf, -1, // Choice 2 +C_Lexique_goil_5F_lexique::kToken__3D_, -1, // Choice 1 +C_Lexique_goil_5F_lexique::kToken_idf, -1, // Choice 2 -1, // At index 72 : -Lexique_goil_5F_lexique::kToken_idf, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken__2D_, Lexique_goil_5F_lexique::kToken__2B_, Lexique_goil_5F_lexique::kToken_uint_5F_number, Lexique_goil_5F_lexique::kToken_float_5F_number, -1, // Choice 2 -Lexique_goil_5F_lexique::kToken_TRUE, Lexique_goil_5F_lexique::kToken_FALSE, -1, // Choice 3 -Lexique_goil_5F_lexique::kToken_string, -1, // Choice 4 -Lexique_goil_5F_lexique::kToken_AUTO, -1, // Choice 5 +C_Lexique_goil_5F_lexique::kToken_idf, -1, // Choice 1 +C_Lexique_goil_5F_lexique::kToken__2D_, C_Lexique_goil_5F_lexique::kToken__2B_, C_Lexique_goil_5F_lexique::kToken_uint_5F_number, C_Lexique_goil_5F_lexique::kToken_float_5F_number, -1, // Choice 2 +C_Lexique_goil_5F_lexique::kToken_TRUE, C_Lexique_goil_5F_lexique::kToken_FALSE, -1, // Choice 3 +C_Lexique_goil_5F_lexique::kToken_string, -1, // Choice 4 +C_Lexique_goil_5F_lexique::kToken_AUTO, -1, // Choice 5 -1, // At index 87 : -Lexique_goil_5F_lexique::kToken__7B_, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken__3A_, Lexique_goil_5F_lexique::kToken__3B_, -1, // Choice 2 +C_Lexique_goil_5F_lexique::kToken__7B_, -1, // Choice 1 +C_Lexique_goil_5F_lexique::kToken__3A_, C_Lexique_goil_5F_lexique::kToken__3B_, -1, // Choice 2 -1, // At index 93 : -Lexique_goil_5F_lexique::kToken_uint_5F_number, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken_float_5F_number, -1, // Choice 2 +C_Lexique_goil_5F_lexique::kToken_uint_5F_number, -1, // Choice 1 +C_Lexique_goil_5F_lexique::kToken_float_5F_number, -1, // Choice 2 -1, // At index 98 : -Lexique_goil_5F_lexique::kToken__7B_, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken__3A_, Lexique_goil_5F_lexique::kToken__3B_, -1, // Choice 2 +C_Lexique_goil_5F_lexique::kToken__7B_, -1, // Choice 1 +C_Lexique_goil_5F_lexique::kToken__3A_, C_Lexique_goil_5F_lexique::kToken__3B_, -1, // Choice 2 -1, // At index 104 : -Lexique_goil_5F_lexique::kToken_include, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 2 +C_Lexique_goil_5F_lexique::kToken_include, -1, // Choice 1 +C_Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 2 -1, // At index 109 : -Lexique_goil_5F_lexique::kToken_g_5F_string, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken_string, -1, // Choice 2 +C_Lexique_goil_5F_lexique::kToken_g_5F_string, -1, // Choice 1 +C_Lexique_goil_5F_lexique::kToken_string, -1, // Choice 2 -1, // At index 114 : -Lexique_goil_5F_lexique::kToken_include, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 2 +C_Lexique_goil_5F_lexique::kToken_include, -1, // Choice 1 +C_Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 2 -1, // At index 119 : -Lexique_goil_5F_lexique::kToken_g_5F_string, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken_string, -1, // Choice 2 +C_Lexique_goil_5F_lexique::kToken_g_5F_string, -1, // Choice 1 +C_Lexique_goil_5F_lexique::kToken_string, -1, // Choice 2 -1, // At index 124 : -Lexique_goil_5F_lexique::kToken_include, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 2 +C_Lexique_goil_5F_lexique::kToken_include, -1, // Choice 1 +C_Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 2 -1, // At index 129 : -Lexique_goil_5F_lexique::kToken_g_5F_string, -1, // Choice 1 -Lexique_goil_5F_lexique::kToken_string, -1, // Choice 2 +C_Lexique_goil_5F_lexique::kToken_g_5F_string, -1, // Choice 1 +C_Lexique_goil_5F_lexique::kToken_string, -1, // Choice 2 -1, // At index 134 : <> only one production, no choice -1, 0} ; -//-------------------------------------------------------------------------------------------------- -// -// L L ( 1 ) D E C I S I O N T A B L E S I N D E X E S -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* +// +// L L ( 1 ) D E C I S I O N T A B L E S I N D E X E S +// +//---------------------------------------------------------------------------------------------------------------------* -static const int32_t gDecisionIndexes_goil_cpu_level_include [36] = { +static const int32_t gDecisionIndexes_goil_object_level_include [36] = { 0, // at 0 : 0, // at 1 : 1, // at 2 : @@ -9917,3447 +9467,3708 @@ static const int32_t gDecisionIndexes_goil_cpu_level_include [36] = { 11, // at 12 : 12, // at 13 : 13, // at 14 : -14, // at 15 : -22, // at 16 : -27, // at 17 : -35, // at 18 : -40, // at 19 : -45, // at 20 : -54, // at 21 : -59, // at 22 : -67, // at 23 : -72, // at 24 : -87, // at 25 : -93, // at 26 : -98, // at 27 : -104, // at 28 : -109, // at 29 : -114, // at 30 : -119, // at 31 : -124, // at 32 : -129, // at 33 : -134, // at 34 : <> -0} ; - -//-------------------------------------------------------------------------------------------------- -// -// 'implementation_definition' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_implementation_5F_definition_parse (Lexique_goil_5F_lexique * ) { -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_implementation_5F_definition_indexing (Lexique_goil_5F_lexique * ) { -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_implementation_5F_definition_ (GALGAS_implementation & , - Lexique_goil_5F_lexique * ) { -} - -//-------------------------------------------------------------------------------------------------- -// -// 'start' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_start_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_start_i0_parse(inLexique) ; -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_start_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_start_i0_indexing(inLexique) ; -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_start_ (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_start_i0_(inLexique) ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'file' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_file_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_file_i1_parse(inLexique) ; -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_file_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_file_i1_indexing(inLexique) ; -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_file_ (GALGAS_implementation & parameter_1, - GALGAS_applicationDefinition & parameter_2, - GALGAS_string & parameter_3, - const GALGAS_bool parameter_4, - Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_file_i1_(parameter_1, parameter_2, parameter_3, parameter_4, inLexique) ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'file_without_include' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_file_5F_without_5F_include_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_file_5F_without_5F_include_i2_parse(inLexique) ; -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_file_5F_without_5F_include_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_file_5F_without_5F_include_i2_indexing(inLexique) ; -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_file_5F_without_5F_include_ (GALGAS_implementation & parameter_1, - GALGAS_applicationDefinition & parameter_2, - Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_file_5F_without_5F_include_i2_(parameter_1, parameter_2, inLexique) ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'sign' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_sign_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_sign_i3_parse(inLexique) ; -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_sign_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_sign_i3_indexing(inLexique) ; -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_sign_ (GALGAS_bool & parameter_1, - Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_sign_i3_(parameter_1, inLexique) ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'description' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_description_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_description_i4_parse(inLexique) ; -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_description_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_description_i4_indexing(inLexique) ; -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_description_ (GALGAS_lstring & parameter_1, - Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_description_i4_(parameter_1, inLexique) ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'OIL_version' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_OIL_5F_version_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_OIL_5F_version_i5_parse(inLexique) ; -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_OIL_5F_version_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_OIL_5F_version_i5_indexing(inLexique) ; -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_OIL_5F_version_ (GALGAS_lstring & parameter_1, - GALGAS_lstring & parameter_2, - Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_OIL_5F_version_i5_(parameter_1, parameter_2, inLexique) ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'application_definition' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_application_5F_definition_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_application_5F_definition_i6_parse(inLexique) ; -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_application_5F_definition_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_application_5F_definition_i6_indexing(inLexique) ; -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_application_5F_definition_ (const GALGAS_implementation parameter_1, - GALGAS_applicationDefinition & parameter_2, - GALGAS_string & parameter_3, - const GALGAS_bool parameter_4, - Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_application_5F_definition_i6_(parameter_1, parameter_2, parameter_3, parameter_4, inLexique) ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'object_definition_list' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_object_5F_definition_5F_list_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_object_5F_definition_5F_list_i7_parse(inLexique) ; -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_object_5F_definition_5F_list_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_object_5F_definition_5F_list_i7_indexing(inLexique) ; -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_object_5F_definition_5F_list_ (const GALGAS_implementation parameter_1, - GALGAS_objectsMap & parameter_2, - GALGAS_string & parameter_3, - const GALGAS_bool parameter_4, - Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_object_5F_definition_5F_list_i7_(parameter_1, parameter_2, parameter_3, parameter_4, inLexique) ; -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::performIndexing (Compiler * inCompiler, - const String & inSourceFilePath) { - Lexique_goil_5F_lexique * scanner = nullptr ; - macroMyNew (scanner, Lexique_goil_5F_lexique (inCompiler, inSourceFilePath COMMA_HERE)) ; - scanner->enableIndexing () ; - if (scanner->sourceText ().isValid ()) { - const bool ok = scanner->performTopDownParsing (gProductions_goil_cpu_level_include, gProductionNames_goil_cpu_level_include, gProductionIndexes_goil_cpu_level_include, - gFirstProductionIndexes_goil_cpu_level_include, gDecision_goil_cpu_level_include, gDecisionIndexes_goil_cpu_level_include, 165) ; - if (ok) { - cGrammar_goil_5F_cpu_5F_level_5F_include grammar ; - grammar.nt_object_5F_definition_5F_list_indexing (scanner) ; - } - scanner->generateIndexFile () ; - } - macroDetachSharedObject (scanner) ; -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::performOnlyLexicalAnalysis (Compiler * inCompiler, - const String & inSourceFilePath) { - Lexique_goil_5F_lexique * scanner = nullptr ; - macroMyNew (scanner, Lexique_goil_5F_lexique (inCompiler, inSourceFilePath COMMA_HERE)) ; - if (scanner->sourceText ().isValid ()) { - scanner->performLexicalAnalysis () ; - } - macroDetachSharedObject (scanner) ; -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::performOnlySyntaxAnalysis (Compiler * inCompiler, - const String & inSourceFilePath) { - Lexique_goil_5F_lexique * scanner = nullptr ; - macroMyNew (scanner, Lexique_goil_5F_lexique (inCompiler, inSourceFilePath COMMA_HERE)) ; - if (scanner->sourceText ().isValid ()) { - scanner->performTopDownParsing (gProductions_goil_cpu_level_include, gProductionNames_goil_cpu_level_include, gProductionIndexes_goil_cpu_level_include, - gFirstProductionIndexes_goil_cpu_level_include, gDecision_goil_cpu_level_include, gDecisionIndexes_goil_cpu_level_include, 165) ; - } - macroDetachSharedObject (scanner) ; -} - -//-------------------------------------------------------------------------------------------------- -// -// Grammar start symbol implementation -// -//-------------------------------------------------------------------------------------------------- - -void cGrammar_goil_5F_cpu_5F_level_5F_include::_performSourceFileParsing_ (Compiler * inCompiler, - GALGAS_lstring inFilePath, - const GALGAS_implementation parameter_1, - GALGAS_objectsMap & parameter_2, - GALGAS_string & parameter_3, - const GALGAS_bool parameter_4 - COMMA_LOCATION_ARGS) { - if (inFilePath.isValid ()) { - const GALGAS_string filePathAsString = inFilePath.readProperty_string () ; - String filePath = filePathAsString.stringValue () ; - if (! FileManager::isAbsolutePath (filePath)) { - filePath = inCompiler->sourceFilePath ().stringByDeletingLastPathComponent ().stringByAppendingPathComponent (filePath) ; - } - if (FileManager::fileExistsAtPath (filePath)) { - Lexique_goil_5F_lexique * scanner = nullptr ; - macroMyNew (scanner, Lexique_goil_5F_lexique (inCompiler, filePath COMMA_HERE)) ; - if (scanner->sourceText ().isValid ()) { - const bool ok = scanner->performTopDownParsing (gProductions_goil_cpu_level_include, gProductionNames_goil_cpu_level_include, gProductionIndexes_goil_cpu_level_include, - gFirstProductionIndexes_goil_cpu_level_include, gDecision_goil_cpu_level_include, gDecisionIndexes_goil_cpu_level_include, 165) ; - if (ok && ! executionModeIsSyntaxAnalysisOnly ()) { - cGrammar_goil_5F_cpu_5F_level_5F_include grammar ; - grammar.nt_object_5F_definition_5F_list_ (parameter_1, parameter_2, parameter_3, parameter_4, scanner) ; - } - }else{ - String message ; - message.appendString ("the '") ; - message.appendString (filePath) ; - message.appendString ("' file exists, but cannot be read") ; - const GALGAS_location errorLocation (inFilePath.readProperty_location ()) ; - inCompiler->semanticErrorAtLocation (errorLocation, message, TC_Array () COMMA_THERE) ; - } - macroDetachSharedObject (scanner) ; - }else{ - String message ; - message.appendString ("the '") ; - message.appendString (filePath) ; - message.appendString ("' file does not exist") ; - const GALGAS_location errorLocation (inFilePath.readProperty_location ()) ; - inCompiler->semanticErrorAtLocation (errorLocation, message, TC_Array () COMMA_THERE) ; - } - } -} - -//-------------------------------------------------------------------------------------------------- - -void cGrammar_goil_5F_cpu_5F_level_5F_include::_performSourceStringParsing_ (Compiler * inCompiler, - GALGAS_string inSourceString, - GALGAS_string inNameString, - const GALGAS_implementation parameter_1, - GALGAS_objectsMap & parameter_2, - GALGAS_string & parameter_3, - const GALGAS_bool parameter_4 - COMMA_UNUSED_LOCATION_ARGS) { - if (inSourceString.isValid () && inNameString.isValid ()) { - const String sourceString = inSourceString.stringValue () ; - const String nameString = inNameString.stringValue () ; - Lexique_goil_5F_lexique * scanner = nullptr ; - macroMyNew (scanner, Lexique_goil_5F_lexique (inCompiler, sourceString, nameString COMMA_HERE)) ; - const bool ok = scanner->performTopDownParsing (gProductions_goil_cpu_level_include, gProductionNames_goil_cpu_level_include, gProductionIndexes_goil_cpu_level_include, - gFirstProductionIndexes_goil_cpu_level_include, gDecision_goil_cpu_level_include, gDecisionIndexes_goil_cpu_level_include, 165) ; - if (ok && ! executionModeIsSyntaxAnalysisOnly ()) { - cGrammar_goil_5F_cpu_5F_level_5F_include grammar ; - grammar.nt_object_5F_definition_5F_list_ (parameter_1, parameter_2, parameter_3, parameter_4, scanner) ; - } - macroDetachSharedObject (scanner) ; - } -} - -//-------------------------------------------------------------------------------------------------- -// -// 'boolean' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_boolean_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_boolean_i8_parse(inLexique) ; -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_boolean_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_boolean_i8_indexing(inLexique) ; -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_boolean_ (GALGAS_lbool & parameter_1, - Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_boolean_i8_(parameter_1, inLexique) ; -} +14, // at 15 : +22, // at 16 : +27, // at 17 : +35, // at 18 : +40, // at 19 : +45, // at 20 : +53, // at 21 : +58, // at 22 : +67, // at 23 : +72, // at 24 : +87, // at 25 : +93, // at 26 : +98, // at 27 : +104, // at 28 : +109, // at 29 : +114, // at 30 : +119, // at 31 : +124, // at 32 : +129, // at 33 : +134, // at 34 : <> +0} ; -//-------------------------------------------------------------------------------------------------- -// -// 'oil_declaration_list' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* +// +// 'implementation_definition' non terminal implementation +// +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_oil_5F_declaration_5F_list_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_oil_5F_declaration_5F_list_i9_parse(inLexique) ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_implementation_5F_definition_parse (C_Lexique_goil_5F_lexique * ) { } -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_oil_5F_declaration_5F_list_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_oil_5F_declaration_5F_list_i9_indexing(inLexique) ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_implementation_5F_definition_indexing (C_Lexique_goil_5F_lexique * ) { } -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_oil_5F_declaration_5F_list_ (const GALGAS_implementationObjectMap parameter_1, - GALGAS_objectAttributes & parameter_2, - Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_oil_5F_declaration_5F_list_i9_(parameter_1, parameter_2, inLexique) ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_implementation_5F_definition_ (GALGAS_implementation & , + C_Lexique_goil_5F_lexique * ) { } -//-------------------------------------------------------------------------------------------------- -// -// 'oil_declaration' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* +// +// 'start' non terminal implementation +// +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_oil_5F_declaration_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_oil_5F_declaration_i10_parse(inLexique) ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_start_parse (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_start_i0_parse(inLexique) ; } -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_oil_5F_declaration_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_oil_5F_declaration_i10_indexing(inLexique) ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_start_indexing (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_start_i0_indexing(inLexique) ; } -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_oil_5F_declaration_ (const GALGAS_implementationObjectMap parameter_1, - GALGAS_objectAttributes & parameter_2, - Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_oil_5F_declaration_i10_(parameter_1, parameter_2, inLexique) ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_start_ (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_start_i0_(inLexique) ; } -//-------------------------------------------------------------------------------------------------- -// -// 'include_file_level' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* +// +// 'file' non terminal implementation +// +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_include_5F_file_5F_level_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_include_5F_file_5F_level_i11_parse(inLexique) ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_file_parse (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_file_i1_parse(inLexique) ; } -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_include_5F_file_5F_level_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_include_5F_file_5F_level_i11_indexing(inLexique) ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_file_indexing (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_file_i1_indexing(inLexique) ; } -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_include_5F_file_5F_level_ (GALGAS_implementation & parameter_1, +void cGrammar_goil_5F_object_5F_level_5F_include::nt_file_ (GALGAS_implementation & parameter_1, GALGAS_applicationDefinition & parameter_2, GALGAS_string & parameter_3, const GALGAS_bool parameter_4, - Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_include_5F_file_5F_level_i11_(parameter_1, parameter_2, parameter_3, parameter_4, inLexique) ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'include_cpu_level' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_include_5F_cpu_5F_level_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_include_5F_cpu_5F_level_i12_parse(inLexique) ; -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_include_5F_cpu_5F_level_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_include_5F_cpu_5F_level_i12_indexing(inLexique) ; -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_include_5F_cpu_5F_level_ (const GALGAS_implementation parameter_1, - GALGAS_objectsMap & parameter_2, - GALGAS_string & parameter_3, - const GALGAS_bool parameter_4, - Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_include_5F_cpu_5F_level_i12_(parameter_1, parameter_2, parameter_3, parameter_4, inLexique) ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'include_object_level' non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_include_5F_object_5F_level_parse (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_include_5F_object_5F_level_i13_parse(inLexique) ; -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_include_5F_object_5F_level_indexing (Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_include_5F_object_5F_level_i13_indexing(inLexique) ; -} - -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_include_5F_object_5F_level_ (const GALGAS_implementationObjectMap parameter_1, - GALGAS_objectAttributes & parameter_2, - Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_include_5F_object_5F_level_i13_(parameter_1, parameter_2, inLexique) ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_0' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_0 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_1' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_1 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_2' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_2 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_3' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_3 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_4' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_4 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_5' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_5 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_6' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_6 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; -} - -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_7' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_7 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; + C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_file_i1_(parameter_1, parameter_2, parameter_3, parameter_4, inLexique) ; } -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_8' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* +// +// 'file_without_include' non terminal implementation +// +//---------------------------------------------------------------------------------------------------------------------* -int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_8 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_file_5F_without_5F_include_parse (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_file_5F_without_5F_include_i2_parse(inLexique) ; } -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_9' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_9 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_file_5F_without_5F_include_indexing (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_file_5F_without_5F_include_i2_indexing(inLexique) ; } -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_10' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_10 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_file_5F_without_5F_include_ (GALGAS_implementation & parameter_1, + GALGAS_applicationDefinition & parameter_2, + C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_file_5F_without_5F_include_i2_(parameter_1, parameter_2, inLexique) ; } -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_11' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* +// +// 'sign' non terminal implementation +// +//---------------------------------------------------------------------------------------------------------------------* -int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_11 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_sign_parse (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_sign_i3_parse(inLexique) ; } -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_12' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_12 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_sign_indexing (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_sign_i3_indexing(inLexique) ; } -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_13' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_13 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_sign_ (GALGAS_bool & parameter_1, + C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_sign_i3_(parameter_1, inLexique) ; } -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_14' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* +// +// 'description' non terminal implementation +// +//---------------------------------------------------------------------------------------------------------------------* -int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_14 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_description_parse (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_description_i4_parse(inLexique) ; } -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_15' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_15 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_description_indexing (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_description_i4_indexing(inLexique) ; } -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_16' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_16 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_description_ (GALGAS_lstring & parameter_1, + C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_description_i4_(parameter_1, inLexique) ; } -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_17' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* +// +// 'OIL_version' non terminal implementation +// +//---------------------------------------------------------------------------------------------------------------------* -int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_17 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_OIL_5F_version_parse (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_OIL_5F_version_i5_parse(inLexique) ; } -//-------------------------------------------------------------------------------------------------- -// -// 'select_goil_5F_syntax_18' added non terminal implementation -// -//-------------------------------------------------------------------------------------------------- - -int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_18 (Lexique_goil_5F_lexique * inLexique) { - return inLexique->nextProductionIndex () ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_OIL_5F_version_indexing (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_OIL_5F_version_i5_indexing(inLexique) ; } -//-------------------------------------------------------------------------------------------------- - - - -//---------------------------------------------------------------------------------------------------------------------* - -void cParser_options_5F_parser::rule_options_5F_parser_option_5F_parser_5F_start_i0_ (GALGAS_gtlData & outArgument_options, - Lexique_options_5F_scanner * inCompiler) { - outArgument_options.drop () ; // Release 'out' argument - outArgument_options = GALGAS_gtlStruct::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("options_parser.galgas", 32)), function_lstring (GALGAS_string ("Passed options"), inCompiler COMMA_SOURCE_FILE ("options_parser.galgas", 32)), GALGAS_gtlVarMap::class_func_emptyMap (SOURCE_FILE ("options_parser.galgas", 32)) COMMA_SOURCE_FILE ("options_parser.galgas", 32)) ; - bool repeatFlag_0 = true ; - while (repeatFlag_0) { - nt_option_5F_item_ (outArgument_options, inCompiler) ; - if (select_options_5F_parser_0 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("options_parser.galgas", 35)) ; - }else{ - repeatFlag_0 = false ; - } - } +void cGrammar_goil_5F_object_5F_level_5F_include::nt_OIL_5F_version_ (GALGAS_lstring & parameter_1, + GALGAS_lstring & parameter_2, + C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_OIL_5F_version_i5_(parameter_1, parameter_2, inLexique) ; } //---------------------------------------------------------------------------------------------------------------------* - -void cParser_options_5F_parser::rule_options_5F_parser_option_5F_parser_5F_start_i0_parse (Lexique_options_5F_scanner * inCompiler) { - bool repeatFlag_0 = true ; - while (repeatFlag_0) { - nt_option_5F_item_parse (inCompiler) ; - if (select_options_5F_parser_0 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("options_parser.galgas", 35)) ; - }else{ - repeatFlag_0 = false ; - } - } - inCompiler->resetTemplateString () ; -} - +// +// 'application_definition' non terminal implementation +// //---------------------------------------------------------------------------------------------------------------------* -void cParser_options_5F_parser::rule_options_5F_parser_option_5F_parser_5F_start_i0_indexing (Lexique_options_5F_scanner * inCompiler) { - bool repeatFlag_0 = true ; - while (repeatFlag_0) { - nt_option_5F_item_indexing (inCompiler) ; - if (select_options_5F_parser_0 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("options_parser.galgas", 35)) ; - }else{ - repeatFlag_0 = false ; - } - } +void cGrammar_goil_5F_object_5F_level_5F_include::nt_application_5F_definition_parse (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_application_5F_definition_i6_parse(inLexique) ; } -//---------------------------------------------------------------------------------------------------------------------* - -void cParser_options_5F_parser::rule_options_5F_parser_option_5F_item_i1_ (GALGAS_gtlData & ioArgument_options, - Lexique_options_5F_scanner * inCompiler) { - GALGAS_lstring var_key_985 = inCompiler->synthetizedAttribute_key () ; - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken_idf COMMA_SOURCE_FILE ("options_parser.galgas", 42)) ; - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken__3D_ COMMA_SOURCE_FILE ("options_parser.galgas", 43)) ; - GALGAS_gtlData var_opt_1010 ; - switch (select_options_5F_parser_1 (inCompiler)) { - case 1: { - nt_option_5F_value_ (var_opt_1010, inCompiler) ; - } break ; - case 2: { - nt_list_5F_option_5F_value_ (var_opt_1010, inCompiler) ; - } break ; - default: - break ; - } - { - ioArgument_options.insulate (HERE) ; - cPtr_gtlData * ptr_1092 = (cPtr_gtlData *) ioArgument_options.ptr () ; - callExtensionSetter_setStructField ((cPtr_gtlData *) ptr_1092, var_key_985, var_opt_1010, inCompiler COMMA_SOURCE_FILE ("options_parser.galgas", 50)) ; - } +void cGrammar_goil_5F_object_5F_level_5F_include::nt_application_5F_definition_indexing (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_application_5F_definition_i6_indexing(inLexique) ; } +void cGrammar_goil_5F_object_5F_level_5F_include::nt_application_5F_definition_ (const GALGAS_implementation parameter_1, + GALGAS_applicationDefinition & parameter_2, + GALGAS_string & parameter_3, + const GALGAS_bool parameter_4, + C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_application_5F_definition_i6_(parameter_1, parameter_2, parameter_3, parameter_4, inLexique) ; +} + +//---------------------------------------------------------------------------------------------------------------------* +// +// 'object_definition_list' non terminal implementation +// //---------------------------------------------------------------------------------------------------------------------* -void cParser_options_5F_parser::rule_options_5F_parser_option_5F_item_i1_parse (Lexique_options_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken_idf COMMA_SOURCE_FILE ("options_parser.galgas", 42)) ; - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken__3D_ COMMA_SOURCE_FILE ("options_parser.galgas", 43)) ; - switch (select_options_5F_parser_1 (inCompiler)) { - case 1: { - nt_option_5F_value_parse (inCompiler) ; - } break ; - case 2: { - nt_list_5F_option_5F_value_parse (inCompiler) ; - } break ; - default: - break ; - } - inCompiler->resetTemplateString () ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_object_5F_definition_5F_list_parse (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_object_5F_definition_5F_list_i7_parse(inLexique) ; } -//---------------------------------------------------------------------------------------------------------------------* +void cGrammar_goil_5F_object_5F_level_5F_include::nt_object_5F_definition_5F_list_indexing (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_object_5F_definition_5F_list_i7_indexing(inLexique) ; +} -void cParser_options_5F_parser::rule_options_5F_parser_option_5F_item_i1_indexing (Lexique_options_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken_idf COMMA_SOURCE_FILE ("options_parser.galgas", 42)) ; - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken__3D_ COMMA_SOURCE_FILE ("options_parser.galgas", 43)) ; - switch (select_options_5F_parser_1 (inCompiler)) { - case 1: { - nt_option_5F_value_indexing (inCompiler) ; - } break ; - case 2: { - nt_list_5F_option_5F_value_indexing (inCompiler) ; - } break ; - default: - break ; - } +void cGrammar_goil_5F_object_5F_level_5F_include::nt_object_5F_definition_5F_list_ (const GALGAS_implementation parameter_1, + GALGAS_objectsMap & parameter_2, + GALGAS_string & parameter_3, + const GALGAS_bool parameter_4, + C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_object_5F_definition_5F_list_i7_(parameter_1, parameter_2, parameter_3, parameter_4, inLexique) ; } +//---------------------------------------------------------------------------------------------------------------------* +// +// 'boolean' non terminal implementation +// //---------------------------------------------------------------------------------------------------------------------* -void cParser_options_5F_parser::rule_options_5F_parser_option_5F_value_i2_ (GALGAS_gtlData & outArgument_opt, - Lexique_options_5F_scanner * inCompiler) { - outArgument_opt.drop () ; // Release 'out' argument - GALGAS_lstring var_str_1193 = inCompiler->synthetizedAttribute_string () ; - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken_string COMMA_SOURCE_FILE ("options_parser.galgas", 56)) ; - outArgument_opt = GALGAS_gtlString::class_func_new (var_str_1193.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("options_parser.galgas", 57)), var_str_1193.readProperty_string () COMMA_SOURCE_FILE ("options_parser.galgas", 57)) ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_boolean_parse (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_boolean_i8_parse(inLexique) ; } -//---------------------------------------------------------------------------------------------------------------------* +void cGrammar_goil_5F_object_5F_level_5F_include::nt_boolean_indexing (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_boolean_i8_indexing(inLexique) ; +} -void cParser_options_5F_parser::rule_options_5F_parser_option_5F_value_i2_parse (Lexique_options_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken_string COMMA_SOURCE_FILE ("options_parser.galgas", 56)) ; - inCompiler->resetTemplateString () ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_boolean_ (GALGAS_lbool & parameter_1, + C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_boolean_i8_(parameter_1, inLexique) ; } +//---------------------------------------------------------------------------------------------------------------------* +// +// 'oil_declaration_list' non terminal implementation +// //---------------------------------------------------------------------------------------------------------------------* -void cParser_options_5F_parser::rule_options_5F_parser_option_5F_value_i2_indexing (Lexique_options_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken_string COMMA_SOURCE_FILE ("options_parser.galgas", 56)) ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_oil_5F_declaration_5F_list_parse (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_oil_5F_declaration_5F_list_i9_parse(inLexique) ; } -//---------------------------------------------------------------------------------------------------------------------* +void cGrammar_goil_5F_object_5F_level_5F_include::nt_oil_5F_declaration_5F_list_indexing (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_oil_5F_declaration_5F_list_i9_indexing(inLexique) ; +} -void cParser_options_5F_parser::rule_options_5F_parser_option_5F_value_i3_ (GALGAS_gtlData & outArgument_opt, - Lexique_options_5F_scanner * inCompiler) { - outArgument_opt.drop () ; // Release 'out' argument - GALGAS_lstring var_str_1313 = inCompiler->synthetizedAttribute_key () ; - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken_idf COMMA_SOURCE_FILE ("options_parser.galgas", 63)) ; - outArgument_opt = GALGAS_gtlString::class_func_new (var_str_1313.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("options_parser.galgas", 64)), var_str_1313.readProperty_string () COMMA_SOURCE_FILE ("options_parser.galgas", 64)) ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_oil_5F_declaration_5F_list_ (const GALGAS_implementationObjectMap parameter_1, + GALGAS_objectAttributes & parameter_2, + C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_oil_5F_declaration_5F_list_i9_(parameter_1, parameter_2, inLexique) ; } -//---------------------------------------------------------------------------------------------------------------------* +void cGrammar_goil_5F_object_5F_level_5F_include::performIndexing (C_Compiler * inCompiler, + const C_String & inSourceFilePath) { + C_Lexique_goil_5F_lexique * scanner = NULL ; + macroMyNew (scanner, C_Lexique_goil_5F_lexique (inCompiler, inSourceFilePath COMMA_HERE)) ; + scanner->enableIndexing () ; + if (scanner->sourceText ().isValid ()) { + const bool ok = scanner->performTopDownParsing (gProductions_goil_object_level_include, gProductionNames_goil_object_level_include, gProductionIndexes_goil_object_level_include, + gFirstProductionIndexes_goil_object_level_include, gDecision_goil_object_level_include, gDecisionIndexes_goil_object_level_include, 165) ; + if (ok) { + cGrammar_goil_5F_object_5F_level_5F_include grammar ; + grammar.nt_oil_5F_declaration_5F_list_indexing (scanner) ; + } + scanner->generateIndexFile () ; + } + macroDetachSharedObject (scanner) ; +} -void cParser_options_5F_parser::rule_options_5F_parser_option_5F_value_i3_parse (Lexique_options_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken_idf COMMA_SOURCE_FILE ("options_parser.galgas", 63)) ; - inCompiler->resetTemplateString () ; +void cGrammar_goil_5F_object_5F_level_5F_include::performOnlyLexicalAnalysis (C_Compiler * inCompiler, + const C_String & inSourceFilePath) { + C_Lexique_goil_5F_lexique * scanner = NULL ; + macroMyNew (scanner, C_Lexique_goil_5F_lexique (inCompiler, inSourceFilePath COMMA_HERE)) ; + if (scanner->sourceText ().isValid ()) { + scanner->performLexicalAnalysis () ; + } + macroDetachSharedObject (scanner) ; +} + +void cGrammar_goil_5F_object_5F_level_5F_include::performOnlySyntaxAnalysis (C_Compiler * inCompiler, + const C_String & inSourceFilePath) { + C_Lexique_goil_5F_lexique * scanner = NULL ; + macroMyNew (scanner, C_Lexique_goil_5F_lexique (inCompiler, inSourceFilePath COMMA_HERE)) ; + if (scanner->sourceText ().isValid ()) { + scanner->performTopDownParsing (gProductions_goil_object_level_include, gProductionNames_goil_object_level_include, gProductionIndexes_goil_object_level_include, + gFirstProductionIndexes_goil_object_level_include, gDecision_goil_object_level_include, gDecisionIndexes_goil_object_level_include, 165) ; + } + macroDetachSharedObject (scanner) ; } +//---------------------------------------------------------------------------------------------------------------------* +// +// Grammar start symbol implementation +// //---------------------------------------------------------------------------------------------------------------------* -void cParser_options_5F_parser::rule_options_5F_parser_option_5F_value_i3_indexing (Lexique_options_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken_idf COMMA_SOURCE_FILE ("options_parser.galgas", 63)) ; +void cGrammar_goil_5F_object_5F_level_5F_include::_performSourceFileParsing_ (C_Compiler * inCompiler, + GALGAS_lstring inFilePath, + const GALGAS_implementationObjectMap parameter_1, + GALGAS_objectAttributes & parameter_2 + COMMA_LOCATION_ARGS) { + if (inFilePath.isValid ()) { + const GALGAS_string filePathAsString = inFilePath.readProperty_string () ; + C_String filePath = filePathAsString.stringValue () ; + if (! C_FileManager::isAbsolutePath (filePath)) { + filePath = inCompiler->sourceFilePath ().stringByDeletingLastPathComponent ().stringByAppendingPathComponent (filePath) ; + } + if (C_FileManager::fileExistsAtPath (filePath)) { + C_Lexique_goil_5F_lexique * scanner = NULL ; + macroMyNew (scanner, C_Lexique_goil_5F_lexique (inCompiler, filePath COMMA_HERE)) ; + if (scanner->sourceText ().isValid ()) { + const bool ok = scanner->performTopDownParsing (gProductions_goil_object_level_include, gProductionNames_goil_object_level_include, gProductionIndexes_goil_object_level_include, + gFirstProductionIndexes_goil_object_level_include, gDecision_goil_object_level_include, gDecisionIndexes_goil_object_level_include, 165) ; + if (ok && ! executionModeIsSyntaxAnalysisOnly ()) { + cGrammar_goil_5F_object_5F_level_5F_include grammar ; + grammar.nt_oil_5F_declaration_5F_list_ (parameter_1, parameter_2, scanner) ; + } + }else{ + C_String message ; + message << "the '" << filePath << "' file exists, but cannot be read" ; + const GALGAS_location errorLocation (inFilePath.readProperty_location ()) ; + inCompiler->semanticErrorAtLocation (errorLocation, message, TC_Array () COMMA_THERE) ; + } + macroDetachSharedObject (scanner) ; + }else{ + C_String message ; + message << "the '" << filePath << "' file does not exist" ; + const GALGAS_location errorLocation (inFilePath.readProperty_location ()) ; + inCompiler->semanticErrorAtLocation (errorLocation, message, TC_Array () COMMA_THERE) ; + } + } } //---------------------------------------------------------------------------------------------------------------------* -void cParser_options_5F_parser::rule_options_5F_parser_option_5F_value_i4_ (GALGAS_gtlData & outArgument_opt, - Lexique_options_5F_scanner * inCompiler) { - outArgument_opt.drop () ; // Release 'out' argument - GALGAS_luint_36__34_ var_num_1441 = inCompiler->synthetizedAttribute_integerNumber () ; - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken_uint_5F_number COMMA_SOURCE_FILE ("options_parser.galgas", 70)) ; - outArgument_opt = GALGAS_gtlInt::class_func_new (var_num_1441.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("options_parser.galgas", 71)), var_num_1441.readProperty_uint_36__34_ ().getter_bigint (SOURCE_FILE ("options_parser.galgas", 71)) COMMA_SOURCE_FILE ("options_parser.galgas", 71)) ; +void cGrammar_goil_5F_object_5F_level_5F_include::_performSourceStringParsing_ (C_Compiler * inCompiler, + GALGAS_string inSourceString, + GALGAS_string inNameString, + const GALGAS_implementationObjectMap parameter_1, + GALGAS_objectAttributes & parameter_2 + COMMA_UNUSED_LOCATION_ARGS) { + if (inSourceString.isValid () && inNameString.isValid ()) { + const C_String sourceString = inSourceString.stringValue () ; + const C_String nameString = inNameString.stringValue () ; + C_Lexique_goil_5F_lexique * scanner = NULL ; + macroMyNew (scanner, C_Lexique_goil_5F_lexique (inCompiler, sourceString, nameString COMMA_HERE)) ; + const bool ok = scanner->performTopDownParsing (gProductions_goil_object_level_include, gProductionNames_goil_object_level_include, gProductionIndexes_goil_object_level_include, + gFirstProductionIndexes_goil_object_level_include, gDecision_goil_object_level_include, gDecisionIndexes_goil_object_level_include, 165) ; + if (ok && ! executionModeIsSyntaxAnalysisOnly ()) { + cGrammar_goil_5F_object_5F_level_5F_include grammar ; + grammar.nt_oil_5F_declaration_5F_list_ (parameter_1, parameter_2, scanner) ; + } + macroDetachSharedObject (scanner) ; + } } +//---------------------------------------------------------------------------------------------------------------------* +// +// 'oil_declaration' non terminal implementation +// //---------------------------------------------------------------------------------------------------------------------* -void cParser_options_5F_parser::rule_options_5F_parser_option_5F_value_i4_parse (Lexique_options_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken_uint_5F_number COMMA_SOURCE_FILE ("options_parser.galgas", 70)) ; - inCompiler->resetTemplateString () ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_oil_5F_declaration_parse (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_oil_5F_declaration_i10_parse(inLexique) ; } -//---------------------------------------------------------------------------------------------------------------------* +void cGrammar_goil_5F_object_5F_level_5F_include::nt_oil_5F_declaration_indexing (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_oil_5F_declaration_i10_indexing(inLexique) ; +} -void cParser_options_5F_parser::rule_options_5F_parser_option_5F_value_i4_indexing (Lexique_options_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken_uint_5F_number COMMA_SOURCE_FILE ("options_parser.galgas", 70)) ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_oil_5F_declaration_ (const GALGAS_implementationObjectMap parameter_1, + GALGAS_objectAttributes & parameter_2, + C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_oil_5F_declaration_i10_(parameter_1, parameter_2, inLexique) ; } +//---------------------------------------------------------------------------------------------------------------------* +// +// 'include_file_level' non terminal implementation +// //---------------------------------------------------------------------------------------------------------------------* -void cParser_options_5F_parser::rule_options_5F_parser_option_5F_value_i5_ (GALGAS_gtlData & outArgument_opt, - Lexique_options_5F_scanner * inCompiler) { - outArgument_opt.drop () ; // Release 'out' argument - GALGAS_ldouble var_num_1576 = inCompiler->synthetizedAttribute_floatNumber () ; - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken_float_5F_number COMMA_SOURCE_FILE ("options_parser.galgas", 77)) ; - outArgument_opt = GALGAS_gtlFloat::class_func_new (var_num_1576.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("options_parser.galgas", 78)), var_num_1576.readProperty_double () COMMA_SOURCE_FILE ("options_parser.galgas", 78)) ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_include_5F_file_5F_level_parse (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_include_5F_file_5F_level_i11_parse(inLexique) ; } -//---------------------------------------------------------------------------------------------------------------------* +void cGrammar_goil_5F_object_5F_level_5F_include::nt_include_5F_file_5F_level_indexing (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_include_5F_file_5F_level_i11_indexing(inLexique) ; +} -void cParser_options_5F_parser::rule_options_5F_parser_option_5F_value_i5_parse (Lexique_options_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken_float_5F_number COMMA_SOURCE_FILE ("options_parser.galgas", 77)) ; - inCompiler->resetTemplateString () ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_include_5F_file_5F_level_ (GALGAS_implementation & parameter_1, + GALGAS_applicationDefinition & parameter_2, + GALGAS_string & parameter_3, + const GALGAS_bool parameter_4, + C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_include_5F_file_5F_level_i11_(parameter_1, parameter_2, parameter_3, parameter_4, inLexique) ; } +//---------------------------------------------------------------------------------------------------------------------* +// +// 'include_cpu_level' non terminal implementation +// //---------------------------------------------------------------------------------------------------------------------* -void cParser_options_5F_parser::rule_options_5F_parser_option_5F_value_i5_indexing (Lexique_options_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken_float_5F_number COMMA_SOURCE_FILE ("options_parser.galgas", 77)) ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_include_5F_cpu_5F_level_parse (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_include_5F_cpu_5F_level_i12_parse(inLexique) ; } -//---------------------------------------------------------------------------------------------------------------------* +void cGrammar_goil_5F_object_5F_level_5F_include::nt_include_5F_cpu_5F_level_indexing (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_include_5F_cpu_5F_level_i12_indexing(inLexique) ; +} -void cParser_options_5F_parser::rule_options_5F_parser_option_5F_value_i6_ (GALGAS_gtlData & outArgument_opt, - Lexique_options_5F_scanner * inCompiler) { - outArgument_opt.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("options_parser.galgas", 84)) ; - switch (select_options_5F_parser_2 (inCompiler)) { - case 1: { - GALGAS_luint_36__34_ var_num_1720 = inCompiler->synthetizedAttribute_integerNumber () ; - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken_uint_5F_number COMMA_SOURCE_FILE ("options_parser.galgas", 86)) ; - outArgument_opt = GALGAS_gtlInt::class_func_new (var_num_1720.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("options_parser.galgas", 87)), var_num_1720.readProperty_uint_36__34_ ().getter_bigint (SOURCE_FILE ("options_parser.galgas", 87)).operator_unary_minus (inCompiler COMMA_SOURCE_FILE ("options_parser.galgas", 87)) COMMA_SOURCE_FILE ("options_parser.galgas", 87)) ; - } break ; - case 2: { - GALGAS_ldouble var_num_1824 = inCompiler->synthetizedAttribute_floatNumber () ; - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken_float_5F_number COMMA_SOURCE_FILE ("options_parser.galgas", 89)) ; - outArgument_opt = GALGAS_gtlFloat::class_func_new (var_num_1824.readProperty_location (), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("options_parser.galgas", 90)), var_num_1824.readProperty_double ().operator_unary_minus (inCompiler COMMA_SOURCE_FILE ("options_parser.galgas", 90)) COMMA_SOURCE_FILE ("options_parser.galgas", 90)) ; - } break ; - default: - break ; - } +void cGrammar_goil_5F_object_5F_level_5F_include::nt_include_5F_cpu_5F_level_ (const GALGAS_implementation parameter_1, + GALGAS_objectsMap & parameter_2, + GALGAS_string & parameter_3, + const GALGAS_bool parameter_4, + C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_include_5F_cpu_5F_level_i12_(parameter_1, parameter_2, parameter_3, parameter_4, inLexique) ; } +//---------------------------------------------------------------------------------------------------------------------* +// +// 'include_object_level' non terminal implementation +// //---------------------------------------------------------------------------------------------------------------------* -void cParser_options_5F_parser::rule_options_5F_parser_option_5F_value_i6_parse (Lexique_options_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("options_parser.galgas", 84)) ; - switch (select_options_5F_parser_2 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken_uint_5F_number COMMA_SOURCE_FILE ("options_parser.galgas", 86)) ; - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken_float_5F_number COMMA_SOURCE_FILE ("options_parser.galgas", 89)) ; - } break ; - default: - break ; - } - inCompiler->resetTemplateString () ; +void cGrammar_goil_5F_object_5F_level_5F_include::nt_include_5F_object_5F_level_parse (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_include_5F_object_5F_level_i13_parse(inLexique) ; } -//---------------------------------------------------------------------------------------------------------------------* +void cGrammar_goil_5F_object_5F_level_5F_include::nt_include_5F_object_5F_level_indexing (C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_include_5F_object_5F_level_i13_indexing(inLexique) ; +} -void cParser_options_5F_parser::rule_options_5F_parser_option_5F_value_i6_indexing (Lexique_options_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("options_parser.galgas", 84)) ; - switch (select_options_5F_parser_2 (inCompiler)) { - case 1: { - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken_uint_5F_number COMMA_SOURCE_FILE ("options_parser.galgas", 86)) ; - } break ; - case 2: { - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken_float_5F_number COMMA_SOURCE_FILE ("options_parser.galgas", 89)) ; - } break ; - default: - break ; - } +void cGrammar_goil_5F_object_5F_level_5F_include::nt_include_5F_object_5F_level_ (const GALGAS_implementationObjectMap parameter_1, + GALGAS_objectAttributes & parameter_2, + C_Lexique_goil_5F_lexique * inLexique) { + rule_goil_5F_syntax_include_5F_object_5F_level_i13_(parameter_1, parameter_2, inLexique) ; } +//---------------------------------------------------------------------------------------------------------------------* +// +// 'select_goil_5F_syntax_0' added non terminal implementation +// //---------------------------------------------------------------------------------------------------------------------* -void cParser_options_5F_parser::rule_options_5F_parser_list_5F_option_5F_value_i7_ (GALGAS_gtlData & outArgument_opt, - Lexique_options_5F_scanner * inCompiler) { - outArgument_opt.drop () ; // Release 'out' argument - GALGAS_list var_listOption_1952 = GALGAS_list::class_func_emptyList (SOURCE_FILE ("options_parser.galgas", 97)) ; - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("options_parser.galgas", 98)) ; - bool repeatFlag_0 = true ; - while (repeatFlag_0) { - GALGAS_gtlData var_item_2024 ; - nt_option_5F_value_ (var_item_2024, inCompiler) ; - var_listOption_1952.addAssign_operation (var_item_2024 COMMA_SOURCE_FILE ("options_parser.galgas", 101)) ; - if (select_options_5F_parser_3 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("options_parser.galgas", 102)) ; - }else{ - repeatFlag_0 = false ; - } - } - outArgument_opt = GALGAS_gtlList::class_func_new (GALGAS_location::class_func_here (inCompiler COMMA_SOURCE_FILE ("options_parser.galgas", 104)), function_emptylstring (inCompiler COMMA_SOURCE_FILE ("options_parser.galgas", 104)), var_listOption_1952 COMMA_SOURCE_FILE ("options_parser.galgas", 104)) ; - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("options_parser.galgas", 105)) ; +int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_0 (C_Lexique_goil_5F_lexique * inLexique) { + return inLexique->nextProductionIndex () ; } +//---------------------------------------------------------------------------------------------------------------------* +// +// 'select_goil_5F_syntax_1' added non terminal implementation +// //---------------------------------------------------------------------------------------------------------------------* -void cParser_options_5F_parser::rule_options_5F_parser_list_5F_option_5F_value_i7_parse (Lexique_options_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("options_parser.galgas", 98)) ; - bool repeatFlag_0 = true ; - while (repeatFlag_0) { - nt_option_5F_value_parse (inCompiler) ; - if (select_options_5F_parser_3 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("options_parser.galgas", 102)) ; - }else{ - repeatFlag_0 = false ; - } - } - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("options_parser.galgas", 105)) ; - inCompiler->resetTemplateString () ; +int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_1 (C_Lexique_goil_5F_lexique * inLexique) { + return inLexique->nextProductionIndex () ; } +//---------------------------------------------------------------------------------------------------------------------* +// +// 'select_goil_5F_syntax_2' added non terminal implementation +// //---------------------------------------------------------------------------------------------------------------------* -void cParser_options_5F_parser::rule_options_5F_parser_list_5F_option_5F_value_i7_indexing (Lexique_options_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("options_parser.galgas", 98)) ; - bool repeatFlag_0 = true ; - while (repeatFlag_0) { - nt_option_5F_value_indexing (inCompiler) ; - if (select_options_5F_parser_3 (inCompiler) == 2) { - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("options_parser.galgas", 102)) ; - }else{ - repeatFlag_0 = false ; - } - } - inCompiler->acceptTerminal (Lexique_options_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("options_parser.galgas", 105)) ; +int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_2 (C_Lexique_goil_5F_lexique * inLexique) { + return inLexique->nextProductionIndex () ; } -//-------------------------------------------------------------------------------------------------- -// -// L E X I Q U E -// -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* +// +// 'select_goil_5F_syntax_3' added non terminal implementation +// +//---------------------------------------------------------------------------------------------------------------------* -#include "unicode_character_cpp.h" -#include "scanner_actions.h" -#include "cLexiqueIntrospection.h" +int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_3 (C_Lexique_goil_5F_lexique * inLexique) { + return inLexique->nextProductionIndex () ; +} -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* +// +// 'select_goil_5F_syntax_4' added non terminal implementation +// +//---------------------------------------------------------------------------------------------------------------------* -cTokenFor_arxml_5F_scanner::cTokenFor_arxml_5F_scanner (void) : -mLexicalAttribute_tokenString () { +int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_4 (C_Lexique_goil_5F_lexique * inLexique) { + return inLexique->nextProductionIndex () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* +// +// 'select_goil_5F_syntax_5' added non terminal implementation +// +//---------------------------------------------------------------------------------------------------------------------* -Lexique_arxml_5F_scanner::Lexique_arxml_5F_scanner (Compiler * inCallerCompiler, - const String & inSourceFileName - COMMA_LOCATION_ARGS) : -Lexique (inCallerCompiler, inSourceFileName COMMA_THERE), -mMatchedTemplateDelimiterIndex (-1) { +int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_5 (C_Lexique_goil_5F_lexique * inLexique) { + return inLexique->nextProductionIndex () ; } -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* +// +// 'select_goil_5F_syntax_6' added non terminal implementation +// +//---------------------------------------------------------------------------------------------------------------------* -Lexique_arxml_5F_scanner::Lexique_arxml_5F_scanner (Compiler * inCallerCompiler, - const String & inSourceString, - const String & inStringForError - COMMA_LOCATION_ARGS) : -Lexique (inCallerCompiler, inSourceString, inStringForError COMMA_THERE), -mMatchedTemplateDelimiterIndex (-1) { +int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_6 (C_Lexique_goil_5F_lexique * inLexique) { + return inLexique->nextProductionIndex () ; } -//-------------------------------------------------------------------------------------------------- -// Lexical error message list -//-------------------------------------------------------------------------------------------------- - -static const char * gLexicalMessage_arxml_5F_scanner_incorrectAttributeEnd = "attribute value should be enclosed between apostrophes (') or quotation marks (\")" ; +//---------------------------------------------------------------------------------------------------------------------* +// +// 'select_goil_5F_syntax_7' added non terminal implementation +// +//---------------------------------------------------------------------------------------------------------------------* -static const char * gLexicalMessage_arxml_5F_scanner_incorrectCommentError = "incorrect XML comment" ; +int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_7 (C_Lexique_goil_5F_lexique * inLexique) { + return inLexique->nextProductionIndex () ; +} -//-------------------------------------------------------------------------------------------------- -// getMessageForTerminal -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* +// +// 'select_goil_5F_syntax_8' added non terminal implementation +// +//---------------------------------------------------------------------------------------------------------------------* -String Lexique_arxml_5F_scanner::getMessageForTerminal (const int32_t inTerminalIndex) const { - String result = "" ; - if ((inTerminalIndex >= 0) && (inTerminalIndex < 11)) { - static const char * syntaxErrorMessageArray [11] = {kEndOfSourceLexicalErrorMessage, - "a comment", - "a name", - "an attribute value", - "the '<' delimitor", - "the '<\?' delimitor", - "the '>' delimitor", - "the '\?>' delimitor", - "the '/>' delimitor", - "the 'nextProductionIndex () ; } -//-------------------------------------------------------------------------------------------------- -// U N I C O D E S T R I N G S -//-------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* +// +// 'select_goil_5F_syntax_9' added non terminal implementation +// +//---------------------------------------------------------------------------------------------------------------------* -//--- Unicode string for '$\"$' -static const std::initializer_list kUnicodeString_arxml_5F_scanner__22_ = { - TO_UNICODE ('\"'), -} ; +int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_9 (C_Lexique_goil_5F_lexique * inLexique) { + return inLexique->nextProductionIndex () ; +} -//--- Unicode string for '$&$' -static const std::initializer_list kUnicodeString_arxml_5F_scanner__26_ = { - TO_UNICODE ('&'), -} ; +//---------------------------------------------------------------------------------------------------------------------* +// +// 'select_goil_5F_syntax_10' added non terminal implementation +// +//---------------------------------------------------------------------------------------------------------------------* -//--- Unicode string for '$&#$' -static const std::initializer_list kUnicodeString_arxml_5F_scanner__26__23_ = { - TO_UNICODE ('&'), - TO_UNICODE ('#'), -} ; +int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_10 (C_Lexique_goil_5F_lexique * inLexique) { + return inLexique->nextProductionIndex () ; +} -//--- Unicode string for '$&$' -static const std::initializer_list kUnicodeString_arxml_5F_scanner__26_amp_3B_ = { - TO_UNICODE ('&'), - TO_UNICODE ('a'), - TO_UNICODE ('m'), - TO_UNICODE ('p'), - TO_UNICODE (';'), -} ; +//---------------------------------------------------------------------------------------------------------------------* +// +// 'select_goil_5F_syntax_11' added non terminal implementation +// +//---------------------------------------------------------------------------------------------------------------------* -//--- Unicode string for '$'$' -static const std::initializer_list kUnicodeString_arxml_5F_scanner__26_apos_3B_ = { - TO_UNICODE ('&'), - TO_UNICODE ('a'), - TO_UNICODE ('p'), - TO_UNICODE ('o'), - TO_UNICODE ('s'), - TO_UNICODE (';'), -} ; +int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_11 (C_Lexique_goil_5F_lexique * inLexique) { + return inLexique->nextProductionIndex () ; +} -//--- Unicode string for '$>$' -static const std::initializer_list kUnicodeString_arxml_5F_scanner__26_gt_3B_ = { - TO_UNICODE ('&'), - TO_UNICODE ('g'), - TO_UNICODE ('t'), - TO_UNICODE (';'), -} ; +//---------------------------------------------------------------------------------------------------------------------* +// +// 'select_goil_5F_syntax_12' added non terminal implementation +// +//---------------------------------------------------------------------------------------------------------------------* -//--- Unicode string for '$<$' -static const std::initializer_list kUnicodeString_arxml_5F_scanner__26_lt_3B_ = { - TO_UNICODE ('&'), - TO_UNICODE ('l'), - TO_UNICODE ('t'), - TO_UNICODE (';'), -} ; +int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_12 (C_Lexique_goil_5F_lexique * inLexique) { + return inLexique->nextProductionIndex () ; +} -//--- Unicode string for '$"$' -static const std::initializer_list kUnicodeString_arxml_5F_scanner__26_quot_3B_ = { - TO_UNICODE ('&'), - TO_UNICODE ('q'), - TO_UNICODE ('u'), - TO_UNICODE ('o'), - TO_UNICODE ('t'), - TO_UNICODE (';'), -} ; +//---------------------------------------------------------------------------------------------------------------------* +// +// 'select_goil_5F_syntax_13' added non terminal implementation +// +//---------------------------------------------------------------------------------------------------------------------* -//--- Unicode string for '$'$' -static const std::initializer_list kUnicodeString_arxml_5F_scanner__27_ = { - TO_UNICODE ('\''), -} ; +int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_13 (C_Lexique_goil_5F_lexique * inLexique) { + return inLexique->nextProductionIndex () ; +} -//--- Unicode string for '$-->$' -static const std::initializer_list kUnicodeString_arxml_5F_scanner__2D__2D__3E_ = { - TO_UNICODE ('-'), - TO_UNICODE ('-'), - TO_UNICODE ('>'), -} ; +//---------------------------------------------------------------------------------------------------------------------* +// +// 'select_goil_5F_syntax_14' added non terminal implementation +// +//---------------------------------------------------------------------------------------------------------------------* -//--- Unicode string for '$/>$' -static const std::initializer_list kUnicodeString_arxml_5F_scanner__2F__3E_ = { - TO_UNICODE ('/'), - TO_UNICODE ('>'), -} ; +int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_14 (C_Lexique_goil_5F_lexique * inLexique) { + return inLexique->nextProductionIndex () ; +} -//--- Unicode string for '$;$' -static const std::initializer_list kUnicodeString_arxml_5F_scanner__3B_ = { - TO_UNICODE (';'), -} ; +//---------------------------------------------------------------------------------------------------------------------* +// +// 'select_goil_5F_syntax_15' added non terminal implementation +// +//---------------------------------------------------------------------------------------------------------------------* -//--- Unicode string for '$<$' -static const std::initializer_list kUnicodeString_arxml_5F_scanner__3C_ = { - TO_UNICODE ('<'), -} ; +int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_15 (C_Lexique_goil_5F_lexique * inLexique) { + return inLexique->nextProductionIndex () ; +} -//--- Unicode string for '$$' -static const std::initializer_list kUnicodeString_arxmlmetaparser_5F_scanner__2D__2D__3E_ = { - TO_UNICODE ('-'), - TO_UNICODE ('-'), - TO_UNICODE ('>'), -} ; +//---------------------------------------------------------------------------------------------------------------------- -//--- Unicode string for '$/>$' -static const std::initializer_list kUnicodeString_arxmlmetaparser_5F_scanner__2F__3E_ = { - TO_UNICODE ('/'), - TO_UNICODE ('>'), -} ; +GALGAS_arxmlElementList_2D_element cEnumerator_arxmlElementList::current (LOCATION_ARGS) const { + const cCollectionElement_arxmlElementList * p = (const cCollectionElement_arxmlElementList *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cCollectionElement_arxmlElementList) ; + return p->mObject ; +} -//--- Unicode string for '$;$' -static const std::initializer_list kUnicodeString_arxmlmetaparser_5F_scanner__3B_ = { - TO_UNICODE (';'), -} ; -//--- Unicode string for '$<$' -static const std::initializer_list kUnicodeString_arxmlmetaparser_5F_scanner__3C_ = { - TO_UNICODE ('<'), -} ; +//---------------------------------------------------------------------------------------------------------------------- -//--- Unicode string for '$